Repository: trafodion Updated Branches: refs/heads/master 62353a2cd -> b4236db2c
[TRAFODION-3131] Fix some reserved and non-reserved word issues Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/8ed5ca20 Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/8ed5ca20 Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/8ed5ca20 Branch: refs/heads/master Commit: 8ed5ca2070d28e6a331ded03ea1a02af5e15c932 Parents: d5b1668 Author: Dave Birdsall <[email protected]> Authored: Tue Jul 10 21:51:28 2018 +0000 Committer: Dave Birdsall <[email protected]> Committed: Tue Jul 10 21:51:28 2018 +0000 ---------------------------------------------------------------------- core/sql/common/ComResWords.cpp | 2 - core/sql/common/NAString.cpp | 7 +- core/sql/parser/ParKeyWords.cpp | 40 ++ core/sql/regress/core/EXPECTED037.SB | 876 +++++++++++++++++++++++++----- core/sql/regress/core/TEST037 | 20 - 5 files changed, 790 insertions(+), 155 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafodion/blob/8ed5ca20/core/sql/common/ComResWords.cpp ---------------------------------------------------------------------- diff --git a/core/sql/common/ComResWords.cpp b/core/sql/common/ComResWords.cpp index 8796f6b..49a66f9 100644 --- a/core/sql/common/ComResWords.cpp +++ b/core/sql/common/ComResWords.cpp @@ -242,7 +242,6 @@ const ComResWord ComResWords::resWords_[] = { ComResWord("NATURAL", ANS_|RESWORD_), ComResWord("NCHAR", ANS_|RESWORD_), ComResWord("NCLOB", COMPAQ_|RESWORD_), - ComResWord("NEW", POTANS_|RESWORD_|ALLOWOLDNEW_), ComResWord("NEXT", ANS_|RESWORD_), ComResWord("NO", ANS_|RESWORD_), ComResWord("NONE", POTANS_|RESWORD_), @@ -254,7 +253,6 @@ const ComResWord ComResWords::resWords_[] = { ComResWord("OCTET_LENGTH", ANS_|RESWORD_), ComResWord("OF", ANS_|RESWORD_|MPWORD_), ComResWord("OFF", POTANS_|RESWORD_), - ComResWord("OLD", POTANS_|RESWORD_|ALLOWOLDNEW_), ComResWord("ON", ANS_|RESWORD_|MPWORD_), ComResWord("ONLY", ANS_|RESWORD_), ComResWord("OPEN", ANS_|RESWORD_|MPWORD_), http://git-wip-us.apache.org/repos/asf/trafodion/blob/8ed5ca20/core/sql/common/NAString.cpp ---------------------------------------------------------------------- diff --git a/core/sql/common/NAString.cpp b/core/sql/common/NAString.cpp index 5733837..c2c8d47 100644 --- a/core/sql/common/NAString.cpp +++ b/core/sql/common/NAString.cpp @@ -377,7 +377,7 @@ NAString LookupDefineName(const NAString &ns, NABoolean iterate) // an ANSI, PotentialANSI, or Tandem reserved word. NABoolean IsSqlReservedWord(const char *sqlText) { - return FALSE; + return ComResWords::isSqlReservedWord(sqlText,FALSE,0); } NABoolean IsCIdentifier(const char *id) @@ -1137,6 +1137,7 @@ static NABoolean tokIsFuncOrParenKeyword(const NAString &sqlText, "COS ", // Tandem-extension "COSH ", // Tandem-extension "COUNT ", // ANSI + "CRC32 ", // Trafodion extension "CURDATE ", // Tandem-extension "CURRENT ", // ANSI "CURRENT_DATE ", // ANSI @@ -1175,6 +1176,7 @@ static NABoolean tokIsFuncOrParenKeyword(const NAString &sqlText, "LPAD ", // Tandem-extension "LTRIM ", // Tandem-extension "MAX ", // ANSI + "MD5 ", // Trafodion extension "MIN ", // ANSI "MINUTE ", // Datatype with scales/precisions/length "MOD ", // Tandem-extension @@ -1201,6 +1203,9 @@ static NABoolean tokIsFuncOrParenKeyword(const NAString &sqlText, "RTRIM ", // Tandem-extension "SECOND ", // Datatype with scales/precisions/length "SESSION_USER ", // ANSI + "SHA ", // Trafodion extension + "SHA1 ", // Trafodion extension + "SHA2 ", // Trafodion extension "SIGN ", // Tandem-extension "SIN ", // Tandem-extension "SINH ", // Tandem-extension http://git-wip-us.apache.org/repos/asf/trafodion/blob/8ed5ca20/core/sql/parser/ParKeyWords.cpp ---------------------------------------------------------------------- diff --git a/core/sql/parser/ParKeyWords.cpp b/core/sql/parser/ParKeyWords.cpp index 1e8b936..b8df6d3 100644 --- a/core/sql/parser/ParKeyWords.cpp +++ b/core/sql/parser/ParKeyWords.cpp @@ -42,6 +42,46 @@ // key words. // 001103 EJF +// Important notes for developers: +// +// If you are adding a keyword to Trafodion, you need to do the following: +// +// 1. Add it to the keyword table below. Use the appropriate flags in the +// ParKeyWord object for your new keyword. (Note: Today the RESWORD_, +// NONRESWORD_ and NONRESTOKEN_ flags are almost purely for documentation; +// the real determination of whether a keyword is reserved or not depends +// on how it is used in sqlparser.y. See point 3 below. Nevertheless, +// it is useful documentation, and it might be used in the future, so +// do try to get this right.) +// 2. Add a token definition for it to the parser (sqlparser.y). Add +// and/or change any productions as needed to use your new token. +// 3. If your new keyword is *not* a reserved word (which is the usual case), +// add it to the appropriate non-reserved word production in the parser. +// That will allow the keyword to be used as a regular identifier in +// contexts where keyword behavior is not intended. This avoids regressing +// customer applications that might already be using that keyword as a +// regular identifier. See sqlparser.y, productions nonreserved_word and +// nonreserved_func_word. +// 4. If your new keyword *is* a reserved word (this case should be rare), +// add your keyword to the list of reserved words in ComResWords::resWords_ +// in common/ComResWords.cpp. This is important so that when an internal +// representation of your keyword is used as an identifier, it will get +// double quotes when converted to an external identifier. Failing to do +// this will cause errors in some statements if your new keyword is used +// as a delimited identifier. +// 5. If your new keyword commonly has a parenthesis after it, and it is +// most natural for the parenthesis to be placed right after the keyword +// (as opposed to having a space between keyword and paranthesis), then +// add it to the keywords table in function tokIsFuncOrParenKeyword in +// common/NAString.cpp. An example of this case is a new function name. +// If my new function is XYZ, it looks more natural to generate XYZ(1) +// rather than XYZ (1) in generated SQL text. An example of a case where +// you would *not* want to do this might be adding a new logical operator +// such as XOR. (A OR B) XOR (C OR D) looks more natural than +// (A OR B) XOR(C OR D). This is really an issue of esthetics rather than +// correctness so this is not as critical as the previous four points. +// 6. Add test cases to regress/core/TEST037 of your new keyword. + // The keyword table: // ParKeyWord ParKeyWords::keyWords_[] = { http://git-wip-us.apache.org/repos/asf/trafodion/blob/8ed5ca20/core/sql/regress/core/EXPECTED037.SB ---------------------------------------------------------------------- diff --git a/core/sql/regress/core/EXPECTED037.SB b/core/sql/regress/core/EXPECTED037.SB index a414e94..a14770c 100755 --- a/core/sql/regress/core/EXPECTED037.SB +++ b/core/sql/regress/core/EXPECTED037.SB @@ -38,7 +38,6 @@ +>, CONSTRAINT_SCHEMA int not null +>, CONTROL int not null +>, CURSOR_NAME int not null -+>, CRC32 int not null +>, DATA int not null +>--,DATETIME int not null +>, DATETIME_CODE int not null @@ -76,7 +75,7 @@ >>invoke table_name; -- Definition of Trafodion table TRAFODION.SCH.TABLE_NAME --- Definition current Tue May 22 16:42:26 2018 +-- Definition current Tue Jul 10 20:07:07 2018 ( SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE @@ -116,7 +115,6 @@ , CONSTRAINT_SCHEMA INT NO DEFAULT NOT NULL NOT DROPPABLE , CONTROL INT NO DEFAULT NOT NULL NOT DROPPABLE , CURSOR_NAME INT NO DEFAULT NOT NULL NOT DROPPABLE - , CRC32 INT NO DEFAULT NOT NULL NOT DROPPABLE , DATA INT NO DEFAULT NOT NULL NOT DROPPABLE , DATETIME_CODE INT NO DEFAULT NOT NULL NOT DROPPABLE , DCOMPRESS INT NO DEFAULT NOT NULL NOT DROPPABLE @@ -162,7 +160,6 @@ +>, LOW_VALUE int not null +>, MAXSIZE int not null +>, MBYTES int not null -+>, MD5 int not null +>, MESSAGE_LEN int not null +>, MESSAGE_OCTET_LEN int not null +>, MESSAGE_TEXT int not null @@ -195,9 +192,6 @@ +>, SERIALIZABLE int not null +>, SERIALWRITES int not null +>, SERVER_NAME int not null -+>, SHA int not null -+>, SHA1 int not null -+>, SHA2 int not null +>, SHAPE int not null +>, SHARE int not null +>, SIDEINSERTS int not null @@ -230,7 +224,7 @@ >>invoke system_name; -- Definition of Trafodion table TRAFODION.SCH.SYSTEM_NAME --- Definition current Tue May 22 16:42:31 2018 +-- Definition current Tue Jul 10 20:07:12 2018 ( SYSKEY LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE @@ -246,7 +240,6 @@ , LOW_VALUE INT NO DEFAULT NOT NULL NOT DROPPABLE , MAXSIZE INT NO DEFAULT NOT NULL NOT DROPPABLE , MBYTES INT NO DEFAULT NOT NULL NOT DROPPABLE - , MD5 INT NO DEFAULT NOT NULL NOT DROPPABLE , MESSAGE_LEN INT NO DEFAULT NOT NULL NOT DROPPABLE , MESSAGE_OCTET_LEN INT NO DEFAULT NOT NULL NOT DROPPABLE , MESSAGE_TEXT INT NO DEFAULT NOT NULL NOT DROPPABLE @@ -279,9 +272,6 @@ , SERIALIZABLE INT NO DEFAULT NOT NULL NOT DROPPABLE , SERIALWRITES INT NO DEFAULT NOT NULL NOT DROPPABLE , SERVER_NAME INT NO DEFAULT NOT NULL NOT DROPPABLE - , SHA INT NO DEFAULT NOT NULL NOT DROPPABLE - , SHA1 INT NO DEFAULT NOT NULL NOT DROPPABLE - , SHA2 INT NO DEFAULT NOT NULL NOT DROPPABLE , SHAPE INT NO DEFAULT NOT NULL NOT DROPPABLE , SHARE INT NO DEFAULT NOT NULL NOT DROPPABLE , SIDEINSERTS INT NO DEFAULT NOT NULL NOT DROPPABLE @@ -368,9 +358,14 @@ create view sqlerror as select usa from table_name; >>create view sqlstate as select usa from table_name; -*** ERROR[4001] Column USA is not found. Tables in scope: TRAFODION.SCH.TABLE_NAME. Default schema: TRAFODION.SCH. +*** ERROR[3128] SQLSTATE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +create view sqlstate as select usa from table_name; + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. ---- SQL operation failed with errors. >>create view stddev as select usa from table_name; *** ERROR[4001] Column USA is not found. Tables in scope: TRAFODION.SCH.TABLE_NAME. Default schema: TRAFODION.SCH. @@ -386,9 +381,14 @@ create view table as select usa from table_name; >>create view upshift as select usa from table_name; -*** ERROR[4001] Column USA is not found. Tables in scope: TRAFODION.SCH.TABLE_NAME. Default schema: TRAFODION.SCH. +*** ERROR[3128] UPSHIFT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +create view upshift as select usa from table_name; + ^ (19 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. ---- SQL operation failed with errors. >>create view variance as select usa from table_name; *** ERROR[4001] Column USA is not found. Tables in scope: TRAFODION.SCH.TABLE_NAME. Default schema: TRAFODION.SCH. @@ -408,27 +408,62 @@ create view table as select usa from table_name; >>-- Expect error [3128] >>prepare s1 from SELECT AFTER AFTER from (values(0)) AFTER(AFTER); ---- SQL command prepared. +*** ERROR[3128] AFTER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT AFTER AFTER from (values(0)) AFTER(AFTER); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT ASYNC ASYNC from (values(0)) ASYNC(ASYNC); ---- SQL command prepared. +*** ERROR[3128] ASYNC is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT ASYNC ASYNC from (values(0)) ASYNC(ASYNC); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT AT AT from (values(0)) AT(AT); ---- SQL command prepared. +*** ERROR[3128] AT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT AT AT from (values(0)) AT(AT); + ^ (12 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT BEFORE BEFORE from (values(0)) BEFORE(BEFORE); ---- SQL command prepared. +*** ERROR[3128] BEFORE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT BEFORE BEFORE from (values(0)) BEFORE(BEFORE); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT BIT_LENGTH BIT_LENGTH from (values(0)) >>BIT_LENGTH(BIT_LENGTH); ---- SQL command prepared. +*** ERROR[3128] BIT_LENGTH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT BIT_LENGTH BIT_LENGTH from (values(0)) BIT_LENGTH(BIT_LENGTH); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [15001] >>prepare s1 from SELECT BOOLEAN BOOLEAN from (values(0)) BOOLEAN(BOOLEAN); @@ -443,72 +478,170 @@ SELECT BOOLEAN BOOLEAN from (values(0)) BOOLEAN(BOOLEAN); >>-- Expect error [3128] >>prepare s1 from SELECT BREADTH BREADTH from (values(0)) BREADTH(BREADTH); ---- SQL command prepared. +*** ERROR[3128] BREADTH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT BREADTH BREADTH from (values(0)) BREADTH(BREADTH); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT COMPLETION COMPLETION from (values(0)) >>COMPLETION(COMPLETION); ---- SQL command prepared. +*** ERROR[3128] COMPLETION is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT COMPLETION COMPLETION from (values(0)) COMPLETION(COMPLETION); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT CONNECT CONNECT from (values(0)) CONNECT(CONNECT); ---- SQL command prepared. +*** ERROR[3128] CONNECT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT CONNECT CONNECT from (values(0)) CONNECT(CONNECT); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT CYCLE CYCLE from (values(0)) CYCLE(CYCLE); ---- SQL command prepared. +*** ERROR[3128] CYCLE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT CYCLE CYCLE from (values(0)) CYCLE(CYCLE); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DEFERRABLE DEFERRABLE from (values(0)) >>DEFERRABLE(DEFERRABLE); ---- SQL command prepared. +*** ERROR[3128] DEFERRABLE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DEFERRABLE DEFERRABLE from (values(0)) DEFERRABLE(DEFERRABLE); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DEFERRED DEFERRED from (values(0)) DEFERRED(DEFERRED); ---- SQL command prepared. +*** ERROR[3128] DEFERRED is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DEFERRED DEFERRED from (values(0)) DEFERRED(DEFERRED); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DEPTH DEPTH from (values(0)) DEPTH(DEPTH); ---- SQL command prepared. +*** ERROR[3128] DEPTH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DEPTH DEPTH from (values(0)) DEPTH(DEPTH); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DICTIONARY DICTIONARY from (values(0)) >>DICTIONARY(DICTIONARY); ---- SQL command prepared. +*** ERROR[3128] DICTIONARY is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DICTIONARY DICTIONARY from (values(0)) DICTIONARY(DICTIONARY); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DISCONNECT DISCONNECT from (values(0)) >>DISCONNECT(DISCONNECT); ---- SQL command prepared. +*** ERROR[3128] DISCONNECT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DISCONNECT DISCONNECT from (values(0)) DISCONNECT(DISCONNECT); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DOMAIN DOMAIN from (values(0)) DOMAIN(DOMAIN); ---- SQL command prepared. +*** ERROR[3128] DOMAIN is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DOMAIN DOMAIN from (values(0)) DOMAIN(DOMAIN); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT EACH EACH from (values(0)) EACH(EACH); ---- SQL command prepared. +*** ERROR[3128] EACH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT EACH EACH from (values(0)) EACH(EACH); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT EQUALS EQUALS from (values(0)) EQUALS(EQUALS); ---- SQL command prepared. +*** ERROR[3128] EQUALS is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT EQUALS EQUALS from (values(0)) EQUALS(EQUALS); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT EXEC EXEC from (values(0)) EXEC(EXEC); ---- SQL command prepared. +*** ERROR[3128] EXEC is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT EXEC EXEC from (values(0)) EXEC(EXEC); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT GENERAL GENERAL from (values(0)) GENERAL(GENERAL); ---- SQL command prepared. +*** ERROR[3128] GENERAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT GENERAL GENERAL from (values(0)) GENERAL(GENERAL); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect SYNTAX error now that we use IDENTITY as a token >>prepare s1 from SELECT IDENTITY IDENTITY from (values(0)) IDENTITY(IDENTITY); @@ -523,22 +656,50 @@ SELECT IDENTITY IDENTITY from (values(0)) IDENTITY(IDENTITY); >>-- Expect error [3128] >>prepare s1 from SELECT INITIALLY INITIALLY from (values(0)) >>INITIALLY(INITIALLY); ---- SQL command prepared. +*** ERROR[3128] INITIALLY is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT INITIALLY INITIALLY from (values(0)) INITIALLY(INITIALLY); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT INSENSITIVE INSENSITIVE from (values(0)) >>INSENSITIVE(INSENSITIVE); ---- SQL command prepared. +*** ERROR[3128] INSENSITIVE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT INSENSITIVE INSENSITIVE from (values(0)) INSENSITIVE(INSENSITIVE); + ^ (30 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT LEAVE LEAVE from (values(0)) LEAVE(LEAVE); ---- SQL command prepared. +*** ERROR[3128] LEAVE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT LEAVE LEAVE from (values(0)) LEAVE(LEAVE); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT LESS LESS from (values(0)) LESS(LESS); ---- SQL command prepared. +*** ERROR[3128] LESS is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT LESS LESS from (values(0)) LESS(LESS); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect syntax error, LIMIT must be double quoted. >>prepare s1 from SELECT LIMIT LIMIT from (values(0)) LIMIT(LIMIT); @@ -553,12 +714,26 @@ SELECT LIMIT LIMIT from (values(0)) LIMIT(LIMIT); >>-- Expect error [3128] >>prepare s1 from SELECT LOOP LOOP from (values(0)) LOOP(LOOP); ---- SQL command prepared. +*** ERROR[3128] LOOP is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT LOOP LOOP from (values(0)) LOOP(LOOP); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT MODIFY MODIFY from (values(0)) MODIFY(MODIFY); ---- SQL command prepared. +*** ERROR[3128] MODIFY is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT MODIFY MODIFY from (values(0)) MODIFY(MODIFY); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT NEW NEW from (values(0)) NEW(NEW); @@ -568,7 +743,14 @@ SELECT LIMIT LIMIT from (values(0)) LIMIT(LIMIT); >>-- Expect error [3128] >>prepare s1 from SELECT NEXT NEXT from (values(0)) NEXT(NEXT); ---- SQL command prepared. +*** ERROR[3128] NEXT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT NEXT NEXT from (values(0)) NEXT(NEXT); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [15001] >>prepare s1 from SELECT NONE NONE from (values(0)) NONE(NONE); @@ -583,7 +765,14 @@ SELECT NONE NONE from (values(0)) NONE(NONE); >>-- Expect error [3128] >>prepare s1 from SELECT OBJECT OBJECT from (values(0)) OBJECT(OBJECT); ---- SQL command prepared. +*** ERROR[3128] OBJECT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT OBJECT OBJECT from (values(0)) OBJECT(OBJECT); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT OID OID from (values(0)) OID(OID); @@ -598,47 +787,110 @@ SELECT NONE NONE from (values(0)) NONE(NONE); >>-- Expect error [3128] >>prepare s1 from SELECT OPERATORS OPERATORS from (values(0)) >>OPERATORS(OPERATORS); ---- SQL command prepared. +*** ERROR[3128] OPERATORS is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT OPERATORS OPERATORS from (values(0)) OPERATORS(OPERATORS); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT OTHERS OTHERS from (values(0)) OTHERS(OTHERS); ---- SQL command prepared. +*** ERROR[3128] OTHERS is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT OTHERS OTHERS from (values(0)) OTHERS(OTHERS); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PAD PAD from (values(0)) PAD(PAD); ---- SQL command prepared. +*** ERROR[3128] PAD is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PAD PAD from (values(0)) PAD(PAD); + ^ (14 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PARAMETERS PARAMETERS from (values(0)) >>PARAMETERS(PARAMETERS); ---- SQL command prepared. +*** ERROR[3128] PARAMETERS is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PARAMETERS PARAMETERS from (values(0)) PARAMETERS(PARAMETERS); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PENDANT PENDANT from (values(0)) PENDANT(PENDANT); ---- SQL command prepared. +*** ERROR[3128] PENDANT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PENDANT PENDANT from (values(0)) PENDANT(PENDANT); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PREORDER PREORDER from (values(0)) PREORDER(PREORDER); ---- SQL command prepared. +*** ERROR[3128] PREORDER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PREORDER PREORDER from (values(0)) PREORDER(PREORDER); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PRESERVE PRESERVE from (values(0)) PRESERVE(PRESERVE); ---- SQL command prepared. +*** ERROR[3128] PRESERVE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PRESERVE PRESERVE from (values(0)) PRESERVE(PRESERVE); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PRIOR PRIOR from (values(0)) PRIOR(PRIOR); ---- SQL command prepared. +*** ERROR[3128] PRIOR is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PRIOR PRIOR from (values(0)) PRIOR(PRIOR); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PRIVATE PRIVATE from (values(0)) PRIVATE(PRIVATE); ---- SQL command prepared. +*** ERROR[3128] PRIVATE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PRIVATE PRIVATE from (values(0)) PRIVATE(PRIVATE); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [15001] >>prepare s1 from SELECT PROTECTED PROTECTED from (values(0)) >>PROTECTED(PROTECTED); @@ -653,32 +905,74 @@ SELECT PROTECTED PROTECTED from (values(0)) PROTECTED(PROTECTED); >>-- Expect error [3128] >>prepare s1 from SELECT REF REF from (values(0)) REF(REF); ---- SQL command prepared. +*** ERROR[3128] REF is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT REF REF from (values(0)) REF(REF); + ^ (14 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT REFERENCING REFERENCING from (values(0)) >>REFERENCING(REFERENCING); ---- SQL command prepared. +*** ERROR[3128] REFERENCING is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT REFERENCING REFERENCING from (values(0)) REFERENCING(REFERENCING); + ^ (30 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT RELATIVE RELATIVE from (values(0)) RELATIVE(RELATIVE); ---- SQL command prepared. +*** ERROR[3128] RELATIVE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT RELATIVE RELATIVE from (values(0)) RELATIVE(RELATIVE); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT RESIGNAL RESIGNAL from (values(0)) RESIGNAL(RESIGNAL); ---- SQL command prepared. +*** ERROR[3128] RESIGNAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT RESIGNAL RESIGNAL from (values(0)) RESIGNAL(RESIGNAL); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT RETURNS RETURNS from (values(0)) RETURNS(RETURNS); ---- SQL command prepared. +*** ERROR[3128] RETURNS is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT RETURNS RETURNS from (values(0)) RETURNS(RETURNS); + ^ (14 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT ROUTINE ROUTINE from (values(0)) ROUTINE(ROUTINE); ---- SQL command prepared. +*** ERROR[3128] ROUTINE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT ROUTINE ROUTINE from (values(0)) ROUTINE(ROUTINE); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT ROW ROW from (values(0)) ROW(ROW); @@ -693,57 +987,134 @@ SELECT ROW ROW from (values(0)) ROW(ROW); >>-- Expect error [3128] >>prepare s1 from SELECT SAVEPOINT SAVEPOINT from (values(0)) >>SAVEPOINT(SAVEPOINT); ---- SQL command prepared. +*** ERROR[3128] SAVEPOINT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SAVEPOINT SAVEPOINT from (values(0)) SAVEPOINT(SAVEPOINT); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SCROLL SCROLL from (values(0)) SCROLL(SCROLL); ---- SQL command prepared. +*** ERROR[3128] SCROLL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SCROLL SCROLL from (values(0)) SCROLL(SCROLL); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SEARCH SEARCH from (values(0)) SEARCH(SEARCH); ---- SQL command prepared. +*** ERROR[3128] SEARCH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SEARCH SEARCH from (values(0)) SEARCH(SEARCH); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SENSITIVE SENSITIVE from (values(0)) >>SENSITIVE(SENSITIVE); ---- SQL command prepared. +*** ERROR[3128] SENSITIVE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SENSITIVE SENSITIVE from (values(0)) SENSITIVE(SENSITIVE); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SIGNAL SIGNAL from (values(0)) SIGNAL(SIGNAL); ---- SQL command prepared. +*** ERROR[3128] SIGNAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SIGNAL SIGNAL from (values(0)) SIGNAL(SIGNAL); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SIMILAR SIMILAR from (values(0)) SIMILAR(SIMILAR); ---- SQL command prepared. +*** ERROR[3128] SIMILAR is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SIMILAR SIMILAR from (values(0)) SIMILAR(SIMILAR); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SQLEXCEPTION SQLEXCEPTION from (values(0)) >>SQLEXCEPTION(SQLEXCEPTION); ---- SQL command prepared. +*** ERROR[3128] SQLEXCEPTION is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SQLEXCEPTION SQLEXCEPTION from (values(0)) SQLEXCEPTION(SQLEXCEPTION); + ^ (32 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SQLSTATE SQLSTATE from (values(0)) SQLSTATE(SQLSTATE); ---- SQL command prepared. +*** ERROR[3128] SQLSTATE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SQLSTATE SQLSTATE from (values(0)) SQLSTATE(SQLSTATE); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SQLWARNING SQLWARNING from (values(0)) >>SQLWARNING(SQLWARNING); ---- SQL command prepared. +*** ERROR[3128] SQLWARNING is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SQLWARNING SQLWARNING from (values(0)) SQLWARNING(SQLWARNING); + ^ (28 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT STRUCTURE STRUCTURE from (values(0)) >>STRUCTURE(STRUCTURE); ---- SQL command prepared. +*** ERROR[3128] STRUCTURE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT STRUCTURE STRUCTURE from (values(0)) STRUCTURE(STRUCTURE); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SYSTEM_USER SYSTEM_USER from (values(0)) >>SYSTEM_USER(SYSTEM_USER); ---- SQL command prepared. +*** ERROR[3128] SYSTEM_USER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SYSTEM_USER SYSTEM_USER from (values(0)) SYSTEM_USER(SYSTEM_USER); + ^ (30 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT TEMPORARY TEMPORARY from (values(0)) >>TEMPORARY(TEMPORARY); @@ -758,37 +1129,86 @@ SELECT TEMPORARY TEMPORARY from (values(0)) TEMPORARY(TEMPORARY); >>-- Expect error [3128] >>prepare s1 from SELECT TEST TEST from (values(0)) TEST(TEST); ---- SQL command prepared. +*** ERROR[3128] TEST is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT TEST TEST from (values(0)) TEST(TEST); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT THERE THERE from (values(0)) THERE(THERE); ---- SQL command prepared. +*** ERROR[3128] THERE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT THERE THERE from (values(0)) THERE(THERE); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT TIMEZONE_HOUR TIMEZONE_HOUR from (values(0)) >>TIMEZONE_HOUR(TIMEZONE_HOUR); ---- SQL command prepared. +*** ERROR[3128] TIMEZONE_HOUR is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT TIMEZONE_HOUR TIMEZONE_HOUR from (values(0)) TIMEZONE_HOUR(TIMEZONE_HOUR + ^ (34 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT TIMEZONE_MINUTE TIMEZONE_MINUTE from (values(0)) >>TIMEZONE_MINUTE(TIMEZONE_MINUTE); ---- SQL command prepared. +*** ERROR[3128] TIMEZONE_MINUTE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT TIMEZONE_MINUTE TIMEZONE_MINUTE from (values(0)) TIMEZONE_MINUTE(TIMEZON + ^ (38 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT TRANSLATION TRANSLATION from (values(0)) >>TRANSLATION(TRANSLATION); ---- SQL command prepared. +*** ERROR[3128] TRANSLATION is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT TRANSLATION TRANSLATION from (values(0)) TRANSLATION(TRANSLATION); + ^ (30 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT TRIGGER TRIGGER from (values(0)) TRIGGER(TRIGGER); ---- SQL command prepared. +*** ERROR[3128] TRIGGER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT TRIGGER TRIGGER from (values(0)) TRIGGER(TRIGGER); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT UNDER UNDER from (values(0)) UNDER(UNDER); ---- SQL command prepared. +*** ERROR[3128] UNDER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT UNDER UNDER from (values(0)) UNDER(UNDER); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT USAGE USAGE from (values(0)) USAGE(USAGE); @@ -803,152 +1223,362 @@ SELECT USAGE USAGE from (values(0)) USAGE(USAGE); >>-- Expect error [3128] >>prepare s1 from SELECT VARIABLE VARIABLE from (values(0)) VARIABLE(VARIABLE); ---- SQL command prepared. +*** ERROR[3128] VARIABLE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT VARIABLE VARIABLE from (values(0)) VARIABLE(VARIABLE); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT VIRTUAL VIRTUAL from (values(0)) VIRTUAL(VIRTUAL); ---- SQL command prepared. +*** ERROR[3128] VIRTUAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT VIRTUAL VIRTUAL from (values(0)) VIRTUAL(VIRTUAL); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT VISIBLE VISIBLE from (values(0)) VISIBLE(VISIBLE); ---- SQL command prepared. +*** ERROR[3128] VISIBLE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT VISIBLE VISIBLE from (values(0)) VISIBLE(VISIBLE); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT WAIT WAIT from (values(0)) WAIT(WAIT); ---- SQL command prepared. +*** ERROR[3128] WAIT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT WAIT WAIT from (values(0)) WAIT(WAIT); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT WHILE WHILE from (values(0)) WHILE(WHILE); ---- SQL command prepared. +*** ERROR[3128] WHILE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT WHILE WHILE from (values(0)) WHILE(WHILE); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT ZONE ZONE from (values(0)) ZONE(ZONE); ---- SQL command prepared. +*** ERROR[3128] ZONE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT ZONE ZONE from (values(0)) ZONE(ZONE); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT CAST CAST from (values(0)) CAST(CAST); ---- SQL command prepared. +*** ERROR[3128] CAST is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT CAST CAST from (values(0)) CAST(CAST); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT CHARACTER_LENGTH CHARACTER_LENGTH from (values(0)) >>CHARACTER_LENGTH(CHARACTER_LENGTH); ---- SQL command prepared. +*** ERROR[3128] CHARACTER_LENGTH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT CHARACTER_LENGTH CHARACTER_LENGTH from (values(0)) CHARACTER_LENGTH(CHAR + ^ (40 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT CHAR_LENGTH CHAR_LENGTH from (values(0)) >>CHAR_LENGTH(CHAR_LENGTH); ---- SQL command prepared. +*** ERROR[3128] CHAR_LENGTH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT CHAR_LENGTH CHAR_LENGTH from (values(0)) CHAR_LENGTH(CHAR_LENGTH); + ^ (30 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT DOUBLE DOUBLE from (values(0)) DOUBLE(DOUBLE); ---- SQL command prepared. +*** ERROR[3128] DOUBLE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT DOUBLE DOUBLE from (values(0)) DOUBLE(DOUBLE); + ^ (20 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT ELSE ELSE from (values(0)) ELSE(ELSE); ---- SQL command prepared. +*** ERROR[3128] ELSE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT ELSE ELSE from (values(0)) ELSE(ELSE); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT END END from (values(0)) END(END); ---- SQL command prepared. +*** ERROR[3128] END is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT END END from (values(0)) END(END); + ^ (14 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT FLOAT FLOAT from (values(0)) FLOAT(FLOAT); ---- SQL command prepared. +*** ERROR[3128] FLOAT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT FLOAT FLOAT from (values(0)) FLOAT(FLOAT); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT LOWER LOWER from (values(0)) LOWER(LOWER); ---- SQL command prepared. +*** ERROR[3128] LOWER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT LOWER LOWER from (values(0)) LOWER(LOWER); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT MIN MIN from (values(0)) MIN(MIN); ---- SQL command prepared. +*** ERROR[3128] MIN is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT MIN MIN from (values(0)) MIN(MIN); + ^ (14 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT NATIONAL NATIONAL from (values(0)) NATIONAL(NATIONAL); ---- SQL command prepared. +*** ERROR[3128] NATIONAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT NATIONAL NATIONAL from (values(0)) NATIONAL(NATIONAL); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT NCHAR NCHAR from (values(0)) NCHAR(NCHAR); ---- SQL command prepared. +*** ERROR[3128] NCHAR is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT NCHAR NCHAR from (values(0)) NCHAR(NCHAR); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT OCTET_LENGTH OCTET_LENGTH from (values(0)) >>OCTET_LENGTH(OCTET_LENGTH); ---- SQL command prepared. +*** ERROR[3128] OCTET_LENGTH is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT OCTET_LENGTH OCTET_LENGTH from (values(0)) OCTET_LENGTH(OCTET_LENGTH); + ^ (32 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT POSITION POSITION from (values(0)) POSITION(POSITION); ---- SQL command prepared. +*** ERROR[3128] POSITION is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT POSITION POSITION from (values(0)) POSITION(POSITION); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT PRECISION PRECISION from (values(0)) >>PRECISION(PRECISION); ---- SQL command prepared. +*** ERROR[3128] PRECISION is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT PRECISION PRECISION from (values(0)) PRECISION(PRECISION); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT REAL REAL from (values(0)) REAL(REAL); ---- SQL command prepared. +*** ERROR[3128] REAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT REAL REAL from (values(0)) REAL(REAL); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SUBSTRING SUBSTRING from (values(0)) >>SUBSTRING(SUBSTRING); ---- SQL command prepared. +*** ERROR[3128] SUBSTRING is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SUBSTRING SUBSTRING from (values(0)) SUBSTRING(SUBSTRING); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SQL_FLOAT SQL_FLOAT from (values(0)) >>SQL_FLOAT(SQL_FLOAT); ---- SQL command prepared. +*** ERROR[3128] SQL_FLOAT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SQL_FLOAT SQL_FLOAT from (values(0)) SQL_FLOAT(SQL_FLOAT); + ^ (26 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SQL_REAL SQL_REAL from (values(0)) SQL_REAL(SQL_REAL); ---- SQL command prepared. +*** ERROR[3128] SQL_REAL is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SQL_REAL SQL_REAL from (values(0)) SQL_REAL(SQL_REAL); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT SQL_VARCHAR SQL_VARCHAR from (values(0)) >>SQL_VARCHAR(SQL_VARCHAR); ---- SQL command prepared. +*** ERROR[3128] SQL_VARCHAR is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT SQL_VARCHAR SQL_VARCHAR from (values(0)) SQL_VARCHAR(SQL_VARCHAR); + ^ (30 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT TRIM TRIM from (values(0)) TRIM(TRIM); ---- SQL command prepared. +*** ERROR[3128] TRIM is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT TRIM TRIM from (values(0)) TRIM(TRIM); + ^ (16 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT UPPER UPPER from (values(0)) UPPER(UPPER); ---- SQL command prepared. +*** ERROR[3128] UPPER is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT UPPER UPPER from (values(0)) UPPER(UPPER); + ^ (18 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT UPSHIFT UPSHIFT from (values(0)) UPSHIFT(UPSHIFT); ---- SQL command prepared. +*** ERROR[3128] UPSHIFT is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT UPSHIFT UPSHIFT from (values(0)) UPSHIFT(UPSHIFT); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT VARCHAR VARCHAR from (values(0)) VARCHAR(VARCHAR); ---- SQL command prepared. +*** ERROR[3128] VARCHAR is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT VARCHAR VARCHAR from (values(0)) VARCHAR(VARCHAR); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect error [3128] >>prepare s1 from SELECT VARYING VARYING from (values(0)) VARYING(VARYING); ---- SQL command prepared. +*** ERROR[3128] VARYING is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT VARYING VARYING from (values(0)) VARYING(VARYING); + ^ (22 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect SYNTAX error >>prepare s1 from SELECT COLLATE COLLATE from (values(0)) COLLATE(COLLATE); @@ -1593,7 +2223,14 @@ SELECT ISOLATION ISOLATION from (values(0)) ISOLATION(ISOLATION); >>-- Expect SYNTAX error >>prepare s1 from SELECT LANGUAGE LANGUAGE from (values(0)) LANGUAGE(LANGUAGE); ---- SQL command prepared. +*** ERROR[3128] LANGUAGE is a reserved word. It must be delimited by double-quotes to be used as an identifier. + +*** ERROR[15001] A syntax error occurred at or before: +SELECT LANGUAGE LANGUAGE from (values(0)) LANGUAGE(LANGUAGE); + ^ (24 characters from start of SQL statement) + +*** ERROR[8822] The statement was not prepared. + >> >>-- Expect SYNTAX error >>prepare s1 from SELECT LAST LAST from (values(0)) LAST(LAST); @@ -3251,11 +3888,6 @@ SELECT WORK WORK from (values(0)) WORK(WORK); --- SQL command prepared. >> >>-- Expect success ->>prepare s1 from SELECT CRC32 CRC32 from (values(0)) CRC32(CRC32); - ---- SQL command prepared. ->> ->>-- Expect success >>prepare s1 from SELECT CURDATE CURDATE from (values(0)) CURDATE(CURDATE); --- SQL command prepared. @@ -3691,11 +4323,6 @@ SELECT DUAL DUAL from (values(0)) DUAL(DUAL); --- SQL command prepared. >> >>-- Expect success ->>prepare s1 from SELECT MD5 MD5 from (values(0)) MD5(MD5); - ---- SQL command prepared. ->> ->>-- Expect success >>prepare s1 from SELECT MAXSIZE MAXSIZE from (values(0)) MAXSIZE(MAXSIZE); --- SQL command prepared. @@ -4096,21 +4723,6 @@ SELECT DUAL DUAL from (values(0)) DUAL(DUAL); --- SQL command prepared. >> >>-- Expect success ->>prepare s1 from SELECT SHA SHA from (values(0)) SHA(SHA); - ---- SQL command prepared. ->> ->>-- Expect success ->>prepare s1 from SELECT SHA1 SHA1 from (values(0)) SHA1(SHA1); - ---- SQL command prepared. ->> ->>-- Expect success ->>prepare s1 from SELECT SHA2 SHA2 from (values(0)) SHA2(SHA2); - ---- SQL command prepared. ->> ->>-- Expect success >>prepare s1 from SELECT SHAPE SHAPE from (values(0)) SHAPE(SHAPE); --- SQL command prepared. http://git-wip-us.apache.org/repos/asf/trafodion/blob/8ed5ca20/core/sql/regress/core/TEST037 ---------------------------------------------------------------------- diff --git a/core/sql/regress/core/TEST037 b/core/sql/regress/core/TEST037 index 370554c..c7c51c5 100755 --- a/core/sql/regress/core/TEST037 +++ b/core/sql/regress/core/TEST037 @@ -80,7 +80,6 @@ create table table_name , CONSTRAINT_SCHEMA int not null , CONTROL int not null , CURSOR_NAME int not null -, CRC32 int not null , DATA int not null --,DATETIME int not null , DATETIME_CODE int not null @@ -127,7 +126,6 @@ create table system_name , LOW_VALUE int not null , MAXSIZE int not null , MBYTES int not null -, MD5 int not null , MESSAGE_LEN int not null , MESSAGE_OCTET_LEN int not null , MESSAGE_TEXT int not null @@ -160,9 +158,6 @@ create table system_name , SERIALIZABLE int not null , SERIALWRITES int not null , SERVER_NAME int not null -, SHA int not null -, SHA1 int not null -, SHA2 int not null , SHAPE int not null , SHARE int not null , SIDEINSERTS int not null @@ -1306,9 +1301,6 @@ prepare s1 from SELECT COSH COSH from (values(0)) COSH(COSH); prepare s1 from SELECT COST COST from (values(0)) COST(COST); -- Expect success -prepare s1 from SELECT CRC32 CRC32 from (values(0)) CRC32(CRC32); - --- Expect success prepare s1 from SELECT CURDATE CURDATE from (values(0)) CURDATE(CURDATE); -- Expect success @@ -1567,9 +1559,6 @@ prepare s1 from SELECT LTRIM LTRIM from (values(0)) LTRIM(LTRIM); prepare s1 from SELECT M M from (values(0)) M(M); -- Expect success -prepare s1 from SELECT MD5 MD5 from (values(0)) MD5(MD5); - --- Expect success prepare s1 from SELECT MAXSIZE MAXSIZE from (values(0)) MAXSIZE(MAXSIZE); -- Expect success @@ -1810,15 +1799,6 @@ prepare s1 from SELECT SERIALWRITES SERIALWRITES from (values(0)) SERIALWRITES(S prepare s1 from SELECT SERVER_NAME SERVER_NAME from (values(0)) SERVER_NAME(SERVER_NAME); -- Expect success -prepare s1 from SELECT SHA SHA from (values(0)) SHA(SHA); - --- Expect success -prepare s1 from SELECT SHA1 SHA1 from (values(0)) SHA1(SHA1); - --- Expect success -prepare s1 from SELECT SHA2 SHA2 from (values(0)) SHA2(SHA2); - --- Expect success prepare s1 from SELECT SHAPE SHAPE from (values(0)) SHAPE(SHAPE); -- Expect success
