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

Reply via email to