<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi! Thanks for the review.<div class=""><br class=""><blockquote type="cite" class="">On Nov 8, 2019, at 14:01, Nikita Pettik <<a href="mailto:korablev@tarantool.org" class="">korablev@tarantool.org</a>> wrote:<br class=""><br class="">On 23 Oct 13:40, Roman Khabibov wrote:<br class=""><blockquote type="cite" style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Hi! Thanks for the review.<br class=""><br class=""><blockquote type="cite" class="">On Oct 14, 2019, at 18:47, Nikita Pettik <<a href="mailto:korablev@tarantool.org" class="">korablev@tarantool.org</a>> wrote:<br class=""><br class="">On 07 Oct 00:05, Roman Khabibov wrote:<br class=""><blockquote type="cite" class="">Count the number of rows and columns during query parsing. This is<br class="">to make it easier for the user to find errors in multiline<br class="">queries.<br class=""><br class="">Closes #2611<br class=""><br class=""># Please enter the commit message for your changes. Lines starting<br class=""></blockquote><br class="">?<br class=""></blockquote>Oops.<br class=""></blockquote><br class="">GitLab/Travis statuses are negative. Please check CI results before<br class="">sending patch on the review.<br class=""></blockquote>Now, every test is passed on my local machine.<div class=""> <br class=""><blockquote type="cite" class=""><blockquote type="cite" style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" class=""><blockquote type="cite" class="">diff --git a/src/box/errcode.h b/src/box/errcode.h<br class="">index d5d396d87..36e5c179f 100644<br class="">--- a/src/box/errcode.h<br class="">+++ b/src/box/errcode.h<br class="">@@ -235,9 +235,9 @@ struct errcode_record {<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>/*180 */_(ER_SQL_STACK_OVERFLOW,<span class="Apple-tab-span" style="white-space:pre">    </span>"Failed to parse SQL statement: parser stack limit reached") \<br class=""><span class="Apple-tab-span" style="white-space:pre">       </span>/*181 */_(ER_SQL_SELECT_WILDCARD,<span class="Apple-tab-span" style="white-space:pre">   </span>"Failed to expand '*' in SELECT statement without FROM clause") \<br class=""><span class="Apple-tab-span" style="white-space:pre">    </span>/*182 */_(ER_SQL_STATEMENT_EMPTY,<span class="Apple-tab-span" style="white-space:pre">   </span>"Failed to execute an empty SQL statement") \<br class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*183 */_(ER_SQL_KEYWORD_IS_RESERVED,<span class="Apple-tab-span" style="white-space:pre">       </span>"Keyword '%.*s' is reserved. Please use double quotes if '%.*s' is an identifier.") \<br class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*184 */_(ER_SQL_UNRECOGNIZED_SYNTAX,<span class="Apple-tab-span" style="white-space:pre">       </span>"Syntax error near '%.*s'") \<br class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*185 */_(ER_SQL_UNKNOWN_TOKEN,<span class="Apple-tab-span" style="white-space:pre">     </span><span class="Apple-tab-span" style="white-space:pre">    </span>"Syntax error: unrecognized token: '%.*s'") \<br class="">+<span class="Apple-tab-span" style="white-space:pre">       </span>/*183 */_(ER_SQL_KEYWORD_IS_RESERVED,<span class="Apple-tab-span" style="white-space:pre">       </span>"Keyword '%.*s' on line %d at character %d is reserved. Please use double quotes if '%.*s' is an identifier.") \<br class="">+<span class="Apple-tab-span" style="white-space:pre">       </span>/*184 */_(ER_SQL_UNRECOGNIZED_SYNTAX,<span class="Apple-tab-span" style="white-space:pre">       </span>"Syntax error on line %d at character %d near '%.*s'") \<br class="">+<span class="Apple-tab-span" style="white-space:pre">    </span>/*185 */_(ER_SQL_UNKNOWN_TOKEN,<span class="Apple-tab-span" style="white-space:pre">     </span><span class="Apple-tab-span" style="white-space:pre">    </span>"Syntax error: on line %d at character %d unrecognized token: '%.*s'") \<br class=""><span class="Apple-tab-span" style="white-space:pre">     </span>/*186 */_(ER_SQL_PARSER_GENERIC,<span class="Apple-tab-span" style="white-space:pre">    </span>"%s") \<br class=""></blockquote><br class="">What about other syntax related errors like ER_SQL_PARSER_GENERIC,<br class="">ER_SQL_SYNTAX? Please use the same pattern for all errors:<br class=""><br class="">"On line %d at/near position %d ..." OR<br class="">"Syntax error on line %d at column %d: …”<br class=""></blockquote>Unfortunately, I can print line count and position only during the process<br class="">of tokenizing. Outside of the parse.y and tokenize.c we will just print the<br class="">last symbol position of a query, because this process is assumed to be<br class="">completed, as I understood.<br class=""></blockquote><br class="">For example look at sqlSrcListAppendFromTerm(): there we set ER_SQL_SYNTAX.<br class="">But it is called only from parse.y. Thus, it is possible to set correct<br class="">line and position. Please, check all other errors and introduce position<br class="">where it is possible.<br class=""></blockquote>This function is used on select.c:4525.<div class=""><br class=""></div><div class="">Consider some cases with syntax errors from functions, that used in parse.y only:</div><div class="">1) build.c sql_add_autoincrement()</div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class=""><br class=""></span></font></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">tarantool> CREATE TABLE t11_7 (i INT AUTOINCREMENT, a INT AUTOINCREMENT                      , PRIMARY KEY(a, i));</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">---</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">- 'Syntax error on line 1 at column 83 in CREATE TABLE: Table must feature at most one</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">  AUTOINCREMENT field'</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">...</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class=""><br class=""></span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">tarantool> CREATE TABLE t11_7 (i INT AUTOINCREMENT, a INT AUTOINCREMENT               , PRIMARY KEY(a, i));</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">---</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">- 'Syntax error on line 1 at column 76 in CREATE TABLE: Table must feature at most one</span></font></div><div class=""><font face="Andale Mono" class=""><span style="font-style: normal;" class="">  AUTOINCREMENT field'</span></font></div><div class=""><br class=""></div><div class="">The error line and position depends on whitespaces or linefeeds after last AUTOINCREMENT</div><div class="">keyword, because at the moment of calling sql_add_autoincrement() the last parsed token was ‘,’.</div><div class="">That looks weird.</div></blockquote><div class=""><br class=""></div><div class="">2) select.c sqlJoinType()</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">tarantool> SELECT * FROM t1 INNER OUTER JOIN t2     ;</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">---</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">- null</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">- 'Syntax erroron line 1 at column 35: unknown or unsupported join type: INNER OUTER'</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">...</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono"; min-height: 14px;" class=""><span style="background-color: rgb(255, 255, 255);" class=""><br class=""></span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">tarantool> SELECT * FROM t1 INNER OUTER JOIN     t2;</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">---</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">- null</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">- 'Syntax erroron line 1 at column 39: unknown or unsupported join type: INNER OUTER'</span></div></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: "Andale Mono";" class=""><span style="font-variant-ligatures: no-common-ligatures; background-color: rgb(255, 255, 255);" class="">...</span></div></div></blockquote><div class=""><div class=""><span class="Apple-tab-span" style="white-space:pre">     </span>The same problem.</div><div class="">As I understood, we can print error line/pos if incorrect token is last parsed. Therefore, we need to find the occurrences of diag_set(ClientError, …), where incorrect token is last parsed. I didn’t find. So, I decided to</div><div class="">print in parse.y and tokenize.c only.</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class="">Also, taking into account my comment below, you don't need two versions<br class="">(with and without position) of the same error.<br class=""><br class=""><blockquote type="cite" style="font-family: Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><blockquote type="cite" class=""><blockquote type="cite" class="">diff --git a/test/sql/checks.result b/test/sql/checks.result<br class="">index 50347bc3a..4ecab9ad4 100644<br class="">--- a/test/sql/checks.result<br class="">+++ b/test/sql/checks.result<br class="">@@ -39,8 +39,8 @@ _ = box.space.test:create_index('pk')<br class="">-- Invalid expression test.<br class="">box.space._ck_constraint:insert({513, 'CK_CONSTRAINT_01', false, 'SQL', 'X><5'})<br class="">---<br class="">-- error: 'Failed to create check constraint ''CK_CONSTRAINT_01'': Syntax error near<br class="">-    ''<'''<br class="">+- error: 'Failed to create check constraint ''CK_CONSTRAINT_01'': Syntax error on<br class="">+    line 1 at character 10 near ''<'''<br class=""></blockquote><br class="">There's parse_only flag in struct Parse. You can use it to calculate<br class="">correct position in expression.<br class=""></blockquote><br class="">diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y<br class="">index ed59a875a..7546271d8 100644<br class="">--- a/src/box/sql/parse.y<br class="">+++ b/src/box/sql/parse.y<br class="">@@ -33,10 +33,21 @@<br class="">  UNUSED_PARAMETER(yymajor);  /* Silence some compiler warnings */<br class="">  assert( TOKEN.z[0] );  /* The tokenizer always gives us a token */<br class="">  if (yypParser->is_fallback_failed && TOKEN.isReserved) {<br class="">-    diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED, TOKEN.n, TOKEN.z,<br class="">-             TOKEN.n, TOKEN.z);<br class="">+    if (!pParse->parse_only) {<br class="">+      diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED_WITH_POS,<br class="">+               pParse->line_count, pParse->line_pos, TOKEN.n, TOKEN.z, TOKEN.n,<br class="">+               TOKEN.z);<br class="">+    } else {<br class="">+      diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED, TOKEN.n, TOKEN.z,<br class="">+               TOKEN.n, TOKEN.z);<br class="">+    }<br class=""></blockquote><br class="">Firstly (and obviously), you can introduce wrapper around this if-else:<br class="">parser_diag_set() and provide covering comment.</blockquote><div class=""><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y</font></div><div class=""><font face="Menlo" class="">index 1d0c95fac..b2660635b 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/parse.y</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/parse.y</font></div><div class=""><font face="Menlo" class="">@@ -33,10 +33,11 @@</font></div><div class=""><font face="Menlo" class="">   UNUSED_PARAMETER(yymajor);  /* Silence some compiler warnings */</font></div><div class=""><font face="Menlo" class="">   assert( TOKEN.z[0] );  /* The tokenizer always gives us a token */</font></div><div class=""><font face="Menlo" class="">   if (yypParser->is_fallback_failed && TOKEN.isReserved) {</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED, TOKEN.n, TOKEN.z,</font></div><div class=""><font face="Menlo" class="">-             TOKEN.n, TOKEN.z);</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_KEYWORD_IS_RESERVED, TOKEN.n, TOKEN.z,</font></div><div class=""><font face="Menlo" class="">+                    TOKEN.n, TOKEN.z);</font></div><div class=""><font face="Menlo" class="">   } else {</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_UNRECOGNIZED_SYNTAX, TOKEN.n, TOKEN.z);</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_UNRECOGNIZED_SYNTAX, TOKEN.n, TOKEN.z, 0,</font></div><div class=""><font face="Menlo" class="">+                    NULL);</font></div><div class=""><font face="Menlo" class="">   }</font></div><div class=""><font face="Menlo" class="">   pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class="">@@ -115,6 +116,35 @@ static void disableLookaside(Parse *pParse){</font></div><div class=""><font face="Menlo" class="">   pParse->db->lookaside.bDisable++;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">+void parser_diag_set(struct Parse *parser, uint32_t errcode, uint32_t len_1,</font></div><div class=""><font face="Menlo" class="">+                            const char *str_1, uint32_t len_2,</font></div><div class=""><font face="Menlo" class="">+                            const char *str_2) {</font></div><div class=""><font face="Menlo" class="">+  const char *add = tt_sprintf(" on line %d at column %d",</font></div><div class=""><font face="Menlo" class="">+                                    parser->line_count, parser->line_pos);</font></div><div class=""><font face="Menlo" class="">+  switch (errcode) {</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_SYNTAX:</font></div><div class=""><font face="Menlo" class="">+    assert (str_1 != NULL && str_2 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", str_1,</font></div><div class=""><font face="Menlo" class="">+             str_2);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_KEYWORD_IS_RESERVED:</font></div><div class=""><font face="Menlo" class="">+    assert(str_1 != NULL && str_2 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", len_1, str_1,</font></div><div class=""><font face="Menlo" class="">+             len_2, str_2);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_UNRECOGNIZED_SYNTAX:</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_UNKNOWN_TOKEN:</font></div><div class=""><font face="Menlo" class="">+    assert (str_1 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", len_1,</font></div><div class=""><font face="Menlo" class="">+             str_1);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_PARSER_GENERIC:</font></div><div class=""><font face="Menlo" class="">+    assert (str_1 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", str_1);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  }</font></div><div class=""><font face="Menlo" class="">+}</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class=""> } // end %include</font></div></div><div class=""><br class=""></div><blockquote type="cite" class="">Secondly, you can avoid<br class="">using different error patterns substracting from offset length("SELECT ")<br class="">(or whatever string is added to the intial query). For instance, you may<br class="">set offset to the negative value from very beggining of parsing process.<br class=""></blockquote>I think that it is better to print not error line/offset in lua queries, which uses sql parser. </div><div class="">E. g., what we need to print in this query (wrong expression is <span style="font-family: "Andale Mono";" class="">'X><5'</span>)?</div></div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Andale Mono" class="">tuple = {513, 'CK_CONSTRAINT_01', false, 'SQL', 'X><5', true}</font></div></div><div class=""><div class=""><font face="Andale Mono" class="">box.space._ck_constraint:insert(tuple)</font></div></div></blockquote><div class=""><br class=""></div><div class=""><div class=""><font face="Menlo" class="">commit 797e9b7a3f33ddc307b045d836f15fe3e78dbc8e</font></div><div class=""><font face="Menlo" class="">Author: Roman Khabibov <<a href="mailto:roman.habibov@tarantool.org" class="">roman.habibov@tarantool.org</a>></font></div><div class=""><font face="Menlo" class="">Date:   Sat Sep 28 20:16:45 2019 +0300</font></div><div class=""><font face="Menlo" class=""><br class=""></font></div><div class=""><font face="Menlo" class="">    sql: print line and column number in error message</font></div><div class=""><font face="Menlo" class="">    </font></div><div class=""><font face="Menlo" class="">    Count the number of rows and columns during query parsing. This is</font></div><div class=""><font face="Menlo" class="">    to make it easier for the user to find errors in multiline</font></div><div class=""><font face="Menlo" class="">    queries.</font></div><div class=""><font face="Menlo" class="">    </font></div><div class=""><font face="Menlo" class="">    Closes #2611</font></div><div class=""><font face="Menlo" class=""><br class=""></font></div><div class=""><font face="Menlo" class="">diff --git a/extra/addopcodes.sh b/extra/addopcodes.sh</font></div><div class=""><font face="Menlo" class="">index c25f1e48e..cb6c84725 100755</font></div><div class=""><font face="Menlo" class="">--- a/extra/addopcodes.sh</font></div><div class=""><font face="Menlo" class="">+++ b/extra/addopcodes.sh</font></div><div class=""><font face="Menlo" class="">@@ -50,6 +50,7 @@ extras="            \</font></div><div class=""><font face="Menlo" class="">     ASTERISK        \</font></div><div class=""><font face="Menlo" class="">     SPAN            \</font></div><div class=""><font face="Menlo" class="">     ANALYZE         \</font></div><div class=""><font face="Menlo" class="">+    LINEFEED        \</font></div><div class=""><font face="Menlo" class="">     SPACE           \</font></div><div class=""><font face="Menlo" class="">     ILLEGAL         \</font></div><div class=""><font face="Menlo" class=""> "</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/errcode.h b/src/box/errcode.h</font></div><div class=""><font face="Menlo" class="">index c660b1c70..46f10d157 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/errcode.h</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/errcode.h</font></div><div class=""><font face="Menlo" class="">@@ -231,14 +231,14 @@ struct errcode_record {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>/*176 */_(ER_SQL_CANT_RESOLVE_FIELD,<span class="Apple-tab-span" style="white-space:pre">        </span>"Can’t resolve field '%s'") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>/*177 */_(ER_INDEX_EXISTS_IN_SPACE,<span class="Apple-tab-span" style="white-space:pre"> </span>"Index '%s' already exists in space '%s'") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">   </span>/*178 */_(ER_INCONSISTENT_TYPES,<span class="Apple-tab-span" style="white-space:pre">    </span>"Inconsistent types: expected %s got %s") \</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre"> </span>/*179 */_(ER_SQL_SYNTAX,<span class="Apple-tab-span" style="white-space:pre">            </span>"Syntax error in %s: %s") \</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre"> </span>/*179 */_(ER_SQL_SYNTAX,<span class="Apple-tab-span" style="white-space:pre">            </span>"Syntax error%s in %s: %s") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>/*180 */_(ER_SQL_STACK_OVERFLOW,<span class="Apple-tab-span" style="white-space:pre">    </span>"Failed to parse SQL statement: parser stack limit reached") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>/*181 */_(ER_SQL_SELECT_WILDCARD,<span class="Apple-tab-span" style="white-space:pre">   </span>"Failed to expand '*' in SELECT statement without FROM clause") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>/*182 */_(ER_SQL_STATEMENT_EMPTY,<span class="Apple-tab-span" style="white-space:pre">   </span>"Failed to execute an empty SQL statement") \</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*183 */_(ER_SQL_KEYWORD_IS_RESERVED,<span class="Apple-tab-span" style="white-space:pre">       </span>"Keyword '%.*s' is reserved. Please use double quotes if '%.*s' is an identifier.") \</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*184 */_(ER_SQL_UNRECOGNIZED_SYNTAX,<span class="Apple-tab-span" style="white-space:pre">       </span>"Syntax error near '%.*s'") \</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*185 */_(ER_SQL_UNKNOWN_TOKEN,<span class="Apple-tab-span" style="white-space:pre">             </span>"Syntax error: unrecognized token: '%.*s'") \</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>/*186 */_(ER_SQL_PARSER_GENERIC,<span class="Apple-tab-span" style="white-space:pre">    </span>"%s") \</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">     </span>/*183 */_(ER_SQL_KEYWORD_IS_RESERVED,<span class="Apple-tab-span" style="white-space:pre">       </span>"Syntax error%s: keyword '%.*s' is reserved. Please use double quotes if '%.*s' is an identifier.") \</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">       </span>/*184 */_(ER_SQL_UNRECOGNIZED_SYNTAX,<span class="Apple-tab-span" style="white-space:pre">       </span>"Syntax error%s near '%.*s'") \</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">     </span>/*185 */_(ER_SQL_UNKNOWN_TOKEN,<span class="Apple-tab-span" style="white-space:pre">             </span>"Syntax error%s unrecognized token: '%.*s'") \</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">      </span>/*186 */_(ER_SQL_PARSER_GENERIC,<span class="Apple-tab-span" style="white-space:pre">    </span>"Syntax error%s: %s") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>/*187 */_(ER_SQL_ANALYZE_ARGUMENT,<span class="Apple-tab-span" style="white-space:pre">  </span>"ANALYZE statement argument %s is not a base table") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>/*188 */_(ER_SQL_COLUMN_COUNT_MAX,<span class="Apple-tab-span" style="white-space:pre">  </span>"Failed to create space '%s': space column count %d exceeds the limit (%d)") \</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>/*189 */_(ER_HEX_LITERAL_MAX,<span class="Apple-tab-span" style="white-space:pre">               </span>"Hex literal %s%s length %d exceeds the supported limit (%d)") \</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/build.c b/src/box/sql/build.c</font></div><div class=""><font face="Menlo" class="">index 51cd7ce63..24a8a816a 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/build.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/build.c</font></div><div class=""><font face="Menlo" class="">@@ -2920,7 +2920,7 @@ sqlSrcListAppendFromTerm(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">  </span>/* Parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>struct SrcList_item *pItem;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>sql *db = pParse->db;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>if (!p && (pOn || pUsing)) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">          </span>diag_set(ClientError, ER_SQL_SYNTAX, "FROM clause",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>diag_set(ClientError, ER_SQL_SYNTAX, "", "FROM clause",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span> "a JOIN clause is required before ON and USING");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>goto append_from_error;</font></div><div class=""><font face="Menlo" class="">@@ -3117,10 +3117,10 @@ sqlWithAdd(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">      </span>/* Parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>if (pWith != NULL) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>int i;</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                </span>const char *err = "Ambiguous table name in WITH query: %s";</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>const char *err = "ambiguous table name in WITH query: %s";</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>for (i = 0; i < pWith->nCte; i++) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>if (strcmp(name, pWith->a[i].zName) == 0) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> tt_sprintf(err, name));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                         </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>}</font></div><div class=""><font face="Menlo" class="">@@ -3208,8 +3208,8 @@ int</font></div><div class=""><font face="Menlo" class=""> sql_add_autoincrement(struct Parse *parse_context, uint32_t fieldno)</font></div><div class=""><font face="Menlo" class=""> {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>if (parse_context->create_table_def.has_autoinc) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">         </span>diag_set(ClientError, ER_SQL_SYNTAX, "CREATE TABLE", "Table "</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                     </span> "must feature at most one AUTOINCREMENT field");</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">           </span>diag_set(ClientError, ER_SQL_SYNTAX, "", "CREATE TABLE",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                  </span> "table must feature at most one AUTOINCREMENT field");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>parse_context->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>return -1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>}</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/expr.c b/src/box/sql/expr.c</font></div><div class=""><font face="Menlo" class="">index 648b7170e..f0ed748c4 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/expr.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/expr.c</font></div><div class=""><font face="Menlo" class="">@@ -231,7 +231,7 @@ check_collate_arg(struct Parse *parse, struct Expr *expr)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>left = left->pLeft;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">   </span>enum field_type type = sql_expr_type(left);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>if (type != FIELD_TYPE_STRING && type != FIELD_TYPE_SCALAR) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">         </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span> "COLLATE clause can't be used with non-string "</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span> "arguments");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>parse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">@@ -1246,8 +1246,8 @@ sqlExprAssignVarNumber(Parse * pParse, Expr * pExpr, u32 n)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span>testcase(i == SQL_BIND_PARAMETER_MAX - 1);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span>testcase(i == SQL_BIND_PARAMETER_MAX);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>if (is_neg || i < 1) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                             </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                  </span> "Index of binding slots must start "\</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                              </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                    </span> "index of binding slots must start "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                 </span> "from 1");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>return;</font></div><div class=""><font face="Menlo" class="">@@ -1836,7 +1836,7 @@ sqlExprListAppendVector(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">   </span>/* Parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>    && pColumns->nId != (n = sqlExprVectorSize(pExpr))) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>const char *err = tt_sprintf("%d columns assigned %d values",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                  </span>     pColumns->nId, n);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>goto vector_append_error;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>}</font></div><div class=""><font face="Menlo" class="">@@ -3963,7 +3963,7 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                  </span>if (pInfo == 0) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>assert(!ExprHasProperty(pExpr, EP_IntValue));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>const char *err = "misuse of aggregate: %s()";</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                              </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> tt_sprintf(err, pExpr->u.zToken));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>} else {</font></div><div class=""><font face="Menlo" class="">@@ -4184,7 +4184,7 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>    ) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>const char *err =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>"%d columns assigned %d values";</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> tt_sprintf(err, pExpr->iTable, n));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                          </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>}</font></div><div class=""><font face="Menlo" class="">@@ -4281,7 +4281,7 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>}</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>case TK_VECTOR:{</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                      </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                  </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span> "row value misused");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                 </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>break;</font></div><div class=""><font face="Menlo" class="">@@ -4383,8 +4383,9 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>case TK_RAISE:</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>if (pParse->triggered_space == NULL) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                     </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "RAISE() "\</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                            </span> "may only be used within a trigger-program");</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                      </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", "RAISE"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span> "() may only be used within a "</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                            </span> "trigger-program");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>return 0;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/insert.c b/src/box/sql/insert.c</font></div><div class=""><font face="Menlo" class="">index 70504c800..63360fa3c 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/insert.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/insert.c</font></div><div class=""><font face="Menlo" class="">@@ -383,7 +383,7 @@ sqlInsert(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* Parser context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                     </span>if (bit_test(used_columns, j)) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                         </span>const char *err = "table id list: duplicate "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                         </span>  "column name %s";</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> tt_sprintf(err, pColumn->a[i].zName));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>goto insert_cleanup;</font></div><div class=""><font face="Menlo" class="">@@ -500,13 +500,13 @@ sqlInsert(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">    </span>/* Parser context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                     </span>"table %s has %d columns but %d values were supplied";</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>err = tt_sprintf(err, pTabList->a[0].zName,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span> space_def->field_count, nColumn);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">         </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>goto insert_cleanup;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>if (pColumn != 0 && nColumn != pColumn->nId) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>const char *err = "%d values for %d columns";</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">               </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span> tt_sprintf(err, nColumn, pColumn->nId));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>goto insert_cleanup;</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y</font></div><div class=""><font face="Menlo" class="">index 1d0c95fac..b2660635b 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/parse.y</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/parse.y</font></div><div class=""><font face="Menlo" class="">@@ -33,10 +33,11 @@</font></div><div class=""><font face="Menlo" class="">   UNUSED_PARAMETER(yymajor);  /* Silence some compiler warnings */</font></div><div class=""><font face="Menlo" class="">   assert( TOKEN.z[0] );  /* The tokenizer always gives us a token */</font></div><div class=""><font face="Menlo" class="">   if (yypParser->is_fallback_failed && TOKEN.isReserved) {</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED, TOKEN.n, TOKEN.z,</font></div><div class=""><font face="Menlo" class="">-             TOKEN.n, TOKEN.z);</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_KEYWORD_IS_RESERVED, TOKEN.n, TOKEN.z,</font></div><div class=""><font face="Menlo" class="">+                    TOKEN.n, TOKEN.z);</font></div><div class=""><font face="Menlo" class="">   } else {</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_UNRECOGNIZED_SYNTAX, TOKEN.n, TOKEN.z);</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_UNRECOGNIZED_SYNTAX, TOKEN.n, TOKEN.z, 0,</font></div><div class=""><font face="Menlo" class="">+                    NULL);</font></div><div class=""><font face="Menlo" class="">   }</font></div><div class=""><font face="Menlo" class="">   pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class="">@@ -115,6 +116,35 @@ static void disableLookaside(Parse *pParse){</font></div><div class=""><font face="Menlo" class="">   pParse->db->lookaside.bDisable++;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">+void parser_diag_set(struct Parse *parser, uint32_t errcode, uint32_t len_1,</font></div><div class=""><font face="Menlo" class="">+                            const char *str_1, uint32_t len_2,</font></div><div class=""><font face="Menlo" class="">+                            const char *str_2) {</font></div><div class=""><font face="Menlo" class="">+  const char *add = tt_sprintf(" on line %d at column %d",</font></div><div class=""><font face="Menlo" class="">+                                    parser->line_count, parser->line_pos);</font></div><div class=""><font face="Menlo" class="">+  switch (errcode) {</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_SYNTAX:</font></div><div class=""><font face="Menlo" class="">+    assert (str_1 != NULL && str_2 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", str_1,</font></div><div class=""><font face="Menlo" class="">+             str_2);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_KEYWORD_IS_RESERVED:</font></div><div class=""><font face="Menlo" class="">+    assert(str_1 != NULL && str_2 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", len_1, str_1,</font></div><div class=""><font face="Menlo" class="">+             len_2, str_2);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_UNRECOGNIZED_SYNTAX:</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_UNKNOWN_TOKEN:</font></div><div class=""><font face="Menlo" class="">+    assert (str_1 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", len_1,</font></div><div class=""><font face="Menlo" class="">+             str_1);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  case ER_SQL_PARSER_GENERIC:</font></div><div class=""><font face="Menlo" class="">+    assert (str_1 != NULL);</font></div><div class=""><font face="Menlo" class="">+    diag_set(ClientError, errcode, !parser->parse_only ? add : "", str_1);</font></div><div class=""><font face="Menlo" class="">+    break;</font></div><div class=""><font face="Menlo" class="">+  }</font></div><div class=""><font face="Menlo" class="">+}</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class=""> } // end %include</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> // Input is a single SQL command</font></div><div class=""><font face="Menlo" class="">@@ -274,7 +304,7 @@ columnname(A) ::= nm(A) typedef(Y). {sqlAddColumn(pParse,&A,&Y);}</font></div><div class=""><font face="Menlo" class=""> %type nm {Token}</font></div><div class=""><font face="Menlo" class=""> nm(A) ::= id(A). {</font></div><div class=""><font face="Menlo" class="">   if(A.isReserved) {</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED, A.n, A.z, A.n, A.z);</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_KEYWORD_IS_RESERVED, A.n, A.z, A.n, A.z);</font></div><div class=""><font face="Menlo" class="">     pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">   }</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class="">@@ -1076,15 +1106,15 @@ expr(A) ::= VARIABLE(X).     {</font></div><div class=""><font face="Menlo" class="">   Token t = X;</font></div><div class=""><font face="Menlo" class="">   if (pParse->parse_only) {</font></div><div class=""><font face="Menlo" class="">     spanSet(&A, &t, &t);</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">-             "bindings are not allowed in DDL");</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_PARSER_GENERIC, 0, "bindings are not allowed"</font></div><div class=""><font face="Menlo" class="">+                    " in DDL", 0, NULL);</font></div><div class=""><font face="Menlo" class="">     pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">     A.pExpr = NULL;</font></div><div class=""><font face="Menlo" class="">   } else if (!(X.z[0]=='#' && sqlIsdigit(X.z[1]))) {</font></div><div class=""><font face="Menlo" class="">     u32 n = X.n;</font></div><div class=""><font face="Menlo" class="">     spanExpr(&A, pParse, TK_VARIABLE, X);</font></div><div class=""><font face="Menlo" class="">     if (A.pExpr->u.zToken[0] == '?' && n > 1) {</font></div><div class=""><font face="Menlo" class="">-      diag_set(ClientError, ER_SQL_UNRECOGNIZED_SYNTAX, t.n, t.z);</font></div><div class=""><font face="Menlo" class="">+      parser_diag_set(pParse, ER_SQL_UNRECOGNIZED_SYNTAX, t.n, t.z, 0, NULL);</font></div><div class=""><font face="Menlo" class="">       pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">     } else {</font></div><div class=""><font face="Menlo" class="">       sqlExprAssignVarNumber(pParse, A.pExpr, n);</font></div><div class=""><font face="Menlo" class="">@@ -1092,7 +1122,7 @@ expr(A) ::= VARIABLE(X).     {</font></div><div class=""><font face="Menlo" class="">   }else{</font></div><div class=""><font face="Menlo" class="">     assert( t.n>=2 );</font></div><div class=""><font face="Menlo" class="">     spanSet(&A, &t, &t);</font></div><div class=""><font face="Menlo" class="">-    diag_set(ClientError, ER_SQL_UNRECOGNIZED_SYNTAX, t.n, t.z);</font></div><div class=""><font face="Menlo" class="">+    parser_diag_set(pParse, ER_SQL_UNRECOGNIZED_SYNTAX, t.n, t.z, 0, NULL);</font></div><div class=""><font face="Menlo" class="">     pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">     A.pExpr = NULL;</font></div><div class=""><font face="Menlo" class="">   }</font></div><div class=""><font face="Menlo" class="">@@ -1608,8 +1638,9 @@ trigger_event(A) ::= UPDATE(X).          {A.a = @X; /*A-overwrites-X*/ A.b = 0;}</font></div><div class=""><font face="Menlo" class=""> trigger_event(A) ::= UPDATE OF idlist(X).{A.a = TK_UPDATE; A.b = X;}</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> foreach_clause ::= . {</font></div><div class=""><font face="Menlo" class="">-  diag_set(ClientError, ER_SQL_PARSER_GENERIC, "FOR EACH STATEMENT "</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">    </span>       "triggers are not implemented, please supply FOR EACH ROW clause");</font></div><div class=""><font face="Menlo" class="">+  parser_diag_set(pParse, ER_SQL_PARSER_GENERIC, 0, "FOR EACH STATEMENT "</font></div><div class=""><font face="Menlo" class="">+                  "triggers are not implemented, please supply FOR EACH ROW "</font></div><div class=""><font face="Menlo" class="">+                  "clause", 0, NULL);</font></div><div class=""><font face="Menlo" class="">   pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> foreach_clause ::= FOR EACH ROW.</font></div><div class=""><font face="Menlo" class="">@@ -1639,8 +1670,9 @@ trigger_cmd_list(A) ::= trigger_cmd(A) SEMI. {</font></div><div class=""><font face="Menlo" class=""> trnm(A) ::= nm(A).</font></div><div class=""><font face="Menlo" class=""> trnm(A) ::= nm DOT nm(X). {</font></div><div class=""><font face="Menlo" class="">   A = X;</font></div><div class=""><font face="Menlo" class="">-  diag_set(ClientError, ER_SQL_PARSER_GENERIC, "qualified table names are not "\</font></div><div class=""><font face="Menlo" class="">-           "allowed on INSERT, UPDATE, and DELETE statements within triggers");</font></div><div class=""><font face="Menlo" class="">+  parser_diag_set(pParse, ER_SQL_PARSER_GENERIC, 0, "qualified table names are "</font></div><div class=""><font face="Menlo" class="">+                  "not allowed on INSERT, UPDATE, and DELETE statements within "</font></div><div class=""><font face="Menlo" class="">+                  "triggers", 0, NULL);</font></div><div class=""><font face="Menlo" class="">   pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1650,14 +1682,15 @@ trnm(A) ::= nm DOT nm(X). {</font></div><div class=""><font face="Menlo" class=""> //</font></div><div class=""><font face="Menlo" class=""> tridxby ::= .</font></div><div class=""><font face="Menlo" class=""> tridxby ::= INDEXED BY nm. {</font></div><div class=""><font face="Menlo" class="">-  diag_set(ClientError, ER_SQL_SYNTAX, "trigger body", "the INDEXED BY clause "\</font></div><div class=""><font face="Menlo" class="">-           "is not allowed on UPDATE or DELETE statements within triggers");</font></div><div class=""><font face="Menlo" class="">+  parser_diag_set(pParse, ER_SQL_SYNTAX, 0, "trigger body", 0, "the INDEXED BY "</font></div><div class=""><font face="Menlo" class="">+                  "clause is not allowed on UPDATE or DELETE statements within "</font></div><div class=""><font face="Menlo" class="">+                  "triggers");</font></div><div class=""><font face="Menlo" class="">   pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> tridxby ::= NOT INDEXED. {</font></div><div class=""><font face="Menlo" class="">-  diag_set(ClientError, ER_SQL_SYNTAX, "trigger body", "the NOT INDEXED "\</font></div><div class=""><font face="Menlo" class="">-           "clause is not allowed on UPDATE or DELETE statements within "\</font></div><div class=""><font face="Menlo" class="">-           "triggers");</font></div><div class=""><font face="Menlo" class="">+  parser_diag_set(pParse, ER_SQL_SYNTAX, 0, "trigger body", 0, "the NOT INDEXED "</font></div><div class=""><font face="Menlo" class="">+                  "clause is not allowed on UPDATE or DELETE statements within "</font></div><div class=""><font face="Menlo" class="">+                  "triggers");</font></div><div class=""><font face="Menlo" class="">   pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/prepare.c b/src/box/sql/prepare.c</font></div><div class=""><font face="Menlo" class="">index 0ecc676e2..df9a7ca22 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/prepare.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/prepare.c</font></div><div class=""><font face="Menlo" class="">@@ -243,6 +243,8 @@ sql_parser_create(struct Parse *parser, struct sql *db, uint32_t sql_flags)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>memset(parser, 0, sizeof(struct Parse));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>parser->db = db;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>parser->sql_flags = sql_flags;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">     </span>parser->line_count = 1;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">    </span>parser->line_pos = 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>region_create(&parser->region, &cord()->slabc);</font></div><div class=""><font face="Menlo" class=""> }</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/resolve.c b/src/box/sql/resolve.c</font></div><div class=""><font face="Menlo" class="">index 6f625dc18..40c93dbf1 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/resolve.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/resolve.c</font></div><div class=""><font face="Menlo" class="">@@ -382,6 +382,7 @@ lookupName(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* The parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>    && ExprHasProperty(pOrig, EP_Agg)) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                               </span>diag_set(ClientError,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                    </span> ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                                       </span> "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                   </span> tt_sprintf(err, zAs));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                          </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                            </span>return WRC_Abort;</font></div><div class=""><font face="Menlo" class="">@@ -389,6 +390,7 @@ lookupName(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* The parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>if (sqlExprVectorSize(pOrig) != 1) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                             </span>diag_set(ClientError,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                    </span> ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                                       </span> "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                   </span> "row value misused");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                         </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                            </span>return WRC_Abort;</font></div><div class=""><font face="Menlo" class="">@@ -424,7 +426,7 @@ lookupName(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* The parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                 </span>err = tt_sprintf("ambiguous column name: %s", zCol);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>}</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">             </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>pTopNC->nErr++;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>}</font></div><div class=""><font face="Menlo" class="">@@ -606,7 +608,7 @@ resolveExprStep(Walker * pWalker, Expr * pExpr)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>return WRC_Abort;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>if (!func->def->exports.sql) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> tt_sprintf("function %.*s() is not "</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                          </span>    "available in SQL",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                              </span>     nId, zId));</font></div><div class=""><font face="Menlo" class="">@@ -661,7 +663,8 @@ resolveExprStep(Walker * pWalker, Expr * pExpr)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span>const char *err =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>tt_sprintf("misuse of aggregate "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                             </span>   "function %.*s()", nId, zId);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                               </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                    </span> err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>pNC->nErr++;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                          </span>is_agg = 0;</font></div><div class=""><font face="Menlo" class="">@@ -917,13 +920,14 @@ resolveCompoundOrderBy(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* Parsing context.  Leave error messages</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>if (sqlExprIsInteger(pE, &iCol)) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>if (iCol <= 0 || iCol > pEList->nExpr) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>const char *err =</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                             </span>"Error at ORDER BY in place "\</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                              </span>"error at ORDER BY in place "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                         </span>"%d: term out of range - "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                            </span>"should be between 1 and %d";</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                  </span>err = tt_sprintf(err, i + 1,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                     </span> pEList->nExpr);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                      </span>diag_set(ClientError,</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                         </span> ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                         </span> ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                         </span> err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                   </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                    </span>return 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div><div class=""><font face="Menlo" class="">@@ -973,10 +977,10 @@ resolveCompoundOrderBy(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">  </span>/* Parsing context.  Leave error messages</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">   </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>for (i = 0; i < pOrderBy->nExpr; i++) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>if (pOrderBy->a[i].done == 0) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                    </span>const char *err = "Error at ORDER BY in place %d: "\</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                        </span>const char *err = "error at ORDER BY in place %d: "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                   </span>  "term does not match any column in "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                   </span>  "the result set";</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                    </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                  </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span> tt_sprintf(err, i + 1));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>return 1;</font></div><div class=""><font face="Menlo" class="">@@ -1023,12 +1027,12 @@ sqlResolveOrderGroupBy(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* Parsing context.  Leave error messages</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">   </span>for (i = 0, pItem = pOrderBy->a; i < pOrderBy->nExpr; i++, pItem++) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>if (pItem->u.x.iOrderByCol) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                 </span>if (pItem->u.x.iOrderByCol > pEList->nExpr) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                </span>const char *err = "Error at %s BY in place "\</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                               </span>const char *err = "error at %s BY in place "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                          </span>  "%d: term out of range - "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                             </span>  "should be between 1 and %d";</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>err = tt_sprintf(err, zType, i + 1,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                              </span> pEList->nExpr);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                           </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>return 1;</font></div><div class=""><font face="Menlo" class="">@@ -1094,11 +1098,11 @@ resolveOrderGroupBy(NameContext * pNC,<span class="Apple-tab-span" style="white-space:pre">        </span>/* The name context of the SELECT stateme</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span> * order-by term to a copy of the result-set expression</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                  </span> */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span>if (iCol < 1 || iCol > 0xffff) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                </span>const char *err = "Error at %s BY in place "\</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                               </span>const char *err = "error at %s BY in place "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                          </span>  "%d: term out of range - "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                             </span>  "should be between 1 and %d";</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>err = tt_sprintf(err, zType, i + 1, nResult);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                         </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>return 1;</font></div><div class=""><font face="Menlo" class="">@@ -1387,7 +1391,7 @@ resolveSelectStep(Walker * pWalker, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span>     i++, pItem++) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>if (ExprHasProperty(pItem->pExpr, EP_Agg)) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                  </span>diag_set(ClientError,</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                         </span> ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                               </span> ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                            </span> err_msg);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                    </span>return WRC_Abort;</font></div><div class=""><font face="Menlo" class="">@@ -1400,7 +1404,7 @@ resolveSelectStep(Walker * pWalker, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span> */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span>if (p->pNext && p->pEList->nExpr != p->pNext->pEList->nExpr) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                 </span>if (p->pNext->selFlags & SF_Values) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                               </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> "all VALUES must have the same "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                     </span> "number of terms");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>} else {</font></div><div class=""><font face="Menlo" class="">@@ -1410,7 +1414,7 @@ resolveSelectStep(Walker * pWalker, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span>"result columns";</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                              </span>const char *op =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                 </span>sql_select_op_name(p->pNext->op);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                               </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> tt_sprintf(err, op));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/select.c b/src/box/sql/select.c</font></div><div class=""><font face="Menlo" class="">index 8f93edd16..0371a73c6 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/select.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/select.c</font></div><div class=""><font face="Menlo" class="">@@ -451,7 +451,7 @@ sqlJoinType(Parse * pParse, Token * pA, Token * pB, Token * pC)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                   </span> "%.*s %.*s %.*s", pA->n, pA->z, pB->n,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> pB->z, pC->n, pC->z);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>}</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">             </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>jointype = JT_INNER;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>} else if ((jointype & JT_OUTER) != 0</font></div><div class=""><font face="Menlo" class="">@@ -640,7 +640,7 @@ sqlProcessJoin(Parse * pParse, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span> */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span>if (pRight->fg.jointype & JT_NATURAL) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>if (pRight->pOn || pRight->pUsing) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> "a NATURAL join may not have "</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span> "an ON or USING clause");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                             </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">@@ -664,7 +664,7 @@ sqlProcessJoin(Parse * pParse, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>/* Disallow both ON and USING clauses in the same join</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span> */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span>if (pRight->pOn && pRight->pUsing) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                    </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                  </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span> "cannot have both ON and USING clauses in "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                          </span> "the same join");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                     </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">@@ -709,7 +709,7 @@ sqlProcessJoin(Parse * pParse, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                         </span>    ) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>err = tt_sprintf(err, zName);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                    </span>diag_set(ClientError,</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                         </span> ER_SQL_PARSER_GENERIC, err);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                         </span> ER_SQL_PARSER_GENERIC, "", err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                      </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                    </span>return 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div><div class=""><font face="Menlo" class="">@@ -2115,7 +2115,7 @@ computeLimitRegisters(Parse * pParse, Select * p, int iBreak)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>if((p->pLimit->flags & EP_Collate) != 0 ||</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>   (p->pOffset != NULL &&</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>   (p->pOffset->flags & EP_Collate) != 0)) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                   </span>diag_set(ClientError, ER_SQL_UNRECOGNIZED_SYNTAX,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                     </span>diag_set(ClientError, ER_SQL_UNRECOGNIZED_SYNTAX, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                          </span> sizeof("COLLATE"), "COLLATE");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>return;</font></div><div class=""><font face="Menlo" class="">@@ -2618,7 +2618,7 @@ multiSelect(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">       </span>/* Parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>const char *err_msg =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>tt_sprintf("ORDER BY clause should come after %s not "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>   "before", sql_select_op_name(p->op));</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err_msg);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", err_msg);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>rc = 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>goto multi_select_end;</font></div><div class=""><font face="Menlo" class="">@@ -2627,7 +2627,7 @@ multiSelect(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">        </span>/* Parsing context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>const char *err_msg =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>tt_sprintf("LIMIT clause should come after %s not "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>   "before", sql_select_op_name(p->op));</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err_msg);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", err_msg);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>rc = 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>goto multi_select_end;</font></div><div class=""><font face="Menlo" class="">@@ -4642,14 +4642,14 @@ withExpand(Walker * pWalker, struct SrcList_item *pFrom)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span> * In this case, proceed.</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span> */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span>if (pCte->zCteErr) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                       </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                  </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span> tt_sprintf(pCte->zCteErr, pCte->zName));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                  </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>return -1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>if (pFrom->fg.isTabFunc) {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>const char *err = "'%s' is not a function";</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                 </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                  </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span> tt_sprintf(err, pFrom->zName));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>return -1;</font></div><div class=""><font face="Menlo" class="">@@ -4688,7 +4688,8 @@ withExpand(Walker * pWalker, struct SrcList_item *pFrom)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>const char *err_msg =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>tt_sprintf("multiple references to recursive "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>   "table: %s", pCte->zName);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                       </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err_msg);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                        </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                            </span> err_msg);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>return -1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>}</font></div><div class=""><font face="Menlo" class="">@@ -4710,7 +4711,8 @@ withExpand(Walker * pWalker, struct SrcList_item *pFrom)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                             </span>   "for %d columns",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                              </span>   pCte->zName, pEList->nExpr,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                </span>   pCte->pCols->nExpr);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                            </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, err_msg);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                    </span> err_msg);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                               </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>pParse->pWith = pSavedWith;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>return -1;</font></div><div class=""><font face="Menlo" class="">@@ -4865,7 +4867,7 @@ selectExpander(Walker * pWalker, Select * p)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>const char *err =</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                        </span>tt_sprintf("'%s' is not a function",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                           </span>   pFrom->zName);</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                             </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                           </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>return WRC_Abort;</font></div><div class=""><font face="Menlo" class="">@@ -5285,7 +5287,7 @@ resetAccumulator(Parse * pParse, AggInfo * pAggInfo)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                 </span>Expr *pE = pFunc->pExpr;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span>assert(!ExprHasProperty(pE, EP_xIsSelect));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                      </span>if (pE->x.pList == 0 || pE->x.pList->nExpr != 1) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                           </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                          </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span> "DISTINCT aggregates must have "\</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                     </span> "exactly one argument");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                              </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h</font></div><div class=""><font face="Menlo" class="">index 2594b73e0..df821a26b 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/sqlInt.h</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/sqlInt.h</font></div><div class=""><font face="Menlo" class="">@@ -2181,6 +2181,10 @@ struct Parse {</font></div><div class=""><font face="Menlo" class="">   ***********************************************************************/</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>Token sLastToken;<span class="Apple-tab-span" style="white-space:pre">   </span>/* The last token parsed */</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">   </span>/** The line counter. */</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">      </span>uint32_t line_count;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">  </span>/** The position in a line. */</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>uint32_t line_pos;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>ynVar nVar;<span class="Apple-tab-span" style="white-space:pre">         </span>/* Number of '?' variables seen in the SQL so far */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>u8 explain;<span class="Apple-tab-span" style="white-space:pre">         </span>/* True if the EXPLAIN flag is found on the query */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>int nHeight;<span class="Apple-tab-span" style="white-space:pre">                </span>/* Expression tree height of current sub-select */</font></div><div class=""><font face="Menlo" class="">@@ -4467,4 +4471,16 @@ int</font></div><div class=""><font face="Menlo" class=""> sql_fieldno_by_name(struct Parse *parse_context, struct Expr *field_name,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>    uint32_t *fieldno);</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">+/**</font></div><div class=""><font face="Menlo" class="">+ * Call diag_set() with or without error line and offset.</font></div><div class=""><font face="Menlo" class="">+ *</font></div><div class=""><font face="Menlo" class="">+ * @param parser Parser.</font></div><div class=""><font face="Menlo" class="">+ * @param len    String length.</font></div><div class=""><font face="Menlo" class="">+ * @param str_1  Ptr to first string.</font></div><div class=""><font face="Menlo" class="">+ * @param str_2  Ptr to second string.</font></div><div class=""><font face="Menlo" class="">+ */</font></div><div class=""><font face="Menlo" class="">+void</font></div><div class=""><font face="Menlo" class="">+parser_diag_set(struct Parse *parser, uint32_t errcode, uint32_t len_1,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">            </span>const char *str_1, uint32_t len_2, const char *str_2);</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class=""> #endif<span class="Apple-tab-span" style="white-space:pre">                               </span>/* sqlINT_H */</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/tokenize.c b/src/box/sql/tokenize.c</font></div><div class=""><font face="Menlo" class="">index 9fa069d09..1e44c4312 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/tokenize.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/tokenize.c</font></div><div class=""><font face="Menlo" class="">@@ -82,10 +82,11 @@</font></div><div class=""><font face="Menlo" class=""> #define CC_TILDA     25<span class="Apple-tab-span" style="white-space:pre">         </span>/* '~' */</font></div><div class=""><font face="Menlo" class=""> #define CC_DOT       26<span class="Apple-tab-span" style="white-space:pre">          </span>/* '.' */</font></div><div class=""><font face="Menlo" class=""> #define CC_ILLEGAL   27<span class="Apple-tab-span" style="white-space:pre">            </span>/* Illegal character */</font></div><div class=""><font face="Menlo" class="">+#define CC_LINEFEED  28<span class="Apple-tab-span" style="white-space:pre">           </span>/* '\n' */</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> static const char sql_ascii_class[] = {</font></div><div class=""><font face="Menlo" class=""> /*       x0  x1  x2  x3  x4  x5  x6  x7  x8 x9  xa xb  xc xd xe  xf */</font></div><div class=""><font face="Menlo" class="">-/* 0x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 7,  7, 7, 7, 7, 27, 27,</font></div><div class=""><font face="Menlo" class="">+/* 0x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 7, 28, 7, 7, 7, 27, 27,</font></div><div class=""><font face="Menlo" class=""> /* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,</font></div><div class=""><font face="Menlo" class=""> /* 2x */ 7, 15, 9, 5, 4, 22, 24, 8, 17, 18, 21, 20, 23, 11, 26, 16,</font></div><div class=""><font face="Menlo" class=""> /* 3x */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 19, 12, 14, 13, 6,</font></div><div class=""><font face="Menlo" class="">@@ -192,12 +193,24 @@ sql_token(const char *z, int *type, bool *is_reserved)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">         </span>i = 1 + sql_skip_spaces(z+1);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>*type = TK_SPACE;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>return i;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">     </span>case CC_LINEFEED:</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">             </span>*type = TK_LINEFEED;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">          </span>return 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>case CC_MINUS:</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                </span>/*</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">            </span> * Ignore single-line comment started with "--"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">             </span> * till the end of parsing string or next line.</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">               </span> */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">              </span>if (z[1] == '-') {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                    </span>for (i = 2; (c = z[i]) != 0 && c != '\n'; i++) {</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                      </span>for (i = 2; true; i++) {</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                              </span>if (z[i] == '\0') {</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                   </span>*type = TK_SPACE;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                     </span>return i;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                             </span>} else if (z[i] == '\n') {</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                    </span>*type = TK_LINEFEED;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                  </span>return ++i;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                           </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                     </span>*type = TK_SPACE;</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                     </span>return i;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>*type = TK_MINUS;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>return 1;</font></div><div class=""><font face="Menlo" class="">@@ -499,12 +512,16 @@ sqlRunParser(Parse * pParse, const char *zSql)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span>assert(tokenType == TK_SPACE</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                     </span>       || tokenType == TK_ILLEGAL);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                       </span>if (tokenType == TK_ILLEGAL) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                </span>diag_set(ClientError, ER_SQL_UNKNOWN_TOKEN,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                           </span>parser_diag_set(pParse, ER_SQL_UNKNOWN_TOKEN,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                    </span> pParse->sLastToken.n,</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                     </span> pParse->sLastToken.z);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                    </span> pParse->sLastToken.z, 0, NULL);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                              </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                            </span>break;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                   </span>}</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">             </span>} else if (tokenType == TK_LINEFEED) {</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                        </span>pParse->line_count++;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                      </span>pParse->line_pos = 1;</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                      </span>continue;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>} else {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                 </span>sqlParser(pEngine, tokenType, pParse->sLastToken,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                             </span>      pParse);</font></div><div class=""><font face="Menlo" class="">@@ -512,6 +529,7 @@ sqlRunParser(Parse * pParse, const char *zSql)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                     </span>if (pParse->is_aborted || db->mallocFailed)</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                </span>break;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>}</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">             </span>pParse->line_pos += pParse->sLastToken.n;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>}</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>pParse->zTail = &zSql[i];</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>sqlParserFree(pEngine, sql_free);</font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/trigger.c b/src/box/sql/trigger.c</font></div><div class=""><font face="Menlo" class="">index 0c387bc3b..283e67f53 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/trigger.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/trigger.c</font></div><div class=""><font face="Menlo" class="">@@ -595,8 +595,8 @@ codeTriggerProgram(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">   </span>/* The parser context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>sqlSubProgramsRemaining--;</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>if (sqlSubProgramsRemaining == 0) {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">           </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "Maximum number "\</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                     </span> "of chained trigger activations exceeded.");</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">               </span>diag_set(ClientError, ER_SQL_PARSER_GENERIC, "", "maximum "</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                       </span> "number of chained trigger activations exceeded.");</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>}</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/src/box/sql/update.c b/src/box/sql/update.c</font></div><div class=""><font face="Menlo" class="">index 6d69b7252..7d46e3cee 100644</font></div><div class=""><font face="Menlo" class="">--- a/src/box/sql/update.c</font></div><div class=""><font face="Menlo" class="">+++ b/src/box/sql/update.c</font></div><div class=""><font face="Menlo" class="">@@ -156,7 +156,7 @@ sqlUpdate(Parse * pParse,<span class="Apple-tab-span" style="white-space:pre">             </span>/* The parser context */</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                 </span>err = tt_sprintf(err,</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                                    </span> pChanges->a[i].zName);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                       </span>diag_set(ClientError,</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">                                         </span> ER_SQL_PARSER_GENERIC,</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                                               </span> ER_SQL_PARSER_GENERIC, "",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                            </span> err);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                   </span>pParse->is_aborted = true;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                                    </span>goto update_cleanup;</font></div><div class=""><font face="Menlo" class="">diff --git a/test/box/function1.result b/test/box/function1.result</font></div><div class=""><font face="Menlo" class="">index b91d63c51..a1020471d 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/box/function1.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/box/function1.result</font></div><div class=""><font face="Menlo" class="">@@ -387,7 +387,7 @@ test_run:cmd("setopt delimiter ''");</font></div><div class=""><font face="Menlo" class=""> box.execute('SELECT "function1.divide"()')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- function function1.divide() is not available in SQL</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error: function function1.divide() is not available in SQL'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.func["function1.divide"]:drop()</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/alter2.test.lua b/test/sql-tap/alter2.test.lua</font></div><div class=""><font face="Menlo" class="">index e0bd60727..9f53ab86a 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/alter2.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/alter2.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -223,7 +223,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ALTER TABLE child ADD CONSTRAINT fk FOREIGN KEY REFERENCES child(id);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <alter2-4.1></font></div><div class=""><font face="Menlo" class="">-        1, "Keyword 'REFERENCES' is reserved. Please use double quotes if 'REFERENCES' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 57: keyword 'REFERENCES' is reserved. Please use double quotes if 'REFERENCES' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </alter2-4.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -233,7 +233,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ALTER TABLE child ADD CONSTRAINT fk () FOREIGN KEY REFERENCES child(id);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <alter2-4.1></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error near '('"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 45 near '('"</font></div><div class=""><font face="Menlo" class="">         -- </alter2-4.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/autoinc.test.lua b/test/sql-tap/autoinc.test.lua</font></div><div class=""><font face="Menlo" class="">index 39e47966b..a7745f390 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/autoinc.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/autoinc.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -880,7 +880,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE t11_7 (i INT AUTOINCREMENT, a INT AUTOINCREMENT, PRIMARY KEY(a, i));</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error in CREATE TABLE: Table must feature at most one AUTOINCREMENT field"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error in CREATE TABLE: table must feature at most one AUTOINCREMENT field"</font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">@@ -888,7 +888,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE t11_8 (i INT, a INT, PRIMARY KEY(a AUTOINCREMENT, i AUTOINCREMENT));</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error in CREATE TABLE: Table must feature at most one AUTOINCREMENT field"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error in CREATE TABLE: table must feature at most one AUTOINCREMENT field"</font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/blob.test.lua b/test/sql-tap/blob.test.lua</font></div><div class=""><font face="Menlo" class="">index 2b5c7a9ca..e5d88eef9 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/blob.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/blob.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -72,7 +72,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT X'01020k304', 100</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.4></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'X'01020k304'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'X'01020k304'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -81,7 +81,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         SELECT X'01020, 100]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.5></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'X'01020, 100']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'X'01020, 100']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -91,7 +91,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT X'01020 100'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.6></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'X'01020 100'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'X'01020 100'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -101,7 +101,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT X'01001'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.7></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'X'01001'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'X'01001'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -111,7 +111,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x'012/45'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.8></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'x'012/45'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'x'012/45'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -121,7 +121,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x'012:45'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.9></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'x'012:45'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'x'012:45'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -131,7 +131,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x'012@45'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.10></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'x'012@45'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'x'012@45'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -141,7 +141,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x'012G45'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.11></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'x'012G45'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'x'012G45'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.11></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -151,7 +151,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x'012`45'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.12></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'x'012`45'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'x'012`45'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.12></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -161,7 +161,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x'012g45'</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <blob-1.13></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: 'x'012g45'']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: 'x'012g45'']]</font></div><div class=""><font face="Menlo" class="">         -- </blob-1.13></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/check.test.lua b/test/sql-tap/check.test.lua</font></div><div class=""><font face="Menlo" class="">index c9b60bbf5..c0b1554de 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/check.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/check.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -282,7 +282,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <check-2.10></font></div><div class=""><font face="Menlo" class="">-        1,"Syntax error near ','"</font></div><div class=""><font face="Menlo" class="">+        1,"Syntax error on line 2 at column 77 near ','"</font></div><div class=""><font face="Menlo" class="">         -- </check-2.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -296,7 +296,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <check-2.10></font></div><div class=""><font face="Menlo" class="">-        1,"Syntax error near ','"</font></div><div class=""><font face="Menlo" class="">+        1,"Syntax error on line 3 at column 23 near ','"</font></div><div class=""><font face="Menlo" class="">         -- </check-2.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -517,7 +517,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <check-5.1></font></div><div class=""><font face="Menlo" class="">-        1, "Failed to create check constraint 'ck_unnamed_T5_1': bindings are not allowed in DDL"</font></div><div class=""><font face="Menlo" class="">+        1, "Failed to create check constraint 'ck_unnamed_T5_1': Syntax error: bindings are not allowed in DDL"</font></div><div class=""><font face="Menlo" class="">         -- </check-5.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -529,7 +529,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <check-5.2></font></div><div class=""><font face="Menlo" class="">-        1, "Failed to create check constraint 'ck_unnamed_T5_1': bindings are not allowed in DDL"</font></div><div class=""><font face="Menlo" class="">+        1, "Failed to create check constraint 'ck_unnamed_T5_1': Syntax error: bindings are not allowed in DDL"</font></div><div class=""><font face="Menlo" class="">         -- </check-5.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -783,7 +783,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ON CONFLICT REPLACE)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <9.1></font></div><div class=""><font face="Menlo" class="">-        1, "Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 9: keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </9.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -794,7 +794,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ON CONFLICT ABORT)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <9.2></font></div><div class=""><font face="Menlo" class="">-        1, "Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 9: keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </9.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -805,7 +805,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ON CONFLICT ROLLBACK)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <9.3></font></div><div class=""><font face="Menlo" class="">-        1, "Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 9: keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </9.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/collation.test.lua b/test/sql-tap/collation.test.lua</font></div><div class=""><font face="Menlo" class="">index f7099b222..b76a334b7 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/collation.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/collation.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -551,28 +551,28 @@ test:do_execsql_test(</font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.1",</font></div><div class=""><font face="Menlo" class="">     'SELECT one COLLATE "binary" FROM test1',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.2",</font></div><div class=""><font face="Menlo" class="">     'SELECT one COLLATE "unicode_ci" FROM test1',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.3",</font></div><div class=""><font face="Menlo" class="">     'SELECT two COLLATE "binary" FROM test1',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.4",</font></div><div class=""><font face="Menlo" class="">     'SELECT (one + two) COLLATE "binary" FROM test1',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.5",</font></div><div class=""><font face="Menlo" class="">     'SELECT (SELECT one FROM test1) COLLATE "binary"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.6",</font></div><div class=""><font face="Menlo" class="">@@ -582,32 +582,32 @@ test:do_execsql_test(</font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.7",</font></div><div class=""><font face="Menlo" class="">     'SELECT RANDOM() COLLATE "binary"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.8",</font></div><div class=""><font face="Menlo" class="">     'SELECT LENGTH(\'A\') COLLATE "binary"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.9",</font></div><div class=""><font face="Menlo" class="">     'SELECT TRUE COLLATE "unicode"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.10",</font></div><div class=""><font face="Menlo" class="">     'SELECT NOT TRUE COLLATE "unicode"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.11",</font></div><div class=""><font face="Menlo" class="">     'SELECT TRUE AND TRUE COLLATE "unicode"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.12",</font></div><div class=""><font face="Menlo" class="">     'SELECT 1 | 1 COLLATE "unicode"',</font></div><div class=""><font face="Menlo" class="">-    {1, "COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: COLLATE clause can't be used with non-string arguments"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">     "collation-2.7.14",</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/count.test.lua b/test/sql-tap/count.test.lua</font></div><div class=""><font face="Menlo" class="">index cf5bfccdd..354a464a4 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/count.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/count.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -128,7 +128,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(DISTINCT *) FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <count-2.2></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near '*']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 31 near '*']]</font></div><div class=""><font face="Menlo" class="">         -- </count-2.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -156,7 +156,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(DISTINCT) FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <count-2.6></font></div><div class=""><font face="Menlo" class="">-        1, "DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">         -- </count-2.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -290,7 +290,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(DISTINCT) FROM t6 GROUP BY x;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <count-6.1></font></div><div class=""><font face="Menlo" class="">-        1, "DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">         -- </count-6.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/default.test.lua b/test/sql-tap/default.test.lua</font></div><div class=""><font face="Menlo" class="">index f2a5db071..9feca0df1 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/default.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/default.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -224,7 +224,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE t6(id INTEGER PRIMARY KEY, b TEXT DEFAULT id);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">     -- <default-5.2></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near 'id'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 64 near 'id'"</font></div><div class=""><font face="Menlo" class="">     -- </default-5.2></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -234,7 +234,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE t6(id INTEGER PRIMARY KEY, b TEXT DEFAULT "id");</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">     -- <default-5.3></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '\"id\"'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 64 near '\"id\"'"</font></div><div class=""><font face="Menlo" class="">     -- </default-5.3></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/distinctagg.test.lua b/test/sql-tap/distinctagg.test.lua</font></div><div class=""><font face="Menlo" class="">index 5454bf0ed..8e0042f77 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/distinctagg.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/distinctagg.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -75,7 +75,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(distinct) FROM t1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <distinctagg-2.1></font></div><div class=""><font face="Menlo" class="">-        1, "DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">         -- </distinctagg-2.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -85,7 +85,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT group_concat(distinct a,b) FROM t1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <distinctagg-2.2></font></div><div class=""><font face="Menlo" class="">-        1, "DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: DISTINCT aggregates must have exactly one argument"</font></div><div class=""><font face="Menlo" class="">         -- </distinctagg-2.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/e_select1.test.lua b/test/sql-tap/e_select1.test.lua</font></div><div class=""><font face="Menlo" class="">index a0a671644..0d9b29453 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/e_select1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/e_select1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -95,7 +95,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(*) FROM t1, t2 ON (t1.a=t2.a) USING (a)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <e_select-0.1.4></font></div><div class=""><font face="Menlo" class="">-        1, "cannot have both ON and USING clauses in the same join"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: cannot have both ON and USING clauses in the same join"</font></div><div class=""><font face="Menlo" class="">         -- </e_select-0.1.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -105,7 +105,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(*) FROM t1, t2 USING (a) ON (t1.a=t2.a)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <e_select-0.1.5></font></div><div class=""><font face="Menlo" class="">-        1, [[Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 47: keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">         -- </e_select-0.1.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -643,7 +643,7 @@ for tn, sql in ipairs(data) do</font></div><div class=""><font face="Menlo" class=""> string.format([[</font></div><div class=""><font face="Menlo" class="">             %s</font></div><div class=""><font face="Menlo" class="">         ]], sql), {</font></div><div class=""><font face="Menlo" class="">-            1, "a NATURAL join may not have an ON or USING clause"</font></div><div class=""><font face="Menlo" class="">+            1, "Syntax error: a NATURAL join may not have an ON or USING clause"</font></div><div class=""><font face="Menlo" class="">         })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> end</font></div><div class=""><font face="Menlo" class="">@@ -805,9 +805,9 @@ test:do_select_tests(</font></div><div class=""><font face="Menlo" class=""> -- FROM clause.</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class=""> data = {</font></div><div class=""><font face="Menlo" class="">-    {"1.1", "SELECT a, b, c FROM z1 WHERE *",  "Syntax error near '*'"},</font></div><div class=""><font face="Menlo" class="">-    {"1.2", "SELECT a, b, c FROM z1 GROUP BY *", "Syntax error near '*'"},</font></div><div class=""><font face="Menlo" class="">-    {"1.3", "SELECT 1 + * FROM z1",  "Syntax error near '*'"},</font></div><div class=""><font face="Menlo" class="">+    {"1.1", "SELECT a, b, c FROM z1 WHERE *",  "Syntax error on line 1 at column 30 near '*'"},</font></div><div class=""><font face="Menlo" class="">+    {"1.2", "SELECT a, b, c FROM z1 GROUP BY *", "Syntax error on line 1 at column 33 near '*'"},</font></div><div class=""><font face="Menlo" class="">+    {"1.3", "SELECT 1 + * FROM z1",  "Syntax error on line 1 at column 12 near '*'"},</font></div><div class=""><font face="Menlo" class="">     {"1.4", "SELECT * + 1 FROM z1", "Failed to expand '*' in SELECT statement without FROM clause"},</font></div><div class=""><font face="Menlo" class="">     {"2.1", "SELECT *", "Failed to expand '*' in SELECT statement without FROM clause"},</font></div><div class=""><font face="Menlo" class="">     {"2.2", "SELECT * WHERE 1", "Failed to expand '*' in SELECT statement without FROM clause"},</font></div><div class=""><font face="Menlo" class="">@@ -1064,7 +1064,7 @@ data = {</font></div><div class=""><font face="Menlo" class=""> for _, val in ipairs(data) do</font></div><div class=""><font face="Menlo" class="">     local tn = val[1]</font></div><div class=""><font face="Menlo" class="">     local select = val[2]</font></div><div class=""><font face="Menlo" class="">-    local res = {1, "aggregate functions are not allowed in the GROUP BY clause"}</font></div><div class=""><font face="Menlo" class="">+    local res = {1, "Syntax error: aggregate functions are not allowed in the GROUP BY clause"}</font></div><div class=""><font face="Menlo" class="">     test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         "e_select-4."..tn,</font></div><div class=""><font face="Menlo" class="">         select, res)</font></div><div class=""><font face="Menlo" class="">@@ -1341,7 +1341,7 @@ for tn, val in ipairs(data) do</font></div><div class=""><font face="Menlo" class="">     local sql = val[1]</font></div><div class=""><font face="Menlo" class="">     local subst = val[2]</font></div><div class=""><font face="Menlo" class="">     local label = "e_select-7.1."..tn</font></div><div class=""><font face="Menlo" class="">-    local error = string.format("SELECTs to the left and right of %s do not have the same number of result columns", subst)</font></div><div class=""><font face="Menlo" class="">+    local error = string.format("Syntax error: SELECTs to the left and right of %s do not have the same number of result columns", subst)</font></div><div class=""><font face="Menlo" class="">     test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         label,</font></div><div class=""><font face="Menlo" class="">         sql,</font></div><div class=""><font face="Menlo" class="">@@ -1380,7 +1380,7 @@ for _, val in ipairs(data) do</font></div><div class=""><font face="Menlo" class="">     local op1 = val[3]</font></div><div class=""><font face="Menlo" class="">     local op2 = val[4]</font></div><div class=""><font face="Menlo" class="">     local label = "e_select-7.2."..tn</font></div><div class=""><font face="Menlo" class="">-    local error = string.format("%s clause should come after %s not before", op1, op2)</font></div><div class=""><font face="Menlo" class="">+    local error = string.format("Syntax error: %s clause should come after %s not before", op1, op2)</font></div><div class=""><font face="Menlo" class="">     test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         label,</font></div><div class=""><font face="Menlo" class="">         select,</font></div><div class=""><font face="Menlo" class="">@@ -1853,13 +1853,13 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "e_select-8.7.1.1",</font></div><div class=""><font face="Menlo" class="">     "SELECT x FROM d1 UNION ALL SELECT a FROM d2 ORDER BY x*z",</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term does not match any column in the result set"})</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "e_select-8.7.1.2",</font></div><div class=""><font face="Menlo" class="">     "SELECT x,z FROM d1 UNION ALL SELECT a,b FROM d2 ORDER BY x, x/z",</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 2: term does not match any column in the result set"})</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 2: term does not match any column in the result set"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_select_tests(</font></div><div class=""><font face="Menlo" class="">     "e_select-8.7.2",</font></div><div class=""><font face="Menlo" class="">@@ -2088,7 +2088,7 @@ for _, val in ipairs({{1, "SELECT a FROM d5 UNION SELECT c FROM d6 ORDER BY a+1"</font></div><div class=""><font face="Menlo" class="">         "e_select-8.14."..tn,</font></div><div class=""><font face="Menlo" class="">         select,</font></div><div class=""><font face="Menlo" class="">         {</font></div><div class=""><font face="Menlo" class="">-            1, string.format("Error at ORDER BY in place %s: term does not match any column in the result set", err_param)})</font></div><div class=""><font face="Menlo" class="">+            1, string.format("Syntax error: error at ORDER BY in place %s: term does not match any column in the result set", err_param)})</font></div><div class=""><font face="Menlo" class=""> end</font></div><div class=""><font face="Menlo" class=""> -- EVIDENCE-OF: R-03407-11483 Each term of the ORDER BY clause is</font></div><div class=""><font face="Menlo" class=""> -- processed separately and may be matched against result columns from</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/func.test.lua b/test/sql-tap/func.test.lua</font></div><div class=""><font face="Menlo" class="">index 4574ddfeb..10651be15 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/func.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/func.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -1882,7 +1882,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT trim(1,2,3)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <func-22.1></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error near ','"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 22 near ','"</font></div><div class=""><font face="Menlo" class="">         -- </func-22.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -2228,7 +2228,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT TRIM(FROM 'xyxzy');</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <func-22.38></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error near 'FROM'"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 21 near 'FROM'"</font></div><div class=""><font face="Menlo" class="">         -- </func-22.38></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua b/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua</font></div><div class=""><font face="Menlo" class="">index bb8a4989e..5e8061424 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/gh-3307-xfer-optimization-issue.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -85,7 +85,7 @@ test:do_catchsql_xfer_test(</font></div><div class=""><font face="Menlo" class="">         INSERT INTO t2 SELECT * FROM t1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <xfer-optimization-1.5></font></div><div class=""><font face="Menlo" class="">-        1, "table T2 has 2 columns but 3 values were supplied"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: table T2 has 2 columns but 3 values were supplied"</font></div><div class=""><font face="Menlo" class="">         -- <xfer-optimization-1.5></font></div><div class=""><font face="Menlo" class="">     }, {</font></div><div class=""><font face="Menlo" class="">         exp_xfer_count = 0</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/gh2168-temp-tables.test.lua b/test/sql-tap/gh2168-temp-tables.test.lua</font></div><div class=""><font face="Menlo" class="">index 3b29c9ed2..8012cf135 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/gh2168-temp-tables.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/gh2168-temp-tables.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -1,6 +1,6 @@</font></div><div class=""><font face="Menlo" class=""> #!/usr/bin/env tarantool</font></div><div class=""><font face="Menlo" class=""> test = require("sqltester")</font></div><div class=""><font face="Menlo" class="">-test:plan(2)</font></div><div class=""><font face="Menlo" class="">+test:plan(3)</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>"trigger2-10.1",</font></div><div class=""><font face="Menlo" class="">@@ -8,23 +8,32 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>CREATE TEMP TABLE tmp1 (id INTEGER PRIMARY KEY);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <trigger2-10.1></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">      </span>1, "Syntax error near 'TEMP'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">       </span>1, "Syntax error on line 1 at column 10 near 'TEMP'"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>-- <trigger2-10.1></font></div><div class=""><font face="Menlo" class=""> });</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> -- TEMP triggers are removed now, check it</font></div><div class=""><font face="Menlo" class="">-test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">    </span>"trigger2-10.1",</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class="">+test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">   </span>"trigger2-10.2",</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>[[</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>CREATE TABLE t1 (id INTEGER PRIMARY KEY);</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">     </span>]], {</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>-- <trigger2-10.2></font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">              </span>-- <trigger2-10.2></font></div><div class=""><font face="Menlo" class="">+});</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class="">+test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">   </span>"trigger2-10.3",</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">    </span>[[</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>CREATE TEMP TRIGGER ttmp1 BEFORE UPDATE ON t1</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>BEGIN</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                    </span>SELECT 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>END;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>]], {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">         </span>-- <trigger2-10.1></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">      </span>1, "Syntax error near 'TEMP'"</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">               </span>-- <trigger2-10.1></font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">              </span>-- <trigger2-10.3></font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">      </span>1, "Syntax error on line 1 at column 10 near 'TEMP'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                </span>-- <trigger2-10.3></font></div><div class=""><font face="Menlo" class=""> });</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/gh2250-trigger-chain-limit.test.lua b/test/sql-tap/gh2250-trigger-chain-limit.test.lua</font></div><div class=""><font face="Menlo" class="">index 0a8a6c58d..62cc78566 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/gh2250-trigger-chain-limit.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/gh2250-trigger-chain-limit.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -81,7 +81,7 @@ for _, table_count in ipairs({30, 31}) do</font></div><div class=""><font face="Menlo" class="">                      function()</font></div><div class=""><font face="Menlo" class="">                          return true</font></div><div class=""><font face="Menlo" class="">                      end,</font></div><div class=""><font face="Menlo" class="">-                     table_count <= 30 or msg == 'Maximum number of chained trigger activations exceeded.')</font></div><div class=""><font face="Menlo" class="">+                     table_count <= 30 or msg == 'Syntax error: maximum number of chained trigger activations exceeded.')</font></div><div class=""><font face="Menlo" class="">     end</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">     -- Exceed check for UPDATE</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/identifier_case.test.lua b/test/sql-tap/identifier_case.test.lua</font></div><div class=""><font face="Menlo" class="">index 65ed9aea1..3d70e7457 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/identifier_case.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/identifier_case.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -240,7 +240,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> data = {</font></div><div class=""><font face="Menlo" class="">     { 1,  [[ 'a' < 'b' collate binary ]], {1, "Collation 'BINARY' does not exist"}},</font></div><div class=""><font face="Menlo" class="">     { 2,  [[ 'a' < 'b' collate "binary" ]], {0, {true}}},</font></div><div class=""><font face="Menlo" class="">-    { 3,  [[ 'a' < 'b' collate 'binary' ]], {1, [[Syntax error near ''binary'']]}},</font></div><div class=""><font face="Menlo" class="">+    { 3,  [[ 'a' < 'b' collate 'binary' ]], {1, [[Syntax error on line 1 at column 43 near ''binary'']]}},</font></div><div class=""><font face="Menlo" class="">     { 4,  [[ 'a' < 'b' collate "unicode" ]], {0, {true}}},</font></div><div class=""><font face="Menlo" class="">     { 5,  [[ 5 < 'b' collate "unicode" ]], {0, {true}}},</font></div><div class=""><font face="Menlo" class="">     { 6,  [[ 5 < 'b' collate unicode ]], {1,"Collation 'UNICODE' does not exist"}},</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/in1.test.lua b/test/sql-tap/in1.test.lua</font></div><div class=""><font face="Menlo" class="">index 570cc1779..9001e6cee 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/in1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/in1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -725,7 +725,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.6></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -737,7 +737,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.7></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -749,7 +749,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.8></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -761,7 +761,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.9></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -775,7 +775,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.10></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -787,7 +787,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.11></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.11></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -799,7 +799,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.12></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.12></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -811,7 +811,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.13></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.13></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -835,7 +835,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <in-12.15></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </in-12.15></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/index-info.test.lua b/test/sql-tap/index-info.test.lua</font></div><div class=""><font face="Menlo" class="">index a5ed9a98e..46c64ba68 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/index-info.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/index-info.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -26,7 +26,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "index-info-1.2",</font></div><div class=""><font face="Menlo" class="">     "PRAGMA index_info = t1.a;",</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error near '.'",</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 23 near '.'",</font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> -- Case: single column index with an integer column.</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/index1.test.lua b/test/sql-tap/index1.test.lua</font></div><div class=""><font face="Menlo" class="">index 16209715d..7b8523555 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/index1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/index1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -994,7 +994,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         CREATE INDEX temp.i21 ON t6(c);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <index-21.1></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error near '.'"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 26 near '.'"</font></div><div class=""><font face="Menlo" class="">         -- </index-21.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/index7.test.lua b/test/sql-tap/index7.test.lua</font></div><div class=""><font face="Menlo" class="">index ca5cb1910..340a5a963 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/index7.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/index7.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -1,6 +1,6 @@</font></div><div class=""><font face="Menlo" class=""> #!/usr/bin/env tarantool</font></div><div class=""><font face="Menlo" class=""> test = require("sqltester")</font></div><div class=""><font face="Menlo" class="">-test:plan(11)</font></div><div class=""><font face="Menlo" class="">+test:plan(12)</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> --!./tcltestrunner.lua</font></div><div class=""><font face="Menlo" class=""> -- 2013-11-04</font></div><div class=""><font face="Menlo" class="">@@ -286,13 +286,18 @@ test:do_eqp_test(</font></div><div class=""><font face="Menlo" class=""> -- gh-2165 Currently, Tarantool lacks support of partial indexes,</font></div><div class=""><font face="Menlo" class=""> -- so temporary we removed processing of their syntax from parser.</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class="">-test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">     "index7-7.1",</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE t1 (a INTEGER PRIMARY KEY, b INTEGER);</font></div><div class=""><font face="Menlo" class="">+    ]])</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class="">+test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+    "index7-7.1",</font></div><div class=""><font face="Menlo" class="">+    [[</font></div><div class=""><font face="Menlo" class="">         CREATE UNIQUE INDEX i ON t1 (a) WHERE a = 3;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">-        1, "Keyword 'WHERE' is reserved. Please use double quotes if 'WHERE' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 1 at column 41: keyword 'WHERE' is reserved. Please use double quotes if 'WHERE' is an identifier."</font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> -- Currently, when a user tries to create index (or primary key,</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/insert1.test.lua b/test/sql-tap/insert1.test.lua</font></div><div class=""><font face="Menlo" class="">index d28baf11a..6a1078fa4 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/insert1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/insert1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -43,7 +43,7 @@ test:do_test("insert-1.3", function()</font></div><div class=""><font face="Menlo" class="">   return test:catchsql "INSERT INTO test1 VALUES(1,2)"</font></div><div class=""><font face="Menlo" class=""> end, {</font></div><div class=""><font face="Menlo" class="">   -- <insert-1.3></font></div><div class=""><font face="Menlo" class="">-  1, "table TEST1 has 3 columns but 2 values were supplied"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table TEST1 has 3 columns but 2 values were supplied"</font></div><div class=""><font face="Menlo" class="">   -- </insert-1.3></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -51,7 +51,7 @@ test:do_catchsql_test("insert-1.3b", [[</font></div><div class=""><font face="Menlo" class="">   INSERT INTO test1 VALUES(1,2,3,4)</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <insert-1.3b></font></div><div class=""><font face="Menlo" class="">-  1, "table TEST1 has 3 columns but 4 values were supplied"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table TEST1 has 3 columns but 4 values were supplied"</font></div><div class=""><font face="Menlo" class="">   -- </insert-1.3b></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -59,7 +59,7 @@ test:do_catchsql_test("insert-1.3c", [[</font></div><div class=""><font face="Menlo" class="">   INSERT INTO test1(one,two) VALUES(1,2,3,4)</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <insert-1.3c></font></div><div class=""><font face="Menlo" class="">-  1, "4 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: 4 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">   -- </insert-1.3c></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -67,7 +67,7 @@ test:do_catchsql_test("insert-1.3d", [[</font></div><div class=""><font face="Menlo" class="">   INSERT INTO test1(one,two) VALUES(1)</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <insert-1.3d></font></div><div class=""><font face="Menlo" class="">-  1, "1 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: 1 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">   -- </insert-1.3d></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -470,7 +470,7 @@ test:do_execsql_test("insert-4.7", [[</font></div><div class=""><font face="Menlo" class="">     INSERT INTO t10 VALUES(11,12,13), (14,15), (16,17,28);</font></div><div class=""><font face="Menlo" class="">   ]], {</font></div><div class=""><font face="Menlo" class="">     -- <insert-10.2></font></div><div class=""><font face="Menlo" class="">-    1, "all VALUES must have the same number of terms"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: all VALUES must have the same number of terms"</font></div><div class=""><font face="Menlo" class="">     -- </insert-10.2></font></div><div class=""><font face="Menlo" class="">   })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -519,14 +519,14 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         insert into test(a, a, b) values(1, 1, 1)</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">-    {1, "table id list: duplicate column name A"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: table id list: duplicate column name A"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     "insert-13.2",</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         insert into test(a, b, b) values(1, 1, 1)</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">-    {1, "table id list: duplicate column name B"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: table id list: duplicate column name B"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">     "insert-13.3",</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/join.test.lua b/test/sql-tap/join.test.lua</font></div><div class=""><font face="Menlo" class="">index ac7d32b84..ad7ca9745 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/join.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/join.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -520,7 +520,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 NATURAL JOIN t2 ON t1.a=t2.b;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.1></font></div><div class=""><font face="Menlo" class="">-        1, "a NATURAL join may not have an ON or USING clause"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: a NATURAL join may not have an ON or USING clause"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -530,7 +530,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 NATURAL JOIN t2 USING(b);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.2></font></div><div class=""><font face="Menlo" class="">-        1, "a NATURAL join may not have an ON or USING clause"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: a NATURAL join may not have an ON or USING clause"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -540,7 +540,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 JOIN t2 ON t1.a=t2.b USING(b);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.3></font></div><div class=""><font face="Menlo" class="">-        1, "cannot have both ON and USING clauses in the same join"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: cannot have both ON and USING clauses in the same join"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -550,7 +550,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 JOIN t2 USING(a);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.4.1></font></div><div class=""><font face="Menlo" class="">-        1, "cannot join using column A - column not present in both tables"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: cannot join using column A - column not present in both tables"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.4.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -560,7 +560,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 JOIN t2 USING(d);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.4.2></font></div><div class=""><font face="Menlo" class="">-        1, "cannot join using column D - column not present in both tables"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: cannot join using column D - column not present in both tables"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.4.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -590,7 +590,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 INNER OUTER JOIN t2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.7></font></div><div class=""><font face="Menlo" class="">-        1, "unknown or unsupported join type: INNER OUTER"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: unknown or unsupported join type: INNER OUTER"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -600,7 +600,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 INNER OUTER CROSS JOIN t2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.8></font></div><div class=""><font face="Menlo" class="">-        1, "unknown or unsupported join type: INNER OUTER CROSS"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: unknown or unsupported join type: INNER OUTER CROSS"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -610,7 +610,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 OUTER NATURAL INNER JOIN t2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.9></font></div><div class=""><font face="Menlo" class="">-        1, "unknown or unsupported join type: OUTER NATURAL INNER"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: unknown or unsupported join type: OUTER NATURAL INNER"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -620,7 +620,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 LEFT BOGUS JOIN t2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.10></font></div><div class=""><font face="Menlo" class="">-        1, "unknown or unsupported join type: LEFT BOGUS"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: unknown or unsupported join type: LEFT BOGUS"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -630,7 +630,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 INNER BOGUS CROSS JOIN t2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.11></font></div><div class=""><font face="Menlo" class="">-        1, "unknown or unsupported join type: INNER BOGUS CROSS"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: unknown or unsupported join type: INNER BOGUS CROSS"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.11></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -640,7 +640,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t1 NATURAL AWK SED JOIN t2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <join-3.12></font></div><div class=""><font face="Menlo" class="">-        1, "unknown or unsupported join type: NATURAL AWK SED"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: unknown or unsupported join type: NATURAL AWK SED"</font></div><div class=""><font face="Menlo" class="">         -- </join-3.12></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/keyword1.test.lua b/test/sql-tap/keyword1.test.lua</font></div><div class=""><font face="Menlo" class="">index 571e1dcbe..71548a46f 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/keyword1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/keyword1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -240,11 +240,25 @@ end</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> for _, kw in ipairs(bannedkws) do</font></div><div class=""><font face="Menlo" class="">     query = 'CREATE TABLE '..kw..'(a INT PRIMARY KEY);'</font></div><div class=""><font face="Menlo" class="">-    test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+    if kw == 'end' or kw == 'match' or kw == 'release' or kw == 'rename' or</font></div><div class=""><font face="Menlo" class="">+       kw == 'replace' or kw == 'binary' or kw == 'character' or</font></div><div class=""><font face="Menlo" class="">+       kw == 'smallint' then</font></div><div class=""><font face="Menlo" class="">+        test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         "bannedkw1-"..kw..".1",</font></div><div class=""><font face="Menlo" class="">         query, {</font></div><div class=""><font face="Menlo" class="">-            1, "Keyword '"..kw.."' is reserved. Please use double quotes if '"..kw.."' is an identifier."</font></div><div class=""><font face="Menlo" class="">+            1, "Syntax error on line 1 at column "..14 + string.len(kw)..</font></div><div class=""><font face="Menlo" class="">+            ": keyword '"..kw.."' is reserved. Please use double quotes if '"</font></div><div class=""><font face="Menlo" class="">+            ..kw.."' is an identifier."</font></div><div class=""><font face="Menlo" class="">         })</font></div><div class=""><font face="Menlo" class="">+    else</font></div><div class=""><font face="Menlo" class="">+        test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+        "bannedkw1-"..kw..".1",</font></div><div class=""><font face="Menlo" class="">+        query, {</font></div><div class=""><font face="Menlo" class="">+            1, "Syntax error on line 1 at column 14: keyword '"..kw..</font></div><div class=""><font face="Menlo" class="">+            "' is reserved. Please use double quotes if '"..kw..</font></div><div class=""><font face="Menlo" class="">+            "' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        })</font></div><div class=""><font face="Menlo" class="">+    end</font></div><div class=""><font face="Menlo" class=""> end</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/limit.test.lua b/test/sql-tap/limit.test.lua</font></div><div class=""><font face="Menlo" class="">index 870233942..b4b39e324 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/limit.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/limit.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -684,7 +684,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 LIMIT 3</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <limit-9.5></font></div><div class=""><font face="Menlo" class="">-        1, "LIMIT clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: LIMIT clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">         -- </limit-9.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/misc1.test.lua b/test/sql-tap/misc1.test.lua</font></div><div class=""><font face="Menlo" class="">index b84093e3c..ae7829ff8 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/misc1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/misc1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -1,6 +1,6 @@</font></div><div class=""><font face="Menlo" class=""> #!/usr/bin/env tarantool</font></div><div class=""><font face="Menlo" class=""> test = require("sqltester")</font></div><div class=""><font face="Menlo" class="">-test:plan(58)</font></div><div class=""><font face="Menlo" class="">+test:plan(59)</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> --!./tcltestrunner.lua</font></div><div class=""><font face="Menlo" class=""> -- 2001 September 15.</font></div><div class=""><font face="Menlo" class="">@@ -262,17 +262,26 @@ test:do_execsql_test(</font></div><div class=""><font face="Menlo" class=""> -- before executing a command.  Thus if "WHERE" is misspelled on an UPDATE,</font></div><div class=""><font face="Menlo" class=""> -- the user won't accidently update every record.</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class="">-test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">-    "misc1-5.1",</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class="">+test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">+    "misc1-5.1.1",</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE t3(a  INT primary key,b INT );</font></div><div class=""><font face="Menlo" class="">         INSERT INTO t3 VALUES(1,2);</font></div><div class=""><font face="Menlo" class="">         INSERT INTO t3 VALUES(3,4);</font></div><div class=""><font face="Menlo" class="">+    ]], {</font></div><div class=""><font face="Menlo" class="">+        -- <misc1-5.1.1></font></div><div class=""><font face="Menlo" class="">+        -- </misc1-5.1.1></font></div><div class=""><font face="Menlo" class="">+    })</font></div><div class=""><font face="Menlo" class="">+</font></div><div class=""><font face="Menlo" class="">+test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+    "misc1-5.1.2",</font></div><div class=""><font face="Menlo" class="">+    [[</font></div><div class=""><font face="Menlo" class="">         UPDATE t3 SET a=0 WHEREwww b=2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">-        -- <misc1-5.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near 'WHEREwww']]</font></div><div class=""><font face="Menlo" class="">-        -- </misc1-5.1></font></div><div class=""><font face="Menlo" class="">+        -- <misc1-5.1.2></font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 27 near 'WHEREwww']]</font></div><div class=""><font face="Menlo" class="">+        -- </misc1-5.1.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">@@ -1037,7 +1046,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         select''like''like''like#0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <misc1-21.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near '#0']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 35 near '#0']]</font></div><div class=""><font face="Menlo" class="">         -- </misc1-21.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1047,7 +1056,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         VALUES(0,0x0MATCH#0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <misc1-21.2></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near '#0']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 28 near '#0']]</font></div><div class=""><font face="Menlo" class="">         -- </misc1-21.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/misc5.test.lua b/test/sql-tap/misc5.test.lua</font></div><div class=""><font face="Menlo" class="">index 5f98f21f6..33ad8c3bb 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/misc5.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/misc5.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -347,7 +347,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 123abc</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <misc5-10.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '123abc']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '123abc']]</font></div><div class=""><font face="Menlo" class="">         -- </misc5-10.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -357,7 +357,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1*123.4e5ghi;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <misc5-10.2></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '123.4e5ghi']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 18 unrecognized token: '123.4e5ghi']]</font></div><div class=""><font face="Menlo" class="">         -- </misc5-10.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/null.test.lua b/test/sql-tap/null.test.lua</font></div><div class=""><font face="Menlo" class="">index de4d5033d..aa3367dba 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/null.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/null.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -295,7 +295,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         select b from t1 union select c from t1 order by t1.a;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <null-6.5></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">         -- </null-6.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -305,7 +305,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         select b from t1 union select c from t1 order by t1.a;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <null-6.6></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">         -- </null-6.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -517,7 +517,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '1'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 29 near '1'"</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -528,7 +528,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '1'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 33 near '1'"</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -539,7 +539,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '1'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 32 near '1'"</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -550,7 +550,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">     {</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '1'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 36 near '1'"</font></div><div class=""><font face="Menlo" class="">     -- <index-1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/pragma.test.lua b/test/sql-tap/pragma.test.lua</font></div><div class=""><font face="Menlo" class="">index b3821dcf7..fcd3c2e0b 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/pragma.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/pragma.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -43,7 +43,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>[[</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>pragma sql_default_engine 'memtx';</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>]], {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre"> </span>1, "Syntax error near ''memtx''"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">    </span>1, "Syntax error on line 1 at column 29 near ''memtx''"</font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">@@ -51,7 +51,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>[[</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>pragma sql_default_engine 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>]], {</font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre"> </span>1, "Syntax error near '1'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">  </span>1, "Syntax error on line 1 at column 29 near '1'"</font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/resolver01.test.lua b/test/sql-tap/resolver01.test.lua</font></div><div class=""><font face="Menlo" class="">index 315c892ac..21390dfe0 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/resolver01.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/resolver01.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -48,7 +48,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1 AS yy FROM t1, t2 ORDER BY y;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <resolver01-1.2></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">         -- </resolver01-1.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -119,7 +119,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 2 AS yy FROM t1, t2 ORDER BY y;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <resolver01-2.2></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">         -- </resolver01-2.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -176,7 +176,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 3 AS y FROM t1, t2 ORDER BY +y;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <resolver01-3.1></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">         -- </resolver01-3.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -186,7 +186,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 2 AS yy FROM t1, t2 ORDER BY +y;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <resolver01-3.2></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: Y"</font></div><div class=""><font face="Menlo" class="">         -- </resolver01-3.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/select1.test.lua b/test/sql-tap/select1.test.lua</font></div><div class=""><font face="Menlo" class="">index 4bbfbd67b..de3d5bd1f 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/select1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/select1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -539,7 +539,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT SUM(min(f1)) FROM test1</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-2.20></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate function MIN()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate function MIN()"</font></div><div class=""><font face="Menlo" class="">         -- </select1-2.20></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -551,7 +551,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT min(f1) AS m FROM test1 GROUP BY f1 HAVING max(m+5)<10</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-2.21></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aliased aggregate M"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aliased aggregate M"</font></div><div class=""><font face="Menlo" class="">         -- </select1-2.21></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -563,7 +563,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         HAVING max(m+5)<10</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-2.22></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aliased aggregate M"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aliased aggregate M"</font></div><div class=""><font face="Menlo" class="">         -- </select1-2.22></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -577,7 +577,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> --   catchsql {</font></div><div class=""><font face="Menlo" class=""> --     SELECT count(a) AS cn FROM tkt2526 GROUP BY a HAVING cn<max(cn)</font></div><div class=""><font face="Menlo" class=""> --   }</font></div><div class=""><font face="Menlo" class="">--- } {1 {misuse of aliased aggregate cn}}</font></div><div class=""><font face="Menlo" class="">+-- } {1 {Syntax error: misuse of aliased aggregate cn}}</font></div><div class=""><font face="Menlo" class=""> -- WHERE clause expressions</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class=""> test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">@@ -691,7 +691,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 WHERE count(f1,f2)!=11</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-3.9></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate function COUNT()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate function COUNT()"</font></div><div class=""><font face="Menlo" class="">         -- </select1-3.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -733,7 +733,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 ORDER BY min(f1)</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-4.4></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: MIN()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: MIN()"</font></div><div class=""><font face="Menlo" class="">         -- </select1-4.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -743,7 +743,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         INSERT INTO test1(f1) SELECT f1 FROM test1 ORDER BY min(f1);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-4.5></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: MIN()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: MIN()"</font></div><div class=""><font face="Menlo" class="">         -- </select1-4.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -840,7 +840,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t5 ORDER BY 3;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-4.10.1></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">         -- </select1-4.10.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -850,7 +850,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t5 ORDER BY -1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-4.10.2></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">         -- </select1-4.10.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1080,7 +1080,7 @@ test:do_catchsql2_test(</font></div><div class=""><font face="Menlo" class="">     [[SELECT A.f1, f1 FROM test1 as A, test1 as B </font></div><div class=""><font face="Menlo" class="">          ORDER BY f2]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-6.8></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: F1"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: F1"</font></div><div class=""><font face="Menlo" class="">         -- </select1-6.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1089,7 +1089,7 @@ test:do_catchsql2_test(</font></div><div class=""><font face="Menlo" class="">     [[SELECT A.f1, B.f1 FROM test1 as A, test1 as B </font></div><div class=""><font face="Menlo" class="">          ORDER BY f2]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-6.8b></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: F2"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: F2"</font></div><div class=""><font face="Menlo" class="">         -- </select1-6.8b></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1098,7 +1098,7 @@ test:do_catchsql2_test(</font></div><div class=""><font face="Menlo" class="">     [[SELECT A.f1, f1 FROM test1 as A, test1 as A </font></div><div class=""><font face="Menlo" class="">          ORDER BY f2]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-6.8c></font></div><div class=""><font face="Menlo" class="">-        1, "ambiguous column name: A.F1"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ambiguous column name: A.F1"</font></div><div class=""><font face="Menlo" class="">         -- </select1-6.8c></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1334,7 +1334,7 @@ test:do_catchsql2_test(</font></div><div class=""><font face="Menlo" class="">             ORDER BY f2+101;</font></div><div class=""><font face="Menlo" class="">         ]], {</font></div><div class=""><font face="Menlo" class="">             -- <select1-6.11></font></div><div class=""><font face="Menlo" class="">-            1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+            1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">             -- </select1-6.11></font></div><div class=""><font face="Menlo" class="">         })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1406,7 +1406,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 WHERE f2=;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 39 near ';']]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1416,7 +1416,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">             SELECT f1 FROM test1 UNION SELECT WHERE;</font></div><div class=""><font face="Menlo" class="">         ]], {</font></div><div class=""><font face="Menlo" class="">             -- <select1-7.2></font></div><div class=""><font face="Menlo" class="">-            1, [[Keyword 'WHERE' is reserved. Please use double quotes if 'WHERE' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+            1, [[Syntax error on line 1 at column 47: keyword 'WHERE' is reserved. Please use double quotes if 'WHERE' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">             -- </select1-7.2></font></div><div class=""><font face="Menlo" class="">         })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1428,7 +1428,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 as "hi", test2 as]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.3></font></div><div class=""><font face="Menlo" class="">-        1, [[Keyword 'as' is reserved. Please use double quotes if 'as' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 47: keyword 'as' is reserved. Please use double quotes if 'as' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1438,7 +1438,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 ORDER BY;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.4></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 38 near ';']]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1448,7 +1448,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 ORDER BY f1 desc, f2 where;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.5></font></div><div class=""><font face="Menlo" class="">-        1, [[Keyword 'where' is reserved. Please use double quotes if 'where' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 51: keyword 'where' is reserved. Please use double quotes if 'where' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1458,7 +1458,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(f1,f2 FROM test1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.6></font></div><div class=""><font face="Menlo" class="">-        1, [[Keyword 'FROM' is reserved. Please use double quotes if 'FROM' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 28: keyword 'FROM' is reserved. Please use double quotes if 'FROM' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1468,7 +1468,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT count(f1,f2+) FROM test1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.7></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near ')']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 28 near ')']]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1478,7 +1478,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 ORDER BY f2, f1+;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.8></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 46 near ';']]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1488,7 +1488,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT f1 FROM test1 LIMIT 5+3 OFFSET 11 ORDER BY f2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select1-7.9></font></div><div class=""><font face="Menlo" class="">-        1, [[Keyword 'ORDER' is reserved. Please use double quotes if 'ORDER' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 50: keyword 'ORDER' is reserved. Please use double quotes if 'ORDER' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">         -- </select1-7.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/select3.test.lua b/test/sql-tap/select3.test.lua</font></div><div class=""><font face="Menlo" class="">index 19f853dc7..9cfe2ef08 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/select3.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/select3.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -157,7 +157,7 @@ test:do_catchsql_test("select3-2.10", [[</font></div><div class=""><font face="Menlo" class="">   SELECT log, count(*) FROM t1 GROUP BY 0 ORDER BY log;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <select3-2.10></font></div><div class=""><font face="Menlo" class="">-  1, "Error at GROUP BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: error at GROUP BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">   -- </select3-2.10></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -165,7 +165,7 @@ test:do_catchsql_test("select3-2.11", [[</font></div><div class=""><font face="Menlo" class="">   SELECT log, count(*) FROM t1 GROUP BY 3 ORDER BY log;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <select3-2.11></font></div><div class=""><font face="Menlo" class="">-  1, "Error at GROUP BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: error at GROUP BY in place 1: term out of range - should be between 1 and 2"</font></div><div class=""><font face="Menlo" class="">   -- </select3-2.11></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -182,7 +182,7 @@ test:do_catchsql_test("select3-2.13", [[</font></div><div class=""><font face="Menlo" class="">   SELECT log, count(*) FROM t1 GROUP BY ORDER BY log;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <select3-2.13></font></div><div class=""><font face="Menlo" class="">-  1, [[Keyword 'ORDER' is reserved. Please use double quotes if 'ORDER' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+  1, [[Syntax error on line 1 at column 41: keyword 'ORDER' is reserved. Please use double quotes if 'ORDER' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">   -- </select3-2.13></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -190,7 +190,7 @@ test:do_catchsql_test("select3-2.14", [[</font></div><div class=""><font face="Menlo" class="">   SELECT log, count(*) FROM t1 GROUP BY;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <select3-2.14></font></div><div class=""><font face="Menlo" class="">-  1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+  1, [[Syntax error on line 1 at column 40 near ';']]</font></div><div class=""><font face="Menlo" class="">   -- </select3-2.14></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/select4.test.lua b/test/sql-tap/select4.test.lua</font></div><div class=""><font face="Menlo" class="">index 23cf1bf1b..808e616e6 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/select4.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/select4.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -160,7 +160,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY log;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-1.3></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after UNION ALL not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after UNION ALL not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -171,7 +171,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">                 SELECT 0 UNION SELECT 0 ORDER BY 1);</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-1.4></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-1.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -214,7 +214,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY log;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-2.3></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-2.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -224,7 +224,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 0 ORDER BY (SELECT 0) UNION SELECT 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-2.4></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after UNION not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-2.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -299,7 +299,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY log;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-3.3></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after EXCEPT not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after EXCEPT not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-3.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -379,7 +379,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY log;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-4.3></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after INTERSECT not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after INTERSECT not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-4.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -396,7 +396,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-4.4></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after INTERSECT not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after INTERSECT not before"</font></div><div class=""><font face="Menlo" class="">         -- </select4-4.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -450,7 +450,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY "xyzzy";</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-5.2c></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">         -- </select4-5.2c></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -463,7 +463,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY "xyzzy";</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-5.2d></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">         -- </select4-5.2d></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -515,7 +515,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY 2;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-5.2h></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term out of range - should be between 1 and 1"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term out of range - should be between 1 and 1"</font></div><div class=""><font face="Menlo" class="">         -- </select4-5.2h></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -567,7 +567,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ORDER BY log;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-5.3></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-5.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -577,7 +577,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1 UNION SELECT 2, 3 UNION SELECT 4, 5 ORDER BY 1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-5.3-3807-1></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-5.3-3807-1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1075,7 +1075,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.1></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1087,7 +1087,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.2></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1099,7 +1099,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.3></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1111,7 +1111,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.4></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1123,7 +1123,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.5></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1135,7 +1135,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.6></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1147,7 +1147,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.7></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1159,7 +1159,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.8></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1177,7 +1177,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.11></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of INTERSECT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.11></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1195,7 +1195,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.12></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of EXCEPT do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.12></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1213,7 +1213,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.13></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.13></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1231,7 +1231,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.14></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.14></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1249,7 +1249,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT x FROM t2</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.15></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.15></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1259,7 +1259,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         INSERT INTO t2(rowid) VALUES(2) UNION SELECT 3,4 UNION SELECT 5,6 ORDER BY 1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <select4-11.16></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </select4-11.16></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1268,7 +1268,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> --   catchsql {</font></div><div class=""><font face="Menlo" class=""> --     SELECT 1 UNION SELECT 2,3 UNION SELECT 4,5 ORDER BY 1;</font></div><div class=""><font face="Menlo" class=""> --   } db2</font></div><div class=""><font face="Menlo" class="">--- } {1 {SELECTs to the left and right of UNION do not have the same number of result columns}}</font></div><div class=""><font face="Menlo" class="">+-- } {1 {Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns}}</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> -- ifcapable compound</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/select6.test.lua b/test/sql-tap/select6.test.lua</font></div><div class=""><font face="Menlo" class="">index c9960dc29..9871509c3 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/select6.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/select6.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -905,7 +905,7 @@ test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">         CREATE TABLE k(o  INT primary key);</font></div><div class=""><font face="Menlo" class="">     ]])</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">-err = { 1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns" }</font></div><div class=""><font face="Menlo" class="">+err = { 1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns" }</font></div><div class=""><font face="Menlo" class=""> test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">     10.2,</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/select7.test.lua b/test/sql-tap/select7.test.lua</font></div><div class=""><font face="Menlo" class="">index fec5d7a41..66ffca055 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/select7.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/select7.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -278,7 +278,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         ) WHERE y=1</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <8.1></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </8.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -289,7 +289,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         EXPLAIN QUERY PLAN SELECT * FROM v0 WHERE x='0' OR y;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <8.2></font></div><div class=""><font face="Menlo" class="">-        1, "SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: SELECTs to the left and right of UNION do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">         -- </8.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/selectE.test.lua b/test/sql-tap/selectE.test.lua</font></div><div class=""><font face="Menlo" class="">index 32c3d6a06..0ab48acf7 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/selectE.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/selectE.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -141,7 +141,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1 EXCEPT SELECT 2 ORDER BY 1 COLLATE "unicode_ci" EXCEPT SELECT 3;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <selectE-3.1></font></div><div class=""><font face="Menlo" class="">-        1, "ORDER BY clause should come after EXCEPT not before"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: ORDER BY clause should come after EXCEPT not before"</font></div><div class=""><font face="Menlo" class="">         -- </selectE-3.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/sql-errors.test.lua b/test/sql-tap/sql-errors.test.lua</font></div><div class=""><font face="Menlo" class="">index b16337682..4aceaa54e 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/sql-errors.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/sql-errors.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -17,7 +17,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>ANALYZE v0;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.1></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">             </span>1,"Syntax error near 'ANALYZE'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">             </span>1,"Syntax error on line 1 at column 3 near 'ANALYZE'"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>-- </sql-errors-1.1></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -422,7 +422,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>CREATE TRIGGER r0 AFTER INSERT ON t0 FOR EACH ROW BEGIN INSERT INTO t0.i VALUES (2); END;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.37></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1,"qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">          </span>1,"Syntax error on line 1 at column 76: qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>-- </sql-errors-1.37></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -432,7 +432,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>UPDATE t0 SET (i, a) = (100,1,1);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.38></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1,"2 columns assigned 3 values"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">             </span>1,"Syntax error: 2 columns assigned 3 values"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>-- </sql-errors-1.38></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -442,7 +442,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>SELECT * FROM t0();</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.39></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1,"'T0' is not a function"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">          </span>1,"Syntax error: 'T0' is not a function"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>-- </sql-errors-1.39></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -452,7 +452,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>SELECT $0;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">       </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.40></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1,"Index of binding slots must start from 1"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">                </span>1,"Syntax error: index of binding slots must start from 1"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>-- </sql-errors-1.40></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -472,7 +472,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>SELECT (1, 2);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">   </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.42></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1,"row value misused"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">               </span>1,"Syntax error: row value misused"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- </sql-errors-1.42></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -482,7 +482,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>SELECT (i,a) AS m FROM t0 WHERE m < 1;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.43></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1,"row value misused"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">               </span>1,"Syntax error: row value misused"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- </sql-errors-1.43></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -522,7 +522,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>DROP TABLE IF EXISTS END;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <sql-errors-1.47></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">            </span>1, "Keyword 'END' is reserved. Please use double quotes if 'END' is an identifier."</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>1, "Syntax error on line 1 at column 27: keyword 'END' is reserved. Please use double quotes if 'END' is an identifier."</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>-- </sql-errors-1.47></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/start-transaction.test.lua b/test/sql-tap/start-transaction.test.lua</font></div><div class=""><font face="Menlo" class="">index c5703d438..b2cd9a1b9 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/start-transaction.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/start-transaction.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -21,7 +21,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">          </span>COMMIT;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.0></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">              </span>1, "Syntax error near 'BEGIN'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">              </span>1, "Syntax error on line 2 at column 3 near 'BEGIN'"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>-- <start-transaction-1.0></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -46,7 +46,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>COMMIT;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.1></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">              </span>1, "Syntax error near 'BEGIN'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">              </span>1, "Syntax error on line 2 at column 3 near 'BEGIN'"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">           </span>-- <start-transaction-1.1></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -94,7 +94,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>COMMIT TRANSACTION;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.6></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">              </span>1, "Keyword 'TRANSACTION' is reserved. Please use double quotes if 'TRANSACTION' is an identifier."</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>1, "Syntax error on line 2 at column 10: keyword 'TRANSACTION' is reserved. Please use double quotes if 'TRANSACTION' is an identifier."</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>-- <start-transaction-1.6></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -119,7 +119,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>END;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.8></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">              </span>1, "Keyword 'END' is reserved. Please use double quotes if 'END' is an identifier."</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>1, "Syntax error on line 2 at column 3: keyword 'END' is reserved. Please use double quotes if 'END' is an identifier."</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>-- <start-transaction-1.8></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -144,7 +144,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>END TRANSACTION;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.10></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">             </span>1, "Keyword 'END' is reserved. Please use double quotes if 'END' is an identifier."</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>1, "Syntax error on line 2 at column 3: keyword 'END' is reserved. Please use double quotes if 'END' is an identifier."</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>-- <start-transaction-1.10></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -193,7 +193,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>COMMIT;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.14></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">             </span>1, "Keyword 'TRANSACTION' is reserved. Please use double quotes if 'TRANSACTION' is an identifier."</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>1, "Syntax error on line 2 at column 13: keyword 'TRANSACTION' is reserved. Please use double quotes if 'TRANSACTION' is an identifier."</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>-- <start-transaction-1.14></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -246,7 +246,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>COMMIT;</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <start-transaction-1.18></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">             </span>1, "Keyword 'TRANSACTION' is reserved. Please use double quotes if 'TRANSACTION' is an identifier."</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">         </span>1, "Syntax error on line 2 at column 13: keyword 'TRANSACTION' is reserved. Please use double quotes if 'TRANSACTION' is an identifier."</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">               </span>-- <start-transaction-1.18></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">        </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/subquery.test.lua b/test/sql-tap/subquery.test.lua</font></div><div class=""><font face="Menlo" class="">index 6bedf5879..dd90a9f73 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/subquery.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/subquery.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -614,7 +614,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT max((SELECT count(x) FROM t35b)) FROM t35a;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <subquery-3.5.4></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">         -- </subquery-3.5.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -624,7 +624,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT max((SELECT count(x) FROM t35b)) FROM t35a;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <subquery-3.5.5></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">         -- </subquery-3.5.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -634,7 +634,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT max((SELECT a FROM (SELECT count(x) AS a FROM t35b))) FROM t35a;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <subquery-3.5.6></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">         -- </subquery-3.5.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -951,7 +951,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                        </span>       SELECT * FROM table1);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">            </span>-- <subquery-9.1></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">               </span>1, 'ORDER BY clause should come after UNION ALL not before'</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">           </span>1, 'Syntax error: ORDER BY clause should come after UNION ALL not before'</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>-- <subquery-9.1></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -975,7 +975,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                     </span>       SELECT * FROM table1);</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>]], {</font></div><div class=""><font face="Menlo" class="">              -- <subquery-9.3></font></div><div class=""><font face="Menlo" class="">-             1, 'ORDER BY clause should come after UNION ALL not before'</font></div><div class=""><font face="Menlo" class="">+             1, 'Syntax error: ORDER BY clause should come after UNION ALL not before'</font></div><div class=""><font face="Menlo" class="">              -- <subquery-9.3></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/table.test.lua b/test/sql-tap/table.test.lua</font></div><div class=""><font face="Menlo" class="">index e17b4a2c1..4616a82a6 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/table.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/table.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -620,7 +620,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">                </span>CREATE TEMP TABLE t1(a INTEGER PRIMARY KEY, b VARCHAR(10));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>-- <temp></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">       </span>1, "Syntax error near 'TEMP'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">       </span>1, "Syntax error on line 1 at column 10 near 'TEMP'"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">   </span>-- <temp></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">  </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -630,7 +630,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">             </span>CREATE TEMPORARY TABLE t1(a INTEGER PRIMARY KEY, b VARCHAR(10));</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre"> </span>]], {</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">    </span>-- <temporary></font></div><div class=""><font face="Menlo" class="">-<span class="Apple-tab-span" style="white-space:pre">  </span>1, "Syntax error near 'TEMPORARY'"</font></div><div class=""><font face="Menlo" class="">+<span class="Apple-tab-span" style="white-space:pre">  </span>1, "Syntax error on line 1 at column 10 near 'TEMPORARY'"</font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">      </span>-- <temporary></font></div><div class=""><font face="Menlo" class=""> <span class="Apple-tab-span" style="white-space:pre">     </span>})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1257,7 +1257,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <table-22.1></font></div><div class=""><font face="Menlo" class="">-        1,"Keyword 'CONSTRAINT' is reserved. Please use double quotes if 'CONSTRAINT' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1,"Syntax error on line 3 at column 28: keyword 'CONSTRAINT' is reserved. Please use double quotes if 'CONSTRAINT' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </table-22.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1322,7 +1322,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <table-22.6></font></div><div class=""><font face="Menlo" class="">-        1,"Keyword 'CONSTRAINT' is reserved. Please use double quotes if 'CONSTRAINT' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1,"Syntax error on line 3 at column 37: keyword 'CONSTRAINT' is reserved. Please use double quotes if 'CONSTRAINT' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </table-22.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1336,7 +1336,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         );</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <table-22.7></font></div><div class=""><font face="Menlo" class="">-        1,"Keyword 'CONSTRAINT' is reserved. Please use double quotes if 'CONSTRAINT' is an identifier."</font></div><div class=""><font face="Menlo" class="">+        1,"Syntax error on line 3 at column 37: keyword 'CONSTRAINT' is reserved. Please use double quotes if 'CONSTRAINT' is an identifier."</font></div><div class=""><font face="Menlo" class="">         -- </table-22.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/tkt1514.test.lua b/test/sql-tap/tkt1514.test.lua</font></div><div class=""><font face="Menlo" class="">index 685c916a8..95f1d2dec 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/tkt1514.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/tkt1514.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -27,7 +27,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT a FROM t1 WHERE max(b)<10 GROUP BY a;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt1514-1.1></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: MAX()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: MAX()"</font></div><div class=""><font face="Menlo" class="">         -- </tkt1514-1.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/tkt2822.test.lua b/test/sql-tap/tkt2822.test.lua</font></div><div class=""><font face="Menlo" class="">index 86674aeac..800dee74b 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/tkt2822.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/tkt2822.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -200,7 +200,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT a, b, c FROM t1 UNION ALL SELECT a, b, c FROM t2 ORDER BY x</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-4.1></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-4.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -298,7 +298,7 @@ test:do_test(</font></div><div class=""><font face="Menlo" class="">         ]]</font></div><div class=""><font face="Menlo" class="">     end, {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.1></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 1: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 1: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -308,7 +308,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.2.1></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 2: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 2: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.2.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -318,7 +318,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 26;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.2.2></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 2: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 2: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.2.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -328,7 +328,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 65536;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.2.3></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 2: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 2: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.2.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -338,7 +338,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.3></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 3: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 3: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -348,7 +348,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 3, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.4></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 4: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 4: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -358,7 +358,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.9></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 9: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 9: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -368,7 +368,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.10></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 10: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 10: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -378,7 +378,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.11></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 11: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 11: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.11></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -388,7 +388,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.12></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 12: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 12: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.12></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -398,7 +398,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT * FROM t7 ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 0;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.13></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 13: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 13: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.13></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -409,7 +409,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">                                  11,12,13,14,15,16,17,18,19, 0</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.20></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 20: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 20: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.20></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -420,7 +420,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">                                  11,12,13,14,15,16,17,18,19, 20, 0</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.21></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 21: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 21: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.21></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -431,7 +431,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">                                  11,12,13,14,15,16,17,18,19, 20, 21, 0</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt2822-7.22></font></div><div class=""><font face="Menlo" class="">-        1, "Error at ORDER BY in place 22: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: error at ORDER BY in place 22: term out of range - should be between 1 and 25"</font></div><div class=""><font face="Menlo" class="">         -- </tkt2822-7.22></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/tkt3508.test.lua b/test/sql-tap/tkt3508.test.lua</font></div><div class=""><font face="Menlo" class="">index 643cf6f54..520a13057 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/tkt3508.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/tkt3508.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -39,7 +39,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">           from modificationsTmp where c > 1 group by SUBSTRATE_HPRD_ID;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tkt3508-1.1></font></div><div class=""><font face="Menlo" class="">-        1, "misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: misuse of aggregate: COUNT()"</font></div><div class=""><font face="Menlo" class="">         -- </tkt3508-1.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/tokenize.test.lua b/test/sql-tap/tokenize.test.lua</font></div><div class=""><font face="Menlo" class="">index b1a097e23..eb11eb8a4 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/tokenize.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/tokenize.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -1,6 +1,6 @@</font></div><div class=""><font face="Menlo" class=""> #!/usr/bin/env tarantool</font></div><div class=""><font face="Menlo" class=""> test = require("sqltester")</font></div><div class=""><font face="Menlo" class="">-test:plan(14)</font></div><div class=""><font face="Menlo" class="">+test:plan(16)</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> --!./tcltestrunner.lua</font></div><div class=""><font face="Menlo" class=""> -- 2008 July 7</font></div><div class=""><font face="Menlo" class="">@@ -26,7 +26,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0e+</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -36,7 +36,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0E+</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.2></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -46,7 +46,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0e-</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.3></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -56,7 +56,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0E-</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.4></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -66,7 +66,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0e+/</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.5></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -76,7 +76,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0E+:</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.6></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -86,7 +86,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0e-:</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.7></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -96,7 +96,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0E-/</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.8></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.8></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -106,7 +106,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0F+5</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.9></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0F']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0F']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.9></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -116,7 +116,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0d-10</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.10></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0d']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0d']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.10></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -126,7 +126,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0e,5</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.11></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0e']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.11></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -136,7 +136,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT 1.0E.10</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-1.12></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error: unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 16 unrecognized token: '1.0E']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-1.12></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -145,7 +145,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         SELECT 1, 2 /*]], {</font></div><div class=""><font face="Menlo" class="">         -- <tokenize-2.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near '*']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 22 near '*']]</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-2.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -159,6 +159,29 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         -- </tokenize-2.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">+--</font></div><div class=""><font face="Menlo" class="">+--gh-2611 Check the correct parsing of single-line comments.</font></div><div class=""><font face="Menlo" class="">+--</font></div><div class=""><font face="Menlo" class="">+test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">+    "tokenize-3.1",</font></div><div class=""><font face="Menlo" class="">+    [[</font></div><div class=""><font face="Menlo" class="">+        SELECT 1 + -- 1 + 1.</font></div><div class=""><font face="Menlo" class="">+        1</font></div><div class=""><font face="Menlo" class="">+    ]], {</font></div><div class=""><font face="Menlo" class="">+        -- <tokenize-2.2></font></div><div class=""><font face="Menlo" class="">+        2</font></div><div class=""><font face="Menlo" class="">+        -- </tokenize-2.2></font></div><div class=""><font face="Menlo" class="">+    })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">+test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">+    "tokenize-3.2",</font></div><div class=""><font face="Menlo" class="">+    [[</font></div><div class=""><font face="Menlo" class="">+        SELECT 1 + -- Syntax error.</font></div><div class=""><font face="Menlo" class="">+        *</font></div><div class=""><font face="Menlo" class="">+    ]], {</font></div><div class=""><font face="Menlo" class="">+        -- <tokenize-2.2></font></div><div class=""><font face="Menlo" class="">+        1,"Syntax error on line 2 at column 9 near '*'"</font></div><div class=""><font face="Menlo" class="">+        -- </tokenize-2.2></font></div><div class=""><font face="Menlo" class="">+    })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:finish_test()</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/trigger1.test.lua b/test/sql-tap/trigger1.test.lua</font></div><div class=""><font face="Menlo" class="">index bc02d6236..73e6bd5a0 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/trigger1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/trigger1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -74,7 +74,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-1.1.3></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near 'STATEMENT']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 51 near 'STATEMENT']]</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-1.1.3></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -307,7 +307,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-2.1></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 3 at column 24 near ';']]</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-2.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -321,7 +321,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-2.2></font></div><div class=""><font face="Menlo" class="">-        1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 4 at column 24 near ';']]</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-2.2></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -744,7 +744,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         SELECT raise(abort,'message');</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-11.1></font></div><div class=""><font face="Menlo" class="">-        1, "RAISE() may only be used within a trigger-program"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error: RAISE() may only be used within a trigger-program"</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-11.1></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -823,7 +823,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-16.4></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error in trigger body: the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 34 in trigger body: the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-16.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -835,7 +835,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-16.5></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error in trigger body: the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 38 in trigger body: the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-16.5></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -847,7 +847,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-16.6></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error in trigger body: the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 39 in trigger body: the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-16.6></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -859,7 +859,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         END;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <trigger1-16.7></font></div><div class=""><font face="Menlo" class="">-        1, "Syntax error in trigger body: the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">+        1, "Syntax error on line 2 at column 43 in trigger body: the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers"</font></div><div class=""><font face="Menlo" class="">         -- </trigger1-16.7></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/update.test.lua b/test/sql-tap/update.test.lua</font></div><div class=""><font face="Menlo" class="">index 07e4e43d9..152dee9bb 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/update.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/update.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -1123,7 +1123,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">     [[</font></div><div class=""><font face="Menlo" class="">         update test set a = 2, a = 3;</font></div><div class=""><font face="Menlo" class="">     ]],</font></div><div class=""><font face="Menlo" class="">-    {1, "set id list: duplicate column name A"})</font></div><div class=""><font face="Menlo" class="">+    {1, "Syntax error: set id list: duplicate column name A"})</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class=""> test:do_execsql_test(</font></div><div class=""><font face="Menlo" class="">   "insert-15.2",</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/view.test.lua b/test/sql-tap/view.test.lua</font></div><div class=""><font face="Menlo" class="">index 6234f863e..d094eec0a 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/view.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/view.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -293,7 +293,7 @@ test:do_catchsql_test(</font></div><div class=""><font face="Menlo" class="">         CREATE VIEW v1err(x,y DESC,z) AS SELECT a, b+c, c-b FROM t1;</font></div><div class=""><font face="Menlo" class="">     ]], {</font></div><div class=""><font face="Menlo" class="">         -- <view-3.3.4></font></div><div class=""><font face="Menlo" class="">-        1, [[Keyword 'DESC' is reserved. Please use double quotes if 'DESC' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+        1, [[Syntax error on line 1 at column 31: keyword 'DESC' is reserved. Please use double quotes if 'DESC' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">         -- </view-3.3.4></font></div><div class=""><font face="Menlo" class="">     })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/with1.test.lua b/test/sql-tap/with1.test.lua</font></div><div class=""><font face="Menlo" class="">index f82b73e63..f0d3c31a1 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/with1.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/with1.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -123,7 +123,7 @@ test:do_catchsql_test(3.1, [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM tmp1;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <3.1></font></div><div class=""><font face="Menlo" class="">-  1, "circular reference: TMP1"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: circular reference: TMP1"</font></div><div class=""><font face="Menlo" class="">   -- </3.1></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -134,7 +134,7 @@ test:do_catchsql_test(3.2, [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM tmp;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <3.2></font></div><div class=""><font face="Menlo" class="">-  1, "Ambiguous table name in WITH query: TMP"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: ambiguous table name in WITH query: TMP"</font></div><div class=""><font face="Menlo" class="">   -- </3.2></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -178,7 +178,7 @@ test:do_catchsql_test(3.6, [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM tmp;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <3.6></font></div><div class=""><font face="Menlo" class="">-  1, [[Keyword 'SELECT' is reserved. Please use double quotes if 'SELECT' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+  1, [[Syntax error on line 2 at column 3: keyword 'SELECT' is reserved. Please use double quotes if 'SELECT' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">   -- </3.6></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -334,7 +334,7 @@ test:do_catchsql_test("5.6.1", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.1></font></div><div class=""><font face="Menlo" class="">-  1, "table I has 1 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table I has 1 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.1></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -343,7 +343,7 @@ test:do_catchsql_test("5.6.2", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.2></font></div><div class=""><font face="Menlo" class="">-  1, "table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.2></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -353,7 +353,7 @@ test:do_catchsql_test("5.6.3", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.3></font></div><div class=""><font face="Menlo" class="">-  1, "table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.3></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -362,7 +362,7 @@ test:do_catchsql_test("5.6.4", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.4></font></div><div class=""><font face="Menlo" class="">-  1, "table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.4></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -371,7 +371,7 @@ test:do_catchsql_test("5.6.5", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.5></font></div><div class=""><font face="Menlo" class="">-  1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.5></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -380,7 +380,7 @@ test:do_catchsql_test("5.6.6", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.6></font></div><div class=""><font face="Menlo" class="">-  1, "SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: SELECTs to the left and right of UNION ALL do not have the same number of result columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.6></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -389,7 +389,7 @@ test:do_catchsql_test("5.6.7", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <5.6.7></font></div><div class=""><font face="Menlo" class="">-  1, "table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table I has 2 values for 1 columns"</font></div><div class=""><font face="Menlo" class="">   -- </5.6.7></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -501,7 +501,7 @@ test:do_catchsql_test(7.4, [[</font></div><div class=""><font face="Menlo" class="">   SELECT id FROM t;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <7.4></font></div><div class=""><font face="Menlo" class="">-  1, "recursive reference in a subquery: T"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: recursive reference in a subquery: T"</font></div><div class=""><font face="Menlo" class="">   -- </7.4></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -514,7 +514,7 @@ test:do_catchsql_test(7.5, [[</font></div><div class=""><font face="Menlo" class="">   SELECT id FROM t;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <7.5></font></div><div class=""><font face="Menlo" class="">-  1, "multiple recursive references: T"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: multiple recursive references: T"</font></div><div class=""><font face="Menlo" class="">   -- </7.5></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -527,7 +527,7 @@ test:do_catchsql_test(7.6, [[</font></div><div class=""><font face="Menlo" class="">   SELECT id FROM t;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <7.6></font></div><div class=""><font face="Menlo" class="">-  1, "circular reference: T"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: circular reference: T"</font></div><div class=""><font face="Menlo" class="">   -- </7.6></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -782,7 +782,7 @@ test:do_catchsql_test("10.7.1", [[</font></div><div class=""><font face="Menlo" class="">   SELECT * FROM t</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <10.7.1></font></div><div class=""><font face="Menlo" class="">-  1, "Error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: error at ORDER BY in place 1: term does not match any column in the result set"</font></div><div class=""><font face="Menlo" class="">   -- </10.7.1></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -1036,7 +1036,7 @@ test:do_catchsql_test(13.3, [[</font></div><div class=""><font face="Menlo" class="">   SELECT i FROM c;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">   -- <13.3></font></div><div class=""><font face="Menlo" class="">-  1, "table C has 1 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">+  1, "Syntax error: table C has 1 values for 2 columns"</font></div><div class=""><font face="Menlo" class="">   -- </13.3></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql-tap/with2.test.lua b/test/sql-tap/with2.test.lua</font></div><div class=""><font face="Menlo" class="">index 8c7f9f2d9..2b6edf72c 100755</font></div><div class=""><font face="Menlo" class="">--- a/test/sql-tap/with2.test.lua</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql-tap/with2.test.lua</font></div><div class=""><font face="Menlo" class="">@@ -215,7 +215,7 @@ test:do_catchsql_test(1.16, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM t4;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <1.16></font></div><div class=""><font face="Menlo" class="">-    1, "multiple references to recursive table: T4"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: multiple references to recursive table: T4"</font></div><div class=""><font face="Menlo" class="">     -- </1.16></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -258,7 +258,7 @@ test:do_catchsql_test(3.1, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <3.1></font></div><div class=""><font face="Menlo" class="">-    1, "circular reference: I"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: circular reference: I"</font></div><div class=""><font face="Menlo" class="">     -- </3.1></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -270,7 +270,7 @@ test:do_catchsql_test(3.2, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <3.2></font></div><div class=""><font face="Menlo" class="">-    1, "circular reference: I"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: circular reference: I"</font></div><div class=""><font face="Menlo" class="">     -- </3.2></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -281,7 +281,7 @@ test:do_catchsql_test(3.3, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <3.3></font></div><div class=""><font face="Menlo" class="">-    1, "circular reference: I"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: circular reference: I"</font></div><div class=""><font face="Menlo" class="">     -- </3.3></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -292,7 +292,7 @@ test:do_catchsql_test(3.4, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM j;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <3.4></font></div><div class=""><font face="Menlo" class="">-    1, "circular reference: J"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: circular reference: J"</font></div><div class=""><font face="Menlo" class="">     -- </3.4></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -305,7 +305,7 @@ test:do_catchsql_test(3.5, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM i;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <3.5></font></div><div class=""><font face="Menlo" class="">-    1, "circular reference: I"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error: circular reference: I"</font></div><div class=""><font face="Menlo" class="">     -- </3.5></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -317,7 +317,7 @@ test:do_catchsql_test(4.1, [[</font></div><div class=""><font face="Menlo" class="">     SELECT * FROM x;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <4.1></font></div><div class=""><font face="Menlo" class="">-    1, [[Syntax error near ')']]</font></div><div class=""><font face="Menlo" class="">+    1, [[Syntax error on line 1 at column 12 near ')']]</font></div><div class=""><font face="Menlo" class="">     -- </4.1></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -519,7 +519,7 @@ test:do_catchsql_test(6.2, [[</font></div><div class=""><font face="Menlo" class="">     INSERT INTO t2 VALUES(1, 2,);</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.2></font></div><div class=""><font face="Menlo" class="">-    1, [[Syntax error near ')']]</font></div><div class=""><font face="Menlo" class="">+    1, [[Syntax error on line 2 at column 32 near ')']]</font></div><div class=""><font face="Menlo" class="">     -- </6.2></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -528,7 +528,7 @@ test:do_catchsql_test("6.3.1", [[</font></div><div class=""><font face="Menlo" class="">     INSERT INTO t2 SELECT a, b, FROM t1;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.3></font></div><div class=""><font face="Menlo" class="">-    1, [[Keyword 'FROM' is reserved. Please use double quotes if 'FROM' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+    1, [[Syntax error on line 2 at column 33: keyword 'FROM' is reserved. Please use double quotes if 'FROM' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">     -- </6.3></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -546,7 +546,7 @@ test:do_catchsql_test(6.4, [[</font></div><div class=""><font face="Menlo" class="">     INSERT INTO t2 SELECT a, b, FROM t1 a a a;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.4></font></div><div class=""><font face="Menlo" class="">-    1, [[Keyword 'FROM' is reserved. Please use double quotes if 'FROM' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">+    1, [[Syntax error on line 2 at column 33: keyword 'FROM' is reserved. Please use double quotes if 'FROM' is an identifier.]]</font></div><div class=""><font face="Menlo" class="">     -- </6.4></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -555,7 +555,7 @@ test:do_catchsql_test(6.5, [[</font></div><div class=""><font face="Menlo" class="">     DELETE FROM t2 WHERE;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.5></font></div><div class=""><font face="Menlo" class="">-    1, [[Syntax error near ';']]</font></div><div class=""><font face="Menlo" class="">+    1, [[Syntax error on line 2 at column 25 near ';']]</font></div><div class=""><font face="Menlo" class="">     -- </6.5></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -563,7 +563,7 @@ test:do_catchsql_test(6.6, [[</font></div><div class=""><font face="Menlo" class="">     WITH x AS (SELECT * FROM t1) DELETE FROM t2 WHERE</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.6></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '\n'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 2 at column 1 near '\n'"</font></div><div class=""><font face="Menlo" class="">     -- </6.6></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -571,7 +571,7 @@ test:do_catchsql_test(6.7, [[</font></div><div class=""><font face="Menlo" class="">     WITH x AS (SELECT * FROM t1) DELETE FROM t2 WHRE 1;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.7></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near 'WHRE'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 49 near 'WHRE'"</font></div><div class=""><font face="Menlo" class="">     -- </6.7></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -579,7 +579,7 @@ test:do_catchsql_test(6.8, [[</font></div><div class=""><font face="Menlo" class="">     WITH x AS (SELECT * FROM t1) UPDATE t2 SET a = 10, b = ;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.8></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near ';'"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 60 near ';'"</font></div><div class=""><font face="Menlo" class="">     -- </6.8></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">@@ -587,7 +587,7 @@ test:do_catchsql_test(6.9, [[</font></div><div class=""><font face="Menlo" class="">     WITH x AS (SELECT * FROM t1) UPDATE t2 SET a = 10, b = 1 WHERE a===b;</font></div><div class=""><font face="Menlo" class=""> ]], {</font></div><div class=""><font face="Menlo" class="">     -- <6.9></font></div><div class=""><font face="Menlo" class="">-    1, "Syntax error near '='"</font></div><div class=""><font face="Menlo" class="">+    1, "Syntax error on line 1 at column 71 near '='"</font></div><div class=""><font face="Menlo" class="">     -- </6.9></font></div><div class=""><font face="Menlo" class=""> })</font></div><div class=""><font face="Menlo" class=""> </font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/checks.result b/test/sql/checks.result</font></div><div class=""><font face="Menlo" class="">index a952b2b70..7ad06a14d 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/checks.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/checks.result</font></div><div class=""><font face="Menlo" class="">@@ -160,7 +160,7 @@ box.execute("DROP TABLE t1")</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE first (id NUMBER PRIMARY KEY CHECK(id < 5), a INT CONSTRAINT ONE CHECK(a >< 5));")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near '<'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 88 near '<'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.space.FIRST == nil</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">@@ -290,8 +290,8 @@ box.execute("DROP TABLE w2;")</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t5(x INT PRIMARY KEY, y INT, CHECK( x*y < ? ));")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- 'Failed to create check constraint ''ck_unnamed_T5_1'': bindings are not allowed</font></div><div class=""><font face="Menlo" class="">-  in DDL'</font></div><div class=""><font face="Menlo" class="">+- 'Failed to create check constraint ''ck_unnamed_T5_1'': Syntax error: bindings are</font></div><div class=""><font face="Menlo" class="">+  not allowed in DDL'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- Test trim CK constraint code correctness.</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1(x TEXT PRIMARY KEY CHECK(x    LIKE     '1  a'))")</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/engine.result b/test/sql/engine.result</font></div><div class=""><font face="Menlo" class="">index 3ee93ad19..58b9dacb1 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/engine.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/engine.result</font></div><div class=""><font face="Menlo" class="">@@ -104,12 +104,12 @@ box.space.T2_MEMTX:drop()</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1_vinyl (id INT PRIMARY KEY) WITH ENGINE = VINYL")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near 'VINYL'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 58 near 'VINYL'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1_vinyl (id INT PRIMARY KEY) WITH ENGINE = vinyl")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near 'vinyl'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 58 near 'vinyl'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1_vinyl (id INT PRIMARY KEY) WITH ENGINE = 'VINYL'")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">@@ -119,7 +119,7 @@ box.execute("CREATE TABLE t1_vinyl (id INT PRIMARY KEY) WITH ENGINE = 'VINYL'")</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1_vinyl (id INT PRIMARY KEY) WITH ENGINE = \"vinyl\"")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near '"vinyl"'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 58 near '"vinyl"'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- Make sure that wrong engine name is handled properly.</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/foreign-keys.result b/test/sql/foreign-keys.result</font></div><div class=""><font face="Menlo" class="">index 29538e816..f17234904 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/foreign-keys.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/foreign-keys.result</font></div><div class=""><font face="Menlo" class="">@@ -396,22 +396,26 @@ box.execute('CREATE TABLE t1 (id INT PRIMARY KEY);')</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE t2 (id INT PRIMARY KEY REFERENCES t2 ON DELETE CASCADE ON DELETE RESTRICT);')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'DELETE' is reserved. Please use double quotes if 'DELETE' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 72: keyword ''DELETE'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''DELETE'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE t2 (id INT PRIMARY KEY REFERENCES t2 ON DELETE CASCADE ON DELETE CASCADE);')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'DELETE' is reserved. Please use double quotes if 'DELETE' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 72: keyword ''DELETE'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''DELETE'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE t2 (id INT PRIMARY KEY REFERENCES t2 ON DELETE CASCADE ON UPDATE RESTRICT ON DELETE RESTRICT);')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 88: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE t2 (id INT PRIMARY KEY REFERENCES t2 ON DELETE CASCADE MATCH FULL);')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'MATCH' is reserved. Please use double quotes if 'MATCH' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 69: keyword ''MATCH'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''MATCH'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.space.T1:drop()</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/gh-3888-values-blob-assert.result b/test/sql/gh-3888-values-blob-assert.result</font></div><div class=""><font face="Menlo" class="">index 4b8e7ede6..f20598e4a 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/gh-3888-values-blob-assert.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/gh-3888-values-blob-assert.result</font></div><div class=""><font face="Menlo" class="">@@ -18,23 +18,23 @@ box.execute('pragma sql_default_engine=\''..engine..'\'')</font></div><div class=""><font face="Menlo" class=""> box.execute('VALUES(scalar)')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near 'scalar'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 8 near 'scalar'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('VALUES(float)')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near 'float'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 8 near 'float'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- check 'SELECT' against typedef keywords (should fail)</font></div><div class=""><font face="Menlo" class=""> box.execute('SELECT scalar')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near 'scalar'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 8 near 'scalar'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('SELECT float')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near 'float'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 8 near 'float'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- check 'VALUES' against ID (should fail)</font></div><div class=""><font face="Menlo" class=""> box.execute('VALUES(TheColumnName)')</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/iproto.result b/test/sql/iproto.result</font></div><div class=""><font face="Menlo" class="">index 67acd0ac1..fb2772605 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/iproto.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/iproto.result</font></div><div class=""><font face="Menlo" class="">@@ -106,7 +106,7 @@ cn:execute('insert into not_existing_table values ("kek")')</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> cn:execute('insert qwerty gjsdjq  q  qwd qmq;; q;qwd;')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">-- error: Syntax error near 'qwerty'</font></div><div class=""><font face="Menlo" class="">+- error: Syntax error on line 1 at column 8 near 'qwerty'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- Empty result.</font></div><div class=""><font face="Menlo" class=""> cn:execute('select id as identifier from test where a = 5;')</font></div><div class=""><font face="Menlo" class="">@@ -119,7 +119,7 @@ cn:execute('select id as identifier from test where a = 5;')</font></div><div class=""><font face="Menlo" class=""> -- netbox API errors.</font></div><div class=""><font face="Menlo" class=""> cn:execute(100)</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">-- error: Syntax error near '100'</font></div><div class=""><font face="Menlo" class="">+- error: Syntax error on line 1 at column 1 near '100'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> cn:execute('select 1', nil, {dry_run = true})</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">@@ -352,11 +352,11 @@ cn:execute('drop table if exists test3')</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class=""> cn:execute('select ?1, ?2, ?3', {1, 2, 3})</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">-- error: Syntax error near '?1'</font></div><div class=""><font face="Menlo" class="">+- error: Syntax error on line 1 at column 10 near '?1'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> cn:execute('select $name, $name2', {1, 2})</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">-- error: Index of binding slots must start from 1</font></div><div class=""><font face="Menlo" class="">+- error: 'Syntax error: index of binding slots must start from 1'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> parameters = {}</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/misc.result b/test/sql/misc.result</font></div><div class=""><font face="Menlo" class="">index a157ddbc1..82b86f574 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/misc.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/misc.result</font></div><div class=""><font face="Menlo" class="">@@ -20,12 +20,14 @@ box.execute('select 1;')</font></div><div class=""><font face="Menlo" class=""> box.execute('select 1; select 2;')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'select' is reserved. Please use double quotes if 'select' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 11: keyword ''select'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''select'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('create table t1 (id INT primary key); select 100;')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'select' is reserved. Please use double quotes if 'select' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 39: keyword ''select'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''select'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.space.t1 == nil</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">@@ -56,17 +58,20 @@ box.execute('\n\n\n\t\t\t   ')</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE test (id INTEGER PRIMARY KEY, b INTEGER CONSTRAINT c1 NULL)')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'NULL' is reserved. Please use double quotes if 'NULL' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 68: keyword ''NULL'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''NULL'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE test (id INTEGER PRIMARY KEY, b INTEGER CONSTRAINT c1 DEFAULT 300)')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'DEFAULT' is reserved. Please use double quotes if 'DEFAULT' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 68: keyword ''DEFAULT'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''DEFAULT'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute('CREATE TABLE test (id INTEGER PRIMARY KEY, b TEXT CONSTRAINT c1 COLLATE "binary")')</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'COLLATE' is reserved. Please use double quotes if 'COLLATE' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 65: keyword ''COLLATE'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''COLLATE'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- Make sure that type of literals in meta complies with its real</font></div><div class=""><font face="Menlo" class=""> -- type. For instance, typeof(0.5) is number, not integer.</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/on-conflict.result b/test/sql/on-conflict.result</font></div><div class=""><font face="Menlo" class="">index 6851e217e..328656ea1 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/on-conflict.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/on-conflict.result</font></div><div class=""><font face="Menlo" class="">@@ -15,44 +15,52 @@ box.execute('pragma sql_default_engine=\''..engine..'\'')</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT ABORT)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 58: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE q (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT FAIL)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 58: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE p (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT IGNORE)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 58: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE g (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT REPLACE)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 58: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE e (id INTEGER PRIMARY KEY ON CONFLICT REPLACE, v INTEGER)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 40: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1(a INT PRIMARY KEY ON CONFLICT REPLACE)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 35: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t2(a INT PRIMARY KEY ON CONFLICT IGNORE)")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 35: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- CHECK constraint is illegal with REPLACE option.</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t (id INTEGER PRIMARY KEY, a INTEGER CHECK (a > 5) ON CONFLICT REPLACE);")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'ON' is reserved. Please use double quotes if 'ON' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 65: keyword ''ON'' is reserved. Please use double</font></div><div class=""><font face="Menlo" class="">+  quotes if ''ON'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> --</font></div><div class=""><font face="Menlo" class=""> -- gh-3473: Primary key can't be declared with NULL.</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/triggers.result b/test/sql/triggers.result</font></div><div class=""><font face="Menlo" class="">index 9dfe981a0..f11f7617f 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/triggers.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/triggers.result</font></div><div class=""><font face="Menlo" class="">@@ -487,14 +487,14 @@ space_id = <a href="http://box.space.T1.id" class="">box.space.T1.id</a></font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW WHEN new.a = ? BEGIN SELECT 1; END;")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- bindings are not allowed in DDL</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error: bindings are not allowed in DDL'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> tuple = {"TR1", space_id, {sql = [[CREATE TRIGGER tr1 AFTER INSERT ON t1 FOR EACH ROW WHEN new.a = ? BEGIN SELECT 1; END;]]}}</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.space._trigger:insert(tuple)</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">-- error: bindings are not allowed in DDL</font></div><div class=""><font face="Menlo" class="">+- error: 'Syntax error: bindings are not allowed in DDL'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("DROP TABLE t1;")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">@@ -513,7 +513,8 @@ space_id = <a href="http://box.space.T1.id" class="">box.space.T1.id</a></font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TRIGGER tr1 AFTER INSERT ON t1 BEGIN ; END;")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- FOR EACH STATEMENT triggers are not implemented, please supply FOR EACH ROW clause</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 39: FOR EACH STATEMENT triggers are not implemented,</font></div><div class=""><font face="Menlo" class="">+  please supply FOR EACH ROW clause'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("DROP TABLE t1;")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class="">diff --git a/test/sql/types.result b/test/sql/types.result</font></div><div class=""><font face="Menlo" class="">index 1ad52e8c7..d824d22f7 100644</font></div><div class=""><font face="Menlo" class="">--- a/test/sql/types.result</font></div><div class=""><font face="Menlo" class="">+++ b/test/sql/types.result</font></div><div class=""><font face="Menlo" class="">@@ -9,27 +9,30 @@ test_run = env.new()</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1 (id PRIMARY KEY);")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'PRIMARY' is reserved. Please use double quotes if 'PRIMARY' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 21: keyword ''PRIMARY'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''PRIMARY'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1 (a, id INT PRIMARY KEY);")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near ','</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 19 near ','</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1 (id PRIMARY KEY, a INT);")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'PRIMARY' is reserved. Please use double quotes if 'PRIMARY' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 21: keyword ''PRIMARY'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''PRIMARY'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1 (id INT PRIMARY KEY, a);")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Syntax error near ')'</font></div><div class=""><font face="Menlo" class="">+- Syntax error on line 1 at column 39 near ')'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> box.execute("CREATE TABLE t1 (id INT PRIMARY KEY, a INT, b UNIQUE);")</font></div><div class=""><font face="Menlo" class=""> ---</font></div><div class=""><font face="Menlo" class=""> - null</font></div><div class=""><font face="Menlo" class="">-- Keyword 'UNIQUE' is reserved. Please use double quotes if 'UNIQUE' is an identifier.</font></div><div class=""><font face="Menlo" class="">+- 'Syntax error on line 1 at column 47: keyword ''UNIQUE'' is reserved. Please use</font></div><div class=""><font face="Menlo" class="">+  double quotes if ''UNIQUE'' is an identifier.'</font></div><div class=""><font face="Menlo" class=""> ...</font></div><div class=""><font face="Menlo" class=""> -- gh-3104: real type is stored in space format.</font></div><div class=""><font face="Menlo" class=""> --</font></div></div><div class=""><br class=""></div><div class=""><br class=""></div></div></div></body></html>