[Pkg-mysql-commits] [mariadb-5.5] 01/03: New upstream version 5.5.57

Otto Kekäläinen otto at moszumanska.debian.org
Mon Jul 24 05:53:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

otto pushed a commit to branch ubuntu-14.04
in repository mariadb-5.5.

commit 69b6b8959e749f3d74dc3960e80514d23e243727
Author: Otto Kekäläinen <otto at debian.org>
Date:   Sun Jul 23 23:35:14 2017 +0300

    New upstream version 5.5.57
---
 Docs/INFO_SRC                                      |    10 +-
 VERSION                                            |     2 +-
 client/mysql.cc                                    |    98 +-
 client/mysqltest.cc                                |    34 +-
 cmake/cpack_rpm.cmake                              |     7 +-
 cmake/ssl.cmake                                    |     7 +-
 debian/compat                                      |     2 +-
 include/my_global.h                                |     6 +-
 include/my_sys.h                                   |     2 +-
 include/mysql_com.h                                |     2 +
 libmysql/libmysql.c                                |     3 +-
 mysql-test/mysql-test-run.pl                       |     5 +-
 mysql-test/r/binary_to_hex.result                  |   117 +
 mysql-test/r/count_distinct.result                 |    12 +
 mysql-test/r/derived_view.result                   |    59 +
 mysql-test/r/group_by.result                       |    27 +
 mysql-test/r/join_outer.result                     |    95 +
 mysql-test/r/join_outer_jcl6.result                |    95 +
 mysql-test/r/limit_rows_examined.result            |     5 +-
 mysql-test/r/loadxml.result                        |    16 +-
 mysql-test/r/mysql.result                          |    58 +
 mysql-test/r/mysqltest.result                      |     5 +
 mysql-test/r/read_only.result                      |     2 +
 mysql-test/r/subselect.result                      |    30 +
 mysql-test/r/subselect_mat.result                  |    88 +
 mysql-test/r/subselect_mat_cost_bugs.result        |   102 +
 mysql-test/r/subselect_no_mat.result               |    30 +
 mysql-test/r/subselect_no_opts.result              |    30 +
 mysql-test/r/subselect_no_scache.result            |    30 +
 mysql-test/r/subselect_no_semijoin.result          |    30 +
 mysql-test/r/subselect_nulls.result                |     6 +
 mysql-test/r/subselect_sj.result                   |    95 +-
 mysql-test/r/subselect_sj2_mat.result              |    45 +
 mysql-test/r/subselect_sj_jcl6.result              |    95 +-
 mysql-test/r/subselect_sj_mat.result               |    88 +
 mysql-test/r/union.result                          |    18 +
 mysql-test/r/view.result                           |    14 +
 mysql-test/std_data/loadxml.dat                    |     8 +-
 mysql-test/suite/parts/r/longname.result           |    33 +
 mysql-test/suite/parts/r/quoting.result            |     6 +
 mysql-test/suite/parts/t/longname.test             |    29 +
 mysql-test/suite/parts/t/quoting.test              |    10 +
 .../suite/perfschema/include/have_timer_cycle.inc  |     4 +
 mysql-test/suite/perfschema/r/privilege.result     |     8 +-
 .../suite/perfschema/t/dml_performance_timers.test |     1 +
 .../suite/perfschema/t/dml_setup_timers.test       |     1 +
 mysql-test/suite/perfschema/t/privilege.test       |    14 +-
 mysql-test/suite/rpl/r/rpl_mdev-11092.result       |    17 +
 mysql-test/suite/rpl/r/rpl_reset_slave_fail.result |    29 +
 mysql-test/suite/rpl/t/rpl_mdev-11092.opt          |     1 +
 mysql-test/suite/rpl/t/rpl_mdev-11092.test         |    53 +
 mysql-test/suite/rpl/t/rpl_reset_slave_fail.test   |    91 +
 mysql-test/t/binary_to_hex.test                    |    76 +
 mysql-test/t/bootstrap.test                        |     6 +
 mysql-test/t/count_distinct.test                   |    16 +
 mysql-test/t/derived_view.test                     |    50 +
 mysql-test/t/group_by.test                         |    38 +
 mysql-test/t/join_outer.test                       |    82 +
 mysql-test/t/mysql.test                            |    30 +
 mysql-test/t/mysqltest.test                        |     8 +-
 mysql-test/t/read_only.test                        |     3 +
 mysql-test/t/subselect.test                        |    35 +
 mysql-test/t/subselect_mat_cost_bugs.test          |    99 +
 mysql-test/t/subselect_nulls.test                  |     6 +
 mysql-test/t/subselect_sj.test                     |    72 +
 mysql-test/t/subselect_sj2_mat.test                |    40 +
 mysql-test/t/subselect_sj_mat.test                 |   207 +
 mysql-test/t/union.test                            |    15 +
 mysql-test/t/view.test                             |    16 +
 mysys/my_fopen.c                                   |     2 +-
 mysys/my_rdtsc.c                                   |    25 +
 mysys/my_symlink.c                                 |     2 +-
 mysys/mysys_priv.h                                 |    11 +-
 mysys/stacktrace.c                                 |     2 +-
 plugin/semisync/semisync_master.cc                 |     6 +-
 scripts/CMakeLists.txt                             |    11 +-
 scripts/dheadgen.pl                                |     8 +-
 scripts/mysql_config.pl.in                         |     4 +-
 scripts/mysql_convert_table_format.sh              |     5 +-
 scripts/mysql_find_rows.sh                         |     5 +-
 scripts/mysql_fix_extensions.sh                    |     5 +-
 scripts/mysql_install_db.pl.in                     |     4 +-
 scripts/mysql_secure_installation.pl.in            |     7 +-
 scripts/mysql_setpermission.sh                     |     5 +-
 scripts/mysql_zap.sh                               |     5 +-
 scripts/mysqlaccess.sh                             |    19 +-
 scripts/mysqld_multi.sh                            |    22 +-
 scripts/mysqldumpslow.sh                           |     5 +-
 scripts/mysqlhotcopy.sh                            |     4 +-
 sql/ha_partition.cc                                |   195 +-
 sql/item.cc                                        |    12 +-
 sql/item_func.h                                    |    29 +-
 sql/item_subselect.cc                              |    29 +-
 sql/item_subselect.h                               |    10 +-
 sql/item_sum.h                                     |     1 +
 sql/item_timefunc.cc                               |     2 +-
 sql/log.cc                                         |     7 +
 sql/net_serv.cc                                    |     2 +-
 sql/opt_subselect.cc                               |   114 +-
 sql/opt_sum.cc                                     |     9 +
 sql/records.cc                                     |     1 +
 sql/rpl_handler.cc                                 |     2 +-
 sql/rpl_mi.cc                                      |    11 +-
 sql/rpl_rli.cc                                     |    52 +-
 sql/rpl_rli.h                                      |    12 +-
 sql/slave.cc                                       |     6 +-
 sql/sql_class.cc                                   |     4 +-
 sql/sql_derived.cc                                 |     4 +-
 sql/sql_lex.cc                                     |     1 +
 sql/sql_lex.h                                      |     5 +
 sql/sql_load.cc                                    |     2 +-
 sql/sql_parse.cc                                   |    31 +-
 sql/sql_partition.cc                               |   158 +-
 sql/sql_partition.h                                |    12 +-
 sql/sql_plugin.cc                                  |    20 +-
 sql/sql_priv.h                                     |     2 +-
 sql/sql_repl.cc                                    |     5 +-
 sql/sql_select.cc                                  |   107 +-
 sql/sql_select.h                                   |     8 +
 sql/sql_union.cc                                   |    18 +-
 sql/sql_yacc.cc                                    | 18876 ++++++++-----------
 sql/sql_yacc.h                                     |  1283 +-
 sql/sys_vars.cc                                    |     4 +
 sql/threadpool_unix.cc                             |    14 +-
 sql/uniques.cc                                     |    14 +-
 storage/archive/ha_archive.cc                      |     1 -
 storage/innobase/buf/buf0buf.c                     |     6 -
 storage/maria/ma_check.c                           |     4 +-
 storage/maria/ma_loghandler.c                      |    29 +-
 storage/maria/ma_pagecache.c                       |     1 +
 storage/maria/ma_recovery.c                        |     4 +-
 storage/myisam/mi_check.c                          |     4 +-
 .../mysql-test/storage_engine/parts/disabled.def   |     0
 storage/xtradb/btr/btr0btr.c                       |     2 +-
 storage/xtradb/buf/buf0buf.c                       |     6 -
 storage/xtradb/dict/dict0crea.c                    |     4 +-
 storage/xtradb/fsp/fsp0fsp.c                       |     7 +-
 storage/xtradb/handler/i_s.cc                      |    24 +-
 storage/xtradb/include/btr0cur.h                   |    13 +-
 storage/xtradb/include/btr0sea.h                   |     7 +-
 storage/xtradb/include/buf0buddy.ic                |     2 +-
 storage/xtradb/include/buf0buf.h                   |     3 +-
 storage/xtradb/include/dict0dict.h                 |    16 +-
 storage/xtradb/include/dyn0dyn.h                   |    18 +-
 storage/xtradb/include/dyn0dyn.ic                  |     2 +-
 storage/xtradb/include/log0online.h                |    20 +-
 storage/xtradb/include/mach0data.h                 |    16 +-
 storage/xtradb/include/mtr0mtr.h                   |     5 +-
 storage/xtradb/include/os0file.h                   |     5 +-
 storage/xtradb/include/page0page.h                 |    18 +-
 storage/xtradb/include/page0zip.h                  |     5 +-
 storage/xtradb/include/rem0rec.h                   |     3 +-
 storage/xtradb/include/row0upd.h                   |     5 +-
 storage/xtradb/include/trx0trx.h                   |     4 +-
 storage/xtradb/include/univ.i                      |     4 +-
 storage/xtradb/log/log0online.c                    |   148 +-
 storage/xtradb/mach/mach0data.c                    |    44 +-
 storage/xtradb/os/os0file.c                        |    49 +-
 storage/xtradb/rem/rem0rec.c                       |     2 +-
 storage/xtradb/row/row0merge.c                     |     4 +-
 storage/xtradb/row/row0purge.c                     |     2 +-
 storage/xtradb/srv/srv0srv.c                       |     9 +-
 storage/xtradb/srv/srv0start.c                     |     2 +
 storage/xtradb/trx/trx0roll.c                      |     4 +
 164 files changed, 11830 insertions(+), 12365 deletions(-)

diff --git a/Docs/INFO_SRC b/Docs/INFO_SRC
index a38bf2c..7887ce5 100644
--- a/Docs/INFO_SRC
+++ b/Docs/INFO_SRC
@@ -1,8 +1,8 @@
-commit: dbe2c3c5f21fd479fbe0993b045c0c30493ca07a
-date: 2017-04-30 15:06:01 +0400
-build-date: 2017-04-30 13:09:34 +0200 
-short: dbe2c3c
+commit: 59fca5806af65c8379a993f9e604cb0b20a76e2b
+date: 2017-07-18 19:50:11 +0200
+build-date: 2017-07-18 20:33:21 +0000 
+short: 59fca58
 branch: HEAD
 
 
-MySQL source 5.5.56
+MySQL source 5.5.57
diff --git a/VERSION b/VERSION
index ade2e12..68358ac 100644
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,4 @@
 MYSQL_VERSION_MAJOR=5
 MYSQL_VERSION_MINOR=5
-MYSQL_VERSION_PATCH=56
+MYSQL_VERSION_PATCH=57
 MYSQL_VERSION_EXTRA=
diff --git a/client/mysql.cc b/client/mysql.cc
index 57cb0a9..9c76e30 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -149,7 +149,7 @@ static my_bool ignore_errors=0,wait_flag=0,quick=0,
                default_pager_set= 0, opt_sigint_ignore= 0,
                auto_vertical_output= 0,
                show_warnings= 0, executing_query= 0,
-               ignore_spaces= 0, opt_progress_reports;
+               ignore_spaces= 0, opt_binhex= 0, opt_progress_reports;
 static my_bool debug_info_flag, debug_check_flag, batch_abort_on_error;
 static my_bool column_types_flag;
 static my_bool preserve_comments= 0;
@@ -1460,6 +1460,8 @@ static struct my_option my_long_options[] =
   {"batch", 'B',
    "Don't use history file. Disable interactive behavior. (Enables --silent.)",
    0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
+  {"binary-as-hex", 'b', "Print binary data as hex", &opt_binhex, &opt_binhex,
+   0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
   {"character-sets-dir", OPT_CHARSETS_DIR,
    "Directory for character set files.", &charsets_dir,
    &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
@@ -2287,8 +2289,10 @@ static bool add_line(String &buffer, char *line, ulong line_length,
       continue;
     }
 #endif
-    if (!*ml_comment && inchar == '\\' &&
-        !(*in_string && 
+    if (!*ml_comment && inchar == '\\' && *in_string != '`' &&
+        !(*in_string == '"' &&
+          (mysql.server_status & SERVER_STATUS_ANSI_QUOTES)) &&
+        !(*in_string &&
           (mysql.server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES)))
     {
       // Found possbile one character command like \c
@@ -2850,7 +2854,7 @@ You can turn off this feature to get a quicker startup with -A\n\n");
         mysql_free_result(fields);
         break;
       }
-      field_names[i][num_fields*2]= '\0';
+      field_names[i][num_fields*2]= NULL;
       j=0;
       while ((sql_field=mysql_fetch_field(fields)))
       {
@@ -3283,7 +3287,8 @@ com_go(String *buffer,char *line __attribute__((unused)))
 	  print_table_data_html(result);
 	else if (opt_xml)
 	  print_table_data_xml(result);
-  else if (vertical || (auto_vertical_output && (terminal_width < get_result_width(result))))
+        else if (vertical || (auto_vertical_output &&
+                (terminal_width < get_result_width(result))))
 	  print_table_data_vertically(result);
 	else if (opt_silent && verbose <= 2 && !output_tables)
 	  print_tab_data(result);
@@ -3502,6 +3507,41 @@ print_field_types(MYSQL_RES *result)
 }
 
 
+/* Used to determine if we should invoke print_as_hex for this field */
+
+static bool
+is_binary_field(MYSQL_FIELD *field)
+{
+  if ((field->charsetnr == 63) &&
+      (field->type == MYSQL_TYPE_BIT ||
+       field->type == MYSQL_TYPE_BLOB ||
+       field->type == MYSQL_TYPE_LONG_BLOB ||
+       field->type == MYSQL_TYPE_MEDIUM_BLOB ||
+       field->type == MYSQL_TYPE_TINY_BLOB ||
+       field->type == MYSQL_TYPE_VAR_STRING ||
+       field->type == MYSQL_TYPE_STRING ||
+       field->type == MYSQL_TYPE_VARCHAR ||
+       field->type == MYSQL_TYPE_GEOMETRY))
+    return 1;
+  return 0;
+}
+
+
+/* Print binary value as hex literal (0x ...) */
+
+static void
+print_as_hex(FILE *output_file, const char *str, ulong len, ulong total_bytes_to_send)
+{
+  const char *ptr= str, *end= ptr+len;
+  ulong i;
+  fprintf(output_file, "0x");
+  for(; ptr < end; ptr++)
+    fprintf(output_file, "%02X", *((uchar*)ptr));
+  for (i= 2*len+2; i < total_bytes_to_send; i++)
+    tee_putc((int)' ', output_file);
+}
+
+
 static void
 print_table_data(MYSQL_RES *result)
 {
@@ -3528,6 +3568,8 @@ print_table_data(MYSQL_RES *result)
       length=max(length,field->max_length);
     if (length < 4 && !IS_NOT_NULL(field->flags))
       length=4;					// Room for "NULL"
+    if (opt_binhex && is_binary_field(field))
+      length= 2 + length * 2;
     field->max_length=length;
     num_flag[mysql_field_tell(result) - 1]= IS_NUM(field->type);
     separator.fill(separator.length()+length+2,'-');
@@ -3595,9 +3637,11 @@ print_table_data(MYSQL_RES *result)
        many extra padding-characters we should send with the printing function.
       */
       visible_length= charset_info->cset->numcells(charset_info, buffer, buffer + data_length);
-      extra_padding= data_length - visible_length;
+      extra_padding= (uint) (data_length - visible_length);
 
-      if (field_max_length > MAX_COLUMN_LENGTH)
+      if (opt_binhex && is_binary_field(field))
+        print_as_hex(PAGER, cur[off], lengths[off], field_max_length);
+      else if (field_max_length > MAX_COLUMN_LENGTH)
         tee_print_sized_data(buffer, data_length, MAX_COLUMN_LENGTH+extra_padding, FALSE);
       else
       {
@@ -3730,11 +3774,15 @@ print_table_data_html(MYSQL_RES *result)
     if (interrupted_query)
       break;
     ulong *lengths=mysql_fetch_lengths(result);
+    field= mysql_fetch_fields(result);
     (void) tee_fputs("<TR>", PAGER);
     for (uint i=0; i < mysql_num_fields(result); i++)
     {
       (void) tee_fputs("<TD>", PAGER);
-      xmlencode_print(cur[i], lengths[i]);
+      if (opt_binhex && is_binary_field(&field[i]))
+        print_as_hex(PAGER, cur[i], lengths[i], lengths[i]);
+      else
+        xmlencode_print(cur[i], lengths[i]);
       (void) tee_fputs("</TD>", PAGER);
     }
     (void) tee_fputs("</TR>", PAGER);
@@ -3770,7 +3818,10 @@ print_table_data_xml(MYSQL_RES *result)
       if (cur[i])
       {
         tee_fprintf(PAGER, "\">");
-        xmlencode_print(cur[i], lengths[i]);
+        if (opt_binhex && is_binary_field(&fields[i]))
+          print_as_hex(PAGER, cur[i], lengths[i], lengths[i]);
+        else
+          xmlencode_print(cur[i], lengths[i]);
         tee_fprintf(PAGER, "</field>\n");
       }
       else
@@ -3817,23 +3868,28 @@ print_table_data_vertically(MYSQL_RES *result)
       {
         unsigned int i;
         const char *p;
-
+        if (opt_binhex && is_binary_field(field))
+           fprintf(PAGER, "0x");
         for (i= 0, p= cur[off]; i < lengths[off]; i+= 1, p+= 1)
         {
-          if (*p == '\0')
-            tee_putc((int)' ', PAGER);
+          if (opt_binhex && is_binary_field(field))
+            fprintf(PAGER, "%02X", *((uchar*)p));
           else
-            tee_putc((int)*p, PAGER);
+          {
+            if (*p == '\0')
+              tee_putc((int)' ', PAGER);
+            else
+              tee_putc((int)*p, PAGER);
+          }
         }
         tee_putc('\n', PAGER);
       }
-      else
+       else
         tee_fprintf(PAGER, "NULL\n");
     }
   }
 }
 
-
 /* print_warnings should be called right after executing a statement */
 
 static void print_warnings()
@@ -3970,11 +4026,19 @@ print_tab_data(MYSQL_RES *result)
   while ((cur = mysql_fetch_row(result)))
   {
     lengths=mysql_fetch_lengths(result);
-    safe_put_field(cur[0],lengths[0]);
+    field= mysql_fetch_fields(result);
+    if (opt_binhex && is_binary_field(&field[0]))
+      print_as_hex(PAGER, cur[0], lengths[0], lengths[0]);
+    else
+      safe_put_field(cur[0],lengths[0]);
+
     for (uint off=1 ; off < mysql_num_fields(result); off++)
     {
       (void) tee_fputs("\t", PAGER);
-      safe_put_field(cur[off], lengths[off]);
+      if (opt_binhex && field && is_binary_field(&field[off]))
+        print_as_hex(PAGER, cur[off], lengths[off], lengths[off]);
+      else
+        safe_put_field(cur[off], lengths[off]);
     }
     (void) tee_fputs("\n", PAGER);
   }
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index b229596..98e3513 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -1698,12 +1698,22 @@ int cat_file(DYNAMIC_STRING* ds, const char* filename)
 {
   int fd;
   size_t len;
-  char buff[16384];
+  char *buff;
 
   if ((fd= my_open(filename, O_RDONLY, MYF(0))) < 0)
     return 1;
-  while((len= my_read(fd, (uchar*)&buff,
-                      sizeof(buff)-1, MYF(0))) > 0)
+
+  len= (size_t) my_seek(fd, 0, SEEK_END, MYF(0));
+  my_seek(fd, 0, SEEK_SET, MYF(0));
+  if (len == (size_t)MY_FILEPOS_ERROR ||
+      !(buff= (char*)my_malloc(len + 1, MYF(0))))
+  {
+    my_close(fd, MYF(0));
+    return 1;
+  }
+  len= my_read(fd, (uchar*)buff, len, MYF(0));
+  my_close(fd, MYF(0));
+
   {
     char *p= buff, *start= buff,*end=buff+len;
     while (p < end)
@@ -1726,7 +1736,7 @@ int cat_file(DYNAMIC_STRING* ds, const char* filename)
     *p= 0;
     replace_dynstr_append_mem(ds, start, p-start);
   }
-  my_close(fd, MYF(0));
+  my_free(buff);
   return 0;
 }
 
@@ -6476,6 +6486,16 @@ my_bool end_of_query(int c)
 }
 
 
+static inline bool is_escape_char(char c, char in_string)
+{
+  if (c != '\\' || in_string == '`') return false;
+  if (!cur_con) return true;
+  uint server_status= cur_con->mysql->server_status;
+  if (server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES) return false;
+  return !(server_status & SERVER_STATUS_ANSI_QUOTES && in_string == '"');
+}
+
+
 /*
   Read one "line" from the file
 
@@ -6502,7 +6522,7 @@ my_bool end_of_query(int c)
 
 int read_line(char *buf, int size)
 {
-  char c, UNINIT_VAR(last_quote), last_char= 0;
+  char c, last_quote=0, last_char= 0;
   char *p= buf, *buf_end= buf + size - 1;
   int skip_char= 0;
   my_bool have_slash= FALSE;
@@ -6584,7 +6604,7 @@ int read_line(char *buf, int size)
 	  state= R_Q;
 	}
       }
-      have_slash= (c == '\\');
+      have_slash= is_escape_char(c, last_quote);
       break;
 
     case R_COMMENT:
@@ -6654,7 +6674,7 @@ int read_line(char *buf, int size)
     case R_Q:
       if (c == last_quote)
 	state= R_NORMAL;
-      else if (c == '\\')
+      else if (is_escape_char(c, last_quote))
 	state= R_SLASH_IN_Q;
       break;
 
diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
index 5789eb7..4e94103 100644
--- a/cmake/cpack_rpm.cmake
+++ b/cmake/cpack_rpm.cmake
@@ -28,7 +28,12 @@ SET(CPACK_COMPONENTS_ALL Server ManPagesServer IniFiles Server_Scripts
                          Common Client SharedLibraries)
 
 SET(CPACK_RPM_PACKAGE_NAME "MariaDB")
-SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}")
+IF(CMAKE_VERSION VERSION_LESS "3.6.0")
+  SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}")
+ELSE()
+  SET(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
+  SET(CPACK_RPM_DEBUGINFO_PACKAGE ON)
+ENDIF()
 
 SET(CPACK_RPM_PACKAGE_RELEASE "1%{?dist}")
 SET(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
index 43665d0..6f7bd92 100644
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -1,4 +1,5 @@
-# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2012, Oracle and/or its affiliates.
+# Copyright (c) 2011, 2017, MariaDB Corporation
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -11,7 +12,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA 
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 MACRO (CHANGE_SSL_SETTINGS string)
   SET(WITH_SSL ${string} CACHE STRING "Options are: no bundled yes(prefer os library if present otherwise use bundled) system(use os library)" FORCE)
@@ -87,7 +88,7 @@ MACRO (MYSQL_CHECK_SSL)
       CHANGE_SSL_SETTINGS("system")
     ELSE()
       IF(WITH_SSL STREQUAL "system")
-        MESSAGE(SEND_ERROR "Cannot find appropriate system libraries for SSL. Use  WITH_SSL=bundled to enable SSL support")
+        MESSAGE(SEND_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support")
       ENDIF()
       MYSQL_USE_BUNDLED_SSL()
     ENDIF()
diff --git a/debian/compat b/debian/compat
index 7ed6ff8..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-5
+9
diff --git a/include/my_global.h b/include/my_global.h
index 0c15478..cf140cf 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -1,5 +1,6 @@
 /*
    Copyright (c) 2001, 2013, Oracle and/or its affiliates.
+   Copyright (c) 2009, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -421,9 +422,8 @@ extern "C" int madvise(void *addr, size_t len, int behav);
 #define SIGNAL_HANDLER_RESET_ON_DELIVERY
 #endif
 
-#ifndef STDERR_FILENO
-#define STDERR_FILENO fileno(stderr)
-#endif
+/* don't assume that STDERR_FILENO is 2, mysqld can freopen */
+#undef STDERR_FILENO
 
 /*
   Deprecated workaround for false-positive uninitialized variables
diff --git a/include/my_sys.h b/include/my_sys.h
index 2794068..cd74fdf 100644
--- a/include/my_sys.h
+++ b/include/my_sys.h
@@ -1,5 +1,5 @@
 /* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2016, Monty Program Ab.
+   Copyright (c) 2010, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/include/mysql_com.h b/include/mysql_com.h
index 0d57b17..df9681e 100644
--- a/include/mysql_com.h
+++ b/include/mysql_com.h
@@ -296,6 +296,8 @@ enum enum_server_command
 */
 #define SERVER_PS_OUT_PARAMS            4096
 
+#define SERVER_STATUS_ANSI_QUOTES       32768
+
 /**
   Server status flags that must be cleared when starting
   execution of a new SQL statement.
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 1df5f0b..1a736ee 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -1,5 +1,5 @@
 /* Copyright (c) 2000, 2014, Oracle and/or its affiliates
-   Copyright (c) 2009, 2014, Monty Program Ab
+   Copyright (c) 2009, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -4913,4 +4913,3 @@ ulong STDCALL mysql_net_field_length(uchar **packet)
 {
   return net_field_length(packet);
 }
-
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 0d9626b..5beb295 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -2,7 +2,7 @@
 # -*- cperl -*-
 
 # Copyright (c) 2004, 2014, Oracle and/or its affiliates.
-# Copyright (c) 2009, 2014, Monty Program Ab
+# Copyright (c) 2009, 2017, MariaDB Corporation
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -6190,7 +6190,8 @@ sub valgrind_arguments {
     mtr_add_arg($args, "--num-callers=16");
     mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
       if -f "$glob_mysql_test_dir/valgrind.supp";
-    my $temp= `ldd $ENV{MTR_BINDIR}/sql/mysqld | grep 'libjemalloc'`;
+    my $exe_mysqld= find_mysqld($bindir) || "";
+    my $temp= `ldd $exe_mysqld | grep 'libjemalloc'`;
     if ($temp)
     {
       mtr_add_arg($args, "--soname-synonyms=somalloc=libjemalloc*");
diff --git a/mysql-test/r/binary_to_hex.result b/mysql-test/r/binary_to_hex.result
new file mode 100644
index 0000000..a6b6883
--- /dev/null
+++ b/mysql-test/r/binary_to_hex.result
@@ -0,0 +1,117 @@
+USE test;
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 (c1  TINYBLOB,
+c2  BLOB,
+c3  MEDIUMBLOB,
+c4  LONGBLOB,
+c5  TEXT,
+c6  BIT(1),
+c7  CHAR,
+c8  VARCHAR(10),
+c9  GEOMETRY) CHARACTER SET = binary;
+SHOW CREATE TABLE t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `c1` tinyblob,
+  `c2` blob,
+  `c3` mediumblob,
+  `c4` longblob,
+  `c5` blob,
+  `c6` bit(1) DEFAULT NULL,
+  `c7` binary(1) DEFAULT NULL,
+  `c8` varbinary(10) DEFAULT NULL,
+  `c9` geometry DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=binary
+INSERT INTO t1 VALUES ('tinyblob-text readable', 'blob-text readable',
+'mediumblob-text readable', 'longblob-text readable',
+'text readable', b'1', 'c', 'variable',
+POINT(1, 1));
+CREATE TABLE t2(id int, `col1` binary(10),`col2` blob);
+SHOW CREATE TABLE t2;
+Table	Create Table
+t2	CREATE TABLE `t2` (
+  `id` int(11) DEFAULT NULL,
+  `col1` binary(10) DEFAULT NULL,
+  `col2` blob
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+INSERT INTO t2 VALUES (1, X'AB1234', X'123ABC'), (2, X'DE1234', X'123DEF');
+#Print the table contents when binary-as-hex option is off.
+SELECT * FROM t1;
+c1	c2	c3	c4	c5	c6	c7	c8	c9
+tinyblob-text readable	blob-text readable	mediumblob-text readable	longblob-text readable	text readable	#	c	variable	#
+SELECT * FROM t2;
+id	col1	col2
+1	#	#
+2	#	#
+#Print the table contents after turning on the binary-as-hex option
+
+#Print the table contents in tab format
+
+c1	c2	c3	c4	c5	c6	c7	c8	c9
+0x74696E79626C6F622D74657874207265616461626C65	0x626C6F622D74657874207265616461626C65	0x6D656469756D626C6F622D74657874207265616461626C65	0x6C6F6E67626C6F622D74657874207265616461626C65	0x74657874207265616461626C65	0x01	0x63	0x7661726961626C65	0x000000000101000000000000000000F03F000000000000F03F
+id	col1	col2
+1	0xAB123400000000000000	0x123ABC
+2	0xDE123400000000000000	0x123DEF
+
+#Print the table contents in table format
+
++------------------------------------------------+----------------------------------------+----------------------------------------------------+------------------------------------------------+------------------------------+------------+------------+--------------------+------------------------------------------------------+
+| c1                                             | c2                                     | c3                                                 | c4                                             | c5                           | c6         | c7         | c8                 | c9                                                   |
++------------------------------------------------+----------------------------------------+----------------------------------------------------+------------------------------------------------+------------------------------+------------+------------+--------------------+------------------------------------------------------+
+| 0x74696E79626C6F622D74657874207265616461626C65 | 0x626C6F622D74657874207265616461626C65 | 0x6D656469756D626C6F622D74657874207265616461626C65 | 0x6C6F6E67626C6F622D74657874207265616461626C65 | 0x74657874207265616461626C65 | 0x01       | 0x63       | 0x7661726961626C65 | 0x000000000101000000000000000000F03F000000000000F03F |
++------------------------------------------------+----------------------------------------+----------------------------------------------------+------------------------------------------------+------------------------------+------------+------------+--------------------+------------------------------------------------------+
++------+------------------------+------------+
+| id   | col1                   | col2       |
++------+------------------------+------------+
+|    1 | 0xAB123400000000000000 | 0x123ABC   |
++------+------------------------+------------+
+
+#Print the table contents vertically
+
+*************************** 1. row ***************************
+c1: 0x74696E79626C6F622D74657874207265616461626C65
+c2: 0x626C6F622D74657874207265616461626C65
+c3: 0x6D656469756D626C6F622D74657874207265616461626C65
+c4: 0x6C6F6E67626C6F622D74657874207265616461626C65
+c5: 0x74657874207265616461626C65
+c6: 0x01
+c7: 0x63
+c8: 0x7661726961626C65
+c9: 0x000000000101000000000000000000F03F000000000000F03F
+
+#Print the table contents in xml format
+
+<?xml version="1.0"?>
+
+<resultset statement="SELECT * FROM t1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <row>
+	<field name="c1">0x74696E79626C6F622D74657874207265616461626C65</field>
+	<field name="c2">0x626C6F622D74657874207265616461626C65</field>
+	<field name="c3">0x6D656469756D626C6F622D74657874207265616461626C65</field>
+	<field name="c4">0x6C6F6E67626C6F622D74657874207265616461626C65</field>
+	<field name="c5">0x74657874207265616461626C65</field>
+	<field name="c6">0x01</field>
+	<field name="c7">0x63</field>
+	<field name="c8">0x7661726961626C65</field>
+	<field name="c9">0x000000000101000000000000000000F03F000000000000F03F</field>
+  </row>
+</resultset>
+<?xml version="1.0"?>
+
+<resultset statement="SELECT * FROM t2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <row>
+	<field name="id">1</field>
+	<field name="col1">0xAB123400000000000000</field>
+	<field name="col2">0x123ABC</field>
+  </row>
+
+  <row>
+	<field name="id">2</field>
+	<field name="col1">0xDE123400000000000000</field>
+	<field name="col2">0x123DEF</field>
+  </row>
+</resultset>
+
+#Print the table contents in html format
+
+<TABLE BORDER=1><TR><TH>c1</TH><TH>c2</TH><TH>c3</TH><TH>c4</TH><TH>c5</TH><TH>c6</TH><TH>c7</TH><TH>c8</TH><TH>c9</TH></TR><TR><TD>0x74696E79626C6F622D74657874207265616461626C65</TD><TD>0x626C6F622D74657874207265616461626C65</TD><TD>0x6D656469756D626C6F622D74657874207265616461626C65</TD><TD>0x6C6F6E67626C6F622D74657874207265616461626C65</TD><TD>0x74657874207265616461626C65</TD><TD>0x01</TD><TD>0x63</TD><TD>0x7661726961626C65</TD><TD>0x000000000101000000000000000000F03F000000000000F03F</ [...]
diff --git a/mysql-test/r/count_distinct.result b/mysql-test/r/count_distinct.result
index 3b65dd0..d55a232 100644
--- a/mysql-test/r/count_distinct.result
+++ b/mysql-test/r/count_distinct.result
@@ -94,3 +94,15 @@ count(distinct i)
 2
 drop table t1;
 drop view v1;
+create table t1 (user_id char(64) character set utf8);
+insert t1 values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17);
+set @@tmp_table_size = 1024;
+select count(distinct user_id) from t1;
+count(distinct user_id)
+17
+alter table t1 modify user_id char(128) character set utf8;
+select count(distinct user_id) from t1;
+count(distinct user_id)
+17
+drop table t1;
+set @@tmp_table_size = default;
diff --git a/mysql-test/r/derived_view.result b/mysql-test/r/derived_view.result
index d993086..f706247 100644
--- a/mysql-test/r/derived_view.result
+++ b/mysql-test/r/derived_view.result
@@ -2579,5 +2579,64 @@ Handler_read_rnd_deleted	0
 Handler_read_rnd_next	27
 deallocate prepare stmt1;
 drop table t1,t2;
+#
+# Bug mdev-12670: mergeable derived / view with subqueries
+#                 subject to semi-join optimizations
+# (actually this is a 5.3 bug.)               
+#
+create table t1 (a int) engine=myisam;
+insert into t1  values (5),(3),(2),(7),(2),(5),(1);
+create table t2 (b int, index idx(b)) engine=myisam;
+insert into t2 values (2),(3),(2),(1),(3),(4);
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+analyze table t1,t2;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	OK
+test.t2	analyze	status	OK
+explain select a from t1 where a in (select b from t2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	PRIMARY	t2	ref	idx	idx	5	test.t1.a	140	Using index; FirstMatch(t1)
+explain select * from (select a from t1 where a in (select b from t2)) t;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	SIMPLE	t2	ref	idx	idx	5	test.t1.a	140	Using index; FirstMatch(t1)
+create view v1 as select a from t1 where a in (select b from t2);
+explain select * from v1;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	SIMPLE	t2	ref	idx	idx	5	test.t1.a	140	Using index; FirstMatch(t1)
+drop view v1;
+drop table t1,t2;
+#
+# Bug mdev-12812: mergeable derived / view with subqueries
+#                 NOT subject to semi-join optimizations
+#
+CREATE TABLE t1 (c1 varchar(3)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('foo'),('foo');
+CREATE TABLE t2 (c2 varchar(3)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES ('bar'),('qux'),('foo');
+SELECT STRAIGHT_JOIN * 
+FROM ( SELECT * FROM t1 WHERE c1 IN ( SELECT c2 FROM t2 ) ) AS sq;
+c1
+foo
+foo
+EXPLAIN EXTENDED SELECT STRAIGHT_JOIN * 
+FROM ( SELECT * FROM t1 WHERE c1 IN ( SELECT c2 FROM t2 ) ) AS sq;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+3	DEPENDENT SUBQUERY	t2	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where
+Warnings:
+Note	1003	select straight_join `test`.`t1`.`c1` AS `c1` from `test`.`t1` where <in_optimizer>(`test`.`t1`.`c1`,<exists>(select `test`.`t2`.`c2` from `test`.`t2` where (<cache>(`test`.`t1`.`c1`) = `test`.`t2`.`c2`)))
+DROP TABLE t1, t2;
 set optimizer_switch=@exit_optimizer_switch;
 set join_cache_level=@exit_join_cache_level;
diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result
index 262bb2e..b948c9a 100644
--- a/mysql-test/r/group_by.result
+++ b/mysql-test/r/group_by.result
@@ -2531,3 +2531,30 @@ select a from t1 group by a having a > 1;
 a
 drop table t1;
 set sql_mode= @save_sql_mode;
+create table t1 (f1 int);
+insert into t1 values (5),(9);
+create table t2 (f2 int);
+insert into t2 values (0),(6);
+create table t3 (f3 int);
+insert into t3 values (6),(3);
+create table t4 (f4 int);
+insert into t4 values (1),(0);
+select
+(select min(f1) from t1 where f1 in (select min(f4) from t2)) as field7,
+(select count(*) from t3 where f3 in (select max(f4) from t2 group by field7))
+from t4;
+ERROR 42S22: Reference 'field7' not supported (reference to group function)
+drop table t1, t2, t3, t4;
+create table t1 (i1 int);
+insert into t1 values (1);
+create table t2 (i int);
+insert into t2 values (2);
+select 1 from t1 left join t2 b on b.i = (select max(b.i) from t2);
+1
+1
+drop table t1, t2;
+create table t1 (c1 int, c2 int);
+create table t2 (c1 int, c2 int);
+select t1.c1 as c1, t2.c2 as c1 from t1, t2 where t1.c1 < 20 and t2.c2 > 5 group by t1.c1, t2.c2 having t1.c1 < 3;
+c1	c1
+drop table t1, t2;
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index 5dbb0f1..5611b61 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -2245,4 +2245,99 @@ SELECT * FROM t1 INNER JOIN t2 ON c = b LEFT JOIN t3 ON d = a
 WHERE b IN (1,2,3) OR b = d;
 a	b	c	d
 DROP TABLE t1,t2,t3;
+#
+# MDEV-11958: LEFT JOIN with stored routine produces incorrect result
+#
+CREATE TABLE t (x INT);
+INSERT INTO t VALUES(1),(NULL);
+CREATE FUNCTION f (val INT, ret INT) RETURNS INT DETERMINISTIC RETURN IFNULL(val, ret);
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE IFNULL(t2.x,0)=0;
+x	x	IFNULL(t2.x,0)	f(t2.x,0)
+NULL	NULL	0	0
+explain extended
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE IFNULL(t2.x,0)=0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`x` AS `x`,`test`.`t2`.`x` AS `x`,ifnull(`test`.`t2`.`x`,0) AS `IFNULL(t2.x,0)`,`f`(`test`.`t2`.`x`,0) AS `f(t2.x,0)` from `test`.`t` `t1` left join `test`.`t` `t2` on((`test`.`t2`.`x` = `test`.`t1`.`x`)) where (ifnull(`test`.`t2`.`x`,0) = 0)
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE f(t2.x,0)=0;
+x	x	IFNULL(t2.x,0)	f(t2.x,0)
+NULL	NULL	0	0
+explain extended
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE f(t2.x,0)=0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`x` AS `x`,`test`.`t2`.`x` AS `x`,ifnull(`test`.`t2`.`x`,0) AS `IFNULL(t2.x,0)`,`f`(`test`.`t2`.`x`,0) AS `f(t2.x,0)` from `test`.`t` `t1` left join `test`.`t` `t2` on((`test`.`t2`.`x` = `test`.`t1`.`x`)) where (`f`(`test`.`t2`.`x`,0) = 0)
+drop function f;
+drop table t;
+CREATE TABLE t1 (
+col1 DECIMAL(33,5) NULL DEFAULT NULL,
+col2 DECIMAL(33,5) NULL DEFAULT NULL
+);
+CREATE TABLE t2 (
+col1 DECIMAL(33,5) NULL DEFAULT NULL,
+col2 DECIMAL(33,5) NULL DEFAULT NULL,
+col3 DECIMAL(33,5) NULL DEFAULT NULL
+);
+INSERT INTO t1 VALUES (2, 1.1), (2, 2.1);
+INSERT INTO t2 VALUES (3, 3.1, 4), (1, 1, NULL);
+CREATE FUNCTION f1 ( p_num DECIMAL(45,15), p_return DECIMAL(45,15))
+RETURNS decimal(33,5)
+LANGUAGE SQL
+DETERMINISTIC
+CONTAINS SQL
+SQL SECURITY INVOKER
+BEGIN
+IF p_num IS NULL THEN
+RETURN p_return;
+ELSE
+RETURN p_num;
+END IF;
+END |
+SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE IFNULL(t2.col3,0) = 0;
+col1	col1	col3
+2.00000	NULL	NULL
+2.00000	NULL	NULL
+EXPLAIN EXTENDED SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE IFNULL(t2.col3,0) = 0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`col1` AS `col1`,`test`.`t2`.`col1` AS `col1`,`test`.`t2`.`col3` AS `col3` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`col2` = `test`.`t1`.`col1`)) where (ifnull(`test`.`t2`.`col3`,0) = 0)
+SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE f1(t2.col3,0) = 0;
+col1	col1	col3
+2.00000	NULL	NULL
+2.00000	NULL	NULL
+EXPLAIN EXTENDED SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE f1(t2.col3,0) = 0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`col1` AS `col1`,`test`.`t2`.`col1` AS `col1`,`test`.`t2`.`col3` AS `col3` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`col2` = `test`.`t1`.`col1`)) where (`f1`(`test`.`t2`.`col3`,0) = 0)
+DROP FUNCTION f1;
+DROP TABLE t1,t2;
+# end of 5.5 tests
 SET optimizer_switch=@save_optimizer_switch;
diff --git a/mysql-test/r/join_outer_jcl6.result b/mysql-test/r/join_outer_jcl6.result
index bdc4be0..8a1ccc7 100644
--- a/mysql-test/r/join_outer_jcl6.result
+++ b/mysql-test/r/join_outer_jcl6.result
@@ -2256,6 +2256,101 @@ SELECT * FROM t1 INNER JOIN t2 ON c = b LEFT JOIN t3 ON d = a
 WHERE b IN (1,2,3) OR b = d;
 a	b	c	d
 DROP TABLE t1,t2,t3;
+#
+# MDEV-11958: LEFT JOIN with stored routine produces incorrect result
+#
+CREATE TABLE t (x INT);
+INSERT INTO t VALUES(1),(NULL);
+CREATE FUNCTION f (val INT, ret INT) RETURNS INT DETERMINISTIC RETURN IFNULL(val, ret);
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE IFNULL(t2.x,0)=0;
+x	x	IFNULL(t2.x,0)	f(t2.x,0)
+NULL	NULL	0	0
+explain extended
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE IFNULL(t2.x,0)=0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
+Warnings:
+Note	1003	select `test`.`t1`.`x` AS `x`,`test`.`t2`.`x` AS `x`,ifnull(`test`.`t2`.`x`,0) AS `IFNULL(t2.x,0)`,`f`(`test`.`t2`.`x`,0) AS `f(t2.x,0)` from `test`.`t` `t1` left join `test`.`t` `t2` on((`test`.`t2`.`x` = `test`.`t1`.`x`)) where (ifnull(`test`.`t2`.`x`,0) = 0)
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE f(t2.x,0)=0;
+x	x	IFNULL(t2.x,0)	f(t2.x,0)
+NULL	NULL	0	0
+explain extended
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+FROM t t1 LEFT JOIN t t2
+ON t1.x = t2.x
+WHERE f(t2.x,0)=0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
+Warnings:
+Note	1003	select `test`.`t1`.`x` AS `x`,`test`.`t2`.`x` AS `x`,ifnull(`test`.`t2`.`x`,0) AS `IFNULL(t2.x,0)`,`f`(`test`.`t2`.`x`,0) AS `f(t2.x,0)` from `test`.`t` `t1` left join `test`.`t` `t2` on((`test`.`t2`.`x` = `test`.`t1`.`x`)) where (`f`(`test`.`t2`.`x`,0) = 0)
+drop function f;
+drop table t;
+CREATE TABLE t1 (
+col1 DECIMAL(33,5) NULL DEFAULT NULL,
+col2 DECIMAL(33,5) NULL DEFAULT NULL
+);
+CREATE TABLE t2 (
+col1 DECIMAL(33,5) NULL DEFAULT NULL,
+col2 DECIMAL(33,5) NULL DEFAULT NULL,
+col3 DECIMAL(33,5) NULL DEFAULT NULL
+);
+INSERT INTO t1 VALUES (2, 1.1), (2, 2.1);
+INSERT INTO t2 VALUES (3, 3.1, 4), (1, 1, NULL);
+CREATE FUNCTION f1 ( p_num DECIMAL(45,15), p_return DECIMAL(45,15))
+RETURNS decimal(33,5)
+LANGUAGE SQL
+DETERMINISTIC
+CONTAINS SQL
+SQL SECURITY INVOKER
+BEGIN
+IF p_num IS NULL THEN
+RETURN p_return;
+ELSE
+RETURN p_num;
+END IF;
+END |
+SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE IFNULL(t2.col3,0) = 0;
+col1	col1	col3
+2.00000	NULL	NULL
+2.00000	NULL	NULL
+EXPLAIN EXTENDED SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE IFNULL(t2.col3,0) = 0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
+Warnings:
+Note	1003	select `test`.`t1`.`col1` AS `col1`,`test`.`t2`.`col1` AS `col1`,`test`.`t2`.`col3` AS `col3` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`col2` = `test`.`t1`.`col1`)) where (ifnull(`test`.`t2`.`col3`,0) = 0)
+SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE f1(t2.col3,0) = 0;
+col1	col1	col3
+2.00000	NULL	NULL
+2.00000	NULL	NULL
+EXPLAIN EXTENDED SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE f1(t2.col3,0) = 0;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
+Warnings:
+Note	1003	select `test`.`t1`.`col1` AS `col1`,`test`.`t2`.`col1` AS `col1`,`test`.`t2`.`col3` AS `col3` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`col2` = `test`.`t1`.`col1`)) where (`f1`(`test`.`t2`.`col3`,0) = 0)
+DROP FUNCTION f1;
+DROP TABLE t1,t2;
+# end of 5.5 tests
 SET optimizer_switch=@save_optimizer_switch;
 set join_cache_level=default;
 show variables like 'join_cache_level';
diff --git a/mysql-test/r/limit_rows_examined.result b/mysql-test/r/limit_rows_examined.result
index a51798a..4e13e04 100644
--- a/mysql-test/r/limit_rows_examined.result
+++ b/mysql-test/r/limit_rows_examined.result
@@ -426,7 +426,7 @@ c1
 bb
 cc
 Warnings:
-Warning	1931	Query execution was interrupted. The query examined at least 18 rows, which exceeds LIMIT ROWS EXAMINED (16). The query result may be incomplete.
+Warning	1931	Query execution was interrupted. The query examined at least 17 rows, which exceeds LIMIT ROWS EXAMINED (16). The query result may be incomplete.
 select * from v1 LIMIT ROWS EXAMINED 11;
 c1
 bb
@@ -439,7 +439,8 @@ from (select * from t1
 where c1 IN (select * from t2 where c2 > ' ' LIMIT ROWS EXAMINED 0)) as tmp
 LIMIT ROWS EXAMINED 11;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	4	Using where
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	4	
+1	SIMPLE	<subquery3>	eq_ref	distinct_key	distinct_key	2	func	1	
 3	MATERIALIZED	t2	ALL	NULL	NULL	NULL	NULL	4	Using where
 select *
 from (select * from t1
diff --git a/mysql-test/r/loadxml.result b/mysql-test/r/loadxml.result
index 1128caf..250037f 100644
--- a/mysql-test/r/loadxml.result
+++ b/mysql-test/r/loadxml.result
@@ -5,10 +5,10 @@ load xml infile '../../std_data/loadxml.dat' into table t1
 rows identified by '<row>';
 select * from t1 order by a;
 a	b
-1	b1
-2	b2
-3	b3
-11	b11
+1	 b1
+2	  b2
+3	   b3
+11	           b11
 111	b111
 112	b112 & < > " ' &unknown; -- check entities
 212	b212
@@ -81,17 +81,17 @@ LOAD XML INFILE '../../std_data/loadxml.dat' INTO TABLE t1
 ROWS IDENTIFIED BY '<row>' (a, at b) SET b=concat('!', at b);
 SELECT * FROM t1 ORDER BY a;
 a	b
-1	!b1
-11	!b11
+1	! b1
+11	!           b11
 111	!b111
 112	!b112 & < > " ' &unknown; -- check entities
-2	!b2
+2	!  b2
 212	!b212
 213	!b213
 214	!b214
 215	!b215
 216	!&bb b;
-3	!b3
+3	!   b3
 DROP TABLE t1;
 #
 # Bug#16171518 LOAD XML DOES NOT HANDLE EMPTY ELEMENTS
diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result
index dd0129d..8a24128 100644
--- a/mysql-test/r/mysql.result
+++ b/mysql-test/r/mysql.result
@@ -529,3 +529,61 @@ a
 +-------------------+
 
 End of tests
+create table `a1\``b1` (a int);
+show tables;
+Tables_in_test
+a1\`b1
+insert `a1\``b1` values (1),(2);
+show create table `a1\``b1`;
+Table	Create Table
+a1\`b1	CREATE TABLE `a1\``b1` (
+  `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `a1\``b1` (
+  `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+INSERT INTO `a1\``b1` VALUES (1),(2);
+insert `a1\``b1` values (4),(5);
+show create table `a1\``b1`;
+Table	Create Table
+a1\`b1	CREATE TABLE `a1\``b1` (
+  `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select * from `a1\``b1`;
+a
+1
+2
+drop table `a1\``b1`;
+set sql_mode=ansi_quotes;
+create table "a1\""b1" (a int);
+show tables;
+Tables_in_test
+a1\"b1
+insert "a1\""b1" values (1),(2);
+show create table "a1\""b1";
+Table	Create Table
+a1\"b1	CREATE TABLE "a1\""b1" (
+  "a" int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE "a1\""b1" (
+  "a" int(11) DEFAULT NULL
+);
+/*!40101 SET character_set_client = @saved_cs_client */;
+INSERT INTO "a1\""b1" VALUES (1),(2);
+insert "a1\""b1" values (4),(5);
+show create table "a1\""b1";
+Table	Create Table
+a1\"b1	CREATE TABLE "a1\""b1" (
+  "a" int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+select * from "a1\""b1";
+a
+1
+2
+drop table "a1\""b1";
+set sql_mode=default;
diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index 0ebef58..9800aed 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -957,4 +957,9 @@ con1
 con2
 con2
 -closed_connection-
+set sql_mode=no_backslash_escapes;
+select "foo\""bar";
+foo\"bar
+foo\"bar
+set sql_mode=default;
 End of tests
diff --git a/mysql-test/r/read_only.result b/mysql-test/r/read_only.result
index 1ffe2b8..807dc42 100644
--- a/mysql-test/r/read_only.result
+++ b/mysql-test/r/read_only.result
@@ -30,6 +30,8 @@ create temporary table t3 (a int);
 create temporary table t4 (a int) select * from t3;
 insert into t3 values(1);
 insert into t4 select * from t3;
+create table t3 (a int);
+ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
 update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a;
 ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
 update t1,t3 set t3.a=t1.a+1 where t1.a=t3.a;
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result
index 789cfe2..8fc9cd3 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -7116,3 +7116,33 @@ SELECT * FROM t1 WHERE f2 <= SOME ( SELECT f1 FROM t1 );
 f1	f2
 foo	bar
 DROP TABLE t1;
+#
+# MDEV-10146: Wrong result (or questionable result and behavior)
+# with aggregate function in uncorrelated SELECT subquery
+#
+CREATE TABLE t1 (f1 INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (f2 int);
+INSERT INTO t2 VALUES (3);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+( SELECT MAX(f1) FROM t2 )
+2
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+( SELECT MAX(f1) FROM t2 )
+2
+INSERT INTO t2 VALUES (4);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+ERROR 21000: Subquery returns more than 1 row
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+ERROR 21000: Subquery returns more than 1 row
+drop view v1;
+drop table t1,t2;
+CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
+INSERT t1 VALUES (4),(8);
+CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
+INSERT t2 VALUES (6),(9);
+SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
+(SELECT MAX(sq.f2) FROM t1)
+NULL
+drop table t1, t2;
diff --git a/mysql-test/r/subselect_mat.result b/mysql-test/r/subselect_mat.result
index ffa37b0..d4dc519 100644
--- a/mysql-test/r/subselect_mat.result
+++ b/mysql-test/r/subselect_mat.result
@@ -2272,6 +2272,94 @@ pk	f1	sq
 5	3	5
 set optimizer_switch= @save_optimizer_switch;
 DROP TABLE t1,t2;
+#
+# mdev-12838: scan of materialized of semi-join subquery in join
+#
+set @save_optimizer_switch=@@optimizer_switch;
+CREATE TABLE t1 (
+dispatch_group varchar(32),
+assignment_group varchar(32),
+sys_id char(32),
+PRIMARY KEY (sys_id),
+KEY idx1 (dispatch_group),
+KEY idx2 (assignment_group)
+) ENGINE=MyISAM;
+CREATE TABLE t2 (
+ugroup varchar(32),
+user varchar(32),
+sys_id char(32),
+PRIMARY KEY (sys_id),
+KEY idx3 (ugroup),
+KEY idx4 (user)
+) ENGINE=MyISAM;
+CREATE TABLE t3 (
+type mediumtext,
+sys_id char(32),
+PRIMARY KEY (sys_id)
+) ENGINE=MyISAM;
+set optimizer_switch='materialization=off';
+explain SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t2	ref	idx3,idx4	idx4	35	const	2	Using index condition; Using where; Start temporary
+1	PRIMARY	t3_i	eq_ref	PRIMARY	PRIMARY	32	test.t2.ugroup	1	Using index condition; Using where
+1	PRIMARY	t1	ref	idx1,idx2	idx1	35	test.t3_i.sys_id	2	Using index condition; Using where; End temporary
+1	PRIMARY	t3	eq_ref	PRIMARY	PRIMARY	32	test.t1.assignment_group	1	Using where; Using index
+SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+assignment_group
+df50316637232000158bbfc8bcbe5d23
+e08fad2637232000158bbfc8bcbe5d39
+ec70316637232000158bbfc8bcbe5d60
+7b10fd2637232000158bbfc8bcbe5d30
+ebb4620037332000158bbfc8bcbe5d89
+set optimizer_switch='materialization=on';
+explain SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	<subquery2>	ALL	distinct_key	NULL	NULL	NULL	2	
+1	PRIMARY	t1	ref	idx1,idx2	idx1	35	test.t2.ugroup	2	Using where
+1	PRIMARY	t3	eq_ref	PRIMARY	PRIMARY	32	test.t1.assignment_group	1	Using where; Using index
+2	MATERIALIZED	t2	ref	idx3,idx4	idx4	35	const	2	Using index condition; Using where
+2	MATERIALIZED	t3_i	eq_ref	PRIMARY	PRIMARY	32	test.t2.ugroup	1	Using index condition; Using where
+SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+assignment_group
+df50316637232000158bbfc8bcbe5d23
+e08fad2637232000158bbfc8bcbe5d39
+ec70316637232000158bbfc8bcbe5d60
+7b10fd2637232000158bbfc8bcbe5d30
+ebb4620037332000158bbfc8bcbe5d89
+DROP TABLE t1,t2,t3;
+set optimizer_switch=@save_optimizer_switch;
 # End of 5.5 tests
 set @subselect_mat_test_optimizer_switch_value=null;
 set @@optimizer_switch='materialization=on,in_to_exists=off,semijoin=off';
diff --git a/mysql-test/r/subselect_mat_cost_bugs.result b/mysql-test/r/subselect_mat_cost_bugs.result
index 2464015..57b0526 100644
--- a/mysql-test/r/subselect_mat_cost_bugs.result
+++ b/mysql-test/r/subselect_mat_cost_bugs.result
@@ -379,6 +379,7 @@ drop table t3, t4, t5;
 #
 # LP BUG#858038 The result of a query with NOT IN subquery depends on the state of the optimizer switch
 #
+set @optimizer_switch_save= @@optimizer_switch;
 create table t1 (c1 char(2) not null, c2 char(2));
 create table t2 (c3 char(2),          c4 char(2));
 insert into t1 values ('a1', 'b1');
@@ -400,3 +401,104 @@ id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 select * from t1 where c1 = 'a2' and (c1, c2) not in (select * from t2);
 c1	c2
 drop table t1, t2;
+set optimizer_switch= @optimizer_switch_save;
+#
+# MDEV-12673: cost-based choice between materialization and in-to-exists
+#
+CREATE TABLE t1 (
+pk1 int, a1 varchar(3), b1 varchar(3), PRIMARY KEY (pk1), KEY(a1), KEY(b1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,'foo','bar'),(2,'bar','foo');
+CREATE TABLE t2 (pk2 INT PRIMARY KEY, a2 VARCHAR(3), KEY(a2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,'abc'),(2,'xyz'),(3,'foo');
+SELECT 'qux' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 );
+'qux' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 )
+0
+SELECT 'bar' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 );
+'bar' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 )
+1
+EXPLAIN 
+SELECT 'bar' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 );
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
+2	SUBQUERY	t2	const	PRIMARY,a2	PRIMARY	4	const	1	
+2	SUBQUERY	t1	ref	a1,b1	b1	6	const	1	Using where
+DROP TABLE t1,t2;
+CREATE TABLE t1 (i1 INT) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1);
+CREATE TABLE t2 (i2 int, c2 varchar(3), KEY(i2,c2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,'abc'),(2,'foo');
+CREATE TABLE t3 (pk3 int PRIMARY KEY, c3 varchar(3)) ENGINE=MyISAM;
+INSERT INTO t3 VALUES (1,'foo'),(2,'bar');
+SELECT * FROM t1 WHERE i1 NOT IN ( 
+SELECT i2 FROM t2 RIGHT JOIN t3 ON (c3 = c2) WHERE pk3 = i1 
+);
+i1
+1
+EXPLAIN
+SELECT * FROM t1 WHERE i1 NOT IN ( 
+SELECT i2 FROM t2 RIGHT JOIN t3 ON (c3 = c2) WHERE pk3 = i1 
+);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	system	NULL	NULL	NULL	NULL	1	
+2	DEPENDENT SUBQUERY	t3	const	PRIMARY	PRIMARY	4	const	1	
+2	DEPENDENT SUBQUERY	t2	index	NULL	i2	11	NULL	2	Using where; Using index
+DROP TABLE t1,t2,t3;
+#
+# MDEV-7599: in-to-exists chosen after min/max optimization
+#
+set @optimizer_switch_save= @@optimizer_switch;
+CREATE TABLE t1 (a INT, KEY(a)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (b INT, c INT) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,6),(2,4), (8,9);
+SELECT * FROM t2 WHERE b != ALL (SELECT MIN(a) FROM t1, t2 WHERE t2.c = t2.b);
+b	c
+EXPLAIN EXTENDED SELECT * FROM t2 WHERE b != ALL (SELECT MIN(a) FROM t1, t2 WHERE t2.c = t2.b);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where
+2	MATERIALIZED	t1	index	NULL	a	5	NULL	2	100.00	Using index
+2	MATERIALIZED	t2	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where; Using join buffer (flat, BNL join)
+Warnings:
+Note	1003	select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where (not(<expr_cache><`test`.`t2`.`b`>(<in_optimizer>(`test`.`t2`.`b`,`test`.`t2`.`b` in ( <materialize> (select min(`test`.`t1`.`a`) from `test`.`t1` join `test`.`t2` where (`test`.`t2`.`c` = `test`.`t2`.`b`) ), <primary_index_lookup>(`test`.`t2`.`b` in <temporary table> on distinct_key where ((`test`.`t2`.`b` = `<subquery2>`.`MIN(a)`))))))))
+set optimizer_switch= 'materialization=off';
+SELECT * FROM t2 WHERE b != ALL (SELECT MIN(a) FROM t1, t2 WHERE t2.c = t2.b);
+b	c
+EXPLAIN EXTENDED SELECT * FROM t2 WHERE b != ALL (SELECT MIN(a) FROM t1, t2 WHERE t2.c = t2.b);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where
+2	DEPENDENT SUBQUERY	t1	index	NULL	a	5	NULL	2	100.00	Using index
+2	DEPENDENT SUBQUERY	t2	ALL	NULL	NULL	NULL	NULL	3	100.00	Using where; Using join buffer (flat, BNL join)
+Warnings:
+Note	1003	select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where (not(<expr_cache><`test`.`t2`.`b`>(<in_optimizer>(`test`.`t2`.`b`,<exists>(select min(`test`.`t1`.`a`) from `test`.`t1` join `test`.`t2` where (`test`.`t2`.`c` = `test`.`t2`.`b`) having trigcond((<cache>(`test`.`t2`.`b`) = <ref_null_helper>(min(`test`.`t1`.`a`)))))))))
+set optimizer_switch= @optimizer_switch_save;
+DROP TABLE t1,t2;
+CREATE TABLE t1 (f1 varchar(10)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('foo'),('bar');
+CREATE TABLE t2 (f2 varchar(10), key(f2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES ('baz'),('qux');
+CREATE TABLE t3 (f3 varchar(10)) ENGINE=MyISAM;
+INSERT INTO t3 VALUES ('abc'),('def');
+SELECT * FROM t1
+WHERE f1 = ALL( SELECT MAX(t2a.f2)
+FROM t2 AS t2a INNER JOIN t2 t2b INNER JOIN t3
+ON (f3 = t2b.f2) );
+f1
+DROP TABLE t1,t2,t3;
+#
+# MDEV-12963: min/max optimization optimizing away all tables employed
+#             for uncorrelated IN subquery used in a disjunct of WHERE
+#
+create table t1 (a int, index idx(a)) engine=myisam;
+insert into t1 values (4),(7),(1),(3),(9);
+select * from t1 where a in (select max(a) from t1 where a < 4) or a > 5;
+a
+3
+7
+9
+explain
+select * from t1 where a in (select max(a) from t1 where a < 4) or a > 5;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	index	idx	idx	5	NULL	5	Using where; Using index
+2	DEPENDENT SUBQUERY	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
+drop table t1;
diff --git a/mysql-test/r/subselect_no_mat.result b/mysql-test/r/subselect_no_mat.result
index c729c17..a71df97 100644
--- a/mysql-test/r/subselect_no_mat.result
+++ b/mysql-test/r/subselect_no_mat.result
@@ -7113,6 +7113,36 @@ SELECT * FROM t1 WHERE f2 <= SOME ( SELECT f1 FROM t1 );
 f1	f2
 foo	bar
 DROP TABLE t1;
+#
+# MDEV-10146: Wrong result (or questionable result and behavior)
+# with aggregate function in uncorrelated SELECT subquery
+#
+CREATE TABLE t1 (f1 INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (f2 int);
+INSERT INTO t2 VALUES (3);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+( SELECT MAX(f1) FROM t2 )
+2
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+( SELECT MAX(f1) FROM t2 )
+2
+INSERT INTO t2 VALUES (4);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+ERROR 21000: Subquery returns more than 1 row
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+ERROR 21000: Subquery returns more than 1 row
+drop view v1;
+drop table t1,t2;
+CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
+INSERT t1 VALUES (4),(8);
+CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
+INSERT t2 VALUES (6),(9);
+SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
+(SELECT MAX(sq.f2) FROM t1)
+NULL
+drop table t1, t2;
 set optimizer_switch=default;
 select @@optimizer_switch like '%materialization=on%';
 @@optimizer_switch like '%materialization=on%'
diff --git a/mysql-test/r/subselect_no_opts.result b/mysql-test/r/subselect_no_opts.result
index dc308ea..2f8c67f 100644
--- a/mysql-test/r/subselect_no_opts.result
+++ b/mysql-test/r/subselect_no_opts.result
@@ -7111,4 +7111,34 @@ SELECT * FROM t1 WHERE f2 <= SOME ( SELECT f1 FROM t1 );
 f1	f2
 foo	bar
 DROP TABLE t1;
+#
+# MDEV-10146: Wrong result (or questionable result and behavior)
+# with aggregate function in uncorrelated SELECT subquery
+#
+CREATE TABLE t1 (f1 INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (f2 int);
+INSERT INTO t2 VALUES (3);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+( SELECT MAX(f1) FROM t2 )
+2
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+( SELECT MAX(f1) FROM t2 )
+2
+INSERT INTO t2 VALUES (4);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+ERROR 21000: Subquery returns more than 1 row
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+ERROR 21000: Subquery returns more than 1 row
+drop view v1;
+drop table t1,t2;
+CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
+INSERT t1 VALUES (4),(8);
+CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
+INSERT t2 VALUES (6),(9);
+SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
+(SELECT MAX(sq.f2) FROM t1)
+NULL
+drop table t1, t2;
 set @optimizer_switch_for_subselect_test=null;
diff --git a/mysql-test/r/subselect_no_scache.result b/mysql-test/r/subselect_no_scache.result
index e7c85c1..8dda0a4 100644
--- a/mysql-test/r/subselect_no_scache.result
+++ b/mysql-test/r/subselect_no_scache.result
@@ -7122,6 +7122,36 @@ SELECT * FROM t1 WHERE f2 <= SOME ( SELECT f1 FROM t1 );
 f1	f2
 foo	bar
 DROP TABLE t1;
+#
+# MDEV-10146: Wrong result (or questionable result and behavior)
+# with aggregate function in uncorrelated SELECT subquery
+#
+CREATE TABLE t1 (f1 INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (f2 int);
+INSERT INTO t2 VALUES (3);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+( SELECT MAX(f1) FROM t2 )
+2
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+( SELECT MAX(f1) FROM t2 )
+2
+INSERT INTO t2 VALUES (4);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+ERROR 21000: Subquery returns more than 1 row
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+ERROR 21000: Subquery returns more than 1 row
+drop view v1;
+drop table t1,t2;
+CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
+INSERT t1 VALUES (4),(8);
+CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
+INSERT t2 VALUES (6),(9);
+SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
+(SELECT MAX(sq.f2) FROM t1)
+NULL
+drop table t1, t2;
 set optimizer_switch=default;
 select @@optimizer_switch like '%subquery_cache=on%';
 @@optimizer_switch like '%subquery_cache=on%'
diff --git a/mysql-test/r/subselect_no_semijoin.result b/mysql-test/r/subselect_no_semijoin.result
index b6261f0..339e2b8 100644
--- a/mysql-test/r/subselect_no_semijoin.result
+++ b/mysql-test/r/subselect_no_semijoin.result
@@ -7111,5 +7111,35 @@ SELECT * FROM t1 WHERE f2 <= SOME ( SELECT f1 FROM t1 );
 f1	f2
 foo	bar
 DROP TABLE t1;
+#
+# MDEV-10146: Wrong result (or questionable result and behavior)
+# with aggregate function in uncorrelated SELECT subquery
+#
+CREATE TABLE t1 (f1 INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (f2 int);
+INSERT INTO t2 VALUES (3);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+( SELECT MAX(f1) FROM t2 )
+2
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+( SELECT MAX(f1) FROM t2 )
+2
+INSERT INTO t2 VALUES (4);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+ERROR 21000: Subquery returns more than 1 row
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+ERROR 21000: Subquery returns more than 1 row
+drop view v1;
+drop table t1,t2;
+CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
+INSERT t1 VALUES (4),(8);
+CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
+INSERT t2 VALUES (6),(9);
+SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
+(SELECT MAX(sq.f2) FROM t1)
+NULL
+drop table t1, t2;
 set @optimizer_switch_for_subselect_test=null;
 set @join_cache_level_for_subselect_test=NULL;
diff --git a/mysql-test/r/subselect_nulls.result b/mysql-test/r/subselect_nulls.result
index 584c184..0898237 100644
--- a/mysql-test/r/subselect_nulls.result
+++ b/mysql-test/r/subselect_nulls.result
@@ -115,3 +115,9 @@ k	d1	d2
 set optimizer_switch= @tmp_subselect_nulls;
 drop table x1;
 drop table x2;
+select (select 1, 2) in (select 3, 4);
+(select 1, 2) in (select 3, 4)
+0
+select (select NULL, NULL) in (select 3, 4);
+(select NULL, NULL) in (select 3, 4)
+NULL
diff --git a/mysql-test/r/subselect_sj.result b/mysql-test/r/subselect_sj.result
index 50a70a6..7438414 100644
--- a/mysql-test/r/subselect_sj.result
+++ b/mysql-test/r/subselect_sj.result
@@ -1650,9 +1650,9 @@ CREATE VIEW v1 AS SELECT 1;
 EXPLAIN
 SELECT * FROM t1 INNER JOIN t2 ON t2.a != 0 AND t2.a IN (SELECT * FROM v1);
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	<derived3>	system	NULL	NULL	NULL	NULL	1	
 1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	2	
 1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	2	Using where; Using join buffer (flat, BNL join)
-2	MATERIALIZED	<derived3>	system	NULL	NULL	NULL	NULL	1	
 3	DERIVED	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
 SELECT * FROM t1 INNER JOIN t2 ON t2.a != 0 AND t2.a IN (SELECT * FROM v1);
 a	a
@@ -3060,4 +3060,97 @@ project_number
 aaa
 drop table t1, t2, t3;
 set optimizer_switch= @tmp_mdev6859;
+#
+# MDEV-12675: subquery subject to semi-join optimizations  
+#             in ON expression of INNER JOIN
+#
+set @tmp_mdev12675=@@optimizer_switch;
+set optimizer_switch=default;
+create table t1 (a int) engine=myisam;
+insert into t1  values (5),(3),(2),(7),(2),(5),(1);
+create table t2 (b int, index idx(b)) engine=myisam;
+insert into t2 values (2),(3),(2),(1),(3),(4);
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+analyze table t1,t2;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	OK
+test.t2	analyze	status	OK
+explain
+select a from t1, t2 where b between 1 and 2 and a in (select b from t2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	PRIMARY	t2	ref	idx	idx	5	test.t1.a	256	Using index; FirstMatch(t1)
+1	PRIMARY	t2	range	idx	idx	5	NULL	2	Using where; Using index; Using join buffer (flat, BNL join)
+explain 
+select a from t1 join t2 on b between 1 and 2 and a in (select b from t2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	PRIMARY	t2	ref	idx	idx	5	test.t1.a	256	Using index; FirstMatch(t1)
+1	PRIMARY	t2	range	idx	idx	5	NULL	2	Using where; Using index; Using join buffer (flat, BNL join)
+drop table t1,t2;
+set optimizer_switch= @tmp_mdev12675;
+#
+# MDEV-12817: subquery NOT subject to semi-join optimizations  
+#             in ON expression of INNER JOIN
+#
+CREATE TABLE t1 (c1 int) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (c2 int) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (3),(4);
+CREATE TABLE t3 (c3 int) ENGINE=MyISAM;
+INSERT INTO t3 VALUES (5),(6);
+CREATE TABLE t4 (c4 int) ENGINE=MyISAM;
+INSERT INTO t4 VALUES (7),(8);
+SELECT c1 
+FROM t1 
+LEFT JOIN
+( t2 INNER JOIN t3 ON ( 1 IN ( SELECT c4 FROM t4 ) ) )
+ON (c1 = c3);
+c1
+1
+2
+EXPLAIN EXTENDED SELECT c1 
+FROM t1 
+LEFT JOIN
+( t2 INNER JOIN t3 ON ( 1 IN ( SELECT c4 FROM t4 ) ) )
+ON (c1 = c3);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+1	PRIMARY	t3	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+2	SUBQUERY	t4	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`c1` AS `c1` from `test`.`t1` left join (`test`.`t2` join `test`.`t3`) on(((`test`.`t3`.`c3` = `test`.`t1`.`c1`) and <cache>(<in_optimizer>(1,<exists>(select `test`.`t4`.`c4` from `test`.`t4` where (1 = `test`.`t4`.`c4`)))))) where 1
+# mdev-12820
+SELECT *
+FROM t1
+LEFT JOIN
+( ( SELECT * FROM t2 WHERE c2 IN ( SELECT c3 FROM t3 ) ) AS sq INNER JOIN t4 )
+ON (c1 = c2);
+c1	c2	c4
+1	NULL	NULL
+2	NULL	NULL
+EXPLAIN EXTENDED SELECT *
+FROM t1
+LEFT JOIN
+( ( SELECT * FROM t2 WHERE c2 IN ( SELECT c3 FROM t3 ) ) AS sq INNER JOIN t4 )
+ON (c1 = c2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+1	SIMPLE	t4	ALL	NULL	NULL	NULL	NULL	2	100.00	
+3	DEPENDENT SUBQUERY	t3	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`c1` AS `c1`,`test`.`t2`.`c2` AS `c2`,`test`.`t4`.`c4` AS `c4` from `test`.`t1` left join (`test`.`t2` join `test`.`t4`) on(((`test`.`t2`.`c2` = `test`.`t1`.`c1`) and <in_optimizer>(`test`.`t1`.`c1`,<exists>(select `test`.`t3`.`c3` from `test`.`t3` where (<cache>(`test`.`t2`.`c2`) = `test`.`t3`.`c3`))))) where 1
+DROP TABLE t1,t2,t3,t4;
 set optimizer_switch=@subselect_sj_tmp;
diff --git a/mysql-test/r/subselect_sj2_mat.result b/mysql-test/r/subselect_sj2_mat.result
index 4e75aee..835742a 100644
--- a/mysql-test/r/subselect_sj2_mat.result
+++ b/mysql-test/r/subselect_sj2_mat.result
@@ -1556,3 +1556,48 @@ i1
 DROP TABLE t1,t2,t3;
 set join_cache_level= @save_join_cache_level;
 set optimizer_switch=@save_optimizer_switch;
+#
+# mdev-7791: materialization of a semi-join subquery +
+#            RAND() in WHERE
+#            (materialized table is accessed last)
+#
+set @save_optimizer_switch=@@optimizer_switch;
+set optimizer_switch='materialization=on';
+create table t1(i int);
+insert into t1 values (1), (2), (3), (7), (9), (10);
+create table t2(i int);
+insert into t2 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+select * from t1 where (rand() < 0) and i in (select i from t2);
+i
+explain extended
+select * from t1 where (rand() < 0) and i in (select i from t2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	6	100.00	Using where
+1	PRIMARY	<subquery2>	eq_ref	distinct_key	distinct_key	4	func	1	100.00	
+2	MATERIALIZED	t2	ALL	NULL	NULL	NULL	NULL	10	100.00	
+Warnings:
+Note	1003	select `test`.`t1`.`i` AS `i` from `test`.`t1` semi join (`test`.`t2`) where ((rand() < 0))
+drop table t1,t2;
+set optimizer_switch=@save_optimizer_switch;
+#
+# mdev-12855: materialization of a semi-join subquery + ORDER BY 
+#
+CREATE TABLE t1 (f1 varchar(8), KEY(f1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('qux'),('foo');
+CREATE TABLE t2 (f2 varchar(8)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES ('bar'),('foo'),('qux');
+SELECT f1 FROM t1 
+WHERE f1 IN ( SELECT f2 FROM t2 WHERE f2 > 'bar' )
+HAVING f1 != 'foo'
+ORDER BY f1;
+f1
+qux
+explain SELECT f1 FROM t1 
+WHERE f1 IN ( SELECT f2 FROM t2 WHERE f2 > 'bar' )
+HAVING f1 != 'foo'
+ORDER BY f1;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	index	f1	f1	11	NULL	2	Using index
+1	PRIMARY	<subquery2>	eq_ref	distinct_key	distinct_key	11	func	1	
+2	MATERIALIZED	t2	ALL	NULL	NULL	NULL	NULL	3	Using where
+DROP TABLE t1,t2;
diff --git a/mysql-test/r/subselect_sj_jcl6.result b/mysql-test/r/subselect_sj_jcl6.result
index ccf348f..47dbdd7 100644
--- a/mysql-test/r/subselect_sj_jcl6.result
+++ b/mysql-test/r/subselect_sj_jcl6.result
@@ -1663,9 +1663,9 @@ CREATE VIEW v1 AS SELECT 1;
 EXPLAIN
 SELECT * FROM t1 INNER JOIN t2 ON t2.a != 0 AND t2.a IN (SELECT * FROM v1);
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	<derived3>	system	NULL	NULL	NULL	NULL	1	
 1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	2	
 1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	2	Using where; Using join buffer (flat, BNL join)
-2	MATERIALIZED	<derived3>	system	NULL	NULL	NULL	NULL	1	
 3	DERIVED	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
 SELECT * FROM t1 INNER JOIN t2 ON t2.a != 0 AND t2.a IN (SELECT * FROM v1);
 a	a
@@ -3074,6 +3074,99 @@ project_number
 aaa
 drop table t1, t2, t3;
 set optimizer_switch= @tmp_mdev6859;
+#
+# MDEV-12675: subquery subject to semi-join optimizations  
+#             in ON expression of INNER JOIN
+#
+set @tmp_mdev12675=@@optimizer_switch;
+set optimizer_switch=default;
+create table t1 (a int) engine=myisam;
+insert into t1  values (5),(3),(2),(7),(2),(5),(1);
+create table t2 (b int, index idx(b)) engine=myisam;
+insert into t2 values (2),(3),(2),(1),(3),(4);
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+analyze table t1,t2;
+Table	Op	Msg_type	Msg_text
+test.t1	analyze	status	OK
+test.t2	analyze	status	OK
+explain
+select a from t1, t2 where b between 1 and 2 and a in (select b from t2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	PRIMARY	t2	ref	idx	idx	5	test.t1.a	256	Using index; FirstMatch(t1)
+1	PRIMARY	t2	range	idx	idx	5	NULL	2	Using where; Using index; Using join buffer (flat, BNL join)
+explain 
+select a from t1 join t2 on b between 1 and 2 and a in (select b from t2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	7	Using where
+1	PRIMARY	t2	ref	idx	idx	5	test.t1.a	256	Using index; FirstMatch(t1)
+1	PRIMARY	t2	range	idx	idx	5	NULL	2	Using where; Using index; Using join buffer (flat, BNL join)
+drop table t1,t2;
+set optimizer_switch= @tmp_mdev12675;
+#
+# MDEV-12817: subquery NOT subject to semi-join optimizations  
+#             in ON expression of INNER JOIN
+#
+CREATE TABLE t1 (c1 int) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (c2 int) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (3),(4);
+CREATE TABLE t3 (c3 int) ENGINE=MyISAM;
+INSERT INTO t3 VALUES (5),(6);
+CREATE TABLE t4 (c4 int) ENGINE=MyISAM;
+INSERT INTO t4 VALUES (7),(8);
+SELECT c1 
+FROM t1 
+LEFT JOIN
+( t2 INNER JOIN t3 ON ( 1 IN ( SELECT c4 FROM t4 ) ) )
+ON (c1 = c3);
+c1
+1
+2
+EXPLAIN EXTENDED SELECT c1 
+FROM t1 
+LEFT JOIN
+( t2 INNER JOIN t3 ON ( 1 IN ( SELECT c4 FROM t4 ) ) )
+ON (c1 = c3);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	PRIMARY	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	PRIMARY	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
+1	PRIMARY	t3	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (incremental, BNL join)
+2	SUBQUERY	t4	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`c1` AS `c1` from `test`.`t1` left join (`test`.`t2` join `test`.`t3`) on(((`test`.`t3`.`c3` = `test`.`t1`.`c1`) and <cache>(<in_optimizer>(1,<exists>(select `test`.`t4`.`c4` from `test`.`t4` where (1 = `test`.`t4`.`c4`)))))) where 1
+# mdev-12820
+SELECT *
+FROM t1
+LEFT JOIN
+( ( SELECT * FROM t2 WHERE c2 IN ( SELECT c3 FROM t3 ) ) AS sq INNER JOIN t4 )
+ON (c1 = c2);
+c1	c2	c4
+1	NULL	NULL
+2	NULL	NULL
+EXPLAIN EXTENDED SELECT *
+FROM t1
+LEFT JOIN
+( ( SELECT * FROM t2 WHERE c2 IN ( SELECT c3 FROM t3 ) ) AS sq INNER JOIN t4 )
+ON (c1 = c2);
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
+1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	2	100.00	
+1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where; Using join buffer (flat, BNL join)
+1	SIMPLE	t4	ALL	NULL	NULL	NULL	NULL	2	100.00	Using join buffer (incremental, BNL join)
+3	DEPENDENT SUBQUERY	t3	ALL	NULL	NULL	NULL	NULL	2	100.00	Using where
+Warnings:
+Note	1003	select `test`.`t1`.`c1` AS `c1`,`test`.`t2`.`c2` AS `c2`,`test`.`t4`.`c4` AS `c4` from `test`.`t1` left join (`test`.`t2` join `test`.`t4`) on(((`test`.`t2`.`c2` = `test`.`t1`.`c1`) and <in_optimizer>(`test`.`t1`.`c1`,<exists>(select `test`.`t3`.`c3` from `test`.`t3` where (<cache>(`test`.`t2`.`c2`) = `test`.`t3`.`c3`))))) where 1
+DROP TABLE t1,t2,t3,t4;
 set optimizer_switch=@subselect_sj_tmp;
 #
 # BUG#49129: Wrong result with IN-subquery with join_cache_level=6 and firstmatch=off
diff --git a/mysql-test/r/subselect_sj_mat.result b/mysql-test/r/subselect_sj_mat.result
index 47f578f..cb5012a 100644
--- a/mysql-test/r/subselect_sj_mat.result
+++ b/mysql-test/r/subselect_sj_mat.result
@@ -2312,4 +2312,92 @@ pk	f1	sq
 5	3	5
 set optimizer_switch= @save_optimizer_switch;
 DROP TABLE t1,t2;
+#
+# mdev-12838: scan of materialized of semi-join subquery in join
+#
+set @save_optimizer_switch=@@optimizer_switch;
+CREATE TABLE t1 (
+dispatch_group varchar(32),
+assignment_group varchar(32),
+sys_id char(32),
+PRIMARY KEY (sys_id),
+KEY idx1 (dispatch_group),
+KEY idx2 (assignment_group)
+) ENGINE=MyISAM;
+CREATE TABLE t2 (
+ugroup varchar(32),
+user varchar(32),
+sys_id char(32),
+PRIMARY KEY (sys_id),
+KEY idx3 (ugroup),
+KEY idx4 (user)
+) ENGINE=MyISAM;
+CREATE TABLE t3 (
+type mediumtext,
+sys_id char(32),
+PRIMARY KEY (sys_id)
+) ENGINE=MyISAM;
+set optimizer_switch='materialization=off';
+explain SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	t2	ref	idx3,idx4	idx4	35	const	2	Using index condition; Using where; Start temporary
+1	PRIMARY	t3_i	eq_ref	PRIMARY	PRIMARY	32	test.t2.ugroup	1	Using index condition; Using where
+1	PRIMARY	t1	ref	idx1,idx2	idx1	35	test.t3_i.sys_id	2	Using index condition; Using where; End temporary
+1	PRIMARY	t3	eq_ref	PRIMARY	PRIMARY	32	test.t1.assignment_group	1	Using where; Using index
+SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+assignment_group
+df50316637232000158bbfc8bcbe5d23
+e08fad2637232000158bbfc8bcbe5d39
+ec70316637232000158bbfc8bcbe5d60
+7b10fd2637232000158bbfc8bcbe5d30
+ebb4620037332000158bbfc8bcbe5d89
+set optimizer_switch='materialization=on';
+explain SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	PRIMARY	<subquery2>	ALL	distinct_key	NULL	NULL	NULL	2	
+1	PRIMARY	t1	ref	idx1,idx2	idx1	35	test.t2.ugroup	2	Using where
+1	PRIMARY	t3	eq_ref	PRIMARY	PRIMARY	32	test.t1.assignment_group	1	Using where; Using index
+2	MATERIALIZED	t2	ref	idx3,idx4	idx4	35	const	2	Using index condition; Using where
+2	MATERIALIZED	t3_i	eq_ref	PRIMARY	PRIMARY	32	test.t2.ugroup	1	Using index condition; Using where
+SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+t1.dispatch_group IN
+(SELECT t2.ugroup
+FROM t2, t3 t3_i
+WHERE t2.ugroup = t3_i.sys_id AND 
+t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+assignment_group
+df50316637232000158bbfc8bcbe5d23
+e08fad2637232000158bbfc8bcbe5d39
+ec70316637232000158bbfc8bcbe5d60
+7b10fd2637232000158bbfc8bcbe5d30
+ebb4620037332000158bbfc8bcbe5d89
+DROP TABLE t1,t2,t3;
+set optimizer_switch=@save_optimizer_switch;
 # End of 5.5 tests
diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result
index 5a6cd89..fe2339d 100644
--- a/mysql-test/r/union.result
+++ b/mysql-test/r/union.result
@@ -1978,3 +1978,21 @@ d
 2016-06-04 00:00:00
 drop table t1;
 End of 5.0 tests
+create table t1 (a int, b int);
+insert into t1 values (1,1),(2,2),(3,3);
+create table t2 (c varchar(30), d varchar(30));
+insert into t1 values ('1','1'),('2','2'),('4','4');
+create table t3 (e int, f int);
+insert into t3 values (1,1),(2,2),(31,31),(32,32);
+select e,f, (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3;
+e	f	sub
+1	1	1
+2	2	1
+31	31	0
+32	32	0
+select avg(f), (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3 group by sub;
+avg(f)	sub
+31.5000	0
+1.5000	1
+drop table t1,t2,t3;
+End of 5.5 tests
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result
index 414de56..0f8e999 100644
--- a/mysql-test/r/view.result
+++ b/mysql-test/r/view.result
@@ -5618,6 +5618,20 @@ Warnings:
 Note	1003	select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`c` AS `c`,`test`.`t2`.`d` AS `d`,`test`.`t3`.`e` AS `e`,`test`.`t3`.`f` AS `f` from `test`.`t1` left join (`test`.`t2` join `test`.`t3`) on(((`test`.`t2`.`c` = `test`.`t1`.`b`) and (`test`.`t3`.`f` = `test`.`t1`.`a`) and (`test`.`t2`.`d` = `test`.`t3`.`e`) and (`test`.`t1`.`a` is not null) and (`test`.`t1`.`a` is not null) and (`test`.`t1`.`b` is not null))) where (`test`.`t1`.`a` < 5)
 drop view v1;
 drop table t1,t2,t3;
+#
+# MDEV-11240: Server crashes in check_view_single_update or
+# Assertion `derived->table' failed in mysql_derived_merge_for_insert
+#
+CREATE TABLE t3 (a INT);
+CREATE ALGORITHM = MERGE VIEW v1 AS SELECT t2.a FROM t3 AS t1, t3 AS t2;
+CREATE ALGORITHM = MERGE VIEW v2 AS SELECT * FROM v1;
+PREPARE stmt FROM 'REPLACE INTO v2 SELECT a FROM t3';
+EXECUTE stmt;
+ERROR HY000: Can not insert into join view 'test.v2' without fields list
+EXECUTE stmt;
+ERROR HY000: Can not insert into join view 'test.v2' without fields list
+drop view v1,v2;
+drop table t3;
 # -----------------------------------------------------------------
 # -- End of 5.5 tests.
 # -----------------------------------------------------------------
diff --git a/mysql-test/std_data/loadxml.dat b/mysql-test/std_data/loadxml.dat
index b72fac9..d5ccd4a 100644
--- a/mysql-test/std_data/loadxml.dat
+++ b/mysql-test/std_data/loadxml.dat
@@ -9,19 +9,19 @@
 	<table_data name="t1">
 	<row>
 		<field name="a">1</field>
-		<field name="b">b1</field>
+		<field name="b"> b1</field>
 	</row>
 	<row>
 		<field name="a">2</field>
-		<field name="b">b2</field>
+		<field name="b">  b2</field>
 	</row>
 	<row>
 		<field name="a">3</field>
-		<field name="b">b3</field>
+		<field name="b">   b3</field>
 	</row>
 	<row>
 		<field name="a">11</field>
-		<field name="b">b11</field>
+		<field name="b">           b11</field>
 	</row>
 	
 	<!-- Check field values as tags -->
diff --git a/mysql-test/suite/parts/r/longname.result b/mysql-test/suite/parts/r/longname.result
new file mode 100644
index 0000000..40097d6
--- /dev/null
+++ b/mysql-test/suite/parts/r/longname.result
@@ -0,0 +1,33 @@
+set names utf8;
+create database mysqltest1;
+CREATE TABLE mysqltest1.test_jfg_table_name_with_64_chars_123456789012345678901234567890 (
+id int(10) unsigned NOT NULL,
+id2 int(10) unsigned NOT NULL,
+PRIMARY KEY ( id, id2 )
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+PARTITION BY RANGE ( id )
+SUBPARTITION BY HASH ( id2 )
+SUBPARTITIONS 2 (
+PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LESS THAN (1000) ENGINE = InnoDB,
+PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
+Warnings:
+Warning	1478	InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Warning	1478	InnoDB: assuming ROW_FORMAT=COMPACT.
+Warning	1478	InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Warning	1478	InnoDB: assuming ROW_FORMAT=COMPACT.
+Warning	1478	InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Warning	1478	InnoDB: assuming ROW_FORMAT=COMPACT.
+Warning	1478	InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
+Warning	1478	InnoDB: assuming ROW_FORMAT=COMPACT.
+CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
+id int(10) unsigned NOT NULL,
+id2 int(10) unsigned NOT NULL,
+PRIMARY KEY ( id, id2 )
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+PARTITION BY RANGE ( id )
+SUBPARTITION BY HASH ( id2 )
+SUBPARTITIONS 2 (
+PARTITION çççççççççççççççççççççççççççççççççççççççççççççççççççççççççççç VALUES LESS THAN (1000) ENGINE = InnoDB,
+PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
+ERROR HY000: The path specified for @0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n at 0n@0n@ is too long.
+drop database mysqltest1;
diff --git a/mysql-test/suite/parts/r/quoting.result b/mysql-test/suite/parts/r/quoting.result
new file mode 100644
index 0000000..ba6a155
--- /dev/null
+++ b/mysql-test/suite/parts/r/quoting.result
@@ -0,0 +1,6 @@
+set sql_mode=ansi_quotes;
+create table t1 (i int) partition by range (i) (partition flush values less than maxvalue);
+set sql_mode=default;
+lock tables t1 read local;
+unlock tables;
+drop table t1;
diff --git a/mysql-test/suite/parts/t/longname.test b/mysql-test/suite/parts/t/longname.test
new file mode 100644
index 0000000..feea5a7
--- /dev/null
+++ b/mysql-test/suite/parts/t/longname.test
@@ -0,0 +1,29 @@
+source include/have_innodb.inc;
+source include/have_partition.inc;
+set names utf8;
+
+create database mysqltest1;
+CREATE TABLE mysqltest1.test_jfg_table_name_with_64_chars_123456789012345678901234567890 (
+  id int(10) unsigned NOT NULL,
+  id2 int(10) unsigned NOT NULL,
+  PRIMARY KEY ( id, id2 )
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+PARTITION BY RANGE ( id )
+  SUBPARTITION BY HASH ( id2 )
+  SUBPARTITIONS 2 (
+  PARTITION test_jfg_partition_name_with_60_chars_1234567890123456789012 VALUES LESS THAN (1000) ENGINE = InnoDB,
+  PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
+
+--error ER_PATH_LENGTH
+CREATE TABLE mysqltest1.éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé (
+  id int(10) unsigned NOT NULL,
+  id2 int(10) unsigned NOT NULL,
+  PRIMARY KEY ( id, id2 )
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+PARTITION BY RANGE ( id )
+  SUBPARTITION BY HASH ( id2 )
+  SUBPARTITIONS 2 (
+  PARTITION çççççççççççççççççççççççççççççççççççççççççççççççççççççççççççç VALUES LESS THAN (1000) ENGINE = InnoDB,
+  PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
+
+drop database mysqltest1;
diff --git a/mysql-test/suite/parts/t/quoting.test b/mysql-test/suite/parts/t/quoting.test
new file mode 100644
index 0000000..297896f
--- /dev/null
+++ b/mysql-test/suite/parts/t/quoting.test
@@ -0,0 +1,10 @@
+#
+# MDEV-13017 LOCK TABLE fails with irrelevant error while working with tables affected by ANSI_QUOTES
+#
+--source include/have_partition.inc
+set sql_mode=ansi_quotes;
+create table t1 (i int) partition by range (i) (partition flush values less than maxvalue);
+set sql_mode=default;
+lock tables t1 read local;
+unlock tables;
+drop table t1;
diff --git a/mysql-test/suite/perfschema/include/have_timer_cycle.inc b/mysql-test/suite/perfschema/include/have_timer_cycle.inc
new file mode 100644
index 0000000..b801ea2
--- /dev/null
+++ b/mysql-test/suite/perfschema/include/have_timer_cycle.inc
@@ -0,0 +1,4 @@
+if (!`SELECT count(*) FROM performance_schema.performance_timers WHERE timer_name='CYCLE' AND timer_frequency IS NOT NULL`)
+{
+  Skip Need performance timer CYCLE;
+}
diff --git a/mysql-test/suite/perfschema/r/privilege.result b/mysql-test/suite/perfschema/r/privilege.result
index d1831c9..61eade1 100644
--- a/mysql-test/suite/perfschema/r/privilege.result
+++ b/mysql-test/suite/perfschema/r/privilege.result
@@ -554,7 +554,7 @@ ERROR 42000: DROP command denied to user 'pfs_user_4'@'localhost' for table 'eve
 #
 # Grant access to change tables with the root account
 GRANT UPDATE ON performance_schema.setup_consumers TO pfs_user_4;
-GRANT UPDATE ON performance_schema.setup_timers TO pfs_user_4;
+GRANT UPDATE, SELECT ON performance_schema.setup_timers TO pfs_user_4;
 GRANT UPDATE, SELECT ON performance_schema.setup_instruments TO pfs_user_4;
 GRANT DROP ON performance_schema.events_waits_current TO pfs_user_4;
 GRANT DROP ON performance_schema.events_waits_history TO pfs_user_4;
@@ -565,7 +565,7 @@ UPDATE performance_schema.setup_instruments SET enabled = 'YES'
 WHERE name LIKE 'wait/synch/mutex/%'
    OR name LIKE 'wait/synch/rwlock/%';
 UPDATE performance_schema.setup_consumers SET enabled = 'YES';
-UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
+UPDATE performance_schema.setup_timers SET timer_name = 'TICK' WHERE name <> "wait";
 TRUNCATE TABLE performance_schema.events_waits_history_long;
 TRUNCATE TABLE performance_schema.events_waits_history;
 TRUNCATE TABLE performance_schema.events_waits_current;
@@ -575,4 +575,6 @@ DROP USER pfs_user_4;
 flush privileges;
 UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
 UPDATE performance_schema.setup_consumers SET enabled = 'YES';
-UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
+UPDATE performance_schema.setup_timers SET timer_name = 'MICROSECOND' where name="idle";
+UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND'  where name="stage";
+UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND'  where name="statement";
diff --git a/mysql-test/suite/perfschema/t/dml_performance_timers.test b/mysql-test/suite/perfschema/t/dml_performance_timers.test
index 2ec37fb..587c541 100644
--- a/mysql-test/suite/perfschema/t/dml_performance_timers.test
+++ b/mysql-test/suite/perfschema/t/dml_performance_timers.test
@@ -2,6 +2,7 @@
 
 --source include/not_embedded.inc
 --source include/have_perfschema.inc
+--source include/have_timer_cycle.inc
 
 --replace_column 2 <frequency> 3 <resolution> 4 <overhead>
 select * from performance_schema.performance_timers;
diff --git a/mysql-test/suite/perfschema/t/dml_setup_timers.test b/mysql-test/suite/perfschema/t/dml_setup_timers.test
index 0956ae2..6a6b813 100644
--- a/mysql-test/suite/perfschema/t/dml_setup_timers.test
+++ b/mysql-test/suite/perfschema/t/dml_setup_timers.test
@@ -2,6 +2,7 @@
 
 --source include/not_embedded.inc
 --source include/have_perfschema.inc
+--source include/have_timer_cycle.inc
 
 select * from performance_schema.setup_timers;
 
diff --git a/mysql-test/suite/perfschema/t/privilege.test b/mysql-test/suite/perfschema/t/privilege.test
index 3b4cd1a..47a6860 100644
--- a/mysql-test/suite/perfschema/t/privilege.test
+++ b/mysql-test/suite/perfschema/t/privilege.test
@@ -291,7 +291,7 @@ TRUNCATE TABLE performance_schema.events_waits_current;
 --echo # Grant access to change tables with the root account
 
 GRANT UPDATE ON performance_schema.setup_consumers TO pfs_user_4;
-GRANT UPDATE ON performance_schema.setup_timers TO pfs_user_4;
+GRANT UPDATE, SELECT ON performance_schema.setup_timers TO pfs_user_4;
 GRANT UPDATE, SELECT ON performance_schema.setup_instruments TO pfs_user_4;
 GRANT DROP ON performance_schema.events_waits_current TO pfs_user_4;
 GRANT DROP ON performance_schema.events_waits_history TO pfs_user_4;
@@ -308,7 +308,11 @@ WHERE name LIKE 'wait/synch/mutex/%'
 
 UPDATE performance_schema.setup_consumers SET enabled = 'YES';
 
-UPDATE performance_schema.setup_timers SET timer_name = 'TICK';
+# We do not touch "wait", to avoid restoring it at the end of the test,
+# as its default value initialized at server startup is ambiguous:
+# it can be CYCLE or NANOSECOND depending on platform
+
+UPDATE performance_schema.setup_timers SET timer_name = 'TICK' WHERE name <> "wait";
 
 TRUNCATE TABLE performance_schema.events_waits_history_long;
 TRUNCATE TABLE performance_schema.events_waits_history;
@@ -323,5 +327,9 @@ DROP USER pfs_user_4;
 flush privileges;
 UPDATE performance_schema.setup_instruments SET enabled = 'YES', timed = 'YES';
 UPDATE performance_schema.setup_consumers SET enabled = 'YES';
-UPDATE performance_schema.setup_timers SET timer_name = 'CYCLE';
 
+# Restore the default values for the timers that we changed.
+# Note, we did not touch "wait", see above.
+UPDATE performance_schema.setup_timers SET timer_name = 'MICROSECOND' where name="idle";
+UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND'  where name="stage";
+UPDATE performance_schema.setup_timers SET timer_name = 'NANOSECOND'  where name="statement";
diff --git a/mysql-test/suite/rpl/r/rpl_mdev-11092.result b/mysql-test/suite/rpl/r/rpl_mdev-11092.result
new file mode 100644
index 0000000..b2de9e5
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_mdev-11092.result
@@ -0,0 +1,17 @@
+include/master-slave.inc
+[connection master]
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Slave SQL: The incident LOST_EVENTS occured on the master. .*");
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MYISAM;
+ERROR HY000: Writing one row to the row-based binary log failed
+include/wait_for_slave_sql_error_and_skip.inc [errno=1590]
+SET GLOBAL max_binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_cache_size= ORIGINAL_VALUE;
+SET GLOBAL max_binlog_stmt_cache_size= ORIGINAL_VALUE;
+SET GLOBAL binlog_stmt_cache_size= ORIGINAL_VALUE;
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result b/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
new file mode 100644
index 0000000..fdfec62
--- /dev/null
+++ b/mysql-test/suite/rpl/r/rpl_reset_slave_fail.result
@@ -0,0 +1,29 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (c1 INT);
+INSERT INTO t1 (c1) VALUES (1);
+include/stop_slave_sql.inc
+FLUSH LOGS;
+FLUSH LOGS;
+INSERT INTO t1 (c1) VALUES (2);
+include/sync_slave_io_with_master.inc
+call mtr.add_suppression("File '.*slave-relay-bin.");
+call mtr.add_suppression("Could not open log file");
+call mtr.add_suppression("Failed to open the relay log");
+call mtr.add_suppression("Failed to initialize the master info structure");
+include/rpl_stop_server.inc [server_number=2]
+# Removing  file(s)
+include/rpl_start_server.inc [server_number=2]
+START SLAVE;
+ERROR HY000: Could not initialize master info structure; more error messages can be found in the MariaDB error log
+START SLAVE;
+ERROR HY000: Could not initialize master info structure; more error messages can be found in the MariaDB error log
+RESET SLAVE;
+DROP TABLE t1;
+START SLAVE UNTIL MASTER_LOG_FILE= 'MASTER_LOG_FILE', MASTER_LOG_POS= MASTER_LOG_POS;;
+include/wait_for_slave_sql_to_stop.inc
+include/stop_slave_io.inc
+include/start_slave.inc
+include/diff_tables.inc [master:t1, slave:t1]
+DROP TABLE t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_mdev-11092.opt b/mysql-test/suite/rpl/t/rpl_mdev-11092.opt
new file mode 100644
index 0000000..7f1d270
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev-11092.opt
@@ -0,0 +1 @@
+--binlog_checksum=1 --binlog-annotate-row-events=1
diff --git a/mysql-test/suite/rpl/t/rpl_mdev-11092.test b/mysql-test/suite/rpl/t/rpl_mdev-11092.test
new file mode 100644
index 0000000..c8b2b7f
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_mdev-11092.test
@@ -0,0 +1,53 @@
+--source include/have_innodb.inc
+--source include/master-slave.inc
+--source include/not_embedded.inc
+--source include/not_windows.inc
+--source include/have_binlog_format_row.inc
+
+########################################################################################
+call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT");
+call mtr.add_suppression("Slave SQL: The incident LOST_EVENTS occured on the master. .*");
+
+let $old_max_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_cache_size", Value, 1);
+let $old_binlog_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_cache_size", Value, 1);
+let $old_max_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "max_binlog_stmt_cache_size", Value, 1);
+let $old_binlog_stmt_cache_size= query_get_value(SHOW VARIABLES LIKE "binlog_stmt_cache_size", Value, 1);
+
+SET GLOBAL max_binlog_cache_size = 4096;
+SET GLOBAL binlog_cache_size = 4096;
+SET GLOBAL max_binlog_stmt_cache_size = 4096;
+SET GLOBAL binlog_stmt_cache_size = 4096;
+disconnect master;
+connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
+
+CREATE TABLE t1(a INT PRIMARY KEY, data VARCHAR(30000)) ENGINE=MYISAM;
+
+let $data = `select concat('"', repeat('a',2000), '"')`;
+
+connection master;
+
+--disable_query_log
+--error ER_BINLOG_ROW_LOGGING_FAILED
+eval INSERT INTO t1 (a, data) VALUES (2,
+       CONCAT($data, $data, $data, $data, $data, $data));
+--enable_query_log
+
+# Incident event
+# 1590=ER_SLAVE_INCIDENT
+--let $slave_sql_errno= 1590
+--source include/wait_for_slave_sql_error_and_skip.inc
+
+connection master;
+
+--replace_result $old_max_binlog_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL max_binlog_cache_size= $old_max_binlog_cache_size
+--replace_result $old_binlog_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL binlog_cache_size= $old_binlog_cache_size
+--replace_result $old_max_binlog_stmt_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL max_binlog_stmt_cache_size= $old_max_binlog_stmt_cache_size
+--replace_result $old_binlog_stmt_cache_size ORIGINAL_VALUE
+--eval SET GLOBAL binlog_stmt_cache_size= $old_binlog_stmt_cache_size
+
+DROP TABLE t1;
+
+--source include/rpl_end.inc
diff --git a/mysql-test/suite/rpl/t/rpl_reset_slave_fail.test b/mysql-test/suite/rpl/t/rpl_reset_slave_fail.test
new file mode 100644
index 0000000..021dc76
--- /dev/null
+++ b/mysql-test/suite/rpl/t/rpl_reset_slave_fail.test
@@ -0,0 +1,91 @@
+###############################################################################
+# Bug#24901077: RESET SLAVE ALL DOES NOT ALWAYS RESET SLAVE
+#
+# Problem:
+# =======
+# If you have a relay log index file that has ended up with
+# some relay log files that do not exists, then RESET SLAVE
+# ALL is not enough to get back to a clean state.
+###############################################################################
+# Remove all slave-relay-bin.0* files (do not remove slave-relay-bin.index)
+# During server restart rli initialization will fail as there are no
+# relay logs.  In case of bug RESET SLAVE will not do the required clean up
+# as rli is not inited and subsequent START SLAVE will fail.
+# Disable "Warning  1612  Being purged log ./slave-relay-bin.0* was not found"
+# because it is different on Unix and Windows systems.
+
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+--connection master
+CREATE TABLE t1 (c1 INT);
+INSERT INTO t1 (c1) VALUES (1);
+--sync_slave_with_master
+
+--connection slave
+--source include/stop_slave_sql.inc
+--let $MYSQLD_SLAVE_DATADIR= `select @@datadir`
+
+--connection master
+# Generate more relay logs on slave.
+FLUSH LOGS;
+FLUSH LOGS;
+INSERT INTO t1 (c1) VALUES (2);
+
+--source include/sync_slave_io_with_master.inc
+call mtr.add_suppression("File '.*slave-relay-bin.");
+call mtr.add_suppression("Could not open log file");
+call mtr.add_suppression("Failed to open the relay log");
+call mtr.add_suppression("Failed to initialize the master info structure");
+
+# Stop slave
+--let $rpl_server_number= 2
+--source include/rpl_stop_server.inc
+
+# Delete file(s)
+--echo # Removing $remove_pattern file(s)
+--let $remove_pattern= slave-relay-bin.0*
+--remove_files_wildcard $MYSQLD_SLAVE_DATADIR $remove_pattern
+
+# Start slave
+--let $rpl_server_number= 2
+--source include/rpl_start_server.inc
+
+# Start slave must fail because of the removed file(s).
+--error ER_MASTER_INFO
+START SLAVE;
+
+# Try a second time, it must fail again.
+--error ER_MASTER_INFO
+START SLAVE;
+
+# Retrieve master executed position before reset slave.
+--let $master_exec_file= query_get_value("SHOW SLAVE STATUS", Relay_Master_Log_File, 1)
+--let $master_exec_pos= query_get_value("SHOW SLAVE STATUS", Exec_Master_Log_Pos, 1)
+
+# Reset slave.
+# Disable "Warning  1612  Being purged log ./slave-relay-bin.0* was not found"
+# because it is different on Unix and Windows systems.
+--disable_warnings
+RESET SLAVE;
+--enable_warnings
+DROP TABLE t1;
+--replace_result $master_exec_file MASTER_LOG_FILE $master_exec_pos MASTER_LOG_POS
+--eval START SLAVE UNTIL MASTER_LOG_FILE= '$master_exec_file', MASTER_LOG_POS= $master_exec_pos;
+--source include/wait_for_slave_sql_to_stop.inc
+--source include/stop_slave_io.inc
+
+# Start slave.
+--source include/start_slave.inc
+
+--connection master
+--sync_slave_with_master
+# Check consistency.
+--let $diff_tables= master:t1, slave:t1
+--source include/diff_tables.inc
+
+# Cleanup
+--connection master
+DROP TABLE t1;
+--sync_slave_with_master
+--source include/rpl_end.inc
diff --git a/mysql-test/t/binary_to_hex.test b/mysql-test/t/binary_to_hex.test
new file mode 100644
index 0000000..8312a24
--- /dev/null
+++ b/mysql-test/t/binary_to_hex.test
@@ -0,0 +1,76 @@
+# === Purpose ===
+# The purpose of this test case is to make
+# sure that the binary data in tables is printed
+# as hex when the option binary-as-hex is enabled.
+#
+# === Related bugs and/or worklogs ===
+# Bug #25340722 - PRINT BINARY DATA AS HEX IN THE MYSQL
+#                 CLIENT (CONTRIBUTION)
+#
+
+# Save the initial number of concurrent sessions
+--source include/count_sessions.inc
+--source include/not_embedded.inc
+
+USE test;
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+CREATE TABLE t1 (c1  TINYBLOB,
+                 c2  BLOB,
+                 c3  MEDIUMBLOB,
+                 c4  LONGBLOB,
+                 c5  TEXT,
+                 c6  BIT(1),
+                 c7  CHAR,
+                 c8  VARCHAR(10),
+                 c9  GEOMETRY) CHARACTER SET = binary;
+
+SHOW CREATE TABLE t1;
+
+INSERT INTO t1 VALUES ('tinyblob-text readable', 'blob-text readable',
+                       'mediumblob-text readable', 'longblob-text readable',
+                       'text readable', b'1', 'c', 'variable',
+                        POINT(1, 1));
+
+CREATE TABLE t2(id int, `col1` binary(10),`col2` blob);
+
+SHOW CREATE TABLE t2;
+
+INSERT INTO t2 VALUES (1, X'AB1234', X'123ABC'), (2, X'DE1234', X'123DEF');
+
+--echo #Print the table contents when binary-as-hex option is off.
+--replace_column 6 # 9 #
+SELECT * FROM t1;
+
+--replace_column 2 # 3 #
+SELECT * FROM t2;
+
+--echo #Print the table contents after turning on the binary-as-hex option
+--echo
+--echo #Print the table contents in tab format
+--echo
+--exec $MYSQL test --binary-as-hex -e "SELECT * FROM t1; SELECT * FROM t2;"
+--echo
+--echo #Print the table contents in table format
+--echo
+--exec $MYSQL test --binary-as-hex --table -e "SELECT * FROM t1; SELECT * FROM t2 WHERE col2=0x123ABC;"
+--echo
+--echo #Print the table contents vertically
+--echo
+--exec $MYSQL test --binary-as-hex --vertical -e "SELECT * FROM t1;"
+--echo
+--echo #Print the table contents in xml format
+--echo
+--exec $MYSQL test --binary-as-hex --xml -e "SELECT * FROM t1; SELECT * FROM t2;"
+--echo
+--echo #Print the table contents in html format
+--echo
+--exec $MYSQL test --binary-as-hex --html -e "SELECT * FROM t1; SELECT * FROM t2;"
+
+#Cleanup
+DROP TABLE t1, t2;
+
+# Wait till all disconnects are completed
+ --source include/wait_until_count_sessions.inc
diff --git a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test
index 405c24a..2930d93 100644
--- a/mysql-test/t/bootstrap.test
+++ b/mysql-test/t/bootstrap.test
@@ -60,4 +60,10 @@ SHOW VARIABLES LIKE 'have_innodb';
 SELECT 'bug' as '' FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb'
  and SUPPORT='YES';
 
+#
+# MDEV-13063 Server crashes in intern_plugin_lock or assertion `plugin_ptr->ref_count == 1' fails in plugin_init
+#
+--error 1
+--exec $MYSQLD_BOOTSTRAP_CMD --myisam_recover_options=NONE
+
 --echo End of 5.5 tests
diff --git a/mysql-test/t/count_distinct.test b/mysql-test/t/count_distinct.test
index 10b4ac6..a00574b 100644
--- a/mysql-test/t/count_distinct.test
+++ b/mysql-test/t/count_distinct.test
@@ -107,3 +107,19 @@ create view v1 as select * from t1;
 select count(distinct i) from v1;
 drop table t1;
 drop view v1;
+
+#
+# MDEV-12136 SELECT COUNT(DISTINCT) returns the wrong value when tmp_table_size is limited
+#
+create table t1 (user_id char(64) character set utf8);
+insert t1 values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17);
+set @@tmp_table_size = 1024;
+select count(distinct user_id) from t1;
+alter table t1 modify user_id char(128) character set utf8;
+select count(distinct user_id) from t1;
+drop table t1;
+set @@tmp_table_size = default;
+
+#
+# End of 5.5 tests
+#
diff --git a/mysql-test/t/derived_view.test b/mysql-test/t/derived_view.test
index d017f84..07fbe49 100644
--- a/mysql-test/t/derived_view.test
+++ b/mysql-test/t/derived_view.test
@@ -1881,6 +1881,56 @@ deallocate prepare stmt1;
 
 drop table t1,t2;
 
+--echo #
+--echo # Bug mdev-12670: mergeable derived / view with subqueries
+--echo #                 subject to semi-join optimizations
+--echo # (actually this is a 5.3 bug.)               
+--echo #
+
+create table t1 (a int) engine=myisam;
+insert into t1  values (5),(3),(2),(7),(2),(5),(1); 
+create table t2 (b int, index idx(b)) engine=myisam;
+insert into t2 values (2),(3),(2),(1),(3),(4);
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+analyze table t1,t2;
+
+explain select a from t1 where a in (select b from t2); 
+explain select * from (select a from t1 where a in (select b from t2)) t;
+create view v1 as select a from t1 where a in (select b from t2);
+explain select * from v1;
+
+drop view v1;
+drop table t1,t2;
+
+--echo #
+--echo # Bug mdev-12812: mergeable derived / view with subqueries
+--echo #                 NOT subject to semi-join optimizations
+--echo #
+
+CREATE TABLE t1 (c1 varchar(3)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('foo'),('foo');
+
+CREATE TABLE t2 (c2 varchar(3)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES ('bar'),('qux'),('foo');
+
+let $q=
+SELECT STRAIGHT_JOIN * 
+  FROM ( SELECT * FROM t1 WHERE c1 IN ( SELECT c2 FROM t2 ) ) AS sq;
+
+eval $q;
+eval EXPLAIN EXTENDED $q;
+
+DROP TABLE t1, t2;
+
 # The following command must be the last one the file 
 set optimizer_switch=@exit_optimizer_switch;
 set join_cache_level=@exit_join_cache_level;
diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test
index 4162e9c..80ecfea 100644
--- a/mysql-test/t/group_by.test
+++ b/mysql-test/t/group_by.test
@@ -1703,6 +1703,44 @@ select a as x from t1 group by x having x > 1;
 select a from t1 group by a having a > 1;
 drop table t1;
 set sql_mode= @save_sql_mode;
+
+#
+# MDEV-7826 Server crashes in Item_subselect::enumerate_field_refs_processor
+#
+create table t1 (f1 int);
+insert into t1 values (5),(9);
+create table t2 (f2 int);
+insert into t2 values (0),(6);
+create table t3 (f3 int);
+insert into t3 values (6),(3);
+create table t4 (f4 int);
+insert into t4 values (1),(0);
+--error ER_ILLEGAL_REFERENCE
+select
+(select min(f1) from t1 where f1 in (select min(f4) from t2)) as field7,
+(select count(*) from t3 where f3 in (select max(f4) from t2 group by field7))
+from t4;
+drop table t1, t2, t3, t4;
+
+#
+# MDEV-13180 Unused left join causes server crash
+#
+create table t1 (i1 int);
+insert into t1 values (1);
+create table t2 (i int);
+insert into t2 values (2);
+select 1 from t1 left join t2 b on b.i = (select max(b.i) from t2);
+drop table t1, t2;
+
+
+#
+# MDEV-12489 The select stmt may fail due to "having clause is ambiguous" unexpected
+#
+create table t1 (c1 int, c2 int);
+create table t2 (c1 int, c2 int);
+select t1.c1 as c1, t2.c2 as c1 from t1, t2 where t1.c1 < 20 and t2.c2 > 5 group by t1.c1, t2.c2 having t1.c1 < 3;
+drop table t1, t2;
+
 #
 # End of MariaDB 5.5 tests
 #
diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test
index 19c5f64..9645d8a 100644
--- a/mysql-test/t/join_outer.test
+++ b/mysql-test/t/join_outer.test
@@ -1801,4 +1801,86 @@ SELECT * FROM t1 INNER JOIN t2 ON c = b LEFT JOIN t3 ON d = a
 DROP TABLE t1,t2,t3;
 
 
+--echo #
+--echo # MDEV-11958: LEFT JOIN with stored routine produces incorrect result
+--echo #
+
+CREATE TABLE t (x INT);
+INSERT INTO t VALUES(1),(NULL);
+CREATE FUNCTION f (val INT, ret INT) RETURNS INT DETERMINISTIC RETURN IFNULL(val, ret);
+
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+                            FROM t t1 LEFT JOIN t t2
+                            ON t1.x = t2.x
+                            WHERE IFNULL(t2.x,0)=0;
+explain extended
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+                            FROM t t1 LEFT JOIN t t2
+                            ON t1.x = t2.x
+                            WHERE IFNULL(t2.x,0)=0;
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+                            FROM t t1 LEFT JOIN t t2
+                            ON t1.x = t2.x
+                            WHERE f(t2.x,0)=0;
+explain extended
+SELECT t1.x, t2.x, IFNULL(t2.x,0), f(t2.x,0)
+                            FROM t t1 LEFT JOIN t t2
+                            ON t1.x = t2.x
+                            WHERE f(t2.x,0)=0;
+
+drop function f;
+drop table t;
+CREATE TABLE t1 (
+ col1 DECIMAL(33,5) NULL DEFAULT NULL,
+ col2 DECIMAL(33,5) NULL DEFAULT NULL
+);
+
+CREATE TABLE t2 (
+ col1 DECIMAL(33,5) NULL DEFAULT NULL,
+ col2 DECIMAL(33,5) NULL DEFAULT NULL,
+ col3 DECIMAL(33,5) NULL DEFAULT NULL
+);
+
+INSERT INTO t1 VALUES (2, 1.1), (2, 2.1);
+INSERT INTO t2 VALUES (3, 3.1, 4), (1, 1, NULL);
+
+DELIMITER |;
+
+CREATE FUNCTION f1 ( p_num DECIMAL(45,15), p_return DECIMAL(45,15))
+RETURNS decimal(33,5)
+LANGUAGE SQL
+DETERMINISTIC
+CONTAINS SQL
+SQL SECURITY INVOKER
+BEGIN
+  IF p_num IS NULL THEN
+    RETURN p_return;
+  ELSE
+    RETURN p_num;
+  END IF;
+END |
+
+DELIMITER ;|
+
+let $q1=
+SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE IFNULL(t2.col3,0) = 0;
+
+eval $q1;
+eval EXPLAIN EXTENDED $q1;
+
+let $q2=
+SELECT t1.col1, t2.col1, t2.col3
+FROM t1 LEFT OUTER JOIN t2 ON t1.col1 = t2.col2
+WHERE f1(t2.col3,0) = 0;
+eval $q2;
+eval EXPLAIN EXTENDED $q2;
+
+DROP FUNCTION f1;
+
+DROP TABLE t1,t2;
+
+--echo # end of 5.5 tests
+
 SET optimizer_switch=@save_optimizer_switch;
diff --git a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test
index d59083d..dd964c4 100644
--- a/mysql-test/t/mysql.test
+++ b/mysql-test/t/mysql.test
@@ -618,3 +618,33 @@ EOF
 
 --echo
 --echo End of tests
+
+#
+# MDEV-13187 incorrect backslash parsing in clients
+#
+create table `a1\``b1` (a int);
+show tables;
+insert `a1\``b1` values (1),(2);
+show create table `a1\``b1`;
+--exec $MYSQL_DUMP --compact test
+--exec $MYSQL_DUMP test > $MYSQLTEST_VARDIR/tmp/bug.sql
+insert `a1\``b1` values (4),(5);
+--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug.sql
+show create table `a1\``b1`;
+select * from `a1\``b1`;
+drop table `a1\``b1`;
+
+# same with ansi_quotes
+set sql_mode=ansi_quotes;
+create table "a1\""b1" (a int);
+show tables;
+insert "a1\""b1" values (1),(2);
+show create table "a1\""b1";
+--exec $MYSQL_DUMP --compact --compatible=postgres test
+--exec $MYSQL_DUMP --compatible=postgres test > $MYSQLTEST_VARDIR/tmp/bug.sql
+insert "a1\""b1" values (4),(5);
+--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug.sql
+show create table "a1\""b1";
+select * from "a1\""b1";
+drop table "a1\""b1";
+set sql_mode=default;
diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test
index 6470ede..afe3792 100644
--- a/mysql-test/t/mysqltest.test
+++ b/mysql-test/t/mysqltest.test
@@ -2942,11 +2942,17 @@ disconnect $x;
 # Disconnect the selected connection
 disconnect $y;
 --echo $CURRENT_CONNECTION
+connection default;
 
+#
+# MDEV-13187 incorrect backslash parsing in clients
+#
+set sql_mode=no_backslash_escapes;
+select "foo\""bar";
+set sql_mode=default;
 
 --echo End of tests
 
-connection default;
 # Wait till we reached the initial number of concurrent sessions
 --source include/wait_until_count_sessions.inc
 
diff --git a/mysql-test/t/read_only.test b/mysql-test/t/read_only.test
index 5234974..a0bd7b4 100644
--- a/mysql-test/t/read_only.test
+++ b/mysql-test/t/read_only.test
@@ -80,6 +80,9 @@ insert into t3 values(1);
 
 insert into t4 select * from t3;
 
+--error ER_OPTION_PREVENTS_STATEMENT
+create table t3 (a int);
+
 # a non-temp table updated:
 --error ER_OPTION_PREVENTS_STATEMENT
 update t1,t3 set t1.a=t3.a+1 where t1.a=t3.a;
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test
index a8ad3ba..50d9517 100644
--- a/mysql-test/t/subselect.test
+++ b/mysql-test/t/subselect.test
@@ -5998,3 +5998,38 @@ INSERT INTO t1 VALUES ('foo','bar');
 SELECT * FROM t1 WHERE f2 >= SOME ( SELECT f1 FROM t1 );
 SELECT * FROM t1 WHERE f2 <= SOME ( SELECT f1 FROM t1 );
 DROP TABLE t1;
+
+--echo #
+--echo # MDEV-10146: Wrong result (or questionable result and behavior)
+--echo # with aggregate function in uncorrelated SELECT subquery
+--echo #
+CREATE TABLE t1 (f1 INT);
+CREATE VIEW v1 AS SELECT * FROM t1;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (f2 int);
+
+INSERT INTO t2 VALUES (3);
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+
+INSERT INTO t2 VALUES (4);
+
+--error ER_SUBQUERY_NO_1_ROW
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM v1;
+--error ER_SUBQUERY_NO_1_ROW
+SELECT ( SELECT MAX(f1) FROM t2 ) FROM t1;
+
+drop view v1;
+drop table t1,t2;
+
+#
+# MDEV-7828 Assertion `key_read == 0' failed in TABLE::enable_keyread with SELECT SQ and WHERE SQ
+#
+CREATE TABLE t1 (f1 INT, KEY(f1)) ENGINE=MyISAM;
+INSERT t1 VALUES (4),(8);
+CREATE TABLE t2 (f2 INT, KEY(f2)) ENGINE=MyISAM;
+INSERT t2 VALUES (6),(9);
+SELECT (SELECT MAX(sq.f2) FROM t1) FROM (SELECT * FROM t2) AS sq WHERE f2 = 2;
+drop table t1, t2;
diff --git a/mysql-test/t/subselect_mat_cost_bugs.test b/mysql-test/t/subselect_mat_cost_bugs.test
index 8205e94..35f2b95 100644
--- a/mysql-test/t/subselect_mat_cost_bugs.test
+++ b/mysql-test/t/subselect_mat_cost_bugs.test
@@ -406,6 +406,8 @@ drop table t3, t4, t5;
 --echo # LP BUG#858038 The result of a query with NOT IN subquery depends on the state of the optimizer switch
 --echo #
 
+set @optimizer_switch_save= @@optimizer_switch;
+
 create table t1 (c1 char(2) not null, c2 char(2));
 create table t2 (c3 char(2),          c4 char(2));
 
@@ -424,3 +426,100 @@ explain select * from t1 where c1 = 'a2' and (c1, c2) not in (select * from t2);
 select * from t1 where c1 = 'a2' and (c1, c2) not in (select * from t2);
 
 drop table t1, t2;
+
+set optimizer_switch= @optimizer_switch_save;
+
+--echo #
+--echo # MDEV-12673: cost-based choice between materialization and in-to-exists
+--echo #
+
+CREATE TABLE t1 (
+ pk1 int, a1 varchar(3), b1 varchar(3), PRIMARY KEY (pk1), KEY(a1), KEY(b1)
+) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,'foo','bar'),(2,'bar','foo');
+
+CREATE TABLE t2 (pk2 INT PRIMARY KEY, a2 VARCHAR(3), KEY(a2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,'abc'),(2,'xyz'),(3,'foo');
+
+SELECT 'qux' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 );
+SELECT 'bar' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 );
+EXPLAIN 
+SELECT 'bar' IN ( SELECT a1 FROM t1 INNER JOIN t2 WHERE a2 = b1 AND pk2 = 3 );
+
+DROP TABLE t1,t2;
+
+CREATE TABLE t1 (i1 INT) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1);
+
+CREATE TABLE t2 (i2 int, c2 varchar(3), KEY(i2,c2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,'abc'),(2,'foo');
+
+CREATE TABLE t3 (pk3 int PRIMARY KEY, c3 varchar(3)) ENGINE=MyISAM;
+INSERT INTO t3 VALUES (1,'foo'),(2,'bar');
+
+SELECT * FROM t1 WHERE i1 NOT IN ( 
+  SELECT i2 FROM t2 RIGHT JOIN t3 ON (c3 = c2) WHERE pk3 = i1 
+);
+
+EXPLAIN
+SELECT * FROM t1 WHERE i1 NOT IN ( 
+  SELECT i2 FROM t2 RIGHT JOIN t3 ON (c3 = c2) WHERE pk3 = i1 
+);
+
+DROP TABLE t1,t2,t3;
+
+--echo #
+--echo # MDEV-7599: in-to-exists chosen after min/max optimization
+--echo #
+
+set @optimizer_switch_save= @@optimizer_switch;
+
+CREATE TABLE t1 (a INT, KEY(a)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (b INT, c INT) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,6),(2,4), (8,9);
+
+let $q=
+SELECT * FROM t2 WHERE b != ALL (SELECT MIN(a) FROM t1, t2 WHERE t2.c = t2.b);
+
+eval $q;
+eval EXPLAIN EXTENDED $q;
+set optimizer_switch= 'materialization=off';
+eval $q;
+eval EXPLAIN EXTENDED $q;
+set optimizer_switch= @optimizer_switch_save;
+
+DROP TABLE t1,t2;
+
+CREATE TABLE t1 (f1 varchar(10)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('foo'),('bar');
+
+CREATE TABLE t2 (f2 varchar(10), key(f2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES ('baz'),('qux');
+
+CREATE TABLE t3 (f3 varchar(10)) ENGINE=MyISAM;
+INSERT INTO t3 VALUES ('abc'),('def');
+
+SELECT * FROM t1
+  WHERE f1 = ALL( SELECT MAX(t2a.f2)
+                  FROM t2 AS t2a INNER JOIN t2 t2b INNER JOIN t3
+                  ON (f3 = t2b.f2) );
+
+DROP TABLE t1,t2,t3;
+
+--echo #
+--echo # MDEV-12963: min/max optimization optimizing away all tables employed
+--echo #             for uncorrelated IN subquery used in a disjunct of WHERE
+--echo #
+
+create table t1 (a int, index idx(a)) engine=myisam;
+insert into t1 values (4),(7),(1),(3),(9);
+
+select * from t1 where a in (select max(a) from t1 where a < 4) or a > 5;
+explain
+select * from t1 where a in (select max(a) from t1 where a < 4) or a > 5;
+
+drop table t1;
+
+
diff --git a/mysql-test/t/subselect_nulls.test b/mysql-test/t/subselect_nulls.test
index 4b08e77..3e7b218 100644
--- a/mysql-test/t/subselect_nulls.test
+++ b/mysql-test/t/subselect_nulls.test
@@ -97,3 +97,9 @@ set optimizer_switch= @tmp_subselect_nulls;
 
 drop table x1;
 drop table x2;
+
+#
+# MDEV-7339 Server crashes in Item_func_trig_cond::val_int
+#
+select (select 1, 2) in (select 3, 4);
+select (select NULL, NULL) in (select 3, 4);
diff --git a/mysql-test/t/subselect_sj.test b/mysql-test/t/subselect_sj.test
index 51bed53..acee1a6 100644
--- a/mysql-test/t/subselect_sj.test
+++ b/mysql-test/t/subselect_sj.test
@@ -2769,5 +2769,77 @@ WHERE ( SELECT z.country
 drop table t1, t2, t3;
 set optimizer_switch= @tmp_mdev6859;
 
+--echo #
+--echo # MDEV-12675: subquery subject to semi-join optimizations  
+--echo #             in ON expression of INNER JOIN
+--echo #
+
+set @tmp_mdev12675=@@optimizer_switch;
+set optimizer_switch=default;
+create table t1 (a int) engine=myisam;
+insert into t1  values (5),(3),(2),(7),(2),(5),(1); 
+create table t2 (b int, index idx(b)) engine=myisam;
+insert into t2 values (2),(3),(2),(1),(3),(4);
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+insert into t2 select b+10 from t2;
+analyze table t1,t2;
+
+explain
+select a from t1, t2 where b between 1 and 2 and a in (select b from t2);
+explain 
+select a from t1 join t2 on b between 1 and 2 and a in (select b from t2);
+
+drop table t1,t2;
+set optimizer_switch= @tmp_mdev12675;
+
+--echo #
+--echo # MDEV-12817: subquery NOT subject to semi-join optimizations  
+--echo #             in ON expression of INNER JOIN
+--echo #
+
+CREATE TABLE t1 (c1 int) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1),(2);
+
+CREATE TABLE t2 (c2 int) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (3),(4);
+ 
+CREATE TABLE t3 (c3 int) ENGINE=MyISAM;
+INSERT INTO t3 VALUES (5),(6);
+ 
+CREATE TABLE t4 (c4 int) ENGINE=MyISAM;
+INSERT INTO t4 VALUES (7),(8);
+
+let $q1= 
+SELECT c1 
+FROM t1 
+LEFT JOIN
+( t2 INNER JOIN t3 ON ( 1 IN ( SELECT c4 FROM t4 ) ) )
+ON (c1 = c3);
+
+eval $q1;
+eval EXPLAIN EXTENDED $q1;
+
+let $q2= 
+SELECT *
+FROM t1
+LEFT JOIN
+( ( SELECT * FROM t2 WHERE c2 IN ( SELECT c3 FROM t3 ) ) AS sq INNER JOIN t4 )
+ON (c1 = c2);
+
+--echo # mdev-12820
+eval $q2;
+eval EXPLAIN EXTENDED $q2;
+
+DROP TABLE t1,t2,t3,t4;
+
 # The following command must be the last one the file 
 set optimizer_switch=@subselect_sj_tmp;
diff --git a/mysql-test/t/subselect_sj2_mat.test b/mysql-test/t/subselect_sj2_mat.test
index 61d9b09..cfb6c8c 100644
--- a/mysql-test/t/subselect_sj2_mat.test
+++ b/mysql-test/t/subselect_sj2_mat.test
@@ -263,3 +263,43 @@ DROP TABLE t1,t2,t3;
 set join_cache_level= @save_join_cache_level;
 set optimizer_switch=@save_optimizer_switch;
 
+--echo #
+--echo # mdev-7791: materialization of a semi-join subquery +
+--echo #            RAND() in WHERE
+--echo #            (materialized table is accessed last)
+--echo #
+
+set @save_optimizer_switch=@@optimizer_switch;
+set optimizer_switch='materialization=on';
+
+create table t1(i int);
+insert into t1 values (1), (2), (3), (7), (9), (10);
+create table t2(i int);
+insert into t2 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
+
+select * from t1 where (rand() < 0) and i in (select i from t2);
+explain extended
+select * from t1 where (rand() < 0) and i in (select i from t2);
+
+drop table t1,t2;
+set optimizer_switch=@save_optimizer_switch;
+
+--echo #
+--echo # mdev-12855: materialization of a semi-join subquery + ORDER BY 
+--echo #
+
+CREATE TABLE t1 (f1 varchar(8), KEY(f1)) ENGINE=InnoDB;
+INSERT INTO t1 VALUES ('qux'),('foo');
+CREATE TABLE t2 (f2 varchar(8)) ENGINE=InnoDB;
+INSERT INTO t2 VALUES ('bar'),('foo'),('qux');
+
+let $q=
+SELECT f1 FROM t1 
+WHERE f1 IN ( SELECT f2 FROM t2 WHERE f2 > 'bar' )
+HAVING f1 != 'foo'
+ORDER BY f1;
+
+eval $q;
+eval explain $q;
+
+DROP TABLE t1,t2;
diff --git a/mysql-test/t/subselect_sj_mat.test b/mysql-test/t/subselect_sj_mat.test
index cd71ae5..90f63be 100644
--- a/mysql-test/t/subselect_sj_mat.test
+++ b/mysql-test/t/subselect_sj_mat.test
@@ -1944,4 +1944,211 @@ set optimizer_switch= @save_optimizer_switch;
 
 DROP TABLE t1,t2;
 
+--echo #
+--echo # mdev-12838: scan of materialized of semi-join subquery in join
+--echo #
+
+set @save_optimizer_switch=@@optimizer_switch;
+
+CREATE TABLE t1 (
+  dispatch_group varchar(32),
+  assignment_group varchar(32),
+  sys_id char(32),
+  PRIMARY KEY (sys_id),
+  KEY idx1 (dispatch_group),
+  KEY idx2 (assignment_group)
+) ENGINE=MyISAM;
+
+CREATE TABLE t2 (
+  ugroup varchar(32),
+  user varchar(32),
+  sys_id char(32),
+  PRIMARY KEY (sys_id),
+  KEY idx3 (ugroup),
+  KEY idx4 (user)
+) ENGINE=MyISAM;
+
+CREATE TABLE t3 (
+  type mediumtext,
+  sys_id char(32),
+  PRIMARY KEY (sys_id)
+) ENGINE=MyISAM;
+
+--disable_query_log
+
+INSERT INTO t1 VALUES 
+('e5d9f63237232000158bbfc8bcbe5dbf','f304ae0037332000158bbfc8bcbe5d4f',
+'5398c0e037003000158bbfc8bcbe5dbb'),
+('69d9f63237232000158bbfc8bcbe5dcb','7172ea0037332000158bbfc8bcbe5db6',
+'5c188ca037003000158bbfc8bcbe5dbc'),
+('577ed708d773020058c92cf65e61037a','699708d4d773020058c92cf65e61037c',
+'623a8cd4d773020058c92cf65e6103ea'),
+('96fb652637232000158bbfc8bcbe5db4','df50316637232000158bbfc8bcbe5d23',
+'6835bd6637232000158bbfc8bcbe5d21'),
+('e1d9f63237232000158bbfc8bcbe5db8','96346e0037332000158bbfc8bcbe5daa',
+'697880e037003000158bbfc8bcbe5dcd'),
+('25d9f63237232000158bbfc8bcbe5dbe','f304ae0037332000158bbfc8bcbe5d4f',
+'6a9804e037003000158bbfc8bcbe5d09'),
+('96fb652637232000158bbfc8bcbe5db4','e08fad2637232000158bbfc8bcbe5d39',
+'6d25f96637232000158bbfc8bcbe5d79'),
+('e9d9f63237232000158bbfc8bcbe5dc6','7172ea0037332000158bbfc8bcbe5db6',
+'702880e037003000158bbfc8bcbe5d94'),
+('a5d9f63237232000158bbfc8bcbe5dca','f304ae0037332000158bbfc8bcbe5d4f',
+'7188c0e037003000158bbfc8bcbe5d75'),
+('65d9f63237232000158bbfc8bcbe5dc4','f304ae0037332000158bbfc8bcbe5d4f',
+'778880e037003000158bbfc8bcbe5d9e'),
+('a1d9f63237232000158bbfc8bcbe5dc3','7172ea0037332000158bbfc8bcbe5db6',
+'7d0840e037003000158bbfc8bcbe5dde'),
+('21d9f63237232000158bbfc8bcbe5db7','96346e0037332000158bbfc8bcbe5daa',
+'7f6880e037003000158bbfc8bcbe5da7'),
+('96fb652637232000158bbfc8bcbe5db4','ec70316637232000158bbfc8bcbe5d60',
+'8025f96637232000158bbfc8bcbe5dd0'),
+('3dd9f63237232000158bbfc8bcbe5dcc','7172ea0037332000158bbfc8bcbe5db6',
+'823880e037003000158bbfc8bcbe5ded'),
+('96fb652637232000158bbfc8bcbe5db4','7b10fd2637232000158bbfc8bcbe5d30',
+'9a353d6637232000158bbfc8bcbe5dee'),
+('75d9f63237232000158bbfc8bcbe5dd0','ebb4620037332000158bbfc8bcbe5d89',
+'a558c0e037003000158bbfc8bcbe5d36'),
+('6dd9f63237232000158bbfc8bcbe5db5','96346e0037332000158bbfc8bcbe5daa',
+'bc78cca037003000158bbfc8bcbe5d74'),
+('add9f63237232000158bbfc8bcbe5dc7','7172ea0037332000158bbfc8bcbe5db6',
+'c53804a037003000158bbfc8bcbe5db8'),
+('fdd9f63237232000158bbfc8bcbe5dcd','7864ae0037332000158bbfc8bcbe5db8',
+'cfe740e037003000158bbfc8bcbe5de8'),
+('96fb652637232000158bbfc8bcbe5db4','3120fd2637232000158bbfc8bcbe5d42',
+'e2257d6637232000158bbfc8bcbe5ded'),
+('3c3725e237232000158bbfc8bcbe5da1','96346e0037332000158bbfc8bcbe5daa',
+'ee78c0e037003000158bbfc8bcbe5db5'),
+('a9d9f63237232000158bbfc8bcbe5dc0','7172ea0037332000158bbfc8bcbe5db6',
+'f00888a037003000158bbfc8bcbe5dd3'),
+('29d9f63237232000158bbfc8bcbe5db9','7172ea0037332000158bbfc8bcbe5db6',
+'fa0880e037003000158bbfc8bcbe5d70'),
+('b1d9f63237232000158bbfc8bcbe5dcf','ebb4620037332000158bbfc8bcbe5d89',
+'fa48c0e037003000158bbfc8bcbe5d28');
+
+INSERT INTO t2 VALUES
+('17801ac21b13200050fdfbcd2c0713e8','8e826bf03710200044e0bfc8bcbe5d86',
+'14c19a061b13200050fdfbcd2c07134b'),
+('577ed708d773020058c92cf65e61037a','931644d4d773020058c92cf65e61034c',
+'339888d4d773020058c92cf65e6103aa'),
+('df50316637232000158bbfc8bcbe5d23','92826bf03710200044e0bfc8bcbe5da9',
+'3682f56637232000158bbfc8bcbe5d44'),
+('b4f342b237232000158bbfc8bcbe5def','86826bf03710200044e0bfc8bcbe5d70',
+'38e4c2b237232000158bbfc8bcbe5dea'),
+('7b10fd2637232000158bbfc8bcbe5d30','8a826bf03710200044e0bfc8bcbe5d72',
+'4442b56637232000158bbfc8bcbe5d43'),
+('3120fd2637232000158bbfc8bcbe5d42','82826bf03710200044e0bfc8bcbe5d89',
+'49d2396637232000158bbfc8bcbe5d12'),
+('96fb652637232000158bbfc8bcbe5db4','86826bf03710200044e0bfc8bcbe5d79',
+'4e3ca52637232000158bbfc8bcbe5d3e'),
+('17801ac21b13200050fdfbcd2c0713e8','824fd523bf4320007a6d257b3f073963',
+'58c19a061b13200050fdfbcd2c07134e'),
+('699708d4d773020058c92cf65e61037c','901784d4d773020058c92cf65e6103da',
+'5bc708d4d773020058c92cf65e6103d5'),
+('75d9f63237232000158bbfc8bcbe5dd0','86826bf03710200044e0bfc8bcbe5d79',
+'6b52cb7237232000158bbfc8bcbe5ded'),
+('f253da061b13200050fdfbcd2c0713ab','8e826bf03710200044e0bfc8bcbe5d86',
+'81045e061b13200050fdfbcd2c071373'),
+('7b10fd2637232000158bbfc8bcbe5d30','8e826bf03710200044e0bfc8bcbe5d74',
+'8c42b56637232000158bbfc8bcbe5d3f'),
+('e5d9f63237232000158bbfc8bcbe5dbf','7a826bf03710200044e0bfc8bcbe5df5',
+'a7acfe3237232000158bbfc8bcbe5d78'),
+('8a5055c9c61122780043563ef53438e3','9ee1b13dc6112271007f9d0efdb69cd0',
+'a9aff553c6112276015a8006174bee21'),
+('8a4dde73c6112278017a6a4baf547aa7','9ee1b13dc6112271007f9d0efdb69cd0',
+'a9b2f526c61122760003ae07349d294f'),
+('aaccc971c0a8001500fe1ff4302de101','9ee1b13dc6112271007f9d0efdb69cd0',
+'aacceed3c0a80015009069bba51c4e21'),
+('65d9f63237232000158bbfc8bcbe5dc4','8d56406a0a0a0a6b004070b354aada28',
+'ac1bfa3237232000158bbfc8bcbe5dc3'),
+('b85d44954a3623120004689b2d5dd60a','97000fcc0a0a0a6e0104ca999f619e5b',
+'b77bc032cbb00200d71cb9c0c24c9c45'),
+('220f8e71c61122840197e57c33464f70','8d56406a0a0a0a6b004070b354aada28',
+'b9b74f080a0a0b343ba75b95bdb27056'),
+('e08fad2637232000158bbfc8bcbe5d39','82826bf03710200044e0bfc8bcbe5d80',
+'be02756637232000158bbfc8bcbe5d8b'),
+('ebb4620037332000158bbfc8bcbe5d89','7682abf03710200044e0bfc8bcbe5d25',
+'c0122f4437732000158bbfc8bcbe5d7d'),
+('96fb652637232000158bbfc8bcbe5db4','7a82abf03710200044e0bfc8bcbe5d27',
+'c23ca52637232000158bbfc8bcbe5d3b'),
+('22122b37c611228400f9ff91c857581d','9ee1b13dc6112271007f9d0efdb69cd0',
+'d23bbf5dac14641866947512bde59dc5'),
+('db53a9290a0a0a650091abebccf833c6','9ee1b13dc6112271007f9d0efdb69cd0',
+'db54a0f60a0a0a65002c54dcb72b4f41'),
+('e08fad2637232000158bbfc8bcbe5d39','8e826bf03710200044e0bfc8bcbe5d86',
+'f602756637232000158bbfc8bcbe5d88'),
+('699708d4d773020058c92cf65e61037c','8d59d601d7b3020058c92cf65e6103c2',
+'f718a241d7b3020058c92cf65e610332'),
+('df50316637232000158bbfc8bcbe5d23','9e826bf03710200044e0bfc8bcbe5da6',
+'fe82f56637232000158bbfc8bcbe5d4e'),
+('f972d6061b13200050fdfbcd2c0713e5','780395f0df031100a9e78b6c3df2631f',
+'ff4395f0df031100a9e78b6c3df2637e');
+
+INSERT INTO t3 VALUES 
+('87245e061b13200050fdfbcd2c0713cc','7172ea0037332000158bbfc8bcbe5db6'),
+('74af88c6c611227d0066386e74dc853d','74ad1ff3c611227d01d25feac2af603f'),
+('59e22fb137032000158bbfc8bcbe5d52','75d9f63237232000158bbfc8bcbe5dd0'),
+('98906fb137032000158bbfc8bcbe5d65','781da52637232000158bbfc8bcbe5db8'),
+('87245e061b13200050fdfbcd2c0713cc','7864ae0037332000158bbfc8bcbe5db8'),
+('87245e061b13200050fdfbcd2c0713cc','7b10fd2637232000158bbfc8bcbe5d30'),
+('59e22fb137032000158bbfc8bcbe5d52','81a880e037003000158bbfc8bcbe5df8'),
+('74af88c6c611227d0066386e74dc853d','8a4cb6d4c61122780043b1642efcd52b'),
+('1cb8ab9bff500200158bffffffffff62','8a4dde73c6112278017a6a4baf547aa7'),
+('1cb8ab9bff500200158bffffffffff62','8a5055c9c61122780043563ef53438e3'),
+('87245e061b13200050fdfbcd2c0713cc','96346e0037332000158bbfc8bcbe5daa'),
+('59e22fb137032000158bbfc8bcbe5d52','96fb652637232000158bbfc8bcbe5db4'),
+('59e22fb137032000158bbfc8bcbe5d52','a1d9f63237232000158bbfc8bcbe5dc3'),
+('59e22fb137032000158bbfc8bcbe5d52','a5d9f63237232000158bbfc8bcbe5dca'),
+('1cb8ab9bff500200158bffffffffff62','a715cd759f2002002920bde8132e7018'),
+('59e22fb137032000158bbfc8bcbe5d52','a9d9f63237232000158bbfc8bcbe5dc0'),
+('74af88c6c611227d0066386e74dc853d','aacb62e2c0a80015007f67f752c2b12c'),
+('74af88c6c611227d0066386e74dc853d','aaccc971c0a8001500fe1ff4302de101'),
+('59e22fb137032000158bbfc8bcbe5d52','add9f63237232000158bbfc8bcbe5dbb'),
+('59e22fb137032000158bbfc8bcbe5d52','add9f63237232000158bbfc8bcbe5dc7'),
+('59e22fb137032000158bbfc8bcbe5d52','b1d9f63237232000158bbfc8bcbe5dcf'),
+('1cb8ab9bff500200158bffffffffff62','b85d44954a3623120004689b2d5dd60a'),
+('1cb8ab9bff500200158bffffffffff62','b97e89b94a36231201676b73322a0311'),
+('1cb8ab9bff500200158bffffffffff62','cfcbad03d711110050f5edcb9e61038f'),
+('1cb8ab9bff500200158bffffffffff62','d625dccec0a8016700a222a0f7900d06'),
+('1cb8ab9bff500200158bffffffffff62','db53580b0a0a0a6501aa37c294a2ba6b'),
+('1cb8ab9bff500200158bffffffffff62','db53a9290a0a0a650091abebccf833c6'),
+('1cb8ab9bff500200158bffffffffff62','dc0db135c332010016194ffe5bba8f23'),
+('87245e061b13200050fdfbcd2c0713cc','df50316637232000158bbfc8bcbe5d23'),
+('87245e061b13200050fdfbcd2c0713cc','e08fad2637232000158bbfc8bcbe5d39'),
+('59e22fb137032000158bbfc8bcbe5d52','e1d9f63237232000158bbfc8bcbe5db8'),
+('59e22fb137032000158bbfc8bcbe5d52','e5d9f63237232000158bbfc8bcbe5db4'),
+('59e22fb137032000158bbfc8bcbe5d52','e5d9f63237232000158bbfc8bcbe5dbf'),
+('59e22fb137032000158bbfc8bcbe5d52','e9d9f63237232000158bbfc8bcbe5dba'),
+('59e22fb137032000158bbfc8bcbe5d52','e9d9f63237232000158bbfc8bcbe5dc6'),
+('87245e061b13200050fdfbcd2c0713cc','ebb4620037332000158bbfc8bcbe5d89'),
+('87245e061b13200050fdfbcd2c0713cc','ec70316637232000158bbfc8bcbe5d60'),
+('87245e061b13200050fdfbcd2c0713cc','f253da061b13200050fdfbcd2c0713ab'),
+('87245e061b13200050fdfbcd2c0713cc','f304ae0037332000158bbfc8bcbe5d4f'),
+('98906fb137032000158bbfc8bcbe5d65','f972d6061b13200050fdfbcd2c0713e5'),
+('59e22fb137032000158bbfc8bcbe5d52','fdd9f63237232000158bbfc8bcbe5dcd');
+
+--enable_query_log
+
+let $q=
+SELECT t1.assignment_group
+FROM t1, t3
+WHERE t1.assignment_group = t3.sys_id AND
+      t1.dispatch_group IN
+      (SELECT t2.ugroup
+       FROM t2, t3 t3_i
+       WHERE t2.ugroup = t3_i.sys_id AND 
+             t3_i.type LIKE '59e22fb137032000158bbfc8bcbe5d52' AND
+             t2.user = '86826bf03710200044e0bfc8bcbe5d79');
+
+set optimizer_switch='materialization=off';
+eval explain $q;
+eval $q;
+
+set optimizer_switch='materialization=on';
+eval explain $q;
+eval $q;
+
+DROP TABLE t1,t2,t3;
+set optimizer_switch=@save_optimizer_switch;
+
 --echo # End of 5.5 tests
diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test
index f4dc6a5..4a3c19b 100644
--- a/mysql-test/t/union.test
+++ b/mysql-test/t/union.test
@@ -1370,3 +1370,18 @@ order by d;
 drop table t1;
 
 --echo End of 5.0 tests
+
+#
+#  Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION AND GROUP BY
+#
+create table t1 (a int, b int);
+insert into t1 values (1,1),(2,2),(3,3);
+create table t2 (c varchar(30), d varchar(30));
+insert into t1 values ('1','1'),('2','2'),('4','4');
+create table t3 (e int, f int);
+insert into t3 values (1,1),(2,2),(31,31),(32,32);
+select e,f, (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3;
+select avg(f), (e , f) in (select e,b from t1 union select c,d from t2) as sub from t3 group by sub;
+drop table t1,t2,t3;
+
+--echo End of 5.5 tests
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index aece200..659327e 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -5565,6 +5565,22 @@ select *
 drop view v1;
 drop table t1,t2,t3;
 
+--echo #
+--echo # MDEV-11240: Server crashes in check_view_single_update or
+--echo # Assertion `derived->table' failed in mysql_derived_merge_for_insert
+--echo #
+
+CREATE TABLE t3 (a INT);
+CREATE ALGORITHM = MERGE VIEW v1 AS SELECT t2.a FROM t3 AS t1, t3 AS t2;
+CREATE ALGORITHM = MERGE VIEW v2 AS SELECT * FROM v1;
+PREPARE stmt FROM 'REPLACE INTO v2 SELECT a FROM t3';
+--error ER_VIEW_NO_INSERT_FIELD_LIST
+EXECUTE stmt;
+--error ER_VIEW_NO_INSERT_FIELD_LIST
+EXECUTE stmt;
+drop view v1,v2;
+drop table t3;
+
 --echo # -----------------------------------------------------------------
 --echo # -- End of 5.5 tests.
 --echo # -----------------------------------------------------------------
diff --git a/mysys/my_fopen.c b/mysys/my_fopen.c
index 99a9035..9131a25 100644
--- a/mysys/my_fopen.c
+++ b/mysys/my_fopen.c
@@ -143,7 +143,7 @@ static int no_close(void *cookie __attribute__((unused)))
 /*
   A hack around a race condition in the implementation of freopen.
 
-  The race condition steams from the fact that the current fd of
+  The race condition stems from the fact that the current fd of
   the stream is closed before its number is used to duplicate the
   new file descriptor. This defeats the desired atomicity of the
   close and duplicate of dup2().
diff --git a/mysys/my_rdtsc.c b/mysys/my_rdtsc.c
index 028c7f8..ad11e8c 100644
--- a/mysys/my_rdtsc.c
+++ b/mysys/my_rdtsc.c
@@ -129,6 +129,31 @@ ulonglong my_timer_cycles_il_x86_64();
   clock_gettime(CLOCK_SGI_CYCLE) for Irix platforms,
   or on read_real_time for aix platforms. There is
   nothing for Alpha platforms, they would be tricky.
+
+  On the platforms that do not have a CYCLE timer,
+  "wait" events are initialized to use NANOSECOND instead of CYCLE
+  during performance_schema initialization (at the server startup).
+
+  Linux performance monitor (see "man perf_event_open") can
+  provide cycle counter on the platforms that do not have
+  other kinds of cycle counters. But we don't use it so far.
+
+  ARM notes
+  ---------
+  During tests on ARMv7 Debian, perf_even_open() based cycle counter provided
+  too low frequency with too high overhead:
+  MariaDB [performance_schema]> SELECT * FROM performance_timers;
+  +-------------+-----------------+------------------+----------------+
+  | TIMER_NAME  | TIMER_FREQUENCY | TIMER_RESOLUTION | TIMER_OVERHEAD |
+  +-------------+-----------------+------------------+----------------+
+  | CYCLE       | 689368159       | 1                | 970            |
+  | NANOSECOND  | 1000000000      | 1                | 308            |
+  | MICROSECOND | 1000000         | 1                | 417            |
+  | MILLISECOND | 1000            | 1000             | 407            |
+  | TICK        | 127             | 1                | 612            |
+  +-------------+-----------------+------------------+----------------+
+  Therefore, it was decided not to use perf_even_open() on ARM
+  (i.e. go without CYCLE and have "wait" events use NANOSECOND by default).
 */
 
 ulonglong my_timer_cycles(void)
diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c
index ed35fff..12959f1 100644
--- a/mysys/my_symlink.c
+++ b/mysys/my_symlink.c
@@ -197,7 +197,7 @@ int my_realpath(char *to, const char *filename, myf MyFlags)
 
 const char *my_open_parent_dir_nosymlinks(const char *pathname, int *pdfd)
 {
-  char buf[PATH_MAX+1];
+  char buf[FN_REFLEN + 1];
   char *s= buf, *e= buf+1, *end= strnmov(buf, pathname, sizeof(buf));
   int fd, dfd= -1;
 
diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h
index 661c4c1..1004bf8 100644
--- a/mysys/mysys_priv.h
+++ b/mysys/mysys_priv.h
@@ -107,12 +107,21 @@ const char *my_open_parent_dir_nosymlinks(const char *pathname, int *pdfd);
   res= AT;                                                              \
   if (dfd >= 0) close(dfd);                                             \
   return res;
-#elif defined(HAVE_REALPATH)
+#elif defined(HAVE_REALPATH) && defined(PATH_MAX)
 #define NOSYMLINK_FUNCTION_BODY(AT,NOAT)                                \
   char buf[PATH_MAX+1];                                                 \
   if (realpath(pathname, buf) == NULL) return -1;                       \
   if (strcmp(pathname, buf)) { errno= ENOTDIR; return -1; }             \
   return NOAT;
+#elif defined(HAVE_REALPATH)
+#define NOSYMLINK_FUNCTION_BODY(AT,NOAT)                                \
+  char *buf= realpath(pathname, NULL);                                  \
+  int res;                                                              \
+  if (buf == NULL) return -1;                                           \
+  if (strcmp(pathname, buf)) { errno= ENOTDIR; res= -1; }               \
+  else res= NOAT;                                                       \
+  free(buf);                                                            \
+  return res;
 #else
 #define NOSYMLINK_FUNCTION_BODY(AT,NOAT)                                \
   return NOAT;
diff --git a/mysys/stacktrace.c b/mysys/stacktrace.c
index 4025209..ae715c0 100644
--- a/mysys/stacktrace.c
+++ b/mysys/stacktrace.c
@@ -744,7 +744,7 @@ void my_safe_print_str(const char *val, int len)
 
 size_t my_write_stderr(const void *buf, size_t count)
 {
-  return (size_t) write(STDERR_FILENO, buf, count);
+  return (size_t) write(fileno(stderr), buf, count);
 }
 
 
diff --git a/plugin/semisync/semisync_master.cc b/plugin/semisync/semisync_master.cc
index 3c22bcb..16e6b09 100644
--- a/plugin/semisync/semisync_master.cc
+++ b/plugin/semisync/semisync_master.cc
@@ -552,7 +552,7 @@ int ReplSemiSyncMaster::reportReplyBinlog(uint32 server_id,
 
   if (need_copy_send_pos)
   {
-    strcpy(reply_file_name_, log_file_name);
+    strmake_buf(reply_file_name_, log_file_name);
     reply_file_pos_ = log_file_pos;
     reply_file_name_inited_ = true;
 
@@ -659,7 +659,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name,
         if (cmp <= 0)
 	{
           /* This thd has a lower position, let's update the minimum info. */
-          strcpy(wait_file_name_, trx_wait_binlog_name);
+          strmake_buf(wait_file_name_, trx_wait_binlog_name);
           wait_file_pos_ = trx_wait_binlog_pos;
 
           rpl_semi_sync_master_wait_pos_backtraverse++;
@@ -670,7 +670,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name,
       }
       else
       {
-        strcpy(wait_file_name_, trx_wait_binlog_name);
+        strmake_buf(wait_file_name_, trx_wait_binlog_name);
         wait_file_pos_ = trx_wait_binlog_pos;
         wait_file_name_inited_ = true;
 
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 862769d..b4bd930 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -1,4 +1,5 @@
-# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2017, Oracle and/or its affiliates.
+# Copyright (c) 2011, 2017, MariaDB Corporation
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -95,6 +96,13 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles")
   ENDFOREACH()
 ENDIF()
 
+
+IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+  SET (PERL_PATH "/usr/local/bin/perl")
+ELSE()
+  SET (PERL_PATH "/usr/bin/perl")
+ENDIF()
+
 IF(UNIX)
   # FIND_PROC and CHECK_PID are used by mysqld_safe
 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
@@ -379,4 +387,3 @@ IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_FLAGS MATCHES "-static")
     COMPONENT Development)
   ENDIF()
 ENDIF()
-
diff --git a/scripts/dheadgen.pl b/scripts/dheadgen.pl
old mode 100755
new mode 100644
index c42bd49..69ece2e
--- a/scripts/dheadgen.pl
+++ b/scripts/dheadgen.pl
@@ -1,10 +1,4 @@
-#!/usr/bin/perl -w
-
-#
-# Copyright (c) 2008, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
-#
-
+# Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are met:
diff --git a/scripts/mysql_config.pl.in b/scripts/mysql_config.pl.in
index d7b36ec..f2c27bc 100644
--- a/scripts/mysql_config.pl.in
+++ b/scripts/mysql_config.pl.in
@@ -1,7 +1,7 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 # -*- cperl -*-
 #
-# Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/scripts/mysql_convert_table_format.sh b/scripts/mysql_convert_table_format.sh
index 5f3e093..5042a74 100644
--- a/scripts/mysql_convert_table_format.sh
+++ b/scripts/mysql_convert_table_format.sh
@@ -1,6 +1,5 @@
-#!/usr/bin/perl
-# Copyright (c) 2000-2002, 2006, 2007 MySQL AB, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
+#!@PERL_PATH@
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/scripts/mysql_find_rows.sh b/scripts/mysql_find_rows.sh
index 48c4915..20c3e2c 100644
--- a/scripts/mysql_find_rows.sh
+++ b/scripts/mysql_find_rows.sh
@@ -1,6 +1,5 @@
-#!/usr/bin/perl
-# Copyright (c) 2000, 2004, 2006 MySQL AB, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
+#!@PERL_PATH@
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/scripts/mysql_fix_extensions.sh b/scripts/mysql_fix_extensions.sh
index 2a50bfe..7aa0720 100644
--- a/scripts/mysql_fix_extensions.sh
+++ b/scripts/mysql_fix_extensions.sh
@@ -1,7 +1,6 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 
-# Copyright (c) 2001 MySQL AB, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
+# Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in
index dcb7d77..c6714f6 100644
--- a/scripts/mysql_install_db.pl.in
+++ b/scripts/mysql_install_db.pl.in
@@ -1,7 +1,7 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 # -*- cperl -*-
 #
-# Copyright (c) 2007, 2013, Oracle and/or its affiliates.
+# Copyright (c) 2007, 2017, Oracle and/or its affiliates.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/scripts/mysql_secure_installation.pl.in b/scripts/mysql_secure_installation.pl.in
index 32331c3..01d34c4 100644
--- a/scripts/mysql_secure_installation.pl.in
+++ b/scripts/mysql_secure_installation.pl.in
@@ -1,7 +1,7 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 # -*- cperl -*-
 #
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates.
+# Copyright (c) 2007, 2017, Oracle and/or its affiliates.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -388,6 +388,3 @@ Thanks for using MySQL!
 
 
 HERE
-
-
-
diff --git a/scripts/mysql_setpermission.sh b/scripts/mysql_setpermission.sh
index 48f0b09..4416551 100644
--- a/scripts/mysql_setpermission.sh
+++ b/scripts/mysql_setpermission.sh
@@ -1,8 +1,7 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 ## Emacs, this is -*- perl -*- mode? :-)
 
-# Copyright (c) 2000, 2007 MySQL AB, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
diff --git a/scripts/mysql_zap.sh b/scripts/mysql_zap.sh
index a9c3e7a..725a4e2 100644
--- a/scripts/mysql_zap.sh
+++ b/scripts/mysql_zap.sh
@@ -1,6 +1,5 @@
-#!/usr/bin/perl
-# Copyright (c) 2000-2002, 2004, 2006 MySQL AB, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
+#!@PERL_PATH@
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 # 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/scripts/mysqlaccess.sh b/scripts/mysqlaccess.sh
index 1d01c84..431c708 100644
--- a/scripts/mysqlaccess.sh
+++ b/scripts/mysqlaccess.sh
@@ -1,6 +1,6 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 
-# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -477,15 +477,22 @@ MySQLaccess::Report::Print_Header();
 # *****************************
 # Read configuration-file
   MySQLaccess::Debug::Print(1, "Reading configuration file...");
-  if (-f "./$script_conf") {
-     require "./$script_conf";
-  }
-  elsif (-f "@sysconfdir@/$script_conf") {
+  if (-f "@sysconfdir@/$script_conf") {
+     print "Configuration file '$script_conf' is found in '@sysconfdir@/'\n";
      require "@sysconfdir@/$script_conf";
   }
   elsif (-f "/etc/$script_conf") {
+     print "Configuration file '$script_conf' is found in '/etc/'\n";
      require "/etc/$script_conf";
   }
+  elsif (-f "./$script_conf") {
+     print "\nERROR! Configuration file '$script_conf' is found in the current ";
+     print "directory.\nThe permissible locations for this file are either ";
+     print "@sysconfdir@/ or /etc/\n";
+     print "Please move it to one of these locations and retry.\n\n";
+     exit 0;
+  }
+
 
 # ****************************
 # Read in all parameters
diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh
index 7ac269b..e96d12e 100644
--- a/scripts/mysqld_multi.sh
+++ b/scripts/mysqld_multi.sh
@@ -1,23 +1,7 @@
-#!/usr/bin/perl
-# Copyright (c) 2000, 2010, Oracle and/or its affiliates.
-# Copyright (c) 2000-2011 Monty Program Ab, Jani Tolonen
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; version 2
-# of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free
-# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301, USA
+#!@PERL_PATH@
 
-# Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates.
+# Copyright (c) 2010, 2017, MariaDB Corporation
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
diff --git a/scripts/mysqldumpslow.sh b/scripts/mysqldumpslow.sh
index c04ffad..a7d0649 100644
--- a/scripts/mysqldumpslow.sh
+++ b/scripts/mysqldumpslow.sh
@@ -1,7 +1,6 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 
-# Copyright (c) 2000-2002, 2005-2008 MySQL AB, 2008, 2009 Sun Microsystems, Inc.
-# Use is subject to license terms.
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
diff --git a/scripts/mysqlhotcopy.sh b/scripts/mysqlhotcopy.sh
index b6ff7e1..d6184d9 100644
--- a/scripts/mysqlhotcopy.sh
+++ b/scripts/mysqlhotcopy.sh
@@ -1,6 +1,6 @@
-#!/usr/bin/perl
+#!@PERL_PATH@
 
-# Copyright (c) 2000, 2010, Oracle and/or its affiliates
+# Copyright (c) 2000, 2017, Oracle and/or its affiliates.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 4374354..e048dba 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -634,7 +634,7 @@ int ha_partition::create(const char *name, TABLE *table_arg,
 int ha_partition::drop_partitions(const char *path)
 {
   List_iterator<partition_element> part_it(m_part_info->partitions);
-  char part_name_buff[FN_REFLEN];
+  char part_name_buff[FN_REFLEN + 1];
   uint num_parts= m_part_info->partitions.elements;
   uint num_subparts= m_part_info->num_subparts;
   uint i= 0;
@@ -667,9 +667,11 @@ int ha_partition::drop_partitions(const char *path)
         {
           partition_element *sub_elem= sub_it++;
           part= i * num_subparts + j;
-          create_subpartition_name(part_name_buff, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name, name_variant);
+          if ((ret_error= create_subpartition_name(part_name_buff,
+                            sizeof(part_name_buff), path,
+                            part_elem->partition_name,
+                            sub_elem->partition_name, name_variant)))
+              error= ret_error;
           file= m_file[part];
           DBUG_PRINT("info", ("Drop subpartition %s", part_name_buff));
           if ((ret_error= file->ha_delete_table(part_name_buff)))
@@ -680,15 +682,19 @@ int ha_partition::drop_partitions(const char *path)
       }
       else
       {
-        create_partition_name(part_name_buff, path,
-                              part_elem->partition_name, name_variant,
-                              TRUE);
-        file= m_file[i];
-        DBUG_PRINT("info", ("Drop partition %s", part_name_buff));
-        if ((ret_error= file->ha_delete_table(part_name_buff)))
+        if ((ret_error= create_partition_name(part_name_buff,
+                          sizeof(part_name_buff), path,
+                          part_elem->partition_name, name_variant, TRUE)))
           error= ret_error;
-        if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
-          error= 1;
+        else
+        {
+          file= m_file[i];
+          DBUG_PRINT("info", ("Drop partition %s", part_name_buff));
+          if ((ret_error= file->ha_delete_table(part_name_buff)))
+            error= ret_error;
+          if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
+            error= 1;
+        }
       }
       if (part_elem->part_state == PART_IS_CHANGED)
         part_elem->part_state= PART_NORMAL;
@@ -724,8 +730,8 @@ int ha_partition::rename_partitions(const char *path)
 {
   List_iterator<partition_element> part_it(m_part_info->partitions);
   List_iterator<partition_element> temp_it(m_part_info->temp_partitions);
-  char part_name_buff[FN_REFLEN];
-  char norm_name_buff[FN_REFLEN];
+  char part_name_buff[FN_REFLEN + 1];
+  char norm_name_buff[FN_REFLEN + 1];
   uint num_parts= m_part_info->partitions.elements;
   uint part_count= 0;
   uint num_subparts= m_part_info->num_subparts;
@@ -767,10 +773,11 @@ int ha_partition::rename_partitions(const char *path)
         {
           sub_elem= sub_it++;
           file= m_reorged_file[part_count++];
-          create_subpartition_name(norm_name_buff, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   NORMAL_PART_NAME);
+          if ((ret_error= create_subpartition_name(norm_name_buff,
+                            sizeof(norm_name_buff), path,
+                            part_elem->partition_name,
+                            sub_elem->partition_name, NORMAL_PART_NAME)))
+            error= ret_error;
           DBUG_PRINT("info", ("Delete subpartition %s", norm_name_buff));
           if ((ret_error= file->ha_delete_table(norm_name_buff)))
             error= ret_error;
@@ -783,16 +790,20 @@ int ha_partition::rename_partitions(const char *path)
       else
       {
         file= m_reorged_file[part_count++];
-        create_partition_name(norm_name_buff, path,
-                              part_elem->partition_name, NORMAL_PART_NAME,
-                              TRUE);
-        DBUG_PRINT("info", ("Delete partition %s", norm_name_buff));
-        if ((ret_error= file->ha_delete_table(norm_name_buff)))
+        if ((ret_error= create_partition_name(norm_name_buff,
+                          sizeof(norm_name_buff), path,
+                          part_elem->partition_name, NORMAL_PART_NAME, TRUE)))
           error= ret_error;
-        else if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
-          error= 1;
         else
-          part_elem->log_entry= NULL; /* Indicate success */
+        {
+          DBUG_PRINT("info", ("Delete partition %s", norm_name_buff));
+          if ((ret_error= file->ha_delete_table(norm_name_buff)))
+            error= ret_error;
+          else if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
+            error= 1;
+          else
+            part_elem->log_entry= NULL; /* Indicate success */
+        }
       }
     } while (++i < temp_partitions);
     (void) sync_ddl_log();
@@ -835,10 +846,11 @@ int ha_partition::rename_partitions(const char *path)
         {
           sub_elem= sub_it++;
           part= i * num_subparts + j;
-          create_subpartition_name(norm_name_buff, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   NORMAL_PART_NAME);
+          if ((ret_error= create_subpartition_name(norm_name_buff,
+                            sizeof(norm_name_buff), path,
+                            part_elem->partition_name,
+                            sub_elem->partition_name, NORMAL_PART_NAME)))
+            error= ret_error;
           if (part_elem->part_state == PART_IS_CHANGED)
           {
             file= m_reorged_file[part_count++];
@@ -850,10 +862,11 @@ int ha_partition::rename_partitions(const char *path)
             (void) sync_ddl_log();
           }
           file= m_new_file[part];
-          create_subpartition_name(part_name_buff, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   TEMP_PART_NAME);
+          if ((ret_error= create_subpartition_name(part_name_buff,
+                            sizeof(part_name_buff), path,
+                            part_elem->partition_name,
+                            sub_elem->partition_name, TEMP_PART_NAME)))
+            error= ret_error;
           DBUG_PRINT("info", ("Rename subpartition from %s to %s",
                      part_name_buff, norm_name_buff));
           if ((ret_error= file->ha_rename_table(part_name_buff,
@@ -867,32 +880,36 @@ int ha_partition::rename_partitions(const char *path)
       }
       else
       {
-        create_partition_name(norm_name_buff, path,
-                              part_elem->partition_name, NORMAL_PART_NAME,
-                              TRUE);
-        if (part_elem->part_state == PART_IS_CHANGED)
+        if ((ret_error= create_partition_name(norm_name_buff,
+                          sizeof(norm_name_buff), path,
+                          part_elem->partition_name, NORMAL_PART_NAME, TRUE)) ||
+            (ret_error= create_partition_name(part_name_buff,
+                          sizeof(part_name_buff), path,
+                          part_elem->partition_name, TEMP_PART_NAME, TRUE)))
+          error= ret_error;
+        else
         {
-          file= m_reorged_file[part_count++];
-          DBUG_PRINT("info", ("Delete partition %s", norm_name_buff));
-          if ((ret_error= file->ha_delete_table(norm_name_buff)))
+          if (part_elem->part_state == PART_IS_CHANGED)
+          {
+            file= m_reorged_file[part_count++];
+            DBUG_PRINT("info", ("Delete partition %s", norm_name_buff));
+            if ((ret_error= file->ha_delete_table(norm_name_buff)))
+              error= ret_error;
+            else if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
+              error= 1;
+            (void) sync_ddl_log();
+          }
+          file= m_new_file[i];
+          DBUG_PRINT("info", ("Rename partition from %s to %s",
+                     part_name_buff, norm_name_buff));
+          if ((ret_error= file->ha_rename_table(part_name_buff,
+                                                norm_name_buff)))
             error= ret_error;
           else if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
             error= 1;
-          (void) sync_ddl_log();
+          else
+            part_elem->log_entry= NULL;
         }
-        file= m_new_file[i];
-        create_partition_name(part_name_buff, path,
-                              part_elem->partition_name, TEMP_PART_NAME,
-                              TRUE);
-        DBUG_PRINT("info", ("Rename partition from %s to %s",
-                   part_name_buff, norm_name_buff));
-        if ((ret_error= file->ha_rename_table(part_name_buff,
-                                              norm_name_buff)))
-          error= ret_error;
-        else if (deactivate_ddl_log_entry(part_elem->log_entry->entry_pos))
-          error= 1;
-        else
-          part_elem->log_entry= NULL;
       }
     }
   } while (++i < num_parts);
@@ -1488,7 +1505,7 @@ int ha_partition::change_partitions(HA_CREATE_INFO *create_info,
 {
   List_iterator<partition_element> part_it(m_part_info->partitions);
   List_iterator <partition_element> t_it(m_part_info->temp_partitions);
-  char part_name_buff[FN_REFLEN];
+  char part_name_buff[FN_REFLEN + 1];
   uint num_parts= m_part_info->partitions.elements;
   uint num_subparts= m_part_info->num_subparts;
   uint i= 0;
@@ -1698,10 +1715,14 @@ int ha_partition::change_partitions(HA_CREATE_INFO *create_info,
         do
         {
           partition_element *sub_elem= sub_it++;
-          create_subpartition_name(part_name_buff, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   name_variant);
+          if ((error= create_subpartition_name(part_name_buff,
+                        sizeof(part_name_buff), path,
+                        part_elem->partition_name, sub_elem->partition_name,
+                        name_variant)))
+          {
+            cleanup_new_partition(part_count);
+            DBUG_RETURN(error);
+          }
           part= i * num_subparts + j;
           DBUG_PRINT("info", ("Add subpartition %s", part_name_buff));
           if ((error= prepare_new_partition(table, create_info,
@@ -1719,9 +1740,14 @@ int ha_partition::change_partitions(HA_CREATE_INFO *create_info,
       }
       else
       {
-        create_partition_name(part_name_buff, path,
-                              part_elem->partition_name, name_variant,
-                              TRUE);
+        if ((error= create_partition_name(part_name_buff,
+                      sizeof(part_name_buff), path, part_elem->partition_name,
+                      name_variant, TRUE)))
+        {
+          cleanup_new_partition(part_count);
+          DBUG_RETURN(error);
+        }
+        
         DBUG_PRINT("info", ("Add partition %s", part_name_buff));
         if ((error= prepare_new_partition(table, create_info,
                                           new_file_array[i],
@@ -1980,8 +2006,8 @@ int ha_partition::del_ren_cre_table(const char *from,
 {
   int save_error= 0;
   int error= HA_ERR_INTERNAL_ERROR;
-  char from_buff[FN_REFLEN], to_buff[FN_REFLEN], from_lc_buff[FN_REFLEN],
-       to_lc_buff[FN_REFLEN], buff[FN_REFLEN];
+  char from_buff[FN_REFLEN + 1], to_buff[FN_REFLEN + 1],
+       from_lc_buff[FN_REFLEN], to_lc_buff[FN_REFLEN], buff[FN_REFLEN];
   char *name_buffer_ptr;
   const char *from_path;
   const char *to_path= NULL;
@@ -2028,13 +2054,15 @@ int ha_partition::del_ren_cre_table(const char *from,
   i= 0;
   do
   {
-    create_partition_name(from_buff, from_path, name_buffer_ptr,
-                          NORMAL_PART_NAME, FALSE);
+    if ((error= create_partition_name(from_buff, sizeof(from_buff), from_path,
+                  name_buffer_ptr, NORMAL_PART_NAME, FALSE)))
+      goto rename_error;
 
     if (to != NULL)
     {						// Rename branch
-      create_partition_name(to_buff, to_path, name_buffer_ptr,
-                            NORMAL_PART_NAME, FALSE);
+      if ((error= create_partition_name(to_buff, sizeof(to_buff), to_path,
+                    name_buffer_ptr, NORMAL_PART_NAME, FALSE)))
+        goto rename_error;
       error= (*file)->ha_rename_table(from_buff, to_buff);
       if (error)
         goto rename_error;
@@ -2081,9 +2109,9 @@ create_error:
   name_buffer_ptr= m_name_buffer_ptr;
   for (abort_file= file, file= m_file; file < abort_file; file++)
   {
-    create_partition_name(from_buff, from_path, name_buffer_ptr, NORMAL_PART_NAME,
-                          FALSE);
-    (void) (*file)->ha_delete_table((const char*) from_buff);
+    if (!create_partition_name(from_buff, sizeof(from_buff), from_path,
+           name_buffer_ptr, NORMAL_PART_NAME, FALSE))
+      (void) (*file)->ha_delete_table(from_buff);
     name_buffer_ptr= strend(name_buffer_ptr) + 1;
   }
   DBUG_RETURN(error);
@@ -2092,12 +2120,11 @@ rename_error:
   for (abort_file= file, file= m_file; file < abort_file; file++)
   {
     /* Revert the rename, back from 'to' to the original 'from' */
-    create_partition_name(from_buff, from_path, name_buffer_ptr,
-                          NORMAL_PART_NAME, FALSE);
-    create_partition_name(to_buff, to_path, name_buffer_ptr,
-                          NORMAL_PART_NAME, FALSE);
-    /* Ignore error here */
-    (void) (*file)->ha_rename_table(to_buff, from_buff);
+    if (!create_partition_name(from_buff, sizeof(from_buff), from_path,
+           name_buffer_ptr, NORMAL_PART_NAME, FALSE) &&
+        !create_partition_name(to_buff, sizeof(to_buff), to_path, name_buffer_ptr,
+           NORMAL_PART_NAME, FALSE))
+      (void) (*file)->ha_rename_table(to_buff, from_buff);
     name_buffer_ptr= strend(name_buffer_ptr) + 1;
   }
   DBUG_RETURN(error);
@@ -2895,7 +2922,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
   char *name_buffer_ptr;
   int error= HA_ERR_INITIALIZATION;
   handler **file;
-  char name_buff[FN_REFLEN];
+  char name_buff[FN_REFLEN + 1];
   bool is_not_tmp_table= (table_share->tmp_table == NO_TMP_TABLE);
   ulonglong check_table_flags;
   DBUG_ENTER("ha_partition::open");
@@ -2965,8 +2992,9 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
     file= m_is_clone_of->m_file;
     for (i= 0; i < m_tot_parts; i++)
     {
-      create_partition_name(name_buff, name, name_buffer_ptr, NORMAL_PART_NAME,
-                            FALSE);
+      if ((error= create_partition_name(name_buff, sizeof(name_buff), name,
+                    name_buffer_ptr, NORMAL_PART_NAME, FALSE)))
+        goto err_handler;
       if (!(m_file[i]= file[i]->clone(name_buff, m_clone_mem_root)))
       {
         error= HA_ERR_INITIALIZATION;
@@ -2981,8 +3009,9 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
    file= m_file;
    do
    {
-      create_partition_name(name_buff, name, name_buffer_ptr, NORMAL_PART_NAME,
-                            FALSE);
+      if ((error= create_partition_name(name_buff, sizeof(name_buff), name,
+                    name_buffer_ptr, NORMAL_PART_NAME, FALSE)))
+        goto err_handler;
       table->s->connect_string = m_connect_string[(uint)(file-m_file)];
       if ((error= (*file)->ha_open(table, name_buff, mode, test_if_locked)))
         goto err_handler;
diff --git a/sql/item.cc b/sql/item.cc
index 1df91dc..fdfbba3 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -1,6 +1,6 @@
 /*
    Copyright (c) 2000, 2016, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2016, MariaDB
+   Copyright (c) 2010, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -817,6 +817,7 @@ Item_ident::Item_ident(Name_resolution_context *context_arg,
    cached_table(0), depended_from(0), can_be_depended(TRUE)
 {
   name = (char*) field_name_arg;
+  name_length= name ? strlen(name) : 0;
 }
 
 
@@ -829,6 +830,7 @@ Item_ident::Item_ident(TABLE_LIST *view_arg, const char *field_name_arg)
    cached_table(NULL), depended_from(NULL), can_be_depended(TRUE)
 {
   name = (char*) field_name_arg;
+  name_length= name ? strlen(name) : 0;
 }
 
 
@@ -4622,7 +4624,7 @@ static Item** find_field_in_group_list(Item *find_item, ORDER *group_list)
     int cur_match_degree= 0;
 
     /* SELECT list element with explicit alias */
-    if ((*(cur_group->item))->name &&
+    if ((*(cur_group->item))->name && !table_name &&
         !(*(cur_group->item))->is_autogenerated_name &&
         !my_strcasecmp(system_charset_info,
                        (*(cur_group->item))->name, field_name))
@@ -5045,6 +5047,12 @@ Item_field::fix_outer_field(THD *thd, Field **from_field, Item **reference)
                             ((ref_type == REF_ITEM || ref_type == FIELD_ITEM) ?
                              (Item_ident*) (*reference) :
                              0));
+          if (thd->lex->in_sum_func &&
+              thd->lex->in_sum_func->nest_level >= select->nest_level)
+          {
+            set_if_bigger(thd->lex->in_sum_func->max_arg_level,
+                          select->nest_level);
+          }
           /*
             A reference to a view field had been found and we
             substituted it instead of this Item (find_field_in_tables
diff --git a/sql/item_func.h b/sql/item_func.h
index d608017..2157c6b 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -1165,7 +1165,11 @@ public:
   longlong val_int();
   const char *func_name() const { return "coercibility"; }
   void fix_length_and_dec() { max_length=10; maybe_null= 0; }
-  table_map not_null_tables() const { return 0; }
+  bool eval_not_null_tables(uchar *opt_arg)
+  {
+    not_null_tables_cache= 0;
+    return 0;
+  }
 };
 
 class Item_func_locate :public Item_int_func
@@ -1433,7 +1437,11 @@ public:
   }
   void cleanup();
   Item_result result_type () const { return udf.result_type(); }
-  table_map not_null_tables() const { return 0; }
+  bool eval_not_null_tables(uchar *opt_arg)
+  {
+    not_null_tables_cache= 0;
+    return 0;
+  }
   bool is_expensive() { return 1; }
   virtual void print(String *str, enum_query_type query_type);
 };
@@ -1889,7 +1897,11 @@ public:
   bool is_expensive_processor(uchar *arg) { return TRUE; }
   enum Functype functype() const { return FT_FUNC; }
   const char *func_name() const { return "match"; }
-  table_map not_null_tables() const { return 0; }
+  bool eval_not_null_tables(uchar *opt_arg)
+  {
+    not_null_tables_cache= 0;
+    return 0;
+  }
   bool fix_fields(THD *thd, Item **ref);
   bool eq(const Item *, bool binary_cmp) const;
   /* The following should be safe, even if we compare doubles */
@@ -2091,6 +2103,11 @@ public:
   {
     return TRUE;
   }
+  bool eval_not_null_tables(uchar *opt_arg)
+  {
+    not_null_tables_cache= 0;
+    return 0;
+  }
 };
 
 
@@ -2138,7 +2155,11 @@ public:
   void fix_length_and_dec();
   enum Item_result result_type () const { return last_value->result_type(); }
   const char *func_name() const { return "last_value"; }
-  table_map not_null_tables() const { return 0; }
+  bool eval_not_null_tables(uchar *opt_arg)
+  {
+    not_null_tables_cache= 0;
+    return 0;
+  }
   enum_field_types field_type() const { return last_value->field_type(); }
   bool const_item() const { return 0; }
   void evaluate_sideeffects();
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index 78dcfc4..ef90dd5 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -316,7 +316,8 @@ bool Item_subselect::enumerate_field_refs_processor(uchar *arg)
   
   while ((upper= it++))
   {
-    if (upper->item->walk(&Item::enumerate_field_refs_processor, FALSE, arg))
+    if (upper->item &&
+        upper->item->walk(&Item::enumerate_field_refs_processor, FALSE, arg))
       return TRUE;
   }
   return FALSE;
@@ -1366,7 +1367,7 @@ Item_in_subselect::Item_in_subselect(Item * left_exp,
   Item_exists_subselect(), 
   left_expr_cache(0), first_execution(TRUE), in_strategy(SUBS_NOT_TRANSFORMED),
   optimizer(0), pushed_cond_guards(NULL), emb_on_expr_nest(NULL),
-  is_jtbm_merged(FALSE), is_jtbm_const_tab(FALSE), 
+  do_not_convert_to_sj(FALSE), is_jtbm_merged(FALSE), is_jtbm_const_tab(FALSE), 
   is_flattenable_semijoin(FALSE),
   is_registered_semijoin(FALSE), 
   upper_item(0)
@@ -2493,6 +2494,27 @@ bool Item_in_subselect::inject_in_to_exists_cond(JOIN *join_arg)
   DBUG_ENTER("Item_in_subselect::inject_in_to_exists_cond");
   DBUG_ASSERT(thd == join_arg->thd);
 
+  if (select_lex->min_max_opt_list.elements)
+  {
+    /*
+      MIN/MAX optimizations have been applied to Item_sum objects
+      of the subquery this subquery predicate in opt_sum_query().
+      Injection of new condition invalidates this optimizations.
+      Thus those optimizations must be rolled back.
+    */
+    List_iterator_fast<Item_sum> it(select_lex->min_max_opt_list);
+    Item_sum *item;
+    while ((item= it++))
+    {
+      item->clear();
+      item->reset_forced_const();
+    }
+    if (where_item)
+      where_item->update_used_tables();
+    if (having_item)
+      having_item->update_used_tables();
+  }
+
   if (where_item)
   {
     List<Item> *and_args= NULL;
@@ -2850,7 +2872,8 @@ bool Item_in_subselect::init_cond_guards()
 {
   DBUG_ASSERT(thd);
   uint cols_num= left_expr->cols();
-  if (!abort_on_null && left_expr->maybe_null && !pushed_cond_guards)
+  if (!abort_on_null && !pushed_cond_guards &&
+      (left_expr->maybe_null || cols_num > 1))
   {
     if (!(pushed_cond_guards= (bool*)thd->alloc(sizeof(bool) * cols_num)))
         return TRUE;
diff --git a/sql/item_subselect.h b/sql/item_subselect.h
index 2f166c8..75822ff 100644
--- a/sql/item_subselect.h
+++ b/sql/item_subselect.h
@@ -466,6 +466,8 @@ public:
       NULL              - for all other locations
   */
   TABLE_LIST *emb_on_expr_nest;
+  /* May be TRUE only for the candidates to semi-join conversion */ 
+  bool do_not_convert_to_sj; 
   /*
     Types of left_expr and subquery's select list allow to perform subquery
     materialization. Currently, we set this to FALSE when it as well could
@@ -554,9 +556,9 @@ public:
   Item_in_subselect()
     :Item_exists_subselect(), left_expr_cache(0), first_execution(TRUE),
      abort_on_null(0), in_strategy(SUBS_NOT_TRANSFORMED), optimizer(0),
-    pushed_cond_guards(NULL), func(NULL), emb_on_expr_nest(NULL), 
-    is_jtbm_merged(FALSE), is_jtbm_const_tab(FALSE),
-    upper_item(0)
+    pushed_cond_guards(NULL), func(NULL), emb_on_expr_nest(NULL),
+    do_not_convert_to_sj(FALSE), is_jtbm_merged(FALSE),
+    is_jtbm_const_tab(FALSE), upper_item(0)
     {}
   void cleanup();
   subs_type substype() { return IN_SUBS; }
@@ -617,6 +619,8 @@ public:
     emb_on_expr_nest= embedding;
   }
 
+  void block_conversion_to_sj () { do_not_convert_to_sj= TRUE; }
+
   bool test_strategy(uchar strategy)
   { return test(in_strategy & strategy); }
 
diff --git a/sql/item_sum.h b/sql/item_sum.h
index 86093f5..dcc3e49 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -454,6 +454,7 @@ public:
     used_tables_cache= 0; 
     forced_const= TRUE; 
   }
+  void reset_forced_const() { forced_const= FALSE; }
   virtual bool const_item() const { return forced_const; }
   virtual bool const_during_execution() const { return false; }
   virtual void print(String *str, enum_query_type query_type);
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index 420fb29..0ed1506 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -3041,7 +3041,7 @@ get_date_time_result_type(const char *format, uint length)
   const char *val= format;
   const char *end= format + length;
 
-  for (; val != end && val != end; val++)
+  for (; val != end; val++)
   {
     if (*val == '%' && val+1 != end)
     {
diff --git a/sql/log.cc b/sql/log.cc
index dc87c39..f8c256e 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -4887,13 +4887,20 @@ int THD::binlog_write_table_map(TABLE *table, bool is_transactional,
 
   IO_CACHE *file=
     cache_mngr->get_binlog_cache_log(use_trans_cache(this, is_transactional));
+  binlog_cache_data *cache_data=
+    cache_mngr->get_binlog_cache_data(use_trans_cache(this, is_transactional));
+
   if (with_annotate && *with_annotate)
   {
     Annotate_rows_log_event anno(current_thd, is_transactional, false);
     /* Annotate event should be written not more than once */
     *with_annotate= 0;
     if ((error= anno.write(file)))
+    {
+      if (my_errno == EFBIG)
+        cache_data->set_incident();
       DBUG_RETURN(error);
+    }
   }
   if ((error= the_event.write(file)))
     DBUG_RETURN(error);
diff --git a/sql/net_serv.cc b/sql/net_serv.cc
index a280fcf..ea66bb5 100644
--- a/sql/net_serv.cc
+++ b/sql/net_serv.cc
@@ -1,5 +1,5 @@
 /* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
-   Copyright (c) 2012, 2016, MariaDB
+   Copyright (c) 2012, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc
index 5137d8a..af1abb2 100644
--- a/sql/opt_subselect.cc
+++ b/sql/opt_subselect.cc
@@ -678,6 +678,7 @@ int check_and_do_in_subquery_rewrites(JOIN *join)
         !((join->select_options |                                     // 10
            select_lex->outer_select()->join->select_options)          // 10
           & SELECT_STRAIGHT_JOIN))                                    // 10
+ 
     {
       DBUG_PRINT("info", ("Subquery is semi-join conversion candidate"));
 
@@ -1000,6 +1001,25 @@ bool check_for_outer_joins(List<TABLE_LIST> *join_list)
 }
 
 
+void find_and_block_conversion_to_sj(Item *to_find,
+				     List_iterator_fast<Item_in_subselect> &li)
+{
+  if (to_find->type() != Item::SUBSELECT_ITEM ||
+      ((Item_subselect *) to_find)->substype() != Item_subselect::IN_SUBS)
+    return;
+  Item_in_subselect *in_subq;
+  li.rewind();
+  while ((in_subq= li++))
+  {
+    if (in_subq == to_find)
+    {
+      in_subq->block_conversion_to_sj();
+      return;
+    }
+  }
+}
+
+
 /*
   Convert semi-join subquery predicates into semi-join join nests
 
@@ -1052,7 +1072,6 @@ bool convert_join_subqueries_to_semijoins(JOIN *join)
   Query_arena *arena, backup;
   Item_in_subselect *in_subq;
   THD *thd= join->thd;
-  List_iterator<TABLE_LIST> ti(join->select_lex->leaf_tables);
   DBUG_ENTER("convert_join_subqueries_to_semijoins");
 
   if (join->select_lex->sj_subselects.is_empty())
@@ -1070,6 +1089,89 @@ bool convert_join_subqueries_to_semijoins(JOIN *join)
     subq_sel->update_used_tables();
   }
 
+  /* 
+    Check all candidates to semi-join conversion that occur
+    in ON expressions of outer join. Set the flag blocking
+    this conversion for them.
+  */
+  TABLE_LIST *tbl;
+  List_iterator<TABLE_LIST> ti(join->select_lex->leaf_tables);
+  while ((tbl= ti++))
+  {
+    TABLE_LIST *embedded;
+    TABLE_LIST *embedding= tbl;
+    do
+    {
+      embedded= embedding;
+      bool block_conversion_to_sj= false;
+      if (embedded->on_expr)
+      {
+        /*
+          Conversion of an IN subquery predicate into semi-join
+          is blocked now if the predicate occurs:
+          - in the ON expression of an outer join
+          - in the ON expression of an inner join embedded directly
+            or indirectly in the inner nest of an outer join
+	*/
+        for (TABLE_LIST *tl= embedded; tl; tl= tl->embedding)
+	{
+          if (tl->outer_join)
+	  {
+            block_conversion_to_sj= true;
+            break;
+          }
+        }
+      }
+      if (block_conversion_to_sj)
+      {
+	Item *cond= embedded->on_expr;
+        if (!cond)
+          ;
+        else if (cond->type() != Item::COND_ITEM)
+          find_and_block_conversion_to_sj(cond, li);
+        else if (((Item_cond*) cond)->functype() ==
+	         Item_func::COND_AND_FUNC)
+	{
+          Item *item;
+          List_iterator<Item> it(*(((Item_cond*) cond)->argument_list()));
+          while ((item= it++))
+	  {
+	    find_and_block_conversion_to_sj(item, li);
+          }
+	}
+      }
+      embedding= embedded->embedding;
+    }
+    while (embedding &&
+           embedding->nested_join->join_list.head() == embedded);
+  }
+
+  /* 
+    Block conversion to semi-joins for those candidates that
+    are encountered in the WHERE condition of the multi-table view
+    with CHECK OPTION if this view is used in UPDATE/DELETE.
+    (This limitation can be, probably, easily lifted.) 
+  */  
+  li.rewind();
+  while ((in_subq= li++))
+  {
+    if (in_subq->emb_on_expr_nest != NO_JOIN_NEST &&
+        in_subq->emb_on_expr_nest->effective_with_check)
+    {
+      in_subq->block_conversion_to_sj();
+    }
+  }
+
+  if (join->select_options & SELECT_STRAIGHT_JOIN)
+  {
+    /* Block conversion to semijoins for all candidates */ 
+    li.rewind();
+    while ((in_subq= li++))
+    {
+      in_subq->block_conversion_to_sj();
+    }
+  }
+      
   li.rewind();
   /* First, convert child join's subqueries. We proceed bottom-up here */
   while ((in_subq= li++)) 
@@ -1088,8 +1190,10 @@ bool convert_join_subqueries_to_semijoins(JOIN *join)
 
     if (convert_join_subqueries_to_semijoins(child_join))
       DBUG_RETURN(TRUE);
+
+
     in_subq->sj_convert_priority= 
-      test(in_subq->emb_on_expr_nest != NO_JOIN_NEST) * MAX_TABLES * 2 +
+      test(in_subq->do_not_convert_to_sj) * MAX_TABLES * 2 +
       in_subq->is_correlated * MAX_TABLES + child_join->outer_tables;
   }
   
@@ -1122,7 +1226,7 @@ bool convert_join_subqueries_to_semijoins(JOIN *join)
     bool remove_item= TRUE;
 
     /* Stop processing if we've reached a subquery that's attached to the ON clause */
-    if (in_subq->emb_on_expr_nest != NO_JOIN_NEST)
+    if (in_subq->do_not_convert_to_sj)
       break;
 
     if (in_subq->is_flattenable_semijoin) 
@@ -3325,6 +3429,7 @@ void fix_semijoin_strategies_for_picked_join_order(JOIN *join)
   table_map remaining_tables= 0;
   table_map handled_tabs= 0;
   join->sjm_lookup_tables= 0;
+  join->sjm_scan_tables= 0;
   for (tablenr= table_count - 1 ; tablenr != join->const_tables - 1; tablenr--)
   {
     POSITION *pos= join->best_positions + tablenr;
@@ -3383,6 +3488,9 @@ void fix_semijoin_strategies_for_picked_join_order(JOIN *join)
       for (i= tablenr; i != (first + sjm->tables - 1); i--)
         rem_tables |= join->best_positions[i].table->table->map;
 
+      for (i= first; i < first+ sjm->tables; i++)
+        join->sjm_scan_tables |= join->best_positions[i].table->table->map;
+
       POSITION dummy;
       join->cur_sj_inner_tables= 0;
       for (i= first + sjm->tables; i <= tablenr; i++)
diff --git a/sql/opt_sum.cc b/sql/opt_sum.cc
index aa8b17a..1a8c6be 100644
--- a/sql/opt_sum.cc
+++ b/sql/opt_sum.cc
@@ -253,6 +253,8 @@ int opt_sum_query(THD *thd,
   int error= 0;
   DBUG_ENTER("opt_sum_query");
 
+  thd->lex->current_select->min_max_opt_list.empty();
+
   if (conds)
     where_tables= conds->used_tables();
 
@@ -444,7 +446,14 @@ int opt_sum_query(THD *thd,
           item_sum->aggregator_clear();
         }
         else
+        {
           item_sum->reset_and_add();
+          /*
+            Save a reference to the item for possible rollback
+            of the min/max optimizations for this select
+          */
+	  thd->lex->current_select->min_max_opt_list.push_back(item_sum);
+        }
         item_sum->make_const();
         recalc_const_item= 1;
         break;
diff --git a/sql/records.cc b/sql/records.cc
index aca950d..59ea50b 100644
--- a/sql/records.cc
+++ b/sql/records.cc
@@ -1,5 +1,6 @@
 /*
    Copyright (c) 2000, 2010, Oracle and/or its affiliates.
+   Copyright (c) 2009, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/sql/rpl_handler.cc b/sql/rpl_handler.cc
index 5b75d6c..ca3b57e 100644
--- a/sql/rpl_handler.cc
+++ b/sql/rpl_handler.cc
@@ -260,7 +260,7 @@ int Binlog_storage_delegate::after_flush(THD *thd,
     thd->semisync_info= log_info;
   }
 
-  strcpy(log_info->log_file, log_file+dirname_length(log_file));
+  strmake_buf(log_info->log_file, log_file+dirname_length(log_file));
   log_info->log_pos = log_pos;
   
   FOREACH_OBSERVER(ret, after_flush, false,
diff --git a/sql/rpl_mi.cc b/sql/rpl_mi.cc
index 3c5a991..adaa7cf 100644
--- a/sql/rpl_mi.cc
+++ b/sql/rpl_mi.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2006, 2012, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2011, Monty Program Ab
+/* Copyright (c) 2006, 2017, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -401,7 +401,7 @@ file '%s')", fname);
     mi->connect_retry= (uint) connect_retry;
     mi->ssl= (my_bool) ssl;
     mi->ssl_verify_server_cert= ssl_verify_server_cert;
-    mi->heartbeat_period= master_heartbeat_period;
+    mi->heartbeat_period= min(SLAVE_MAX_HEARTBEAT_PERIOD, master_heartbeat_period);
   }
   DBUG_PRINT("master_info",("log_file_name: %s  position: %ld",
                             mi->master_log_name,
@@ -518,8 +518,8 @@ int flush_master_info(Master_info* mi,
      contents of file). But because of number of lines in the first line
      of file we don't care about this garbage.
   */
-  char heartbeat_buf[sizeof(mi->heartbeat_period) * 4]; // buffer to suffice always
-  sprintf(heartbeat_buf, "%.3f", mi->heartbeat_period);
+  char heartbeat_buf[FLOATING_POINT_BUFFER];
+  my_fcvt(mi->heartbeat_period, 3, heartbeat_buf, NULL);
   my_b_seek(file, 0L);
   my_b_printf(file,
               "%u\n%s\n%s\n%s\n%s\n%s\n%d\n%d\n%d\n%s\n%s\n%s\n%s\n%s\n%d\n%s\n%s\n%s\n",
@@ -548,7 +548,6 @@ void end_master_info(Master_info* mi)
 
   if (!mi->inited)
     DBUG_VOID_RETURN;
-  end_relay_log_info(&mi->rli);
   if (mi->fd >= 0)
   {
     end_io_cache(&mi->file);
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index b01f744..52e60c2 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2006, 2013, Oracle and/or its affiliates.
-   Copyright (c) 2011, 2013, Monty Program Ab
+/* Copyright (c) 2006, 2017, Oracle and/or its affiliates.
+   Copyright (c) 2011, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -42,7 +42,8 @@ Relay_log_info::Relay_log_info(bool is_slave_recovery)
    no_storage(FALSE), replicate_same_server_id(::replicate_same_server_id),
    info_fd(-1), cur_log_fd(-1), relay_log(&sync_relaylog_period),
    sync_counter(0), is_relay_log_recovery(is_slave_recovery),
-   save_temporary_tables(0), cur_log_old_open_count(0), group_relay_log_pos(0), 
+   save_temporary_tables(0), cur_log_old_open_count(0),
+   error_on_rli_init_info(false), group_relay_log_pos(0),
    event_relay_log_pos(0),
 #if HAVE_valgrind
    is_fake(FALSE),
@@ -112,7 +113,7 @@ int init_relay_log_info(Relay_log_info* rli,
 			const char* info_fname)
 {
   char fname[FN_REFLEN+128];
-  int info_fd;
+  int info_fd= -1;
   const char* msg = 0;
   int error = 0;
   DBUG_ENTER("init_relay_log_info");
@@ -122,6 +123,8 @@ int init_relay_log_info(Relay_log_info* rli,
     DBUG_RETURN(0);
   fn_format(fname, info_fname, mysql_data_home, "", 4+32);
   mysql_mutex_lock(&rli->data_lock);
+  if (rli->error_on_rli_init_info)
+    goto err;
   info_fd = rli->info_fd;
   rli->cur_log_fd = -1;
   rli->slave_skip_counter=0;
@@ -358,11 +361,14 @@ Failed to open the existing relay log info file '%s' (errno %d)",
     goto err;
   }
   rli->inited= 1;
+  rli->error_on_rli_init_info= false;
   mysql_mutex_unlock(&rli->data_lock);
   DBUG_RETURN(error);
 
 err:
-  sql_print_error("%s", msg);
+  rli->error_on_rli_init_info= true;
+  if (msg)
+    sql_print_error("%s", msg);
   end_io_cache(&rli->info_file);
   if (info_fd >= 0)
     mysql_file_close(info_fd, MYF(0));
@@ -947,6 +953,8 @@ int purge_relay_logs(Relay_log_info* rli, THD *thd, bool just_reset,
                      const char** errmsg)
 {
   int error=0;
+  const char *ln;
+  char name_buf[FN_REFLEN];
   DBUG_ENTER("purge_relay_logs");
 
   /*
@@ -973,12 +981,34 @@ int purge_relay_logs(Relay_log_info* rli, THD *thd, bool just_reset,
   if (!rli->inited)
   {
     DBUG_PRINT("info", ("rli->inited == 0"));
-    DBUG_RETURN(0);
-  }
-
-  DBUG_ASSERT(rli->slave_running == 0);
-  DBUG_ASSERT(rli->mi->slave_running == 0);
+    if (rli->error_on_rli_init_info)
+    {
+      ln= rli->relay_log.generate_name(opt_relay_logname, "-relay-bin",
+                                       1, name_buf);
 
+      if (rli->relay_log.open_index_file(opt_relaylog_index_name, ln, TRUE))
+      {
+        sql_print_error("Unable to purge relay log files. Failed to open relay "
+                        "log index file:%s.", rli->relay_log.get_index_fname());
+        DBUG_RETURN(1);
+      }
+      if (rli->relay_log.open(ln, LOG_BIN, 0, SEQ_READ_APPEND, 0,
+                             (max_relay_log_size ? max_relay_log_size :
+                              max_binlog_size), 1, TRUE))
+      {
+        sql_print_error("Unable to purge relay log files. Failed to open relay "
+                        "log file:%s.", rli->relay_log.get_log_fname());
+        DBUG_RETURN(1);
+      }
+    }
+    else
+      DBUG_RETURN(0);
+  }
+  else
+  {
+    DBUG_ASSERT(rli->slave_running == 0);
+    DBUG_ASSERT(rli->mi->slave_running == 0);
+  }
   rli->slave_skip_counter=0;
   mysql_mutex_lock(&rli->data_lock);
 
@@ -1016,6 +1046,8 @@ int purge_relay_logs(Relay_log_info* rli, THD *thd, bool just_reset,
                               rli->group_relay_log_pos,
                               0 /* do not need data lock */, errmsg, 0);
 
+  if (!rli->inited && rli->error_on_rli_init_info)
+    rli->relay_log.close(LOG_CLOSE_INDEX | LOG_CLOSE_STOP_EVENT);
 err:
 #ifndef DBUG_OFF
   char buf[22];
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h
index b989283..5d31a8d 100644
--- a/sql/rpl_rli.h
+++ b/sql/rpl_rli.h
@@ -1,4 +1,5 @@
-/* Copyright (c) 2005, 2012, Oracle and/or its affiliates.
+/* Copyright (c) 2005, 2017, Oracle and/or its affiliates.
+   Copyright (c) 2009, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -154,7 +155,14 @@ public:
     a different log under our feet
   */
   uint32 cur_log_old_open_count;
-  
+
+  /*
+    If on init_info() call error_on_rli_init_info is true that means
+    that previous call to init_info() terminated with an error, RESET
+    SLAVE must be executed and the problem fixed manually.
+   */
+  bool error_on_rli_init_info;
+
   /*
     Let's call a group (of events) :
       - a transaction
diff --git a/sql/slave.cc b/sql/slave.cc
index 3194e04..3a03464 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
-   Copyright (c) 2009, 2016, MariaDB
+/* Copyright (c) 2000, 2017, Oracle and/or its affiliates.
+   Copyright (c) 2009, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -880,6 +880,7 @@ void close_active_mi()
   if (active_mi)
   {
     end_master_info(active_mi);
+    end_relay_log_info(&active_mi->rli);
     delete active_mi;
     active_mi= 0;
   }
@@ -4600,6 +4601,7 @@ void end_relay_log_info(Relay_log_info* rli)
 {
   DBUG_ENTER("end_relay_log_info");
 
+  rli->error_on_rli_init_info= false;
   if (!rli->inited)
     DBUG_VOID_RETURN;
   if (rli->info_fd >= 0)
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 46eabb4..00d860e 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1250,6 +1250,8 @@ void THD::init(void)
   server_status= SERVER_STATUS_AUTOCOMMIT;
   if (variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES)
     server_status|= SERVER_STATUS_NO_BACKSLASH_ESCAPES;
+  if (variables.sql_mode & MODE_ANSI_QUOTES)
+    server_status|= SERVER_STATUS_ANSI_QUOTES;
 
   transaction.all.modified_non_trans_table=
     transaction.stmt.modified_non_trans_table= FALSE;
@@ -3668,7 +3670,7 @@ void Security_context::destroy()
   if (external_user)
   {
     my_free(external_user);
-    user= NULL;
+    external_user= NULL;
   }
 
   my_free(ip);
diff --git a/sql/sql_derived.cc b/sql/sql_derived.cc
index 20fca2d..493f0ec 100644
--- a/sql/sql_derived.cc
+++ b/sql/sql_derived.cc
@@ -525,7 +525,9 @@ bool mysql_derived_merge_for_insert(THD *thd, LEX *lex, TABLE_LIST *derived)
       derived->schema_table= derived->merge_underlying_list->schema_table;
       derived->merged_for_insert= TRUE;
     }
-  }  
+  }
+  else
+    derived->table= derived->merge_underlying_list->table;
   DBUG_RETURN(FALSE);
 }
 
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index fa866bc..6611fd4 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -1875,6 +1875,7 @@ void st_select_lex::init_query()
   leaf_tables_prep.empty();
   leaf_tables.empty();
   item_list.empty();
+  min_max_opt_list.empty();
   join= 0;
   having= prep_having= where= prep_where= 0;
   olap= UNSPECIFIED_OLAP_TYPE;
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index b13befd..d283085 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -766,6 +766,11 @@ public:
   */
   List<Item_func_match> *ftfunc_list;
   List<Item_func_match> ftfunc_list_alloc;
+  /*
+    The list of items to which MIN/MAX optimizations of opt_sum_query()
+    have been applied. Used to rollback those optimizations if it's needed.
+  */
+  List<Item_sum> min_max_opt_list;
   JOIN *join; /* after JOIN::prepare it is pointer to corresponding JOIN */
   List<TABLE_LIST> top_join_list; /* join list of the top level          */
   List<TABLE_LIST> *join_list;    /* list for the currently parsed join  */
diff --git a/sql/sql_load.cc b/sql/sql_load.cc
index dcbd9f1..23865ab 100644
--- a/sql/sql_load.cc
+++ b/sql/sql_load.cc
@@ -1,6 +1,6 @@
 /*
    Copyright (c) 2000, 2016, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2016, MariaDB
+   Copyright (c) 2010, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 5e2962b..ba0520d 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -835,20 +835,16 @@ static my_bool deny_updates_if_read_only_option(THD *thd,
   if (lex->sql_command == SQLCOM_UPDATE_MULTI)
     DBUG_RETURN(FALSE);
 
-  const my_bool create_temp_tables= 
-    (lex->sql_command == SQLCOM_CREATE_TABLE) &&
-    (lex->create_info.options & HA_LEX_CREATE_TMP_TABLE);
-
-  const my_bool drop_temp_tables= 
-    (lex->sql_command == SQLCOM_DROP_TABLE) &&
-    lex->drop_temporary;
-
-  const my_bool update_real_tables=
-    some_non_temp_table_to_be_updated(thd, all_tables) &&
-    !(create_temp_tables || drop_temp_tables);
-
+  /*
+    a table-to-be-created is not in the temp table list yet,
+    so CREATE TABLE needs a special treatment
+  */
+  const bool update_real_tables=
+    lex->sql_command == SQLCOM_CREATE_TABLE
+    ? !(lex->create_info.options & HA_LEX_CREATE_TMP_TABLE)
+    : some_non_temp_table_to_be_updated(thd, all_tables);
 
-  const my_bool create_or_drop_databases=
+  const bool create_or_drop_databases=
     (lex->sql_command == SQLCOM_CREATE_DB) ||
     (lex->sql_command == SQLCOM_DROP_DB);
 
@@ -1275,9 +1271,12 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
 	kill_zombie_dump_threads(slave_server_id);
       thd->server_id = slave_server_id;
 
-      general_log_print(thd, command, "Log: '%s'  Pos: %ld", packet+10,
-                      (long) pos);
-      mysql_binlog_send(thd, thd->strdup(packet + 10), (my_off_t) pos, flags);
+      const char *name= packet + 10;
+      size_t nlen= strlen(name);
+
+      general_log_print(thd, command, "Log: '%s'  Pos: %lu", name, pos);
+      if (nlen < FN_REFLEN)
+        mysql_binlog_send(thd, thd->strmake(name, nlen), (my_off_t)pos, flags);
       unregister_slave(thd,1,1);
       /*  fake COM_QUIT -- if we get here, the thread needs to terminate */
       error = TRUE;
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index b0fb38b..0d9f6e6 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -1913,6 +1913,22 @@ static int add_subpartition_by(File fptr)
   return err + add_partition_by(fptr);
 }
 
+static int add_name_string(File fptr, const char *name)
+{
+  int err;
+  String name_string("", 0, system_charset_info);
+  THD *thd= current_thd;
+  ulonglong save_sql_mode= thd->variables.sql_mode;
+  thd->variables.sql_mode&= ~MODE_ANSI_QUOTES;
+  ulonglong save_options= thd->variables.option_bits;
+  thd->variables.option_bits&= ~OPTION_QUOTE_SHOW_CREATE;
+  append_identifier(thd, &name_string, name, strlen(name));
+  thd->variables.sql_mode= save_sql_mode;
+  thd->variables.option_bits= save_options;
+  err= add_string_object(fptr, &name_string);
+  return err;
+}
+
 static int add_part_field_list(File fptr, List<char> field_list)
 {
   uint i, num_fields;
@@ -1924,15 +1940,7 @@ static int add_part_field_list(File fptr, List<char> field_list)
   err+= add_begin_parenthesis(fptr);
   while (i < num_fields)
   {
-    const char *field_str= part_it++;
-    String field_string("", 0, system_charset_info);
-    THD *thd= current_thd;
-    ulonglong save_options= thd->variables.option_bits;
-    thd->variables.option_bits&= ~OPTION_QUOTE_SHOW_CREATE;
-    append_identifier(thd, &field_string, field_str,
-                      strlen(field_str));
-    thd->variables.option_bits= save_options;
-    err+= add_string_object(fptr, &field_string);
+    err+= add_name_string(fptr, part_it++);
     if (i != (num_fields-1))
       err+= add_comma(fptr);
     i++;
@@ -1941,20 +1949,6 @@ static int add_part_field_list(File fptr, List<char> field_list)
   return err;
 }
 
-static int add_name_string(File fptr, const char *name)
-{
-  int err;
-  String name_string("", 0, system_charset_info);
-  THD *thd= current_thd;
-  ulonglong save_options= thd->variables.option_bits;
-  thd->variables.option_bits&= ~OPTION_QUOTE_SHOW_CREATE;
-  append_identifier(thd, &name_string, name,
-                    strlen(name));
-  thd->variables.option_bits= save_options;
-  err= add_string_object(fptr, &name_string);
-  return err;
-}
-
 static int add_int(File fptr, longlong number)
 {
   char buff[32];
@@ -5888,8 +5882,8 @@ static bool write_log_changed_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
   DDL_LOG_ENTRY ddl_log_entry;
   partition_info *part_info= lpt->part_info;
   DDL_LOG_MEMORY_ENTRY *log_entry;
-  char tmp_path[FN_REFLEN];
-  char normal_path[FN_REFLEN];
+  char tmp_path[FN_REFLEN + 1];
+  char normal_path[FN_REFLEN + 1];
   List_iterator<partition_element> part_it(part_info->partitions);
   uint temp_partitions= part_info->temp_partitions.elements;
   uint num_elements= part_info->partitions.elements;
@@ -5913,14 +5907,15 @@ static bool write_log_changed_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
           ddl_log_entry.next_entry= *next_entry;
           ddl_log_entry.handler_name=
                ha_resolve_storage_engine_name(sub_elem->engine_type);
-          create_subpartition_name(tmp_path, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   TEMP_PART_NAME);
-          create_subpartition_name(normal_path, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   NORMAL_PART_NAME);
+          if (create_subpartition_name(tmp_path, sizeof(tmp_path), path,
+                                       part_elem->partition_name,
+                                       sub_elem->partition_name,
+                                       TEMP_PART_NAME) ||
+              create_subpartition_name(normal_path, sizeof(normal_path), path,
+                                       part_elem->partition_name,
+                                       sub_elem->partition_name,
+                                       NORMAL_PART_NAME))
+            DBUG_RETURN(TRUE);
           ddl_log_entry.name= normal_path;
           ddl_log_entry.from_name= tmp_path;
           if (part_elem->part_state == PART_IS_CHANGED)
@@ -5941,12 +5936,13 @@ static bool write_log_changed_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
         ddl_log_entry.next_entry= *next_entry;
         ddl_log_entry.handler_name=
                ha_resolve_storage_engine_name(part_elem->engine_type);
-        create_partition_name(tmp_path, path,
-                              part_elem->partition_name,
-                              TEMP_PART_NAME, TRUE);
-        create_partition_name(normal_path, path,
-                              part_elem->partition_name,
-                              NORMAL_PART_NAME, TRUE);
+        if (create_partition_name(tmp_path, sizeof(tmp_path), path,
+                                  part_elem->partition_name, TEMP_PART_NAME,
+                                  TRUE) ||
+            create_partition_name(normal_path, sizeof(normal_path), path,
+                                  part_elem->partition_name, NORMAL_PART_NAME,
+                                  TRUE))
+          DBUG_RETURN(TRUE);
         ddl_log_entry.name= normal_path;
         ddl_log_entry.from_name= tmp_path;
         if (part_elem->part_state == PART_IS_CHANGED)
@@ -5985,7 +5981,7 @@ static bool write_log_dropped_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
   DDL_LOG_ENTRY ddl_log_entry;
   partition_info *part_info= lpt->part_info;
   DDL_LOG_MEMORY_ENTRY *log_entry;
-  char tmp_path[FN_LEN];
+  char tmp_path[FN_REFLEN + 1];
   List_iterator<partition_element> part_it(part_info->partitions);
   List_iterator<partition_element> temp_it(part_info->temp_partitions);
   uint num_temp_partitions= part_info->temp_partitions.elements;
@@ -6024,10 +6020,10 @@ static bool write_log_dropped_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
           ddl_log_entry.next_entry= *next_entry;
           ddl_log_entry.handler_name=
                ha_resolve_storage_engine_name(sub_elem->engine_type);
-          create_subpartition_name(tmp_path, path,
-                                   part_elem->partition_name,
-                                   sub_elem->partition_name,
-                                   name_variant);
+          if (create_subpartition_name(tmp_path, sizeof(tmp_path), path,
+                                       part_elem->partition_name,
+                                       sub_elem->partition_name, name_variant))
+            DBUG_RETURN(TRUE);
           ddl_log_entry.name= tmp_path;
           if (write_ddl_log_entry(&ddl_log_entry, &log_entry))
           {
@@ -6043,9 +6039,10 @@ static bool write_log_dropped_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
         ddl_log_entry.next_entry= *next_entry;
         ddl_log_entry.handler_name=
                ha_resolve_storage_engine_name(part_elem->engine_type);
-        create_partition_name(tmp_path, path,
-                              part_elem->partition_name,
-                              name_variant, TRUE);
+        if (create_partition_name(tmp_path, sizeof(tmp_path), path,
+                                  part_elem->partition_name, name_variant,
+                                  TRUE))
+          DBUG_RETURN(TRUE);
         ddl_log_entry.name= tmp_path;
         if (write_ddl_log_entry(&ddl_log_entry, &log_entry))
         {
@@ -8123,31 +8120,41 @@ static uint32 get_next_subpartition_via_walking(PARTITION_ITERATOR *part_iter)
 
 }
 
+/* used in error messages below */
+static const char *longest_str(const char *s1, const char *s2,
+                               const char *s3=0)
+{
+  if (strlen(s2) > strlen(s1)) s1= s2;
+  if (s3 && strlen(s3) > strlen(s1)) s1= s3;
+  return s1;
+}
+
 
 /*
   Create partition names
 
   SYNOPSIS
     create_partition_name()
-    out:out                   Created partition name string
+    out:out                   The buffer for the created partition name string
+                              must be *at least* of FN_REFLEN+1 bytes
     in1                       First part
     in2                       Second part
     name_variant              Normal, temporary or renamed partition name
 
   RETURN VALUE
-    NONE
+    0 if ok, error if name too long
 
   DESCRIPTION
     This method is used to calculate the partition name, service routine to
     the del_ren_cre_table method.
 */
 
-void create_partition_name(char *out, const char *in1,
-                           const char *in2, uint name_variant,
-                           bool translate)
+int create_partition_name(char *out, size_t outlen, const char *in1,
+                          const char *in2, uint name_variant, bool translate)
 {
   char transl_part_name[FN_REFLEN];
-  const char *transl_part;
+  const char *transl_part, *end;
+  DBUG_ASSERT(outlen >= FN_REFLEN + 1); // consistency! same limit everywhere
 
   if (translate)
   {
@@ -8157,11 +8164,17 @@ void create_partition_name(char *out, const char *in1,
   else
     transl_part= in2;
   if (name_variant == NORMAL_PART_NAME)
-    strxmov(out, in1, "#P#", transl_part, NullS);
+    end= strxnmov(out, outlen-1, in1, "#P#", transl_part, NullS);
   else if (name_variant == TEMP_PART_NAME)
-    strxmov(out, in1, "#P#", transl_part, "#TMP#", NullS);
+    end= strxnmov(out, outlen-1, in1, "#P#", transl_part, "#TMP#", NullS);
   else if (name_variant == RENAMED_PART_NAME)
-    strxmov(out, in1, "#P#", transl_part, "#REN#", NullS);
+    end= strxnmov(out, outlen-1, in1, "#P#", transl_part, "#REN#", NullS);
+  if (end - out == static_cast<ptrdiff_t>(outlen-1))
+  {
+    my_error(ER_PATH_LENGTH, MYF(0), longest_str(in1, transl_part));
+    return HA_WRONG_CREATE_OPTION;
+  }
+  return 0;
 }
 
 
@@ -8170,37 +8183,46 @@ void create_partition_name(char *out, const char *in1,
 
   SYNOPSIS
     create_subpartition_name()
-    out:out                   Created partition name string
+    out:out                   The buffer for the created partition name string
+                              must be *at least* of FN_REFLEN+1 bytes
     in1                       First part
     in2                       Second part
     in3                       Third part
     name_variant              Normal, temporary or renamed partition name
 
   RETURN VALUE
-    NONE
+    0 if ok, error if name too long
 
   DESCRIPTION
   This method is used to calculate the subpartition name, service routine to
   the del_ren_cre_table method.
 */
 
-void create_subpartition_name(char *out, const char *in1,
-                              const char *in2, const char *in3,
-                              uint name_variant)
+int create_subpartition_name(char *out, size_t outlen,
+                             const char *in1, const char *in2,
+                             const char *in3, uint name_variant)
 {
-  char transl_part_name[FN_REFLEN], transl_subpart_name[FN_REFLEN];
+  char transl_part_name[FN_REFLEN], transl_subpart_name[FN_REFLEN], *end;
+  DBUG_ASSERT(outlen >= FN_REFLEN + 1); // consistency! same limit everywhere
 
   tablename_to_filename(in2, transl_part_name, FN_REFLEN);
   tablename_to_filename(in3, transl_subpart_name, FN_REFLEN);
   if (name_variant == NORMAL_PART_NAME)
-    strxmov(out, in1, "#P#", transl_part_name,
-            "#SP#", transl_subpart_name, NullS);
+    end= strxnmov(out, outlen-1, in1, "#P#", transl_part_name,
+                  "#SP#", transl_subpart_name, NullS);
   else if (name_variant == TEMP_PART_NAME)
-    strxmov(out, in1, "#P#", transl_part_name,
-            "#SP#", transl_subpart_name, "#TMP#", NullS);
+    end= strxnmov(out, outlen-1, in1, "#P#", transl_part_name,
+                  "#SP#", transl_subpart_name, "#TMP#", NullS);
   else if (name_variant == RENAMED_PART_NAME)
-    strxmov(out, in1, "#P#", transl_part_name,
-            "#SP#", transl_subpart_name, "#REN#", NullS);
+    end= strxnmov(out, outlen-1, in1, "#P#", transl_part_name,
+                  "#SP#", transl_subpart_name, "#REN#", NullS);
+  if (end - out == static_cast<ptrdiff_t>(outlen-1))
+  {
+    my_error(ER_PATH_LENGTH, MYF(0),
+             longest_str(in1, transl_part_name, transl_subpart_name));
+    return HA_WRONG_CREATE_OPTION;
+  }
+  return 0;
 }
 
 uint get_partition_field_store_length(Field *field)
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index 951d58a..8380062 100644
--- a/sql/sql_partition.h
+++ b/sql/sql_partition.h
@@ -274,12 +274,12 @@ bool partition_key_modified(TABLE *table, const MY_BITMAP *fields);
 #define partition_key_modified(X,Y) 0
 #endif
 
-void create_partition_name(char *out, const char *in1,
-                           const char *in2, uint name_variant,
-                           bool translate);
-void create_subpartition_name(char *out, const char *in1,
-                              const char *in2, const char *in3,
-                              uint name_variant);
+int __attribute__((warn_unused_result))
+  create_partition_name(char *out, size_t outlen, const char *in1, const char
+                        *in2, uint name_variant, bool translate);
+int __attribute__((warn_unused_result))
+  create_subpartition_name(char *out, size_t outlen, const char *in1, const
+                           char *in2, const char *in3, uint name_variant);
 
 void set_field_ptr(Field **ptr, const uchar *new_buf, const uchar *old_buf);
 void set_key_field_ptr(KEY *key_info, const uchar *new_buf,
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index 2ec67a8..75aca02 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -316,6 +316,12 @@ static plugin_ref intern_plugin_lock(LEX *lex, plugin_ref plugin);
 static void intern_plugin_unlock(LEX *lex, plugin_ref plugin);
 static void reap_plugins(void);
 
+bool plugin_is_forced(struct st_plugin_int *p)
+{
+  return p->load_option == PLUGIN_FORCE ||
+         p->load_option == PLUGIN_FORCE_PLUS_PERMANENT;
+}
+
 static void report_error(int where_to, uint error, ...)
 {
   va_list args;
@@ -1353,7 +1359,7 @@ static int plugin_initialize(MEM_ROOT *tmp_root, struct st_plugin_int *plugin,
 
   if (options_only || state == PLUGIN_IS_DISABLED)
   {
-    ret= 0;
+    ret= !options_only && plugin_is_forced(plugin);
     goto err;
   }
 
@@ -1657,8 +1663,7 @@ int plugin_init(int *argc, char **argv, int flags)
   while ((plugin_ptr= *(--reap)))
   {
     mysql_mutex_unlock(&LOCK_plugin);
-    if (plugin_ptr->load_option == PLUGIN_FORCE ||
-        plugin_ptr->load_option == PLUGIN_FORCE_PLUS_PERMANENT)
+    if (plugin_is_forced(plugin_ptr))
       reaped_mandatory_plugin= TRUE;
     plugin_deinitialize(plugin_ptr, true);
     mysql_mutex_lock(&LOCK_plugin);
@@ -3505,8 +3510,7 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
                                                   plugin_dash.length + 1);
   strxmov(plugin_name_with_prefix_ptr, plugin_dash.str, plugin_name_ptr, NullS);
 
-  if (tmp->load_option != PLUGIN_FORCE &&
-      tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
+  if (!plugin_is_forced(tmp))
   {
     /* support --skip-plugin-foo syntax */
     options[0].name= plugin_name_ptr;
@@ -3823,8 +3827,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
       We adjust the default value to account for the hardcoded exceptions
       we have set for the federated and ndbcluster storage engines.
     */
-    if (tmp->load_option != PLUGIN_FORCE &&
-        tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
+    if (!plugin_is_forced(tmp))
       opts[0].def_value= opts[1].def_value= plugin_load_option;
 
     error= handle_options(argc, &argv, opts, NULL);
@@ -3840,8 +3843,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
      Set plugin loading policy from option value. First element in the option
      list is always the <plugin name> option value.
     */
-    if (tmp->load_option != PLUGIN_FORCE &&
-        tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
+    if (!plugin_is_forced(tmp))
       plugin_load_option= (enum_plugin_load_option) *(ulong*) opts[0].value;
   }
 
diff --git a/sql/sql_priv.h b/sql/sql_priv.h
index 749ee24..b5589cb 100644
--- a/sql/sql_priv.h
+++ b/sql/sql_priv.h
@@ -121,7 +121,7 @@
 #define OPTION_AUTOCOMMIT       (1ULL << 8)    // THD, user
 #define OPTION_BIG_SELECTS      (1ULL << 9)     // THD, user
 #define OPTION_LOG_OFF          (1ULL << 10)    // THD, user
-#define OPTION_QUOTE_SHOW_CREATE (1ULL << 11)   // THD, user, unused
+#define OPTION_QUOTE_SHOW_CREATE (1ULL << 11)   // THD, user
 #define TMP_TABLE_ALL_COLUMNS   (1ULL << 12)    // SELECT, intern
 #define OPTION_WARNINGS         (1ULL << 13)    // THD, user
 #define OPTION_AUTO_IS_NULL     (1ULL << 14)    // THD, user, binlog
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 5aea3f6..871cb27 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
-   Copyright (c) 2008, 2014, SkySQL Ab.
+/* Copyright (c) 2000, 2017, Oracle and/or its affiliates.
+   Copyright (c) 2008, 2017, MariaDB Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -1487,6 +1487,7 @@ int reset_slave(THD *thd, Master_info* mi)
 
   // close master_info_file, relay_log_info_file, set mi->inited=rli->inited=0
   end_master_info(mi);
+  end_relay_log_info(&mi->rli);
   // and delete these two files
   fn_format(fname, master_info_file, mysql_data_home, "", 4+32);
   if (mysql_file_stat(key_file_master_info, fname, &stat_area, MYF(0)) &&
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index c5f2a83..720c0a2 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -1195,6 +1195,7 @@ JOIN::optimize()
       DBUG_PRINT("info",("Select tables optimized away"));
       zero_result_cause= "Select tables optimized away";
       tables_list= 0;				// All tables resolved
+      select_lex->min_max_opt_list.empty();
       const_tables= top_join_tab_count= table_count;
       /*
         Extract all table-independent conditions and replace the WHERE
@@ -2758,8 +2759,11 @@ JOIN::exec()
       if (sort_table_cond)
       {
 	if (!curr_table->select)
+	{
 	  if (!(curr_table->select= new SQL_SELECT))
 	    DBUG_VOID_RETURN;
+	  curr_table->select->head= curr_table->table;
+        }
 	if (!curr_table->select->cond)
 	  curr_table->select->cond= sort_table_cond;
 	else
@@ -2845,7 +2849,7 @@ JOIN::exec()
 			    curr_join->select_limit,
 			    (select_options & OPTION_FOUND_ROWS ?
 			     HA_POS_ERROR : unit->select_limit_cnt),
-                            curr_join->group_list ? TRUE : FALSE))
+                            curr_join->group_list ? FALSE : TRUE))
 	DBUG_VOID_RETURN;
       sortorder= curr_join->sortorder;
       if (curr_join->const_tables != curr_join->table_count &&
@@ -7361,6 +7365,63 @@ bool JOIN_TAB::hash_join_is_possible()
 }
 
 
+/**
+  @brief
+  Check whether a KEYUSE can be really used for access this join table 
+
+  @param join    Join structure with the best join order 
+                 for which the check is performed
+  @param keyuse  Evaluated KEYUSE structure    
+
+  @details
+  This function is supposed to be used after the best execution plan have been
+  already chosen and the JOIN_TAB array for the best join order been already set.
+  For a given KEYUSE to access this JOIN_TAB in the best execution plan the
+  function checks whether it really can be used. The function first performs
+  the check with access_from_tables_is_allowed(). If it succeeds it checks
+  whether the keyuse->val does not use some fields of a materialized semijoin
+  nest that cannot be used to build keys to access outer tables.
+  Such KEYUSEs exists for the query like this:
+    select * from ot 
+    where ot.c in (select it1.c from it1, it2 where it1.c=f(it2.c))
+  Here we have two KEYUSEs to access table ot: with val=it1.c and val=f(it2.c).
+  However if the subquery was materialized the second KEYUSE cannot be employed
+  to access ot.
+
+  @retval true  the given keyuse can be used for ref access of this JOIN_TAB 
+  @retval false otherwise
+*/
+
+bool JOIN_TAB::keyuse_is_valid_for_access_in_chosen_plan(JOIN *join,
+                                                         KEYUSE *keyuse)
+{
+  if (!access_from_tables_is_allowed(keyuse->used_tables, 
+                                     join->sjm_lookup_tables))
+    return false;
+  if (join->sjm_scan_tables & table->map)
+    return true;
+  table_map keyuse_sjm_scan_tables= keyuse->used_tables &
+                                    join->sjm_scan_tables;
+  if (!keyuse_sjm_scan_tables)
+    return true;
+  uint sjm_tab_nr= 0;
+  while (!(keyuse_sjm_scan_tables & table_map(1) << sjm_tab_nr))
+    sjm_tab_nr++;
+  JOIN_TAB *sjm_tab= join->map2table[sjm_tab_nr];
+  TABLE_LIST *emb_sj_nest= sjm_tab->emb_sj_nest;    
+  if (!(emb_sj_nest->sj_mat_info && emb_sj_nest->sj_mat_info->is_used &&
+        emb_sj_nest->sj_mat_info->is_sj_scan))
+    return true;
+  st_select_lex *sjm_sel= emb_sj_nest->sj_subq_pred->unit->first_select(); 
+  for (uint i= 0; i < sjm_sel->item_list.elements; i++)
+  {
+    if (sjm_sel->ref_pointer_array[i] == keyuse->val)
+      return true;
+  }
+  return false; 
+}
+
+
 static uint
 cache_record_length(JOIN *join,uint idx)
 {
@@ -7844,12 +7905,14 @@ get_best_combination(JOIN *join)
   {
     if (j->bush_children)
       j= j->bush_children->start;
-      
+    
     used_tables|= j->table->map;
-    if ((keyuse= join->best_positions[tablenr].key) &&
-        create_ref_for_key(join, j, keyuse, TRUE, used_tables))
-     DBUG_RETURN(TRUE);              // Something went wrong
-
+    if (j->type != JT_CONST && j->type != JT_SYSTEM)
+    {
+      if ((keyuse= join->best_positions[tablenr].key) &&
+          create_ref_for_key(join, j, keyuse, TRUE, used_tables))
+        DBUG_RETURN(TRUE);              // Something went wrong
+    }
     if (j->last_leaf_in_bush)
       j= j->bush_root_tab;
   }
@@ -7902,6 +7965,7 @@ static bool create_hj_key_for_table(JOIN *join, JOIN_TAB *join_tab,
   do
   {
     if (!(~used_tables & keyuse->used_tables) &&
+        join_tab->keyuse_is_valid_for_access_in_chosen_plan(join, keyuse) &&
         are_tables_local(join_tab, keyuse->used_tables))    
     {
       if (first_keyuse)
@@ -7916,6 +7980,8 @@ static bool create_hj_key_for_table(JOIN *join, JOIN_TAB *join_tab,
         {
           if (curr->keypart == keyuse->keypart &&
               !(~used_tables & curr->used_tables) &&
+              join_tab->keyuse_is_valid_for_access_in_chosen_plan(join,
+                                                                  keyuse) &&
               are_tables_local(join_tab, curr->used_tables))
             break;
         }
@@ -7949,6 +8015,7 @@ static bool create_hj_key_for_table(JOIN *join, JOIN_TAB *join_tab,
   do
   {
     if (!(~used_tables & keyuse->used_tables) &&
+        join_tab->keyuse_is_valid_for_access_in_chosen_plan(join, keyuse) &&
         are_tables_local(join_tab, keyuse->used_tables))
     { 
       bool add_key_part= TRUE;
@@ -7958,7 +8025,9 @@ static bool create_hj_key_for_table(JOIN *join, JOIN_TAB *join_tab,
         {
           if (curr->keypart == keyuse->keypart &&
               !(~used_tables & curr->used_tables) &&
-               are_tables_local(join_tab, curr->used_tables))
+              join_tab->keyuse_is_valid_for_access_in_chosen_plan(join,
+                                                                  curr) &&
+              are_tables_local(join_tab, curr->used_tables))
 	  {
             keyuse->keypart= NO_KEYPART;
             add_key_part= FALSE;
@@ -8060,8 +8129,7 @@ static bool create_ref_for_key(JOIN *join, JOIN_TAB *j,
     do
     {
       if (!(~used_tables & keyuse->used_tables) &&
-          j->access_from_tables_is_allowed(keyuse->used_tables,
-                                           join->sjm_lookup_tables))
+	  j->keyuse_is_valid_for_access_in_chosen_plan(join, keyuse))
       {
         if  (are_tables_local(j, keyuse->val->used_tables()))
         {
@@ -8130,8 +8198,7 @@ static bool create_ref_for_key(JOIN *join, JOIN_TAB *j,
     for (i=0 ; i < keyparts ; keyuse++,i++)
     {
       while (((~used_tables) & keyuse->used_tables) ||
-	     !j->access_from_tables_is_allowed(keyuse->used_tables,
-                                               join->sjm_lookup_tables) ||    
+	     !j->keyuse_is_valid_for_access_in_chosen_plan(join, keyuse) ||
              keyuse->keypart == NO_KEYPART ||
 	     (keyuse->keypart != 
               (is_hash_join_key_no(key) ?
@@ -8759,12 +8826,20 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
     /*
       Step #2: Extract WHERE/ON parts
     */
+    uint i;
+    for (i= join->top_join_tab_count - 1; i >= join->const_tables; i--)
+    {
+      if (!join->join_tab[i].bush_children)
+        break;
+    }
+    uint last_top_base_tab_idx= i;
+
     table_map save_used_tables= 0;
     used_tables=((select->const_tables=join->const_table_map) |
 		 OUTER_REF_TABLE_BIT | RAND_TABLE_BIT);
     JOIN_TAB *tab;
     table_map current_map;
-    uint i= join->const_tables;
+    i= join->const_tables;
     for (tab= first_depth_first_tab(join); tab;
          tab= next_depth_first_tab(join, tab), i++)
     {
@@ -8802,7 +8877,7 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
 	Following force including random expression in last table condition.
 	It solve problem with select like SELECT * FROM t1 WHERE rand() > 0.5
       */
-      if (tab == join->join_tab + join->top_join_tab_count - 1)
+      if (tab == join->join_tab + last_top_base_tab_idx)
         current_map|= RAND_TABLE_BIT;
       used_tables|=current_map;
 
@@ -8841,10 +8916,10 @@ make_join_select(JOIN *join,SQL_SELECT *select,COND *cond)
           save_used_tables= 0;
         }
         else
-         {
-	  tmp= make_cond_for_table(thd, cond, used_tables, current_map, i,
+        {
+          tmp= make_cond_for_table(thd, cond, used_tables, current_map, i,
                                    FALSE, FALSE);
-         }
+        }
         /* Add conditions added by add_not_null_conds(). */
         if (tab->select_cond)
           add_cond_and_fix(thd, &tmp, tab->select_cond);
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 0623672..1bc1e4c 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -540,6 +540,8 @@ typedef struct st_join_table {
             !(used_sjm_lookup_tables & ~emb_sj_nest->sj_inner_tables));
   }
 
+  bool keyuse_is_valid_for_access_in_chosen_plan(JOIN *join, KEYUSE *keyuse);
+
 } JOIN_TAB;
 
 
@@ -1003,6 +1005,11 @@ public:
     to materialize and access by lookups
   */
   table_map sjm_lookup_tables;
+  /** 
+    Bitmap of semijoin tables that the chosen plan decided
+    to materialize to scan the results of materialization
+  */
+  table_map sjm_scan_tables;
   /*
     Constant tables for which we have found a row (as opposed to those for
     which we didn't).
@@ -1331,6 +1338,7 @@ public:
     pre_sort_join_tab= NULL;
     emb_sjm_nest= NULL;
     sjm_lookup_tables= 0;
+    sjm_scan_tables= 0;
     /* 
       The following is needed because JOIN::cleanup(true) may be called for 
       joins for which JOIN::optimize was aborted with an error before a proper
diff --git a/sql/sql_union.cc b/sql/sql_union.cc
index 95ce1c9..2d816e0 100644
--- a/sql/sql_union.cc
+++ b/sql/sql_union.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2014, Oracle and/or its affiliates.
-   Copyright (c) 2010, 2014, SkySQL Ab.
+/* Copyright (c) 2000, 2017, Oracle and/or its affiliates.
+   Copyright (c) 2010, 2017, Corporation
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -362,6 +362,19 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
       Item *item_tmp;
       while ((item_tmp= it++))
       {
+        /*
+          If the outer query has a GROUP BY clause, an outer reference to this
+          query block may have been wrapped in a Item_outer_ref, which has not
+          been fixed yet. An Item_type_holder must be created based on a fixed
+          Item, so use the inner Item instead.
+        */
+        DBUG_ASSERT(item_tmp->fixed ||
+                    (item_tmp->type() == Item::REF_ITEM &&
+                     ((Item_ref *)(item_tmp))->ref_type() ==
+                     Item_ref::OUTER_REF));
+        if (!item_tmp->fixed)
+          item_tmp= item_tmp->real_item();
+
 	/* Error's in 'new' will be detected after loop */
 	types.push_back(new Item_type_holder(thd_arg, item_tmp));
       }
@@ -1070,4 +1083,3 @@ void st_select_lex_unit::set_unique_exclude()
     }
   }
 }
-
diff --git a/sql/sql_yacc.cc b/sql/sql_yacc.cc
index 00085ba..9234796 100644
--- a/sql/sql_yacc.cc
+++ b/sql/sql_yacc.cc
@@ -1,21 +1,19 @@
+/* A Bison parser, made by GNU Bison 3.0.2.  */
 
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* Bison implementation for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
 
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-   
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
@@ -28,7 +26,7 @@
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-   
+
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
@@ -46,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.4.1"
+#define YYBISON_VERSION "3.0.2"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -60,23 +58,17 @@
 /* Pull parsers.  */
 #define YYPULL 1
 
-/* Using locations.  */
-#define YYLSP_NEEDED 0
 
 /* Substitute the variable and function names.  */
 #define yyparse         MYSQLparse
 #define yylex           MYSQLlex
 #define yyerror         MYSQLerror
-#define yylval          MYSQLlval
-#define yychar          MYSQLchar
 #define yydebug         MYSQLdebug
 #define yynerrs         MYSQLnerrs
 
 
 /* Copy the first part of user declarations.  */
-
-/* Line 189 of yacc.c  */
-#line 25 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 25 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:339  */
 
 #define YYLIP (& thd->m_parser_state->m_lip)
 #define YYPS (& thd->m_parser_state->m_yacc)
@@ -784,14 +776,15 @@ static bool add_create_index (LEX *lex, Key::Keytype type,
 }
 
 
+#line 780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:339  */
 
-/* Line 189 of yacc.c  */
-#line 790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc"
-
-/* Enabling traces.  */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
+# ifndef YY_NULLPTR
+#  if defined __cplusplus && 201103L <= __cplusplus
+#   define YY_NULLPTR nullptr
+#  else
+#   define YY_NULLPTR 0
+#  endif
+# endif
 
 /* Enabling verbose error messages.  */
 #ifdef YYERROR_VERBOSE
@@ -801,633 +794,638 @@ static bool add_create_index (LEX *lex, Key::Keytype type,
 # define YYERROR_VERBOSE 0
 #endif
 
-/* Enabling the token table.  */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
+/* In a future release of Bison, this section will be replaced
+   by #include "sql_yacc.h".  */
+#ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
+# define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int MYSQLdebug;
 #endif
 
-
-/* Tokens.  */
+/* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     ABORT_SYM = 258,
-     ACCESSIBLE_SYM = 259,
-     ACTION = 260,
-     ADD = 261,
-     ADDDATE_SYM = 262,
-     AFTER_SYM = 263,
-     AGAINST = 264,
-     AGGREGATE_SYM = 265,
-     ALGORITHM_SYM = 266,
-     ALL = 267,
-     ALTER = 268,
-     ALWAYS_SYM = 269,
-     ANALYZE_SYM = 270,
-     AND_AND_SYM = 271,
-     AND_SYM = 272,
-     ANY_SYM = 273,
-     AS = 274,
-     ASC = 275,
-     ASCII_SYM = 276,
-     ASENSITIVE_SYM = 277,
-     AT_SYM = 278,
-     AUTHORS_SYM = 279,
-     AUTOEXTEND_SIZE_SYM = 280,
-     AUTO_INC = 281,
-     AVG_ROW_LENGTH = 282,
-     AVG_SYM = 283,
-     BACKUP_SYM = 284,
-     BEFORE_SYM = 285,
-     BEGIN_SYM = 286,
-     BETWEEN_SYM = 287,
-     BIGINT = 288,
-     BINARY = 289,
-     BINLOG_SYM = 290,
-     BIN_NUM = 291,
-     BIT_AND = 292,
-     BIT_OR = 293,
-     BIT_SYM = 294,
-     BIT_XOR = 295,
-     BLOB_SYM = 296,
-     BLOCK_SYM = 297,
-     BOOLEAN_SYM = 298,
-     BOOL_SYM = 299,
-     BOTH = 300,
-     BTREE_SYM = 301,
-     BY = 302,
-     BYTE_SYM = 303,
-     CACHE_SYM = 304,
-     CALL_SYM = 305,
-     CASCADE = 306,
-     CASCADED = 307,
-     CASE_SYM = 308,
-     CAST_SYM = 309,
-     CATALOG_NAME_SYM = 310,
-     CHAIN_SYM = 311,
-     CHANGE = 312,
-     CHANGED = 313,
-     CHARSET = 314,
-     CHAR_SYM = 315,
-     CHECKPOINT_SYM = 316,
-     CHECKSUM_SYM = 317,
-     CHECK_SYM = 318,
-     CIPHER_SYM = 319,
-     CLASS_ORIGIN_SYM = 320,
-     CLIENT_SYM = 321,
-     CLIENT_STATS_SYM = 322,
-     CLOSE_SYM = 323,
-     COALESCE = 324,
-     CODE_SYM = 325,
-     COLLATE_SYM = 326,
-     COLLATION_SYM = 327,
-     COLUMNS = 328,
-     COLUMN_ADD_SYM = 329,
-     COLUMN_CREATE_SYM = 330,
-     COLUMN_DELETE_SYM = 331,
-     COLUMN_EXISTS_SYM = 332,
-     COLUMN_GET_SYM = 333,
-     COLUMN_LIST_SYM = 334,
-     COLUMN_SYM = 335,
-     COLUMN_NAME_SYM = 336,
-     COMMENT_SYM = 337,
-     COMMITTED_SYM = 338,
-     COMMIT_SYM = 339,
-     COMPACT_SYM = 340,
-     COMPLETION_SYM = 341,
-     COMPRESSED_SYM = 342,
-     CONCURRENT = 343,
-     CONDITION_SYM = 344,
-     CONNECTION_SYM = 345,
-     CONSISTENT_SYM = 346,
-     CONSTRAINT = 347,
-     CONSTRAINT_CATALOG_SYM = 348,
-     CONSTRAINT_NAME_SYM = 349,
-     CONSTRAINT_SCHEMA_SYM = 350,
-     CONTAINS_SYM = 351,
-     CONTEXT_SYM = 352,
-     CONTINUE_SYM = 353,
-     CONTRIBUTORS_SYM = 354,
-     CONVERT_SYM = 355,
-     COUNT_SYM = 356,
-     CPU_SYM = 357,
-     CREATE = 358,
-     CROSS = 359,
-     CUBE_SYM = 360,
-     CURDATE = 361,
-     CURRENT_USER = 362,
-     CURSOR_SYM = 363,
-     CURSOR_NAME_SYM = 364,
-     CURTIME = 365,
-     DATABASE = 366,
-     DATABASES = 367,
-     DATAFILE_SYM = 368,
-     DATA_SYM = 369,
-     DATETIME = 370,
-     DATE_ADD_INTERVAL = 371,
-     DATE_SUB_INTERVAL = 372,
-     DATE_SYM = 373,
-     DAY_HOUR_SYM = 374,
-     DAY_MICROSECOND_SYM = 375,
-     DAY_MINUTE_SYM = 376,
-     DAY_SECOND_SYM = 377,
-     DAY_SYM = 378,
-     DEALLOCATE_SYM = 379,
-     DECIMAL_NUM = 380,
-     DECIMAL_SYM = 381,
-     DECLARE_SYM = 382,
-     DEFAULT = 383,
-     DEFINER_SYM = 384,
-     DELAYED_SYM = 385,
-     DELAY_KEY_WRITE_SYM = 386,
-     DELETE_SYM = 387,
-     DESC = 388,
-     DESCRIBE = 389,
-     DES_KEY_FILE = 390,
-     DETERMINISTIC_SYM = 391,
-     DIRECTORY_SYM = 392,
-     DISABLE_SYM = 393,
-     DISCARD = 394,
-     DISK_SYM = 395,
-     DISTINCT = 396,
-     DIV_SYM = 397,
-     DOUBLE_SYM = 398,
-     DO_SYM = 399,
-     DROP = 400,
-     DUAL_SYM = 401,
-     DUMPFILE = 402,
-     DUPLICATE_SYM = 403,
-     DYNAMIC_SYM = 404,
-     EACH_SYM = 405,
-     ELSE = 406,
-     ELSEIF_SYM = 407,
-     ENABLE_SYM = 408,
-     ENCLOSED = 409,
-     END = 410,
-     ENDS_SYM = 411,
-     END_OF_INPUT = 412,
-     ENGINES_SYM = 413,
-     ENGINE_SYM = 414,
-     ENUM = 415,
-     EQUAL_SYM = 416,
-     ERROR_SYM = 417,
-     ERRORS = 418,
-     ESCAPED = 419,
-     ESCAPE_SYM = 420,
-     EVENTS_SYM = 421,
-     EVENT_SYM = 422,
-     EVERY_SYM = 423,
-     EXAMINED_SYM = 424,
-     EXECUTE_SYM = 425,
-     EXISTS = 426,
-     EXIT_SYM = 427,
-     EXPANSION_SYM = 428,
-     EXTENDED_SYM = 429,
-     EXTENT_SIZE_SYM = 430,
-     EXTRACT_SYM = 431,
-     FALSE_SYM = 432,
-     FAST_SYM = 433,
-     FAULTS_SYM = 434,
-     FETCH_SYM = 435,
-     FILE_SYM = 436,
-     FIRST_SYM = 437,
-     FIXED_SYM = 438,
-     FLOAT_NUM = 439,
-     FLOAT_SYM = 440,
-     FLUSH_SYM = 441,
-     FORCE_SYM = 442,
-     FOREIGN = 443,
-     FOR_SYM = 444,
-     FOUND_SYM = 445,
-     FROM = 446,
-     FULL = 447,
-     FULLTEXT_SYM = 448,
-     FUNCTION_SYM = 449,
-     GE = 450,
-     GENERAL = 451,
-     GENERATED_SYM = 452,
-     GEOMETRYCOLLECTION = 453,
-     GEOMETRY_SYM = 454,
-     GET_FORMAT = 455,
-     GLOBAL_SYM = 456,
-     GRANT = 457,
-     GRANTS = 458,
-     GROUP_SYM = 459,
-     GROUP_CONCAT_SYM = 460,
-     HANDLER_SYM = 461,
-     HARD_SYM = 462,
-     HASH_SYM = 463,
-     HAVING = 464,
-     HELP_SYM = 465,
-     HEX_NUM = 466,
-     HEX_STRING = 467,
-     HIGH_PRIORITY = 468,
-     HOST_SYM = 469,
-     HOSTS_SYM = 470,
-     HOUR_MICROSECOND_SYM = 471,
-     HOUR_MINUTE_SYM = 472,
-     HOUR_SECOND_SYM = 473,
-     HOUR_SYM = 474,
-     IDENT = 475,
-     IDENTIFIED_SYM = 476,
-     IDENT_QUOTED = 477,
-     IF = 478,
-     IGNORE_SYM = 479,
-     IGNORE_SERVER_IDS_SYM = 480,
-     IMPORT = 481,
-     INDEXES = 482,
-     INDEX_SYM = 483,
-     INDEX_STATS_SYM = 484,
-     INFILE = 485,
-     INITIAL_SIZE_SYM = 486,
-     INNER_SYM = 487,
-     INOUT_SYM = 488,
-     INSENSITIVE_SYM = 489,
-     INSERT = 490,
-     INSERT_METHOD = 491,
-     INSTALL_SYM = 492,
-     INTERVAL_SYM = 493,
-     INTO = 494,
-     INT_SYM = 495,
-     INVOKER_SYM = 496,
-     IN_SYM = 497,
-     IO_SYM = 498,
-     IPC_SYM = 499,
-     IS = 500,
-     ISOLATION = 501,
-     ISSUER_SYM = 502,
-     ITERATE_SYM = 503,
-     JOIN_SYM = 504,
-     KEYS = 505,
-     KEY_BLOCK_SIZE = 506,
-     KEY_SYM = 507,
-     KILL_SYM = 508,
-     LANGUAGE_SYM = 509,
-     LAST_SYM = 510,
-     LAST_VALUE = 511,
-     LE = 512,
-     LEADING = 513,
-     LEAVES = 514,
-     LEAVE_SYM = 515,
-     LEFT = 516,
-     LESS_SYM = 517,
-     LEVEL_SYM = 518,
-     LEX_HOSTNAME = 519,
-     LIKE = 520,
-     LIMIT = 521,
-     LINEAR_SYM = 522,
-     LINES = 523,
-     LINESTRING = 524,
-     LIST_SYM = 525,
-     LOAD = 526,
-     LOCAL_SYM = 527,
-     LOCATOR_SYM = 528,
-     LOCKS_SYM = 529,
-     LOCK_SYM = 530,
-     LOGFILE_SYM = 531,
-     LOGS_SYM = 532,
-     LONGBLOB = 533,
-     LONGTEXT = 534,
-     LONG_NUM = 535,
-     LONG_SYM = 536,
-     LOOP_SYM = 537,
-     LOW_PRIORITY = 538,
-     MASTER_CONNECT_RETRY_SYM = 539,
-     MASTER_HOST_SYM = 540,
-     MASTER_LOG_FILE_SYM = 541,
-     MASTER_LOG_POS_SYM = 542,
-     MASTER_PASSWORD_SYM = 543,
-     MASTER_PORT_SYM = 544,
-     MASTER_SERVER_ID_SYM = 545,
-     MASTER_SSL_CAPATH_SYM = 546,
-     MASTER_SSL_CA_SYM = 547,
-     MASTER_SSL_CERT_SYM = 548,
-     MASTER_SSL_CIPHER_SYM = 549,
-     MASTER_SSL_KEY_SYM = 550,
-     MASTER_SSL_SYM = 551,
-     MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
-     MASTER_SYM = 553,
-     MASTER_USER_SYM = 554,
-     MASTER_HEARTBEAT_PERIOD_SYM = 555,
-     MATCH = 556,
-     MAX_CONNECTIONS_PER_HOUR = 557,
-     MAX_QUERIES_PER_HOUR = 558,
-     MAX_ROWS = 559,
-     MAX_SIZE_SYM = 560,
-     MAX_SYM = 561,
-     MAX_UPDATES_PER_HOUR = 562,
-     MAX_USER_CONNECTIONS_SYM = 563,
-     MAX_VALUE_SYM = 564,
-     MEDIUMBLOB = 565,
-     MEDIUMINT = 566,
-     MEDIUMTEXT = 567,
-     MEDIUM_SYM = 568,
-     MEMORY_SYM = 569,
-     MERGE_SYM = 570,
-     MESSAGE_TEXT_SYM = 571,
-     MICROSECOND_SYM = 572,
-     MIGRATE_SYM = 573,
-     MINUTE_MICROSECOND_SYM = 574,
-     MINUTE_SECOND_SYM = 575,
-     MINUTE_SYM = 576,
-     MIN_ROWS = 577,
-     MIN_SYM = 578,
-     MODE_SYM = 579,
-     MODIFIES_SYM = 580,
-     MODIFY_SYM = 581,
-     MOD_SYM = 582,
-     MONTH_SYM = 583,
-     MULTILINESTRING = 584,
-     MULTIPOINT = 585,
-     MULTIPOLYGON = 586,
-     MUTEX_SYM = 587,
-     MYSQL_SYM = 588,
-     MYSQL_ERRNO_SYM = 589,
-     NAMES_SYM = 590,
-     NAME_SYM = 591,
-     NATIONAL_SYM = 592,
-     NATURAL = 593,
-     NCHAR_STRING = 594,
-     NCHAR_SYM = 595,
-     NDBCLUSTER_SYM = 596,
-     NE = 597,
-     NEG = 598,
-     NEW_SYM = 599,
-     NEXT_SYM = 600,
-     NODEGROUP_SYM = 601,
-     NONE_SYM = 602,
-     NOT2_SYM = 603,
-     NOT_SYM = 604,
-     NOW_SYM = 605,
-     NO_SYM = 606,
-     NO_WAIT_SYM = 607,
-     NO_WRITE_TO_BINLOG = 608,
-     NULL_SYM = 609,
-     NUM = 610,
-     NUMERIC_SYM = 611,
-     NVARCHAR_SYM = 612,
-     OFFSET_SYM = 613,
-     OLD_PASSWORD = 614,
-     ON = 615,
-     ONE_SHOT_SYM = 616,
-     ONE_SYM = 617,
-     ONLINE_SYM = 618,
-     OPEN_SYM = 619,
-     OPTIMIZE = 620,
-     OPTIONS_SYM = 621,
-     OPTION = 622,
-     OPTIONALLY = 623,
-     OR2_SYM = 624,
-     ORDER_SYM = 625,
-     OR_OR_SYM = 626,
-     OR_SYM = 627,
-     OUTER = 628,
-     OUTFILE = 629,
-     OUT_SYM = 630,
-     OWNER_SYM = 631,
-     PACK_KEYS_SYM = 632,
-     PAGE_SYM = 633,
-     PAGE_CHECKSUM_SYM = 634,
-     PARAM_MARKER = 635,
-     PARSER_SYM = 636,
-     PARSE_VCOL_EXPR_SYM = 637,
-     PARTIAL = 638,
-     PARTITIONING_SYM = 639,
-     PARTITIONS_SYM = 640,
-     PARTITION_SYM = 641,
-     PASSWORD = 642,
-     PERSISTENT_SYM = 643,
-     PHASE_SYM = 644,
-     PLUGINS_SYM = 645,
-     PLUGIN_SYM = 646,
-     POINT_SYM = 647,
-     POLYGON = 648,
-     PORT_SYM = 649,
-     POSITION_SYM = 650,
-     PRECISION = 651,
-     PREPARE_SYM = 652,
-     PRESERVE_SYM = 653,
-     PREV_SYM = 654,
-     PRIMARY_SYM = 655,
-     PRIVILEGES = 656,
-     PROCEDURE_SYM = 657,
-     PROCESS = 658,
-     PROCESSLIST_SYM = 659,
-     PROFILE_SYM = 660,
-     PROFILES_SYM = 661,
-     PROXY_SYM = 662,
-     PURGE = 663,
-     QUARTER_SYM = 664,
-     QUERY_SYM = 665,
-     QUICK = 666,
-     RANGE_SYM = 667,
-     READS_SYM = 668,
-     READ_ONLY_SYM = 669,
-     READ_SYM = 670,
-     READ_WRITE_SYM = 671,
-     REAL = 672,
-     REBUILD_SYM = 673,
-     RECOVER_SYM = 674,
-     REDOFILE_SYM = 675,
-     REDO_BUFFER_SIZE_SYM = 676,
-     REDUNDANT_SYM = 677,
-     REFERENCES = 678,
-     REGEXP = 679,
-     RELAY = 680,
-     RELAYLOG_SYM = 681,
-     RELAY_LOG_FILE_SYM = 682,
-     RELAY_LOG_POS_SYM = 683,
-     RELAY_THREAD = 684,
-     RELEASE_SYM = 685,
-     RELOAD = 686,
-     REMOVE_SYM = 687,
-     RENAME = 688,
-     REORGANIZE_SYM = 689,
-     REPAIR = 690,
-     REPEATABLE_SYM = 691,
-     REPEAT_SYM = 692,
-     REPLACE = 693,
-     REPLICATION = 694,
-     REQUIRE_SYM = 695,
-     RESET_SYM = 696,
-     RESIGNAL_SYM = 697,
-     RESOURCES = 698,
-     RESTORE_SYM = 699,
-     RESTRICT = 700,
-     RESUME_SYM = 701,
-     RETURNS_SYM = 702,
-     RETURN_SYM = 703,
-     REVOKE = 704,
-     RIGHT = 705,
-     ROLLBACK_SYM = 706,
-     ROLLUP_SYM = 707,
-     ROUTINE_SYM = 708,
-     ROWS_SYM = 709,
-     ROW_FORMAT_SYM = 710,
-     ROW_SYM = 711,
-     RTREE_SYM = 712,
-     SAVEPOINT_SYM = 713,
-     SCHEDULE_SYM = 714,
-     SCHEMA_NAME_SYM = 715,
-     SECOND_MICROSECOND_SYM = 716,
-     SECOND_SYM = 717,
-     SECURITY_SYM = 718,
-     SELECT_SYM = 719,
-     SENSITIVE_SYM = 720,
-     SEPARATOR_SYM = 721,
-     SERIALIZABLE_SYM = 722,
-     SERIAL_SYM = 723,
-     SESSION_SYM = 724,
-     SERVER_SYM = 725,
-     SERVER_OPTIONS = 726,
-     SET = 727,
-     SET_VAR = 728,
-     SHARE_SYM = 729,
-     SHIFT_LEFT = 730,
-     SHIFT_RIGHT = 731,
-     SHOW = 732,
-     SHUTDOWN = 733,
-     SIGNAL_SYM = 734,
-     SIGNED_SYM = 735,
-     SIMPLE_SYM = 736,
-     SLAVE = 737,
-     SLOW = 738,
-     SMALLINT = 739,
-     SNAPSHOT_SYM = 740,
-     SOCKET_SYM = 741,
-     SOFT_SYM = 742,
-     SONAME_SYM = 743,
-     SOUNDS_SYM = 744,
-     SOURCE_SYM = 745,
-     SPATIAL_SYM = 746,
-     SPECIFIC_SYM = 747,
-     SQLEXCEPTION_SYM = 748,
-     SQLSTATE_SYM = 749,
-     SQLWARNING_SYM = 750,
-     SQL_BIG_RESULT = 751,
-     SQL_BUFFER_RESULT = 752,
-     SQL_CACHE_SYM = 753,
-     SQL_CALC_FOUND_ROWS = 754,
-     SQL_NO_CACHE_SYM = 755,
-     SQL_SMALL_RESULT = 756,
-     SQL_SYM = 757,
-     SQL_THREAD = 758,
-     SSL_SYM = 759,
-     STARTING = 760,
-     STARTS_SYM = 761,
-     START_SYM = 762,
-     STATUS_SYM = 763,
-     STDDEV_SAMP_SYM = 764,
-     STD_SYM = 765,
-     STOP_SYM = 766,
-     STORAGE_SYM = 767,
-     STRAIGHT_JOIN = 768,
-     STRING_SYM = 769,
-     SUBCLASS_ORIGIN_SYM = 770,
-     SUBDATE_SYM = 771,
-     SUBJECT_SYM = 772,
-     SUBPARTITIONS_SYM = 773,
-     SUBPARTITION_SYM = 774,
-     SUBSTRING = 775,
-     SUM_SYM = 776,
-     SUPER_SYM = 777,
-     SUSPEND_SYM = 778,
-     SWAPS_SYM = 779,
-     SWITCHES_SYM = 780,
-     SYSDATE = 781,
-     TABLES = 782,
-     TABLESPACE = 783,
-     TABLE_REF_PRIORITY = 784,
-     TABLE_STATS_SYM = 785,
-     TABLE_SYM = 786,
-     TABLE_CHECKSUM_SYM = 787,
-     TABLE_NAME_SYM = 788,
-     TEMPORARY = 789,
-     TEMPTABLE_SYM = 790,
-     TERMINATED = 791,
-     TEXT_STRING = 792,
-     TEXT_SYM = 793,
-     THAN_SYM = 794,
-     THEN_SYM = 795,
-     TIMESTAMP = 796,
-     TIMESTAMP_ADD = 797,
-     TIMESTAMP_DIFF = 798,
-     TIME_SYM = 799,
-     TINYBLOB = 800,
-     TINYINT = 801,
-     TINYTEXT = 802,
-     TO_SYM = 803,
-     TRAILING = 804,
-     TRANSACTION_SYM = 805,
-     TRANSACTIONAL_SYM = 806,
-     TRIGGERS_SYM = 807,
-     TRIGGER_SYM = 808,
-     TRIM = 809,
-     TRUE_SYM = 810,
-     TRUNCATE_SYM = 811,
-     TYPES_SYM = 812,
-     TYPE_SYM = 813,
-     UDF_RETURNS_SYM = 814,
-     ULONGLONG_NUM = 815,
-     UNCOMMITTED_SYM = 816,
-     UNDEFINED_SYM = 817,
-     UNDERSCORE_CHARSET = 818,
-     UNDOFILE_SYM = 819,
-     UNDO_BUFFER_SIZE_SYM = 820,
-     UNDO_SYM = 821,
-     UNICODE_SYM = 822,
-     UNINSTALL_SYM = 823,
-     UNION_SYM = 824,
-     UNIQUE_SYM = 825,
-     UNKNOWN_SYM = 826,
-     UNLOCK_SYM = 827,
-     UNSIGNED = 828,
-     UNTIL_SYM = 829,
-     UPDATE_SYM = 830,
-     UPGRADE_SYM = 831,
-     USAGE = 832,
-     USER = 833,
-     USER_STATS_SYM = 834,
-     USE_FRM = 835,
-     USE_SYM = 836,
-     USING = 837,
-     UTC_DATE_SYM = 838,
-     UTC_TIMESTAMP_SYM = 839,
-     UTC_TIME_SYM = 840,
-     VALUES = 841,
-     VALUE_SYM = 842,
-     VARBINARY = 843,
-     VARCHAR = 844,
-     VARIABLES = 845,
-     VARIANCE_SYM = 846,
-     VARYING = 847,
-     VAR_SAMP_SYM = 848,
-     VIA_SYM = 849,
-     VIEW_SYM = 850,
-     VIRTUAL_SYM = 851,
-     WAIT_SYM = 852,
-     WARNINGS = 853,
-     WEEK_SYM = 854,
-     WHEN_SYM = 855,
-     WHERE = 856,
-     WHILE_SYM = 857,
-     WITH = 858,
-     WITH_CUBE_SYM = 859,
-     WITH_ROLLUP_SYM = 860,
-     WORK_SYM = 861,
-     WRAPPER_SYM = 862,
-     WRITE_SYM = 863,
-     X509_SYM = 864,
-     XA_SYM = 865,
-     XML_SYM = 866,
-     XOR = 867,
-     YEAR_MONTH_SYM = 868,
-     YEAR_SYM = 869,
-     ZEROFILL = 870,
-     IMPOSSIBLE_ACTION = 871
-   };
+  enum yytokentype
+  {
+    ABORT_SYM = 258,
+    ACCESSIBLE_SYM = 259,
+    ACTION = 260,
+    ADD = 261,
+    ADDDATE_SYM = 262,
+    AFTER_SYM = 263,
+    AGAINST = 264,
+    AGGREGATE_SYM = 265,
+    ALGORITHM_SYM = 266,
+    ALL = 267,
+    ALTER = 268,
+    ALWAYS_SYM = 269,
+    ANALYZE_SYM = 270,
+    AND_AND_SYM = 271,
+    AND_SYM = 272,
+    ANY_SYM = 273,
+    AS = 274,
+    ASC = 275,
+    ASCII_SYM = 276,
+    ASENSITIVE_SYM = 277,
+    AT_SYM = 278,
+    AUTHORS_SYM = 279,
+    AUTOEXTEND_SIZE_SYM = 280,
+    AUTO_INC = 281,
+    AVG_ROW_LENGTH = 282,
+    AVG_SYM = 283,
+    BACKUP_SYM = 284,
+    BEFORE_SYM = 285,
+    BEGIN_SYM = 286,
+    BETWEEN_SYM = 287,
+    BIGINT = 288,
+    BINARY = 289,
+    BINLOG_SYM = 290,
+    BIN_NUM = 291,
+    BIT_AND = 292,
+    BIT_OR = 293,
+    BIT_SYM = 294,
+    BIT_XOR = 295,
+    BLOB_SYM = 296,
+    BLOCK_SYM = 297,
+    BOOLEAN_SYM = 298,
+    BOOL_SYM = 299,
+    BOTH = 300,
+    BTREE_SYM = 301,
+    BY = 302,
+    BYTE_SYM = 303,
+    CACHE_SYM = 304,
+    CALL_SYM = 305,
+    CASCADE = 306,
+    CASCADED = 307,
+    CASE_SYM = 308,
+    CAST_SYM = 309,
+    CATALOG_NAME_SYM = 310,
+    CHAIN_SYM = 311,
+    CHANGE = 312,
+    CHANGED = 313,
+    CHARSET = 314,
+    CHAR_SYM = 315,
+    CHECKPOINT_SYM = 316,
+    CHECKSUM_SYM = 317,
+    CHECK_SYM = 318,
+    CIPHER_SYM = 319,
+    CLASS_ORIGIN_SYM = 320,
+    CLIENT_SYM = 321,
+    CLIENT_STATS_SYM = 322,
+    CLOSE_SYM = 323,
+    COALESCE = 324,
+    CODE_SYM = 325,
+    COLLATE_SYM = 326,
+    COLLATION_SYM = 327,
+    COLUMNS = 328,
+    COLUMN_ADD_SYM = 329,
+    COLUMN_CREATE_SYM = 330,
+    COLUMN_DELETE_SYM = 331,
+    COLUMN_EXISTS_SYM = 332,
+    COLUMN_GET_SYM = 333,
+    COLUMN_LIST_SYM = 334,
+    COLUMN_SYM = 335,
+    COLUMN_NAME_SYM = 336,
+    COMMENT_SYM = 337,
+    COMMITTED_SYM = 338,
+    COMMIT_SYM = 339,
+    COMPACT_SYM = 340,
+    COMPLETION_SYM = 341,
+    COMPRESSED_SYM = 342,
+    CONCURRENT = 343,
+    CONDITION_SYM = 344,
+    CONNECTION_SYM = 345,
+    CONSISTENT_SYM = 346,
+    CONSTRAINT = 347,
+    CONSTRAINT_CATALOG_SYM = 348,
+    CONSTRAINT_NAME_SYM = 349,
+    CONSTRAINT_SCHEMA_SYM = 350,
+    CONTAINS_SYM = 351,
+    CONTEXT_SYM = 352,
+    CONTINUE_SYM = 353,
+    CONTRIBUTORS_SYM = 354,
+    CONVERT_SYM = 355,
+    COUNT_SYM = 356,
+    CPU_SYM = 357,
+    CREATE = 358,
+    CROSS = 359,
+    CUBE_SYM = 360,
+    CURDATE = 361,
+    CURRENT_USER = 362,
+    CURSOR_SYM = 363,
+    CURSOR_NAME_SYM = 364,
+    CURTIME = 365,
+    DATABASE = 366,
+    DATABASES = 367,
+    DATAFILE_SYM = 368,
+    DATA_SYM = 369,
+    DATETIME = 370,
+    DATE_ADD_INTERVAL = 371,
+    DATE_SUB_INTERVAL = 372,
+    DATE_SYM = 373,
+    DAY_HOUR_SYM = 374,
+    DAY_MICROSECOND_SYM = 375,
+    DAY_MINUTE_SYM = 376,
+    DAY_SECOND_SYM = 377,
+    DAY_SYM = 378,
+    DEALLOCATE_SYM = 379,
+    DECIMAL_NUM = 380,
+    DECIMAL_SYM = 381,
+    DECLARE_SYM = 382,
+    DEFAULT = 383,
+    DEFINER_SYM = 384,
+    DELAYED_SYM = 385,
+    DELAY_KEY_WRITE_SYM = 386,
+    DELETE_SYM = 387,
+    DESC = 388,
+    DESCRIBE = 389,
+    DES_KEY_FILE = 390,
+    DETERMINISTIC_SYM = 391,
+    DIRECTORY_SYM = 392,
+    DISABLE_SYM = 393,
+    DISCARD = 394,
+    DISK_SYM = 395,
+    DISTINCT = 396,
+    DIV_SYM = 397,
+    DOUBLE_SYM = 398,
+    DO_SYM = 399,
+    DROP = 400,
+    DUAL_SYM = 401,
+    DUMPFILE = 402,
+    DUPLICATE_SYM = 403,
+    DYNAMIC_SYM = 404,
+    EACH_SYM = 405,
+    ELSE = 406,
+    ELSEIF_SYM = 407,
+    ENABLE_SYM = 408,
+    ENCLOSED = 409,
+    END = 410,
+    ENDS_SYM = 411,
+    END_OF_INPUT = 412,
+    ENGINES_SYM = 413,
+    ENGINE_SYM = 414,
+    ENUM = 415,
+    EQUAL_SYM = 416,
+    ERROR_SYM = 417,
+    ERRORS = 418,
+    ESCAPED = 419,
+    ESCAPE_SYM = 420,
+    EVENTS_SYM = 421,
+    EVENT_SYM = 422,
+    EVERY_SYM = 423,
+    EXAMINED_SYM = 424,
+    EXECUTE_SYM = 425,
+    EXISTS = 426,
+    EXIT_SYM = 427,
+    EXPANSION_SYM = 428,
+    EXTENDED_SYM = 429,
+    EXTENT_SIZE_SYM = 430,
+    EXTRACT_SYM = 431,
+    FALSE_SYM = 432,
+    FAST_SYM = 433,
+    FAULTS_SYM = 434,
+    FETCH_SYM = 435,
+    FILE_SYM = 436,
+    FIRST_SYM = 437,
+    FIXED_SYM = 438,
+    FLOAT_NUM = 439,
+    FLOAT_SYM = 440,
+    FLUSH_SYM = 441,
+    FORCE_SYM = 442,
+    FOREIGN = 443,
+    FOR_SYM = 444,
+    FOUND_SYM = 445,
+    FROM = 446,
+    FULL = 447,
+    FULLTEXT_SYM = 448,
+    FUNCTION_SYM = 449,
+    GE = 450,
+    GENERAL = 451,
+    GENERATED_SYM = 452,
+    GEOMETRYCOLLECTION = 453,
+    GEOMETRY_SYM = 454,
+    GET_FORMAT = 455,
+    GLOBAL_SYM = 456,
+    GRANT = 457,
+    GRANTS = 458,
+    GROUP_SYM = 459,
+    GROUP_CONCAT_SYM = 460,
+    HANDLER_SYM = 461,
+    HARD_SYM = 462,
+    HASH_SYM = 463,
+    HAVING = 464,
+    HELP_SYM = 465,
+    HEX_NUM = 466,
+    HEX_STRING = 467,
+    HIGH_PRIORITY = 468,
+    HOST_SYM = 469,
+    HOSTS_SYM = 470,
+    HOUR_MICROSECOND_SYM = 471,
+    HOUR_MINUTE_SYM = 472,
+    HOUR_SECOND_SYM = 473,
+    HOUR_SYM = 474,
+    IDENT = 475,
+    IDENTIFIED_SYM = 476,
+    IDENT_QUOTED = 477,
+    IF = 478,
+    IGNORE_SYM = 479,
+    IGNORE_SERVER_IDS_SYM = 480,
+    IMPORT = 481,
+    INDEXES = 482,
+    INDEX_SYM = 483,
+    INDEX_STATS_SYM = 484,
+    INFILE = 485,
+    INITIAL_SIZE_SYM = 486,
+    INNER_SYM = 487,
+    INOUT_SYM = 488,
+    INSENSITIVE_SYM = 489,
+    INSERT = 490,
+    INSERT_METHOD = 491,
+    INSTALL_SYM = 492,
+    INTERVAL_SYM = 493,
+    INTO = 494,
+    INT_SYM = 495,
+    INVOKER_SYM = 496,
+    IN_SYM = 497,
+    IO_SYM = 498,
+    IPC_SYM = 499,
+    IS = 500,
+    ISOLATION = 501,
+    ISSUER_SYM = 502,
+    ITERATE_SYM = 503,
+    JOIN_SYM = 504,
+    KEYS = 505,
+    KEY_BLOCK_SIZE = 506,
+    KEY_SYM = 507,
+    KILL_SYM = 508,
+    LANGUAGE_SYM = 509,
+    LAST_SYM = 510,
+    LAST_VALUE = 511,
+    LE = 512,
+    LEADING = 513,
+    LEAVES = 514,
+    LEAVE_SYM = 515,
+    LEFT = 516,
+    LESS_SYM = 517,
+    LEVEL_SYM = 518,
+    LEX_HOSTNAME = 519,
+    LIKE = 520,
+    LIMIT = 521,
+    LINEAR_SYM = 522,
+    LINES = 523,
+    LINESTRING = 524,
+    LIST_SYM = 525,
+    LOAD = 526,
+    LOCAL_SYM = 527,
+    LOCATOR_SYM = 528,
+    LOCKS_SYM = 529,
+    LOCK_SYM = 530,
+    LOGFILE_SYM = 531,
+    LOGS_SYM = 532,
+    LONGBLOB = 533,
+    LONGTEXT = 534,
+    LONG_NUM = 535,
+    LONG_SYM = 536,
+    LOOP_SYM = 537,
+    LOW_PRIORITY = 538,
+    MASTER_CONNECT_RETRY_SYM = 539,
+    MASTER_HOST_SYM = 540,
+    MASTER_LOG_FILE_SYM = 541,
+    MASTER_LOG_POS_SYM = 542,
+    MASTER_PASSWORD_SYM = 543,
+    MASTER_PORT_SYM = 544,
+    MASTER_SERVER_ID_SYM = 545,
+    MASTER_SSL_CAPATH_SYM = 546,
+    MASTER_SSL_CA_SYM = 547,
+    MASTER_SSL_CERT_SYM = 548,
+    MASTER_SSL_CIPHER_SYM = 549,
+    MASTER_SSL_KEY_SYM = 550,
+    MASTER_SSL_SYM = 551,
+    MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
+    MASTER_SYM = 553,
+    MASTER_USER_SYM = 554,
+    MASTER_HEARTBEAT_PERIOD_SYM = 555,
+    MATCH = 556,
+    MAX_CONNECTIONS_PER_HOUR = 557,
+    MAX_QUERIES_PER_HOUR = 558,
+    MAX_ROWS = 559,
+    MAX_SIZE_SYM = 560,
+    MAX_SYM = 561,
+    MAX_UPDATES_PER_HOUR = 562,
+    MAX_USER_CONNECTIONS_SYM = 563,
+    MAX_VALUE_SYM = 564,
+    MEDIUMBLOB = 565,
+    MEDIUMINT = 566,
+    MEDIUMTEXT = 567,
+    MEDIUM_SYM = 568,
+    MEMORY_SYM = 569,
+    MERGE_SYM = 570,
+    MESSAGE_TEXT_SYM = 571,
+    MICROSECOND_SYM = 572,
+    MIGRATE_SYM = 573,
+    MINUTE_MICROSECOND_SYM = 574,
+    MINUTE_SECOND_SYM = 575,
+    MINUTE_SYM = 576,
+    MIN_ROWS = 577,
+    MIN_SYM = 578,
+    MODE_SYM = 579,
+    MODIFIES_SYM = 580,
+    MODIFY_SYM = 581,
+    MOD_SYM = 582,
+    MONTH_SYM = 583,
+    MULTILINESTRING = 584,
+    MULTIPOINT = 585,
+    MULTIPOLYGON = 586,
+    MUTEX_SYM = 587,
+    MYSQL_SYM = 588,
+    MYSQL_ERRNO_SYM = 589,
+    NAMES_SYM = 590,
+    NAME_SYM = 591,
+    NATIONAL_SYM = 592,
+    NATURAL = 593,
+    NCHAR_STRING = 594,
+    NCHAR_SYM = 595,
+    NDBCLUSTER_SYM = 596,
+    NE = 597,
+    NEG = 598,
+    NEW_SYM = 599,
+    NEXT_SYM = 600,
+    NODEGROUP_SYM = 601,
+    NONE_SYM = 602,
+    NOT2_SYM = 603,
+    NOT_SYM = 604,
+    NOW_SYM = 605,
+    NO_SYM = 606,
+    NO_WAIT_SYM = 607,
+    NO_WRITE_TO_BINLOG = 608,
+    NULL_SYM = 609,
+    NUM = 610,
+    NUMERIC_SYM = 611,
+    NVARCHAR_SYM = 612,
+    OFFSET_SYM = 613,
+    OLD_PASSWORD = 614,
+    ON = 615,
+    ONE_SHOT_SYM = 616,
+    ONE_SYM = 617,
+    ONLINE_SYM = 618,
+    OPEN_SYM = 619,
+    OPTIMIZE = 620,
+    OPTIONS_SYM = 621,
+    OPTION = 622,
+    OPTIONALLY = 623,
+    OR2_SYM = 624,
+    ORDER_SYM = 625,
+    OR_OR_SYM = 626,
+    OR_SYM = 627,
+    OUTER = 628,
+    OUTFILE = 629,
+    OUT_SYM = 630,
+    OWNER_SYM = 631,
+    PACK_KEYS_SYM = 632,
+    PAGE_SYM = 633,
+    PAGE_CHECKSUM_SYM = 634,
+    PARAM_MARKER = 635,
+    PARSER_SYM = 636,
+    PARSE_VCOL_EXPR_SYM = 637,
+    PARTIAL = 638,
+    PARTITIONING_SYM = 639,
+    PARTITIONS_SYM = 640,
+    PARTITION_SYM = 641,
+    PASSWORD = 642,
+    PERSISTENT_SYM = 643,
+    PHASE_SYM = 644,
+    PLUGINS_SYM = 645,
+    PLUGIN_SYM = 646,
+    POINT_SYM = 647,
+    POLYGON = 648,
+    PORT_SYM = 649,
+    POSITION_SYM = 650,
+    PRECISION = 651,
+    PREPARE_SYM = 652,
+    PRESERVE_SYM = 653,
+    PREV_SYM = 654,
+    PRIMARY_SYM = 655,
+    PRIVILEGES = 656,
+    PROCEDURE_SYM = 657,
+    PROCESS = 658,
+    PROCESSLIST_SYM = 659,
+    PROFILE_SYM = 660,
+    PROFILES_SYM = 661,
+    PROXY_SYM = 662,
+    PURGE = 663,
+    QUARTER_SYM = 664,
+    QUERY_SYM = 665,
+    QUICK = 666,
+    RANGE_SYM = 667,
+    READS_SYM = 668,
+    READ_ONLY_SYM = 669,
+    READ_SYM = 670,
+    READ_WRITE_SYM = 671,
+    REAL = 672,
+    REBUILD_SYM = 673,
+    RECOVER_SYM = 674,
+    REDOFILE_SYM = 675,
+    REDO_BUFFER_SIZE_SYM = 676,
+    REDUNDANT_SYM = 677,
+    REFERENCES = 678,
+    REGEXP = 679,
+    RELAY = 680,
+    RELAYLOG_SYM = 681,
+    RELAY_LOG_FILE_SYM = 682,
+    RELAY_LOG_POS_SYM = 683,
+    RELAY_THREAD = 684,
+    RELEASE_SYM = 685,
+    RELOAD = 686,
+    REMOVE_SYM = 687,
+    RENAME = 688,
+    REORGANIZE_SYM = 689,
+    REPAIR = 690,
+    REPEATABLE_SYM = 691,
+    REPEAT_SYM = 692,
+    REPLACE = 693,
+    REPLICATION = 694,
+    REQUIRE_SYM = 695,
+    RESET_SYM = 696,
+    RESIGNAL_SYM = 697,
+    RESOURCES = 698,
+    RESTORE_SYM = 699,
+    RESTRICT = 700,
+    RESUME_SYM = 701,
+    RETURNS_SYM = 702,
+    RETURN_SYM = 703,
+    REVOKE = 704,
+    RIGHT = 705,
+    ROLLBACK_SYM = 706,
+    ROLLUP_SYM = 707,
+    ROUTINE_SYM = 708,
+    ROWS_SYM = 709,
+    ROW_FORMAT_SYM = 710,
+    ROW_SYM = 711,
+    RTREE_SYM = 712,
+    SAVEPOINT_SYM = 713,
+    SCHEDULE_SYM = 714,
+    SCHEMA_NAME_SYM = 715,
+    SECOND_MICROSECOND_SYM = 716,
+    SECOND_SYM = 717,
+    SECURITY_SYM = 718,
+    SELECT_SYM = 719,
+    SENSITIVE_SYM = 720,
+    SEPARATOR_SYM = 721,
+    SERIALIZABLE_SYM = 722,
+    SERIAL_SYM = 723,
+    SESSION_SYM = 724,
+    SERVER_SYM = 725,
+    SERVER_OPTIONS = 726,
+    SET = 727,
+    SET_VAR = 728,
+    SHARE_SYM = 729,
+    SHIFT_LEFT = 730,
+    SHIFT_RIGHT = 731,
+    SHOW = 732,
+    SHUTDOWN = 733,
+    SIGNAL_SYM = 734,
+    SIGNED_SYM = 735,
+    SIMPLE_SYM = 736,
+    SLAVE = 737,
+    SLOW = 738,
+    SMALLINT = 739,
+    SNAPSHOT_SYM = 740,
+    SOCKET_SYM = 741,
+    SOFT_SYM = 742,
+    SONAME_SYM = 743,
+    SOUNDS_SYM = 744,
+    SOURCE_SYM = 745,
+    SPATIAL_SYM = 746,
+    SPECIFIC_SYM = 747,
+    SQLEXCEPTION_SYM = 748,
+    SQLSTATE_SYM = 749,
+    SQLWARNING_SYM = 750,
+    SQL_BIG_RESULT = 751,
+    SQL_BUFFER_RESULT = 752,
+    SQL_CACHE_SYM = 753,
+    SQL_CALC_FOUND_ROWS = 754,
+    SQL_NO_CACHE_SYM = 755,
+    SQL_SMALL_RESULT = 756,
+    SQL_SYM = 757,
+    SQL_THREAD = 758,
+    SSL_SYM = 759,
+    STARTING = 760,
+    STARTS_SYM = 761,
+    START_SYM = 762,
+    STATUS_SYM = 763,
+    STDDEV_SAMP_SYM = 764,
+    STD_SYM = 765,
+    STOP_SYM = 766,
+    STORAGE_SYM = 767,
+    STRAIGHT_JOIN = 768,
+    STRING_SYM = 769,
+    SUBCLASS_ORIGIN_SYM = 770,
+    SUBDATE_SYM = 771,
+    SUBJECT_SYM = 772,
+    SUBPARTITIONS_SYM = 773,
+    SUBPARTITION_SYM = 774,
+    SUBSTRING = 775,
+    SUM_SYM = 776,
+    SUPER_SYM = 777,
+    SUSPEND_SYM = 778,
+    SWAPS_SYM = 779,
+    SWITCHES_SYM = 780,
+    SYSDATE = 781,
+    TABLES = 782,
+    TABLESPACE = 783,
+    TABLE_REF_PRIORITY = 784,
+    TABLE_STATS_SYM = 785,
+    TABLE_SYM = 786,
+    TABLE_CHECKSUM_SYM = 787,
+    TABLE_NAME_SYM = 788,
+    TEMPORARY = 789,
+    TEMPTABLE_SYM = 790,
+    TERMINATED = 791,
+    TEXT_STRING = 792,
+    TEXT_SYM = 793,
+    THAN_SYM = 794,
+    THEN_SYM = 795,
+    TIMESTAMP = 796,
+    TIMESTAMP_ADD = 797,
+    TIMESTAMP_DIFF = 798,
+    TIME_SYM = 799,
+    TINYBLOB = 800,
+    TINYINT = 801,
+    TINYTEXT = 802,
+    TO_SYM = 803,
+    TRAILING = 804,
+    TRANSACTION_SYM = 805,
+    TRANSACTIONAL_SYM = 806,
+    TRIGGERS_SYM = 807,
+    TRIGGER_SYM = 808,
+    TRIM = 809,
+    TRUE_SYM = 810,
+    TRUNCATE_SYM = 811,
+    TYPES_SYM = 812,
+    TYPE_SYM = 813,
+    UDF_RETURNS_SYM = 814,
+    ULONGLONG_NUM = 815,
+    UNCOMMITTED_SYM = 816,
+    UNDEFINED_SYM = 817,
+    UNDERSCORE_CHARSET = 818,
+    UNDOFILE_SYM = 819,
+    UNDO_BUFFER_SIZE_SYM = 820,
+    UNDO_SYM = 821,
+    UNICODE_SYM = 822,
+    UNINSTALL_SYM = 823,
+    UNION_SYM = 824,
+    UNIQUE_SYM = 825,
+    UNKNOWN_SYM = 826,
+    UNLOCK_SYM = 827,
+    UNSIGNED = 828,
+    UNTIL_SYM = 829,
+    UPDATE_SYM = 830,
+    UPGRADE_SYM = 831,
+    USAGE = 832,
+    USER = 833,
+    USER_STATS_SYM = 834,
+    USE_FRM = 835,
+    USE_SYM = 836,
+    USING = 837,
+    UTC_DATE_SYM = 838,
+    UTC_TIMESTAMP_SYM = 839,
+    UTC_TIME_SYM = 840,
+    VALUES = 841,
+    VALUE_SYM = 842,
+    VARBINARY = 843,
+    VARCHAR = 844,
+    VARIABLES = 845,
+    VARIANCE_SYM = 846,
+    VARYING = 847,
+    VAR_SAMP_SYM = 848,
+    VIA_SYM = 849,
+    VIEW_SYM = 850,
+    VIRTUAL_SYM = 851,
+    WAIT_SYM = 852,
+    WARNINGS = 853,
+    WEEK_SYM = 854,
+    WHEN_SYM = 855,
+    WHERE = 856,
+    WHILE_SYM = 857,
+    WITH = 858,
+    WITH_CUBE_SYM = 859,
+    WITH_ROLLUP_SYM = 860,
+    WORK_SYM = 861,
+    WRAPPER_SYM = 862,
+    WRITE_SYM = 863,
+    X509_SYM = 864,
+    XA_SYM = 865,
+    XML_SYM = 866,
+    XOR = 867,
+    YEAR_MONTH_SYM = 868,
+    YEAR_SYM = 869,
+    ZEROFILL = 870,
+    IMPOSSIBLE_ACTION = 871
+  };
 #endif
 /* Tokens.  */
 #define ABORT_SYM 258
@@ -2045,15 +2043,12 @@ static bool add_create_index (LEX *lex, Key::Keytype type,
 #define ZEROFILL 870
 #define IMPOSSIBLE_ACTION 871
 
-
-
-
+/* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+typedef union YYSTYPE YYSTYPE;
+union YYSTYPE
 {
-
-/* Line 214 of yacc.c  */
-#line 732 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:355  */
 
   int  num;
   ulong ulong_num;
@@ -2106,27 +2101,24 @@ typedef union YYSTYPE
   List<DYNCALL_CREATE_DEF> *dyncol_def_list;
   bool is_not_empty;
 
-
-
-/* Line 214 of yacc.c  */
-#line 2113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc"
-} YYSTYPE;
+#line 2105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:355  */
+};
 # define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 #endif
 
 
-/* Copy the second part of user declarations.  */
 
-/* Line 264 of yacc.c  */
-#line 785 "/home/buildbot/git/sql/sql_yacc.yy"
+int MYSQLparse (THD *thd);
 
-bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
+#endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED  */
 
+/* Copy the second part of user declarations.  */
+#line 785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:358  */
+
+bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
 
-/* Line 264 of yacc.c  */
-#line 2130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc"
+#line 2122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -2140,11 +2132,8 @@ typedef unsigned char yytype_uint8;
 
 #ifdef YYTYPE_INT8
 typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
 #else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
 #endif
 
 #ifdef YYTYPE_UINT16
@@ -2164,8 +2153,7 @@ typedef short int yytype_int16;
 #  define YYSIZE_T __SIZE_TYPE__
 # elif defined size_t
 #  define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 #  define YYSIZE_T size_t
 # else
@@ -2176,41 +2164,70 @@ typedef short int yytype_int16;
 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
 
 #ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
 #  endif
 # endif
 # ifndef YY_
-#  define YY_(msgid) msgid
+#  define YY_(Msgid) Msgid
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__                                               \
+      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
+     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+#  define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
 # endif
 #endif
 
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
+# define YYUSE(E) ((void) (E))
 #else
-# define YYUSE(e) /* empty */
+# define YYUSE(E) /* empty */
 #endif
 
-/* Identity function, used to suppress warnings about constant conditions.  */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+    _Pragma ("GCC diagnostic pop")
 #else
-static int
-YYID (yyi)
-    int yyi;
+# define YY_INITIAL_VALUE(Value) Value
 #endif
-{
-  return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
 #endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
 
 #if ! defined yyoverflow || YYERROR_VERBOSE
 
@@ -2229,11 +2246,11 @@ YYID (yyi)
 #    define alloca _alloca
 #   else
 #    define YYSTACK_ALLOC alloca
-#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#     ifndef _STDLIB_H
-#      define _STDLIB_H 1
+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
 #     endif
 #    endif
 #   endif
@@ -2241,8 +2258,8 @@ YYID (yyi)
 # endif
 
 # ifdef YYSTACK_ALLOC
-   /* Pacify GCC's `empty if-body' warning.  */
-#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+   /* Pacify GCC's 'empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 #  ifndef YYSTACK_ALLOC_MAXIMUM
     /* The OS might guarantee only one guard page at the bottom of the stack,
        and a page size can be as small as 4096 bytes.  So we cannot safely
@@ -2256,25 +2273,23 @@ YYID (yyi)
 #  ifndef YYSTACK_ALLOC_MAXIMUM
 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 #  endif
-#  if (defined __cplusplus && ! defined _STDLIB_H \
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
        && ! ((defined YYMALLOC || defined malloc) \
-	     && (defined YYFREE || defined free)))
+             && (defined YYFREE || defined free)))
 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-#   ifndef _STDLIB_H
-#    define _STDLIB_H 1
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
 #   endif
 #  endif
 #  ifndef YYMALLOC
 #   define YYMALLOC malloc
-#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if ! defined malloc && ! defined EXIT_SUCCESS
 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
 #  ifndef YYFREE
 #   define YYFREE free
-#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
+#   if ! defined free && ! defined EXIT_SUCCESS
 void free (void *); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
@@ -2284,7 +2299,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
 
 #if (! defined yyoverflow \
      && (! defined __cplusplus \
-	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
 /* A type that is properly aligned for any stack member.  */
 union yyalloc
@@ -2302,42 +2317,46 @@ union yyalloc
      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
       + YYSTACK_GAP_MAXIMUM)
 
-/* Copy COUNT objects from FROM to TO.  The source and destination do
-   not overlap.  */
-# ifndef YYCOPY
-#  if defined __GNUC__ && 1 < __GNUC__
-#   define YYCOPY(To, From, Count) \
-      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-#  else
-#   define YYCOPY(To, From, Count)		\
-      do					\
-	{					\
-	  YYSIZE_T yyi;				\
-	  for (yyi = 0; yyi < (Count); yyi++)	\
-	    (To)[yyi] = (From)[yyi];		\
-	}					\
-      while (YYID (0))
-#  endif
-# endif
+# define YYCOPY_NEEDED 1
 
 /* Relocate STACK from its old location to the new one.  The
    local variables YYSIZE and YYSTACKSIZE give the old and new number of
    elements in the stack, and YYPTR gives the new location of the
    stack.  Advance YYPTR to a properly aligned location for the next
    stack.  */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
-    do									\
-      {									\
-	YYSIZE_T yynewbytes;						\
-	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
-	Stack = &yyptr->Stack_alloc;					\
-	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
-	yyptr += yynewbytes / sizeof (*yyptr);				\
-      }									\
-    while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+    do                                                                  \
+      {                                                                 \
+        YYSIZE_T yynewbytes;                                            \
+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+        Stack = &yyptr->Stack_alloc;                                    \
+        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+        yyptr += yynewbytes / sizeof (*yyptr);                          \
+      }                                                                 \
+    while (0)
 
 #endif
 
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(Dst, Src, Count) \
+      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+#  else
+#   define YYCOPY(Dst, Src, Count)              \
+      do                                        \
+        {                                       \
+          YYSIZE_T yyi;                         \
+          for (yyi = 0; yyi < (Count); yyi++)   \
+            (Dst)[yyi] = (Src)[yyi];            \
+        }                                       \
+      while (0)
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  602
 /* YYLAST -- Last index in YYTABLE.  */
@@ -2349,17 +2368,19 @@ union yyalloc
 #define YYNNTS  930
 /* YYNRULES -- Number of rules.  */
 #define YYNRULES  2643
-/* YYNRULES -- Number of states.  */
+/* YYNSTATES -- Number of states.  */
 #define YYNSTATES  4474
 
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+   by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
 #define YYMAXUTOK   871
 
-#define YYTRANSLATE(YYX)						\
+#define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+   as returned by yylex, without out-of-bounds checking.  */
 static const yytype_uint16 yytranslate[] =
 {
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -2453,1048 +2474,7 @@ static const yytype_uint16 yytranslate[] =
 };
 
 #if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-   YYRHS.  */
-static const yytype_uint16 yyprhs[] =
-{
-       0,     0,     3,     5,     6,    11,    14,    15,    17,    19,
-      21,    23,    25,    27,    29,    31,    33,    35,    37,    39,
-      41,    43,    45,    47,    49,    51,    53,    55,    57,    59,
-      61,    63,    65,    67,    69,    71,    73,    75,    77,    79,
-      81,    83,    85,    87,    89,    91,    93,    95,    97,    99,
-     101,   103,   105,   107,   109,   111,   113,   115,   117,   119,
-     121,   123,   125,   127,   131,   133,   135,   140,   142,   145,
-     146,   151,   152,   155,   159,   161,   164,   165,   169,   170,
-     176,   178,   182,   186,   190,   194,   198,   202,   206,   210,
-     214,   218,   222,   226,   230,   234,   240,   242,   243,   245,
-     249,   251,   255,   259,   263,   267,   268,   276,   277,   290,
-     291,   304,   305,   318,   319,   326,   327,   331,   336,   341,
-     345,   348,   359,   361,   365,   368,   371,   374,   377,   380,
-     383,   386,   387,   401,   402,   409,   412,   413,   415,   419,
-     421,   422,   425,   426,   429,   430,   432,   436,   441,   442,
-     445,   446,   449,   451,   453,   455,   457,   459,   461,   463,
-     465,   467,   469,   471,   473,   475,   476,   480,   482,   483,
-     486,   487,   490,   493,   496,   499,   502,   506,   510,   512,
-     514,   516,   519,   523,   527,   528,   533,   534,   538,   539,
-     541,   545,   547,   548,   550,   554,   556,   557,   561,   562,
-     564,   568,   570,   575,   576,   578,   580,   582,   583,   587,
-     590,   594,   595,   599,   600,   606,   612,   613,   621,   627,
-     628,   631,   633,   635,   637,   641,   643,   645,   647,   651,
-     652,   654,   656,   658,   660,   663,   665,   669,   671,   673,
-     674,   676,   677,   680,   684,   690,   692,   694,   696,   698,
-     700,   702,   704,   706,   708,   710,   712,   714,   716,   718,
-     720,   724,   726,   730,   731,   734,   736,   738,   740,   742,
-     744,   746,   748,   750,   752,   754,   756,   758,   760,   761,
-     767,   768,   771,   772,   776,   777,   780,   783,   786,   789,
-     790,   797,   800,   801,   804,   806,   808,   812,   813,   814,
-     815,   823,   824,   827,   830,   832,   834,   835,   836,   845,
-     846,   853,   855,   858,   860,   863,   864,   865,   872,   873,
-     874,   881,   882,   885,   886,   892,   893,   895,   896,   902,
-     903,   906,   907,   913,   918,   919,   920,   929,   930,   938,
-     940,   942,   944,   946,   948,   951,   956,   962,   963,   968,
-     973,   978,   982,   986,   989,   992,   993,   996,   998,  1001,
-    1005,  1007,  1009,  1011,  1013,  1015,  1018,  1022,  1024,  1026,
-    1028,  1030,  1032,  1034,  1036,  1038,  1040,  1042,  1045,  1049,
-    1051,  1053,  1055,  1057,  1059,  1061,  1063,  1066,  1070,  1072,
-    1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1091,  1095,
-    1097,  1099,  1101,  1104,  1107,  1110,  1112,  1114,  1116,  1118,
-    1121,  1125,  1129,  1133,  1137,  1141,  1145,  1149,  1153,  1158,
-    1159,  1161,  1163,  1165,  1167,  1169,  1172,  1176,  1179,  1184,
-    1185,  1192,  1193,  1199,  1200,  1201,  1207,  1208,  1216,  1218,
-    1219,  1221,  1222,  1227,  1228,  1229,  1233,  1239,  1246,  1247,
-    1252,  1255,  1258,  1261,  1264,  1265,  1267,  1268,  1272,  1273,
-    1275,  1277,  1281,  1283,  1288,  1294,  1300,  1301,  1304,  1305,
-    1306,  1314,  1315,  1326,  1328,  1332,  1334,  1336,  1337,  1340,
-    1341,  1345,  1347,  1351,  1352,  1359,  1361,  1362,  1363,  1369,
-    1370,  1375,  1377,  1379,  1381,  1385,  1387,  1391,  1392,  1393,
-    1399,  1401,  1405,  1407,  1409,  1410,  1414,  1416,  1420,  1421,
-    1426,  1428,  1429,  1431,  1434,  1436,  1440,  1445,  1449,  1453,
-    1457,  1461,  1466,  1471,  1475,  1476,  1477,  1484,  1485,  1487,
-    1488,  1490,  1492,  1495,  1497,  1499,  1500,  1502,  1504,  1507,
-    1509,  1510,  1514,  1515,  1517,  1519,  1522,  1524,  1527,  1531,
-    1535,  1539,  1543,  1547,  1551,  1555,  1559,  1563,  1567,  1571,
-    1575,  1579,  1583,  1587,  1588,  1595,  1597,  1599,  1603,  1608,
-    1613,  1616,  1619,  1622,  1626,  1630,  1634,  1638,  1642,  1646,
-    1650,  1655,  1660,  1662,  1664,  1666,  1668,  1670,  1672,  1674,
-    1676,  1678,  1680,  1682,  1684,  1686,  1689,  1691,  1693,  1695,
-    1697,  1699,  1701,  1705,  1707,  1709,  1712,  1715,  1716,  1725,
-    1726,  1736,  1737,  1747,  1748,  1758,  1767,  1770,  1771,  1773,
-    1778,  1779,  1781,  1784,  1785,  1789,  1792,  1793,  1803,  1804,
-    1807,  1808,  1810,  1812,  1813,  1815,  1818,  1820,  1822,  1825,
-    1828,  1833,  1837,  1841,  1845,  1849,  1851,  1854,  1856,  1858,
-    1862,  1865,  1869,  1872,  1875,  1877,  1881,  1885,  1888,  1892,
-    1894,  1897,  1900,  1903,  1905,  1908,  1910,  1912,  1914,  1917,
-    1921,  1924,  1928,  1931,  1934,  1938,  1942,  1946,  1947,  1954,
-    1955,  1962,  1965,  1967,  1969,  1971,  1973,  1975,  1977,  1979,
-    1981,  1983,  1985,  1987,  1990,  1993,  1995,  1998,  2000,  2003,
-    2007,  2010,  2012,  2014,  2016,  2018,  2020,  2022,  2024,  2027,
-    2028,  2030,  2032,  2038,  2039,  2041,  2044,  2046,  2048,  2050,
-    2052,  2056,  2060,  2064,  2068,  2069,  2071,  2072,  2074,  2075,
-    2077,  2080,  2082,  2084,  2087,  2090,  2095,  2097,  2101,  2104,
-    2106,  2109,  2112,  2115,  2119,  2123,  2127,  2131,  2134,  2137,
-    2139,  2141,  2143,  2146,  2148,  2150,  2152,  2154,  2156,  2157,
-    2160,  2162,  2164,  2166,  2168,  2170,  2171,  2174,  2176,  2178,
-    2179,  2181,  2183,  2186,  2189,  2191,  2194,  2197,  2198,  2200,
-    2202,  2204,  2208,  2210,  2214,  2215,  2217,  2218,  2220,  2226,
-    2227,  2231,  2235,  2237,  2238,  2241,  2244,  2247,  2248,  2252,
-    2256,  2263,  2270,  2272,  2274,  2277,  2280,  2283,  2285,  2288,
-    2291,  2293,  2295,  2296,  2298,  2300,  2302,  2304,  2305,  2307,
-    2309,  2311,  2312,  2314,  2317,  2318,  2320,  2321,  2323,  2324,
-    2326,  2328,  2331,  2333,  2336,  2338,  2341,  2344,  2347,  2351,
-    2354,  2358,  2362,  2366,  2370,  2372,  2374,  2376,  2378,  2382,
-    2384,  2386,  2388,  2393,  2396,  2398,  2403,  2404,  2406,  2407,
-    2410,  2412,  2416,  2417,  2424,  2425,  2431,  2439,  2440,  2446,
-    2447,  2453,  2454,  2460,  2461,  2466,  2467,  2478,  2482,  2487,
-    2491,  2495,  2503,  2504,  2508,  2510,  2515,  2516,  2520,  2521,
-    2524,  2525,  2527,  2528,  2531,  2534,  2537,  2540,  2542,  2544,
-    2546,  2550,  2555,  2556,  2563,  2568,  2569,  2575,  2576,  2583,
-    2588,  2592,  2594,  2597,  2599,  2601,  2602,  2608,  2609,  2613,
-    2616,  2617,  2623,  2624,  2625,  2632,  2634,  2638,  2640,  2642,
-    2646,  2649,  2653,  2656,  2661,  2662,  2669,  2670,  2671,  2679,
-    2684,  2689,  2693,  2697,  2700,  2703,  2710,  2716,  2720,  2726,
-    2728,  2730,  2732,  2733,  2735,  2736,  2738,  2739,  2742,  2743,
-    2745,  2748,  2750,  2752,  2754,  2755,  2757,  2759,  2760,  2763,
-    2765,  2766,  2768,  2770,  2772,  2773,  2779,  2783,  2784,  2790,
-    2794,  2798,  2799,  2803,  2804,  2807,  2809,  2813,  2814,  2816,
-    2818,  2819,  2822,  2824,  2828,  2829,  2835,  2836,  2838,  2840,
-    2844,  2845,  2850,  2851,  2856,  2857,  2859,  2861,  2864,  2866,
-    2868,  2870,  2871,  2874,  2875,  2881,  2884,  2888,  2889,  2894,
-    2895,  2899,  2900,  2902,  2904,  2907,  2909,  2911,  2913,  2915,
-    2917,  2920,  2921,  2924,  2925,  2931,  2932,  2934,  2936,  2937,
-    2942,  2947,  2951,  2957,  2959,  2963,  2967,  2968,  2975,  2977,
-    2979,  2981,  2985,  2988,  2992,  2994,  2996,  2997,  3004,  3006,
-    3008,  3010,  3014,  3018,  3023,  3024,  3031,  3032,  3035,  3036,
-    3041,  3042,  3045,  3047,  3050,  3055,  3058,  3062,  3065,  3069,
-    3070,  3074,  3075,  3076,  3083,  3086,  3088,  3090,  3093,  3096,
-    3105,  3110,  3111,  3113,  3116,  3118,  3120,  3122,  3124,  3125,
-    3128,  3133,  3137,  3139,  3141,  3145,  3150,  3151,  3152,  3153,
-    3156,  3159,  3161,  3163,  3164,  3167,  3171,  3172,  3175,  3179,
-    3183,  3187,  3190,  3194,  3199,  3203,  3208,  3212,  3217,  3219,
-    3223,  3228,  3232,  3236,  3243,  3245,  3251,  3258,  3264,  3272,
-    3279,  3288,  3294,  3301,  3306,  3311,  3317,  3321,  3326,  3328,
-    3332,  3336,  3340,  3344,  3348,  3352,  3358,  3364,  3368,  3372,
-    3376,  3380,  3384,  3388,  3390,  3392,  3394,  3396,  3398,  3400,
-    3402,  3404,  3406,  3408,  3410,  3412,  3414,  3416,  3418,  3420,
-    3422,  3423,  3426,  3428,  3431,  3433,  3435,  3437,  3440,  3443,
-    3445,  3447,  3450,  3453,  3458,  3460,  3464,  3466,  3468,  3470,
-    3472,  3474,  3478,  3480,  3482,  3484,  3486,  3490,  3493,  3496,
-    3499,  3502,  3506,  3510,  3516,  3523,  3528,  3533,  3541,  3544,
-    3551,  3557,  3564,  3571,  3576,  3581,  3587,  3592,  3599,  3602,
-    3607,  3612,  3617,  3628,  3635,  3644,  3651,  3656,  3661,  3668,
-    3673,  3678,  3683,  3690,  3695,  3703,  3711,  3719,  3726,  3733,
-    3740,  3747,  3751,  3756,  3763,  3772,  3775,  3778,  3787,  3796,
-    3803,  3810,  3813,  3820,  3827,  3836,  3845,  3852,  3861,  3868,
-    3871,  3880,  3889,  3892,  3895,  3898,  3905,  3912,  3919,  3924,
-    3929,  3938,  3943,  3948,  3953,  3958,  3962,  3971,  3976,  3981,
-    3988,  3993,  3998,  4003,  4010,  4019,  4026,  4031,  4038,  4040,
-    4047,  4052,  4057,  4062,  4067,  4072,  4079,  4084,  4085,  4091,
-    4098,  4101,  4105,  4106,  4111,  4112,  4116,  4117,  4119,  4121,
-    4125,  4130,  4135,  4141,  4146,  4151,  4156,  4162,  4167,  4168,
-    4169,  4177,  4182,  4188,  4193,  4199,  4204,  4209,  4214,  4219,
-    4224,  4230,  4231,  4240,  4241,  4245,  4249,  4251,  4256,  4257,
-    4259,  4260,  4263,  4264,  4265,  4270,  4275,  4278,  4279,  4283,
-    4286,  4290,  4293,  4295,  4297,  4300,  4302,  4305,  4307,  4310,
-    4313,  4316,  4317,  4321,  4322,  4324,  4326,  4330,  4332,  4336,
-    4338,  4342,  4343,  4345,  4346,  4349,  4354,  4360,  4362,  4364,
-    4366,  4368,  4373,  4375,  4379,  4383,  4387,  4388,  4395,  4396,
-    4403,  4404,  4413,  4418,  4419,  4428,  4429,  4440,  4447,  4448,
-    4457,  4458,  4469,  4476,  4478,  4481,  4484,  4485,  4490,  4494,
-    4500,  4503,  4504,  4505,  4513,  4515,  4516,  4517,  4524,  4525,
-    4529,  4530,  4531,  4537,  4538,  4540,  4541,  4543,  4544,  4547,
-    4551,  4555,  4557,  4559,  4560,  4568,  4569,  4577,  4579,  4582,
-    4583,  4584,  4587,  4588,  4591,  4592,  4594,  4596,  4598,  4600,
-    4604,  4606,  4610,  4612,  4614,  4616,  4618,  4620,  4622,  4624,
-    4626,  4628,  4630,  4632,  4634,  4636,  4638,  4640,  4642,  4644,
-    4646,  4648,  4650,  4652,  4654,  4656,  4658,  4660,  4661,  4663,
-    4665,  4666,  4669,  4670,  4672,  4673,  4674,  4678,  4679,  4680,
-    4684,  4687,  4688,  4689,  4694,  4699,  4702,  4703,  4705,  4707,
-    4711,  4715,  4717,  4720,  4721,  4723,  4724,  4729,  4734,  4737,
-    4738,  4740,  4742,  4743,  4745,  4746,  4748,  4751,  4757,  4762,
-    4764,  4768,  4772,  4774,  4776,  4778,  4780,  4782,  4784,  4785,
-    4788,  4792,  4797,  4799,  4802,  4805,  4807,  4809,  4811,  4813,
-    4815,  4817,  4819,  4821,  4823,  4825,  4827,  4829,  4831,  4833,
-    4835,  4837,  4839,  4841,  4843,  4845,  4847,  4849,  4851,  4853,
-    4855,  4857,  4858,  4859,  4866,  4867,  4869,  4873,  4875,  4879,
-    4880,  4883,  4887,  4889,  4892,  4894,  4895,  4899,  4900,  4901,
-    4909,  4912,  4914,  4915,  4919,  4920,  4928,  4929,  4936,  4941,
-    4948,  4953,  4958,  4963,  4964,  4971,  4976,  4981,  4987,  4994,
-    4999,  5001,  5005,  5007,  5009,  5013,  5015,  5016,  5019,  5020,
-    5022,  5023,  5024,  5033,  5034,  5035,  5042,  5043,  5045,  5047,
-    5049,  5051,  5053,  5056,  5058,  5060,  5062,  5066,  5071,  5072,
-    5076,  5080,  5082,  5085,  5088,  5089,  5093,  5094,  5100,  5104,
-    5106,  5110,  5112,  5116,  5118,  5120,  5121,  5123,  5124,  5129,
-    5130,  5132,  5136,  5138,  5140,  5142,  5143,  5144,  5151,  5152,
-    5153,  5165,  5169,  5171,  5175,  5179,  5181,  5185,  5186,  5188,
-    5189,  5194,  5195,  5202,  5203,  5209,  5210,  5217,  5219,  5223,
-    5226,  5231,  5232,  5235,  5236,  5239,  5241,  5243,  5245,  5246,
-    5251,  5252,  5254,  5255,  5257,  5259,  5263,  5265,  5267,  5270,
-    5273,  5276,  5278,  5280,  5282,  5284,  5285,  5289,  5290,  5294,
-    5297,  5302,  5307,  5311,  5316,  5321,  5323,  5327,  5331,  5338,
-    5341,  5344,  5345,  5352,  5353,  5360,  5366,  5369,  5371,  5373,
-    5375,  5381,  5387,  5390,  5393,  5395,  5400,  5404,  5407,  5411,
-    5414,  5417,  5419,  5423,  5428,  5432,  5436,  5439,  5442,  5444,
-    5446,  5448,  5450,  5454,  5458,  5462,  5466,  5470,  5474,  5478,
-    5482,  5484,  5486,  5488,  5490,  5492,  5493,  5495,  5496,  5499,
-    5500,  5502,  5504,  5506,  5507,  5510,  5511,  5514,  5515,  5518,
-    5521,  5522,  5527,  5528,  5533,  5535,  5537,  5538,  5540,  5542,
-    5543,  5545,  5547,  5548,  5553,  5554,  5555,  5561,  5563,  5564,
-    5569,  5573,  5575,  5578,  5581,  5584,  5587,  5590,  5593,  5596,
-    5598,  5600,  5602,  5604,  5606,  5608,  5610,  5612,  5614,  5616,
-    5618,  5620,  5621,  5623,  5624,  5628,  5629,  5633,  5637,  5639,
-    5640,  5644,  5646,  5649,  5650,  5652,  5653,  5657,  5661,  5664,
-    5667,  5668,  5674,  5675,  5677,  5679,  5680,  5682,  5684,  5686,
-    5689,  5692,  5693,  5694,  5695,  5696,  5718,  5720,  5722,  5723,
-    5725,  5726,  5728,  5730,  5731,  5733,  5735,  5736,  5739,  5742,
-    5744,  5748,  5753,  5757,  5761,  5762,  5765,  5768,  5770,  5774,
-    5778,  5779,  5784,  5785,  5789,  5791,  5793,  5794,  5798,  5801,
-    5805,  5807,  5809,  5812,  5813,  5816,  5820,  5822,  5828,  5830,
-    5832,  5835,  5838,  5840,  5842,  5844,  5846,  5848,  5850,  5853,
-    5856,  5858,  5860,  5862,  5864,  5866,  5868,  5870,  5872,  5875,
-    5878,  5881,  5884,  5887,  5889,  5891,  5893,  5895,  5897,  5899,
-    5901,  5905,  5911,  5913,  5915,  5917,  5919,  5921,  5925,  5930,
-    5936,  5938,  5944,  5948,  5951,  5953,  5957,  5960,  5963,  5968,
-    5970,  5972,  5974,  5976,  5978,  5980,  5982,  5984,  5986,  5988,
-    5990,  5992,  5994,  5996,  6000,  6003,  6005,  6007,  6009,  6011,
-    6013,  6015,  6017,  6019,  6021,  6023,  6025,  6027,  6029,  6031,
-    6033,  6035,  6037,  6039,  6041,  6043,  6045,  6047,  6049,  6051,
-    6053,  6055,  6057,  6059,  6061,  6063,  6065,  6067,  6069,  6071,
-    6073,  6075,  6077,  6079,  6081,  6083,  6085,  6087,  6089,  6091,
-    6093,  6095,  6097,  6099,  6101,  6103,  6105,  6107,  6109,  6111,
-    6113,  6115,  6117,  6119,  6121,  6123,  6125,  6127,  6129,  6131,
-    6133,  6135,  6137,  6139,  6141,  6143,  6145,  6147,  6149,  6151,
-    6153,  6155,  6157,  6159,  6161,  6163,  6165,  6167,  6169,  6171,
-    6173,  6175,  6177,  6179,  6181,  6183,  6185,  6187,  6189,  6191,
-    6193,  6195,  6197,  6199,  6201,  6203,  6205,  6207,  6209,  6211,
-    6213,  6215,  6217,  6219,  6221,  6223,  6225,  6227,  6229,  6231,
-    6233,  6235,  6237,  6239,  6241,  6243,  6245,  6247,  6249,  6251,
-    6253,  6255,  6257,  6259,  6261,  6263,  6265,  6267,  6269,  6271,
-    6273,  6275,  6277,  6279,  6281,  6283,  6285,  6287,  6289,  6291,
-    6293,  6295,  6297,  6299,  6301,  6303,  6305,  6307,  6309,  6311,
-    6313,  6315,  6317,  6319,  6321,  6323,  6325,  6327,  6329,  6331,
-    6333,  6335,  6337,  6339,  6341,  6343,  6345,  6347,  6349,  6351,
-    6353,  6355,  6357,  6359,  6361,  6363,  6365,  6367,  6369,  6371,
-    6373,  6375,  6377,  6379,  6381,  6383,  6385,  6387,  6389,  6391,
-    6393,  6395,  6397,  6399,  6401,  6403,  6405,  6407,  6409,  6411,
-    6413,  6415,  6417,  6419,  6421,  6423,  6425,  6427,  6429,  6431,
-    6433,  6435,  6437,  6439,  6441,  6443,  6445,  6447,  6449,  6451,
-    6453,  6455,  6457,  6459,  6461,  6463,  6465,  6467,  6469,  6471,
-    6473,  6475,  6477,  6479,  6481,  6483,  6485,  6487,  6489,  6491,
-    6493,  6495,  6497,  6499,  6501,  6503,  6505,  6507,  6509,  6511,
-    6513,  6515,  6517,  6519,  6521,  6523,  6525,  6527,  6529,  6531,
-    6533,  6535,  6537,  6539,  6541,  6543,  6545,  6547,  6549,  6551,
-    6553,  6555,  6557,  6559,  6561,  6563,  6565,  6567,  6569,  6571,
-    6573,  6575,  6577,  6579,  6581,  6583,  6585,  6587,  6589,  6591,
-    6593,  6595,  6597,  6599,  6601,  6603,  6605,  6607,  6609,  6611,
-    6613,  6615,  6617,  6619,  6621,  6623,  6625,  6627,  6629,  6631,
-    6633,  6635,  6637,  6639,  6641,  6643,  6645,  6647,  6649,  6651,
-    6653,  6655,  6657,  6659,  6661,  6663,  6665,  6667,  6669,  6671,
-    6673,  6675,  6677,  6679,  6681,  6683,  6685,  6687,  6689,  6691,
-    6693,  6695,  6697,  6699,  6701,  6703,  6705,  6707,  6708,  6713,
-    6714,  6716,  6718,  6722,  6723,  6726,  6728,  6730,  6732,  6734,
-    6735,  6737,  6738,  6740,  6742,  6744,  6745,  6748,  6751,  6754,
-    6756,  6759,  6764,  6770,  6775,  6782,  6785,  6789,  6793,  6797,
-    6803,  6805,  6809,  6813,  6816,  6819,  6822,  6824,  6826,  6831,
-    6836,  6838,  6840,  6842,  6844,  6846,  6847,  6852,  6854,  6856,
-    6858,  6862,  6866,  6868,  6870,  6873,  6876,  6879,  6880,  6884,
-    6889,  6893,  6894,  6902,  6904,  6907,  6909,  6911,  6913,  6915,
-    6917,  6919,  6920,  6926,  6928,  6930,  6932,  6934,  6936,  6940,
-    6947,  6954,  6961,  6969,  6975,  6979,  6988,  6997,  7006,  7013,
-    7014,  7016,  7018,  7021,  7022,  7024,  7026,  7030,  7031,  7035,
-    7036,  7040,  7041,  7045,  7046,  7050,  7052,  7054,  7056,  7058,
-    7060,  7062,  7064,  7066,  7068,  7070,  7072,  7075,  7078,  7080,
-    7084,  7087,  7090,  7093,  7096,  7099,  7102,  7105,  7108,  7110,
-    7112,  7115,  7116,  7118,  7122,  7124,  7127,  7130,  7133,  7135,
-    7139,  7143,  7145,  7147,  7151,  7153,  7157,  7159,  7161,  7163,
-    7165,  7170,  7176,  7181,  7188,  7190,  7191,  7195,  7199,  7201,
-    7203,  7204,  7207,  7210,  7213,  7216,  7217,  7220,  7221,  7225,
-    7228,  7230,  7233,  7236,  7239,  7242,  7245,  7246,  7250,  7251,
-    7253,  7254,  7258,  7261,  7262,  7264,  7267,  7268,  7270,  7275,
-    7280,  7286,  7289,  7293,  7294,  7296,  7297,  7302,  7303,  7305,
-    7307,  7308,  7310,  7311,  7314,  7317,  7319,  7320,  7322,  7324,
-    7327,  7331,  7334,  7335,  7342,  7346,  7347,  7348,  7349,  7351,
-    7354,  7356,  7358,  7360,  7362,  7364,  7366,  7368,  7370,  7372,
-    7375,  7378,  7382,  7384,  7386,  7388,  7390,  7392,  7394,  7396,
-    7398,  7400,  7402,  7404,  7406,  7408,  7409,  7413,  7415,  7418,
-    7420,  7423,  7427,  7431,  7435,  7436,  7440,  7444,  7445,  7453,
-    7454,  7458,  7460,  7464,  7465,  7469,  7472,  7477,  7478,  7482,
-    7487,  7492,  7493,  7494,  7495,  7512,  7521,  7529,  7530,  7531,
-    7532,  7533,  7534,  7550,  7551,  7552,  7553,  7554,  7567,  7572,
-    7577,  7581,  7586,  7590,  7593,  7595,  7599,  7605,  7607,  7609,
-    7610,  7612,  7614,  7615,  7618,  7619,  7620,  7624,  7625,  7628,
-    7634,  7638,  7642,  7646
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
-static const yytype_int16 yyrhs[] =
-{
-     640,     0,    -1,   157,    -1,    -1,   643,   641,   635,   642,
-      -1,   643,   157,    -1,    -1,   157,    -1,   644,    -1,  1496,
-      -1,  1002,    -1,  1067,    -1,  1069,    -1,   693,    -1,   656,
-      -1,  1072,    -1,  1056,    -1,  1502,    -1,   663,    -1,   645,
-      -1,  1320,    -1,  1352,    -1,  1272,    -1,  1274,    -1,   649,
-      -1,  1358,    -1,  1468,    -1,  1459,    -1,   654,    -1,  1284,
-      -1,  1566,    -1,  1568,    -1,  1086,    -1,  1378,    -1,  1384,
-      -1,  1451,    -1,  1078,    -1,   928,    -1,   837,    -1,  1093,
-      -1,   647,    -1,  1374,    -1,  1505,    -1,  1081,    -1,  1061,
-      -1,  1287,    -1,  1368,    -1,   728,    -1,  1466,    -1,  1503,
-      -1,  1504,    -1,  1105,    -1,  1434,    -1,   721,    -1,  1338,
-      -1,  1045,    -1,  1048,    -1,  1331,    -1,  1567,    -1,  1457,
-      -1,  1312,    -1,  1383,    -1,  1558,    -1,   646,   397,  1428,
-      -1,   124,    -1,   145,    -1,   397,  1428,   191,   648,    -1,
-    1425,    -1,   636,  1430,    -1,    -1,   170,  1428,   650,   651,
-      -1,    -1,   582,   652,    -1,   652,   631,   653,    -1,   653,
-      -1,   636,  1430,    -1,    -1,   210,   655,  1430,    -1,    -1,
-      57,   298,   548,   657,   658,    -1,   659,    -1,   658,   631,
-     659,    -1,   285,   617,  1425,    -1,   299,   617,  1425,    -1,
-     288,   617,  1425,    -1,   289,   617,  1251,    -1,   284,   617,
-    1251,    -1,   296,   617,  1251,    -1,   292,   617,  1425,    -1,
-     291,   617,  1425,    -1,   293,   617,  1425,    -1,   294,   617,
-    1425,    -1,   295,   617,  1425,    -1,   297,   617,  1251,    -1,
-     300,   617,  1413,    -1,   225,   617,   629,   660,   630,    -1,
-     662,    -1,    -1,   661,    -1,   660,   631,   661,    -1,  1251,
-      -1,   286,   617,  1425,    -1,   287,   617,  1253,    -1,   427,
-     617,  1425,    -1,   428,   617,  1251,    -1,    -1,   103,   889,
-     531,   892,  1421,   664,   825,    -1,    -1,   103,   980,   228,
-    1428,   984,   360,  1421,   665,   629,   997,   630,   985,    -1,
-      -1,   103,   981,   228,  1428,   983,   360,  1421,   666,   629,
-     997,   630,   986,    -1,    -1,   103,   982,   228,  1428,   983,
-     360,  1421,   667,   629,   997,   630,   987,    -1,    -1,   103,
-     111,   892,  1428,   668,   886,    -1,    -1,   103,   669,  1524,
-      -1,   103,   578,   686,  1484,    -1,   103,   276,   204,   788,
-      -1,   103,   528,   785,    -1,   103,   670,    -1,   470,  1430,
-     188,   114,   607,  1430,   366,   629,   671,   630,    -1,   672,
-      -1,   671,   631,   672,    -1,   578,  1425,    -1,   214,  1425,
-      -1,   111,  1425,    -1,   376,  1425,    -1,   387,  1425,    -1,
-     486,  1425,    -1,   394,  1251,    -1,    -1,  1122,   167,   892,
-     687,   674,   360,   459,   675,   680,   677,   682,   144,   683,
-      -1,    -1,   168,  1127,  1221,   676,   678,   679,    -1,    23,
-    1127,    -1,    -1,   153,    -1,   138,   360,   482,    -1,   138,
-      -1,    -1,   506,  1127,    -1,    -1,   156,  1127,    -1,    -1,
-     681,    -1,   360,    86,   398,    -1,   360,    86,   349,   398,
-      -1,    -1,    82,  1425,    -1,    -1,   684,   685,    -1,   734,
-      -1,   736,    -1,   732,    -1,   753,    -1,   771,    -1,   773,
-      -1,   768,    -1,   738,    -1,   740,    -1,   741,    -1,   742,
-      -1,   743,    -1,   745,    -1,    -1,  1428,   637,  1428,    -1,
-    1428,    -1,    -1,   688,   690,    -1,    -1,   689,   691,    -1,
-      82,  1425,    -1,   254,   502,    -1,   351,   502,    -1,    96,
-     502,    -1,   413,   502,   114,    -1,   325,   502,   114,    -1,
-     692,    -1,   690,    -1,   136,    -1,  1133,   136,    -1,   502,
-     463,   129,    -1,   502,   463,   241,    -1,    -1,    50,   687,
-     694,   695,    -1,    -1,   629,   696,   630,    -1,    -1,   697,
-      -1,   697,   631,  1127,    -1,  1127,    -1,    -1,   699,    -1,
-     699,   631,   701,    -1,   701,    -1,    -1,  1428,   700,   951,
-      -1,    -1,   703,    -1,   703,   631,   704,    -1,   704,    -1,
-     705,   700,  1428,   951,    -1,    -1,   242,    -1,   375,    -1,
-     233,    -1,    -1,   706,   731,   635,    -1,   731,   635,    -1,
-     707,   731,   635,    -1,    -1,   708,   709,   635,    -1,    -1,
-     127,   729,   710,   951,   730,    -1,   127,  1428,    89,   189,
-     717,    -1,    -1,   127,   714,   206,   189,   711,   715,   731,
-      -1,   127,  1428,   108,   189,   712,    -1,    -1,   713,  1105,
-      -1,   172,    -1,    98,    -1,   716,    -1,   715,   631,   716,
-      -1,   720,    -1,  1251,    -1,   718,    -1,   494,   719,  1426,
-      -1,    -1,   587,    -1,   717,    -1,  1428,    -1,   495,    -1,
-    1133,   190,    -1,   493,    -1,   479,   722,   724,    -1,  1428,
-      -1,   718,    -1,    -1,   722,    -1,    -1,   472,   725,    -1,
-     727,   617,   726,    -1,   725,   631,   727,   617,   726,    -1,
-    1412,    -1,  1158,    -1,  1417,    -1,    65,    -1,   515,    -1,
-      93,    -1,    95,    -1,    94,    -1,    55,    -1,   460,    -1,
-     533,    -1,    81,    -1,   109,    -1,   316,    -1,   334,    -1,
-     442,   723,   724,    -1,  1428,    -1,   729,   631,  1428,    -1,
-      -1,   128,  1127,    -1,   734,    -1,   736,    -1,   732,    -1,
-     753,    -1,   771,    -1,   773,    -1,   768,    -1,   738,    -1,
-     740,    -1,   741,    -1,   742,    -1,   743,    -1,   745,    -1,
-      -1,   223,   733,   748,   155,   223,    -1,    -1,   735,   644,
-      -1,    -1,   448,   737,  1127,    -1,    -1,   739,   777,    -1,
-     260,  1429,    -1,   248,  1429,    -1,   364,  1428,    -1,    -1,
-     180,   746,  1428,   239,   744,   747,    -1,    68,  1428,    -1,
-      -1,   345,   191,    -1,   191,    -1,  1428,    -1,   747,   631,
-    1428,    -1,    -1,    -1,    -1,   749,  1127,   540,   750,   707,
-     751,   752,    -1,    -1,   152,   748,    -1,   151,   707,    -1,
-     754,    -1,   757,    -1,    -1,    -1,    53,   755,  1127,   756,
-     759,   767,   155,    53,    -1,    -1,    53,   758,   760,   767,
-     155,    53,    -1,   761,    -1,   759,   761,    -1,   764,    -1,
-     760,   764,    -1,    -1,    -1,   600,   762,  1127,   763,   540,
-     707,    -1,    -1,    -1,   600,   765,  1127,   766,   540,   707,
-      -1,    -1,   151,   707,    -1,    -1,  1429,   638,   769,   777,
-     770,    -1,    -1,  1429,    -1,    -1,  1429,   638,   772,   775,
-     770,    -1,    -1,   774,   775,    -1,    -1,    31,   776,   708,
-     706,   155,    -1,   282,   707,   155,   282,    -1,    -1,    -1,
-     602,   778,  1127,   144,   779,   707,   155,   602,    -1,    -1,
-     437,   707,   574,   780,  1127,   155,   437,    -1,    30,    -1,
-       8,    -1,   235,    -1,   575,    -1,   132,    -1,   810,   812,
-      -1,   810,    57,   807,   791,    -1,   810,     6,   807,   786,
-     795,    -1,    -1,   581,   276,   204,  1428,    -1,   810,     6,
-     807,   798,    -1,   810,   145,   807,   798,    -1,   811,   790,
-     801,    -1,   811,   790,   804,    -1,     6,   808,    -1,     6,
-     809,    -1,    -1,   792,   793,    -1,   794,    -1,   793,   794,
-      -1,   793,   631,   794,    -1,   813,    -1,   814,    -1,   815,
-      -1,   796,    -1,   797,    -1,   796,   797,    -1,   796,   631,
-     797,    -1,   813,    -1,   814,    -1,   815,    -1,   816,    -1,
-     819,    -1,   821,    -1,   823,    -1,   820,    -1,   799,    -1,
-     800,    -1,   799,   800,    -1,   799,   631,   800,    -1,   813,
-      -1,   814,    -1,   815,    -1,   821,    -1,   823,    -1,   802,
-      -1,   803,    -1,   802,   803,    -1,   802,   631,   803,    -1,
-     813,    -1,   817,    -1,   818,    -1,   819,    -1,   821,    -1,
-     823,    -1,   820,    -1,   805,    -1,   806,    -1,   805,   806,
-      -1,   805,   631,   806,    -1,   813,    -1,   821,    -1,   823,
-      -1,   113,  1425,    -1,   564,  1425,    -1,   420,  1425,    -1,
-    1428,    -1,  1428,    -1,   414,    -1,   416,    -1,   349,     4,
-      -1,   231,  1304,   824,    -1,    25,  1304,   824,    -1,   305,
-    1304,   824,    -1,   175,  1304,   824,    -1,   565,  1304,   824,
-      -1,   421,  1304,   824,    -1,   346,  1304,  1252,    -1,    82,
-    1304,  1425,    -1,  1345,   159,  1304,   900,    -1,    -1,   823,
-      -1,   597,    -1,   352,    -1,  1254,    -1,  1424,    -1,   629,
-     826,    -1,   893,   832,   829,    -1,   265,  1421,    -1,   629,
-     265,  1421,   630,    -1,    -1,   906,   630,   827,   893,   832,
-     829,    -1,    -1,   832,   882,   630,   828,  1509,    -1,    -1,
-      -1,  1392,   885,   882,   830,  1506,    -1,    -1,  1392,   885,
-     629,   882,   630,   831,  1509,    -1,   833,    -1,    -1,   834,
-      -1,    -1,   386,   836,   835,   839,    -1,    -1,    -1,   386,
-     838,   839,    -1,    47,   840,   850,   851,   858,    -1,   842,
-     252,   843,   629,   844,   630,    -1,    -1,   842,   208,   841,
-     848,    -1,   412,   848,    -1,   412,   847,    -1,   270,   848,
-      -1,   270,   847,    -1,    -1,   267,    -1,    -1,    11,   617,
-    1252,    -1,    -1,   845,    -1,   846,    -1,   845,   631,   846,
-      -1,  1428,    -1,    73,   629,   844,   630,    -1,   629,  1122,
-     856,  1123,   630,    -1,   629,  1122,   856,  1123,   630,    -1,
-      -1,   385,  1252,    -1,    -1,    -1,   519,    47,   842,   208,
-     849,   852,   857,    -1,    -1,   519,    47,   842,   252,   843,
-     629,   854,   630,   853,   857,    -1,   855,    -1,   854,   631,
-     855,    -1,  1428,    -1,  1130,    -1,    -1,   518,  1252,    -1,
-      -1,   629,   859,   630,    -1,   860,    -1,   859,   631,   860,
-      -1,    -1,   386,   861,   862,   863,   879,   874,    -1,  1428,
-      -1,    -1,    -1,   586,   262,   539,   864,   866,    -1,    -1,
-     586,   242,   865,   867,    -1,   309,    -1,   869,    -1,   869,
-      -1,   629,   868,   630,    -1,   869,    -1,   868,   631,   869,
-      -1,    -1,    -1,   629,   870,   872,   871,   630,    -1,   873,
-      -1,   872,   631,   873,    -1,   309,    -1,  1130,    -1,    -1,
-     629,   875,   630,    -1,   876,    -1,   875,   631,   876,    -1,
-      -1,   519,   877,   878,   879,    -1,  1430,    -1,    -1,   880,
-      -1,   880,   881,    -1,   881,    -1,   528,  1304,  1430,    -1,
-    1345,   159,  1304,   900,    -1,    90,  1304,  1425,    -1,   346,
-    1304,  1252,    -1,   304,  1304,  1254,    -1,   322,  1304,  1254,
-      -1,   114,   137,  1304,  1425,    -1,   228,   137,  1304,  1425,
-      -1,    82,  1304,  1425,    -1,    -1,    -1,   464,   883,  1116,
-    1120,   884,   904,    -1,    -1,    19,    -1,    -1,   887,    -1,
-     888,    -1,   887,   888,    -1,   899,    -1,   898,    -1,    -1,
-     890,    -1,   891,    -1,   891,   890,    -1,   534,    -1,    -1,
-     223,  1133,   171,    -1,    -1,   895,    -1,   896,    -1,   896,
-     894,    -1,   896,    -1,   896,   895,    -1,   896,   631,   895,
-      -1,   159,  1304,   900,    -1,   304,  1304,  1253,    -1,   322,
-    1304,  1253,    -1,    27,  1304,  1251,    -1,   387,  1304,  1425,
-      -1,    82,  1304,  1425,    -1,    26,  1304,  1253,    -1,   377,
-    1304,  1251,    -1,   377,  1304,   128,    -1,    62,  1304,  1251,
-      -1,   532,  1304,  1251,    -1,   379,  1304,  1257,    -1,   131,
-    1304,  1251,    -1,   455,  1304,   902,    -1,    -1,   569,  1304,
-     897,   629,  1366,   630,    -1,   898,    -1,   899,    -1,   236,
-    1304,   903,    -1,   114,   137,  1304,  1425,    -1,   228,   137,
-    1304,  1425,    -1,   528,  1428,    -1,   512,   140,    -1,   512,
-     314,    -1,    90,  1304,  1425,    -1,   251,  1304,  1251,    -1,
-     551,  1304,  1257,    -1,  1424,  1303,  1425,    -1,  1424,  1303,
-    1428,    -1,  1424,  1303,  1254,    -1,  1424,  1303,   128,    -1,
-     963,   954,  1304,   956,    -1,   963,    71,  1304,   962,    -1,
-    1430,    -1,  1430,    -1,   128,    -1,   183,    -1,   149,    -1,
-      87,    -1,   422,    -1,    85,    -1,   378,    -1,   351,    -1,
-     182,    -1,   255,    -1,  1244,    -1,  1115,  1119,    -1,   514,
-      -1,   417,    -1,   126,    -1,   240,    -1,   907,    -1,   908,
-      -1,   907,   631,   908,    -1,   909,    -1,   910,    -1,   919,
-     915,    -1,   919,   969,    -1,    -1,   975,   999,   984,   629,
-     997,   630,   911,   985,    -1,    -1,   981,   978,   999,   983,
-     629,   997,   630,   912,   986,    -1,    -1,   982,   978,   999,
-     983,   629,   997,   630,   913,   987,    -1,    -1,   917,   976,
-     999,   984,   629,   997,   630,   914,   985,    -1,   917,   188,
-     252,   999,   629,   997,   630,   969,    -1,   917,   916,    -1,
-      -1,   916,    -1,    63,   629,  1127,   630,    -1,    -1,   918,
-      -1,    92,   999,    -1,    -1,  1420,   920,   921,    -1,   930,
-     948,    -1,    -1,   930,   923,    19,   922,   629,   929,   630,
-     924,   925,    -1,    -1,   197,    14,    -1,    -1,   596,    -1,
-     388,    -1,    -1,   926,    -1,   926,   927,    -1,   927,    -1,
-     570,    -1,   570,   252,    -1,    82,  1425,    -1,   382,   629,
-     929,   630,    -1,  1122,  1127,  1123,    -1,   938,   946,   942,
-      -1,   939,   947,   942,    -1,   185,   940,   942,    -1,    39,
-      -1,    39,   945,    -1,    44,    -1,    43,    -1,   934,   945,
-     966,    -1,   934,   966,    -1,   935,   945,   967,    -1,   935,
-     967,    -1,    34,   945,    -1,    34,    -1,   936,   945,   966,
-      -1,   937,   945,   967,    -1,   588,   945,    -1,   614,   946,
-     942,    -1,   118,    -1,   544,   946,    -1,   541,   946,    -1,
-     115,   946,    -1,   545,    -1,    41,   946,    -1,   933,    -1,
-     310,    -1,   278,    -1,   281,   588,    -1,   281,   936,   966,
-      -1,   547,   966,    -1,   538,   946,   966,    -1,   312,   966,
-      -1,   279,   966,    -1,   126,   940,   942,    -1,   356,   940,
-     942,    -1,   183,   940,   942,    -1,    -1,   160,   931,   629,
-    1001,   630,   966,    -1,    -1,   472,   932,   629,  1001,   630,
-     966,    -1,   281,   966,    -1,   468,    -1,   199,    -1,   198,
-      -1,   392,    -1,   330,    -1,   269,    -1,   329,    -1,   393,
-      -1,   331,    -1,    60,    -1,   340,    -1,   337,    60,    -1,
-     934,   592,    -1,   589,    -1,   337,   589,    -1,   357,    -1,
-     340,   589,    -1,   337,    60,   592,    -1,   340,   592,    -1,
-     240,    -1,   546,    -1,   484,    -1,   311,    -1,    33,    -1,
-     417,    -1,   143,    -1,   143,   396,    -1,    -1,   945,    -1,
-     941,    -1,   629,   355,   631,   355,   630,    -1,    -1,   943,
-      -1,   943,   944,    -1,   944,    -1,   480,    -1,   573,    -1,
-     615,    -1,   629,   280,   630,    -1,   629,   560,   630,    -1,
-     629,   125,   630,    -1,   629,   355,   630,    -1,    -1,   945,
-      -1,    -1,   941,    -1,    -1,   949,    -1,   949,   950,    -1,
-     950,    -1,   354,    -1,  1133,   354,    -1,   128,   952,    -1,
-     360,   575,   350,  1126,    -1,    26,    -1,   468,   128,   587,
-      -1,   968,   252,    -1,   570,    -1,   570,   252,    -1,    82,
-    1425,    -1,    71,   960,    -1,  1424,  1303,  1425,    -1,  1424,
-    1303,  1428,    -1,  1424,  1303,  1254,    -1,  1424,  1303,   128,
-      -1,   930,   961,    -1,   350,  1126,    -1,  1411,    -1,   211,
-      -1,   212,    -1,    60,   472,    -1,    59,    -1,  1430,    -1,
-      34,    -1,   955,    -1,   128,    -1,    -1,   954,   956,    -1,
-    1430,    -1,    34,    -1,   958,    -1,   128,    -1,  1430,    -1,
-      -1,    71,   962,    -1,   960,    -1,   128,    -1,    -1,   128,
-      -1,    21,    -1,    34,    21,    -1,    21,    34,    -1,   567,
-      -1,   567,    34,    -1,    34,   567,    -1,    -1,   964,    -1,
-     965,    -1,    48,    -1,   954,   955,   967,    -1,    34,    -1,
-      34,   954,   955,    -1,    -1,    34,    -1,    -1,   400,    -1,
-     423,  1421,   970,   972,   973,    -1,    -1,   629,   971,   630,
-      -1,   971,   631,  1428,    -1,  1428,    -1,    -1,   301,   192,
-      -1,   301,   383,    -1,   301,   481,    -1,    -1,   360,   575,
-     974,    -1,   360,   132,   974,    -1,   360,   575,   974,   360,
-     132,   974,    -1,   360,   132,   974,   360,   575,   974,    -1,
-     445,    -1,    51,    -1,   472,   354,    -1,   351,     5,    -1,
-     472,   128,    -1,   977,    -1,   400,   252,    -1,   570,   978,
-      -1,   252,    -1,   228,    -1,    -1,   977,    -1,   250,    -1,
-     228,    -1,   227,    -1,    -1,   570,    -1,   193,    -1,   491,
-      -1,    -1,   983,    -1,   983,   991,    -1,    -1,   988,    -1,
-      -1,   990,    -1,    -1,   989,    -1,   993,    -1,   988,   993,
-      -1,   994,    -1,   989,   994,    -1,   995,    -1,   990,   995,
-      -1,   582,   996,    -1,   558,   996,    -1,   251,  1304,  1251,
-      -1,    82,  1425,    -1,  1424,  1303,  1425,    -1,  1424,  1303,
-    1428,    -1,  1424,  1303,  1254,    -1,  1424,  1303,   128,    -1,
-     992,    -1,   991,    -1,   992,    -1,   992,    -1,   603,   381,
-    1424,    -1,    46,    -1,   457,    -1,   208,    -1,   997,   631,
-     998,  1242,    -1,   998,  1242,    -1,  1428,    -1,  1428,   629,
-     355,   630,    -1,    -1,  1420,    -1,    -1,   637,  1428,    -1,
-    1409,    -1,  1001,   631,  1409,    -1,    -1,    13,  1037,   531,
-    1421,  1003,  1014,    -1,    -1,    13,   111,  1013,  1004,   887,
-      -1,    13,   111,  1428,   576,   114,   137,   336,    -1,    -1,
-      13,   402,   687,  1005,   688,    -1,    -1,    13,   194,   687,
-    1006,   688,    -1,    -1,    13,  1532,  1527,  1007,  1534,    -1,
-      -1,    13,  1527,  1008,  1534,    -1,    -1,    13,  1527,   167,
-     687,  1009,  1010,  1011,   677,   682,  1012,    -1,    13,   528,
-     787,    -1,    13,   276,   204,   789,    -1,    13,   528,   784,
-      -1,    13,   528,   783,    -1,    13,   470,  1430,   366,   629,
-     671,   630,    -1,    -1,   360,   459,   675,    -1,   681,    -1,
-     360,   459,   675,   681,    -1,    -1,   433,   548,   687,    -1,
-      -1,   144,   683,    -1,    -1,  1428,    -1,    -1,   139,   528,
-      -1,   226,   528,    -1,  1029,   833,    -1,  1029,  1018,    -1,
-    1018,    -1,   834,    -1,  1020,    -1,   145,   386,  1027,    -1,
-     418,   386,  1080,  1019,    -1,    -1,   365,   386,  1080,  1019,
-    1015,  1080,    -1,    15,   386,  1080,  1019,    -1,    -1,    63,
-     386,  1019,  1016,  1074,    -1,    -1,   435,   386,  1080,  1019,
-    1017,  1063,    -1,    69,   386,  1080,  1252,    -1,   556,   386,
-    1019,    -1,  1023,    -1,   432,   384,    -1,    12,    -1,  1027,
-      -1,    -1,     6,   386,  1080,  1021,  1022,    -1,    -1,   629,
-     859,   630,    -1,   385,  1252,    -1,    -1,   434,   386,  1080,
-    1024,  1025,    -1,    -1,    -1,  1027,  1026,   239,   629,   859,
-     630,    -1,  1028,    -1,  1027,   631,  1028,    -1,  1428,    -1,
-    1031,    -1,  1029,   631,  1031,    -1,     6,  1035,    -1,  1030,
-     909,  1043,    -1,     6,   910,    -1,  1030,   629,   906,   630,
-      -1,    -1,    57,  1035,  1420,  1032,   919,  1043,    -1,    -1,
-      -1,   326,  1035,  1420,  1033,   921,  1034,  1043,    -1,   145,
-    1035,  1420,  1042,    -1,   145,   188,   252,   999,    -1,   145,
-     400,   252,    -1,   145,   977,  1420,    -1,   138,   250,    -1,
-     153,   250,    -1,    13,  1035,  1420,   472,   128,  1411,    -1,
-      13,  1035,  1420,   145,   128,    -1,   433,  1044,  1421,    -1,
-     100,   548,   954,   956,   961,    -1,   894,    -1,   187,    -1,
-    1235,    -1,    -1,    80,    -1,    -1,   224,    -1,    -1,  1038,
-    1039,    -1,    -1,  1040,    -1,  1040,  1041,    -1,  1041,    -1,
-     224,    -1,   363,    -1,    -1,   445,    -1,    51,    -1,    -1,
-       8,  1428,    -1,   182,    -1,    -1,   548,    -1,   617,    -1,
-      19,    -1,    -1,   507,   482,  1050,  1046,  1054,    -1,   511,
-     482,  1050,    -1,    -1,   482,   507,  1050,  1047,  1054,    -1,
-     482,   511,  1050,    -1,   507,   550,  1049,    -1,    -1,   603,
-      91,   485,    -1,    -1,  1051,  1052,    -1,  1053,    -1,  1052,
-     631,  1053,    -1,    -1,   503,    -1,   429,    -1,    -1,   574,
-    1055,    -1,   662,    -1,  1055,   631,   662,    -1,    -1,    62,
-    1453,  1057,  1278,  1058,    -1,    -1,   411,    -1,   174,    -1,
-    1453,  1278,  1063,    -1,    -1,   595,  1060,  1278,  1066,    -1,
-      -1,   435,  1080,  1062,  1059,    -1,    -1,  1064,    -1,  1065,
-      -1,  1065,  1064,    -1,   411,    -1,   174,    -1,   580,    -1,
-      -1,   191,   333,    -1,    -1,    15,  1080,  1453,  1068,  1278,
-      -1,    35,  1425,    -1,  1453,  1278,  1074,    -1,    -1,   595,
-    1071,  1278,  1077,    -1,    -1,    63,  1073,  1070,    -1,    -1,
-    1075,    -1,  1076,    -1,  1076,  1075,    -1,   411,    -1,   178,
-      -1,   313,    -1,   174,    -1,    58,    -1,   189,   576,    -1,
-      -1,   189,   576,    -1,    -1,   365,  1080,  1453,  1079,  1278,
-      -1,    -1,   353,    -1,   272,    -1,    -1,   433,  1453,  1082,
-    1084,    -1,   433,   578,   686,  1083,    -1,  1431,   548,  1431,
-      -1,  1083,   631,  1431,   548,  1431,    -1,  1085,    -1,  1084,
-     631,  1085,    -1,  1421,   548,  1421,    -1,    -1,    49,   228,
-    1087,  1088,   242,  1092,    -1,  1089,    -1,  1091,    -1,  1090,
-      -1,  1089,   631,  1090,    -1,  1421,  1101,    -1,  1421,  1099,
-    1101,    -1,  1428,    -1,   128,    -1,    -1,   271,   228,   239,
-      49,  1094,  1095,    -1,  1098,    -1,  1096,    -1,  1097,    -1,
-    1096,   631,  1097,    -1,  1421,  1101,  1104,    -1,  1421,  1099,
-    1101,  1104,    -1,    -1,   386,   836,  1100,   629,  1019,   630,
-      -1,    -1,  1102,  1103,    -1,    -1,   977,   629,  1217,   630,
-      -1,    -1,   224,   259,    -1,  1106,    -1,   464,  1109,    -1,
-     629,  1107,   630,  1509,    -1,   464,  1111,    -1,   629,  1107,
-     630,    -1,   464,  1196,    -1,   629,  1108,   630,    -1,    -1,
-    1111,  1110,  1506,    -1,    -1,    -1,  1112,  1116,  1120,  1113,
-    1114,  1119,    -1,  1238,  1244,    -1,  1267,    -1,  1115,    -1,
-    1267,  1115,    -1,  1115,  1267,    -1,   191,  1178,  1227,  1232,
-    1229,  1238,  1244,  1258,    -1,   191,   146,  1227,  1244,    -1,
-      -1,  1117,    -1,  1117,  1118,    -1,  1118,    -1,  1523,    -1,
-     500,    -1,   498,    -1,    -1,   189,   575,    -1,   275,   242,
-     474,   324,    -1,  1120,   631,  1121,    -1,  1121,    -1,   624,
-      -1,  1122,  1415,  1123,    -1,  1122,  1127,  1123,  1124,    -1,
-      -1,    -1,    -1,    19,  1428,    -1,    19,  1425,    -1,  1428,
-      -1,  1425,    -1,    -1,   629,   630,    -1,   629,  1252,   630,
-      -1,    -1,   629,   630,    -1,  1127,  1131,  1127,    -1,  1127,
-     612,  1127,    -1,  1127,  1132,  1127,    -1,   349,  1127,    -1,
-    1128,   245,   555,    -1,  1128,   245,  1133,   555,    -1,  1128,
-     245,   177,    -1,  1128,   245,  1133,   177,    -1,  1128,   245,
-     571,    -1,  1128,   245,  1133,   571,    -1,  1128,    -1,  1128,
-     245,   354,    -1,  1128,   245,  1133,   354,    -1,  1128,   161,
-    1129,    -1,  1128,  1135,  1129,    -1,  1128,  1135,  1136,   629,
-    1518,   630,    -1,  1129,    -1,  1130,   242,   629,  1518,   630,
-      -1,  1130,  1133,   242,   629,  1518,   630,    -1,  1130,   242,
-     629,  1127,   630,    -1,  1130,   242,   629,  1127,   631,  1171,
-     630,    -1,  1130,  1133,   242,   629,  1127,   630,    -1,  1130,
-    1133,   242,   629,  1127,   631,  1171,   630,    -1,  1130,    32,
-    1130,    17,  1129,    -1,  1130,  1133,    32,  1130,    17,  1129,
-      -1,  1130,   489,   265,  1130,    -1,  1130,   265,  1141,  1231,
-      -1,  1130,  1133,   265,  1141,  1231,    -1,  1130,   424,  1130,
-      -1,  1130,  1133,   424,  1130,    -1,  1130,    -1,  1130,   620,
-    1130,    -1,  1130,   621,  1130,    -1,  1130,   475,  1130,    -1,
-    1130,   476,  1130,    -1,  1130,   623,  1130,    -1,  1130,   622,
-    1130,    -1,  1130,   623,   238,  1127,  1221,    -1,  1130,   622,
-     238,  1127,  1221,    -1,  1130,   624,  1130,    -1,  1130,   625,
-    1130,    -1,  1130,   626,  1130,    -1,  1130,   142,  1130,    -1,
-    1130,   327,  1130,    -1,  1130,   627,  1130,    -1,  1141,    -1,
-     372,    -1,   369,    -1,    17,    -1,    16,    -1,   349,    -1,
-     348,    -1,   632,    -1,   348,    -1,   617,    -1,   195,    -1,
-     618,    -1,   257,    -1,   619,    -1,   342,    -1,    12,    -1,
-      18,    -1,    -1,    19,  1138,    -1,   240,    -1,   573,   240,
-      -1,   143,    -1,   417,    -1,   185,    -1,   126,   940,    -1,
-     934,   966,    -1,   935,    -1,   118,    -1,   544,   946,    -1,
-     115,   946,    -1,  1127,   631,  1127,  1137,    -1,  1139,    -1,
-    1140,   631,  1139,    -1,  1417,    -1,  1142,    -1,  1143,    -1,
-    1146,    -1,  1144,    -1,  1141,    71,  1430,    -1,  1412,    -1,
-    1410,    -1,  1158,    -1,  1154,    -1,  1141,   371,  1141,    -1,
-     623,  1141,    -1,   622,  1141,    -1,   628,  1141,    -1,  1134,
-    1141,    -1,   629,  1518,   630,    -1,   629,  1127,   630,    -1,
-     629,  1127,   631,  1171,   630,    -1,   456,   629,  1127,   631,
-    1171,   630,    -1,   171,   629,  1518,   630,    -1,   633,  1428,
-    1127,   634,    -1,   301,  1172,     9,   629,  1130,  1148,   630,
-      -1,    34,  1141,    -1,    54,   629,  1127,    19,  1168,   630,
-      -1,    53,  1174,  1176,  1175,   155,    -1,   100,   629,  1127,
-     631,  1168,   630,    -1,   100,   629,  1127,   582,   955,   630,
-      -1,   128,   629,  1417,   630,    -1,   586,   629,  1418,   630,
-      -1,   238,  1127,  1221,   623,  1127,    -1,    60,   629,  1171,
-     630,    -1,    60,   629,  1171,   582,   955,   630,    -1,   107,
-    1126,    -1,   118,   629,  1127,   630,    -1,   123,   629,  1127,
-     630,    -1,   219,   629,  1127,   630,    -1,   235,   629,  1127,
-     631,  1127,   631,  1127,   631,  1127,   630,    -1,   238,   629,
-    1127,   631,  1127,   630,    -1,   238,   629,  1127,   631,  1127,
-     631,  1171,   630,    -1,   261,   629,  1127,   631,  1127,   630,
-      -1,   321,   629,  1127,   630,    -1,   328,   629,  1127,   630,
-      -1,   450,   629,  1127,   631,  1127,   630,    -1,   462,   629,
-    1127,   630,    -1,   544,   629,  1127,   630,    -1,   541,   629,
-    1127,   630,    -1,   541,   629,  1127,   631,  1127,   630,    -1,
-     554,   629,  1127,   630,    -1,   554,   629,   258,  1127,   191,
-    1127,   630,    -1,   554,   629,   549,  1127,   191,  1127,   630,
-      -1,   554,   629,    45,  1127,   191,  1127,   630,    -1,   554,
-     629,   258,   191,  1127,   630,    -1,   554,   629,   549,   191,
-    1127,   630,    -1,   554,   629,    45,   191,  1127,   630,    -1,
-     554,   629,  1127,   191,  1127,   630,    -1,   578,   629,   630,
-      -1,   614,   629,  1127,   630,    -1,     7,   629,  1127,   631,
-    1127,   630,    -1,     7,   629,  1127,   631,   238,  1127,  1221,
-     630,    -1,   106,  1126,    -1,   110,  1125,    -1,   116,   629,
-    1127,   631,   238,  1127,  1221,   630,    -1,   117,   629,  1127,
-     631,   238,  1127,  1221,   630,    -1,   176,   629,  1221,   191,
-    1127,   630,    -1,   200,   629,  1223,   631,  1127,   630,    -1,
-     350,  1125,    -1,   395,   629,  1130,   242,  1127,   630,    -1,
-     516,   629,  1127,   631,  1127,   630,    -1,   516,   629,  1127,
-     631,   238,  1127,  1221,   630,    -1,   520,   629,  1127,   631,
-    1127,   631,  1127,   630,    -1,   520,   629,  1127,   631,  1127,
-     630,    -1,   520,   629,  1127,   191,  1127,   189,  1127,   630,
-      -1,   520,   629,  1127,   191,  1127,   630,    -1,   526,  1125,
-      -1,   542,   629,  1222,   631,  1127,   631,  1127,   630,    -1,
-     543,   629,  1222,   631,  1127,   631,  1127,   630,    -1,   583,
-    1126,    -1,   585,  1125,    -1,   584,  1125,    -1,    74,   629,
-    1127,   631,  1140,   630,    -1,    76,   629,  1127,   631,  1171,
-     630,    -1,    77,   629,  1127,   631,  1127,   630,    -1,    79,
-     629,  1127,   630,    -1,    75,   629,  1140,   630,    -1,    78,
-     629,  1127,   631,  1127,    19,  1168,   630,    -1,    21,   629,
-    1127,   630,    -1,    59,   629,  1127,   630,    -1,    69,   629,
-    1171,   630,    -1,    72,   629,  1127,   630,    -1,   111,   629,
-     630,    -1,   223,   629,  1127,   631,  1127,   631,  1127,   630,
-      -1,   256,   629,  1171,   630,    -1,   317,   629,  1127,   630,
-      -1,   327,   629,  1127,   631,  1127,   630,    -1,   359,   629,
-    1127,   630,    -1,   387,   629,  1127,   630,    -1,   409,   629,
-    1127,   630,    -1,   437,   629,  1127,   631,  1127,   630,    -1,
-     438,   629,  1127,   631,  1127,   631,  1127,   630,    -1,   556,
-     629,  1127,   631,  1127,   630,    -1,   599,   629,  1127,   630,
-      -1,   599,   629,  1127,   631,  1127,   630,    -1,  1145,    -1,
-      96,   629,  1127,   631,  1127,   630,    -1,   198,   629,  1171,
-     630,    -1,   269,   629,  1171,   630,    -1,   329,   629,  1171,
-     630,    -1,   330,   629,  1171,   630,    -1,   331,   629,  1171,
-     630,    -1,   392,   629,  1127,   631,  1127,   630,    -1,   393,
-     629,  1171,   630,    -1,    -1,  1424,   629,  1147,  1151,   630,
-      -1,  1428,   637,  1428,   629,  1170,   630,    -1,  1149,  1150,
-      -1,   242,    43,   324,    -1,    -1,   242,   338,   254,   324,
-      -1,    -1,   603,   410,   173,    -1,    -1,  1152,    -1,  1153,
-      -1,  1152,   631,  1153,    -1,  1122,  1127,  1123,  1124,    -1,
-      28,   629,  1166,   630,    -1,    28,   629,   141,  1166,   630,
-      -1,    37,   629,  1166,   630,    -1,    38,   629,  1166,   630,
-      -1,    40,   629,  1166,   630,    -1,   101,   629,  1226,   624,
-     630,    -1,   101,   629,  1166,   630,    -1,    -1,    -1,   101,
-     629,   141,  1155,  1171,  1156,   630,    -1,   323,   629,  1166,
-     630,    -1,   323,   629,   141,  1166,   630,    -1,   306,   629,
-    1166,   630,    -1,   306,   629,   141,  1166,   630,    -1,   510,
-     629,  1166,   630,    -1,   591,   629,  1166,   630,    -1,   509,
-     629,  1166,   630,    -1,   593,   629,  1166,   630,    -1,   521,
-     629,  1166,   630,    -1,   521,   629,   141,  1166,   630,    -1,
-      -1,   205,   629,  1161,  1157,  1171,  1163,  1162,   630,    -1,
-      -1,   636,  1159,  1160,    -1,  1430,   473,  1127,    -1,  1430,
-      -1,   636,  1443,  1430,  1000,    -1,    -1,   141,    -1,    -1,
-     466,  1409,    -1,    -1,    -1,   370,    47,  1164,  1165,    -1,
-    1165,   631,  1416,  1242,    -1,  1416,  1242,    -1,    -1,  1226,
-    1167,  1127,    -1,    34,   946,    -1,    60,   946,   966,    -1,
-     340,   946,    -1,   240,    -1,   480,    -1,   480,   240,    -1,
-     573,    -1,   573,   240,    -1,   118,    -1,   544,   946,    -1,
-     115,   946,    -1,   126,   940,    -1,    -1,   143,  1169,   947,
-      -1,    -1,  1171,    -1,  1127,    -1,  1171,   631,  1127,    -1,
-    1173,    -1,   629,  1173,   630,    -1,  1417,    -1,  1173,   631,
-    1417,    -1,    -1,  1127,    -1,    -1,   151,  1127,    -1,   600,
-    1127,   540,  1127,    -1,  1176,   600,  1127,   540,  1127,    -1,
-    1190,    -1,  1181,    -1,  1180,    -1,  1177,    -1,   633,  1428,
-    1177,   634,    -1,  1179,    -1,  1180,   631,  1179,    -1,  1177,
-    1189,  1177,    -1,  1177,   513,  1190,    -1,    -1,  1177,  1189,
-    1177,   360,  1182,  1127,    -1,    -1,  1177,   513,  1190,   360,
-    1183,  1127,    -1,    -1,  1177,  1189,  1177,   582,  1184,   629,
-    1220,   630,    -1,  1177,   338,   249,  1190,    -1,    -1,  1177,
-     261,  1206,   249,  1177,   360,  1185,  1127,    -1,    -1,  1177,
-     261,  1206,   249,  1190,  1186,   582,   629,  1220,   630,    -1,
-    1177,   338,   261,  1206,   249,  1190,    -1,    -1,  1177,   450,
-    1206,   249,  1177,   360,  1187,  1127,    -1,    -1,  1177,   450,
-    1206,   249,  1190,  1188,   582,   629,  1220,   630,    -1,  1177,
-     338,   450,  1206,   249,  1190,    -1,   249,    -1,   232,   249,
-      -1,   104,   249,    -1,    -1,  1191,  1421,  1225,  1215,    -1,
-    1205,  1204,  1201,    -1,   629,  1204,  1192,   630,  1225,    -1,
-    1199,  1510,    -1,    -1,    -1,  1192,   569,  1514,  1193,  1515,
-    1194,  1510,    -1,  1196,    -1,    -1,    -1,  1197,  1521,  1120,
-    1198,   904,  1119,    -1,    -1,  1204,  1200,  1180,    -1,    -1,
-      -1,  1202,  1116,  1120,  1203,   904,    -1,    -1,   464,    -1,
-      -1,   373,    -1,    -1,   189,   249,    -1,   189,   370,    47,
-      -1,   189,   204,    47,    -1,   187,    -1,   224,    -1,    -1,
-    1208,   977,  1207,  1210,   629,  1219,   630,    -1,    -1,   581,
-     977,  1207,  1211,   629,  1217,   630,    -1,  1209,    -1,  1212,
-    1209,    -1,    -1,    -1,  1214,  1212,    -1,    -1,  1216,  1213,
-      -1,    -1,  1219,    -1,  1428,    -1,   400,    -1,  1218,    -1,
-    1219,   631,  1218,    -1,  1428,    -1,  1220,   631,  1428,    -1,
-    1222,    -1,   119,    -1,   120,    -1,   121,    -1,   122,    -1,
-     216,    -1,   217,    -1,   218,    -1,   319,    -1,   320,    -1,
-     461,    -1,   613,    -1,   123,    -1,   599,    -1,   219,    -1,
-     321,    -1,   328,    -1,   409,    -1,   462,    -1,   317,    -1,
-     614,    -1,   118,    -1,   544,    -1,   115,    -1,   541,    -1,
-      -1,    19,    -1,   617,    -1,    -1,  1224,  1428,    -1,    -1,
-      12,    -1,    -1,    -1,   601,  1228,  1127,    -1,    -1,    -1,
-     209,  1230,  1127,    -1,   165,  1141,    -1,    -1,    -1,   204,
-      47,  1233,  1234,    -1,  1233,   631,  1416,  1242,    -1,  1416,
-    1242,    -1,    -1,   604,    -1,   605,    -1,   370,    47,  1236,
-      -1,  1236,   631,  1237,    -1,  1237,    -1,  1418,  1242,    -1,
-      -1,  1239,    -1,    -1,   370,    47,  1240,  1241,    -1,  1241,
-     631,  1416,  1242,    -1,  1416,  1242,    -1,    -1,    20,    -1,
-     133,    -1,    -1,  1245,    -1,    -1,  1245,    -1,   266,  1246,
-      -1,   266,  1246,   454,   169,  1248,    -1,   266,   454,   169,
-    1248,    -1,  1247,    -1,  1247,   631,  1247,    -1,  1247,   358,
-    1247,    -1,  1428,    -1,  1410,    -1,   560,    -1,   280,    -1,
-     355,    -1,  1247,    -1,    -1,   266,  1247,    -1,   266,   454,
-     169,    -1,   266,  1247,   454,   169,    -1,   355,    -1,   622,
-     355,    -1,   622,   280,    -1,   355,    -1,   211,    -1,   280,
-      -1,   560,    -1,   125,    -1,   184,    -1,   355,    -1,   211,
-      -1,   280,    -1,   560,    -1,  1255,    -1,   355,    -1,   560,
-      -1,   280,    -1,   125,    -1,   184,    -1,   355,    -1,   560,
-      -1,   211,    -1,   280,    -1,  1255,    -1,  1256,    -1,   125,
-      -1,   184,    -1,  1251,    -1,   128,    -1,    -1,    -1,   402,
-    1428,  1259,   629,  1260,   630,    -1,    -1,  1261,    -1,  1261,
-     631,  1262,    -1,  1262,    -1,  1122,  1127,  1123,    -1,    -1,
-    1264,  1265,    -1,  1265,   631,  1266,    -1,  1266,    -1,   636,
-    1430,    -1,  1430,    -1,    -1,   239,  1268,  1269,    -1,    -1,
-      -1,   374,  1427,  1270,   957,  1271,  1393,  1396,    -1,   147,
-    1427,    -1,  1263,    -1,    -1,   144,  1273,  1171,    -1,    -1,
-     145,  1283,  1453,  1282,  1275,  1278,  1042,    -1,    -1,   145,
-     228,  1428,   360,  1421,  1276,    -1,   145,   111,  1282,  1428,
-      -1,   145,   194,  1282,  1428,   637,  1428,    -1,   145,   194,
-    1282,  1428,    -1,   145,   402,  1282,   687,    -1,   145,   578,
-     686,  1483,    -1,    -1,   145,   595,  1282,  1277,  1278,  1042,
-      -1,   145,   167,  1282,   687,    -1,   145,   553,  1282,   687,
-      -1,   145,   528,   810,   821,   822,    -1,   145,   276,   204,
-     811,   821,   822,    -1,   145,   470,  1282,  1430,    -1,  1279,
-      -1,  1278,   631,  1279,    -1,  1421,    -1,  1281,    -1,  1280,
-     631,  1281,    -1,  1422,    -1,    -1,   223,   171,    -1,    -1,
-     534,    -1,    -1,    -1,   235,  1285,  1290,  1036,  1292,  1286,
-    1294,  1310,    -1,    -1,    -1,   438,  1288,  1291,  1292,  1289,
-    1294,    -1,    -1,   283,    -1,   130,    -1,   213,    -1,  1319,
-      -1,   130,    -1,   239,  1293,    -1,  1293,    -1,  1279,    -1,
-    1297,    -1,   629,   630,  1297,    -1,   629,  1296,   630,  1297,
-      -1,    -1,   472,  1295,  1301,    -1,  1296,   631,  1414,    -1,
-    1414,    -1,   586,  1300,    -1,   587,  1300,    -1,    -1,   882,
-    1298,  1506,    -1,    -1,   629,   882,   630,  1299,  1509,    -1,
-    1300,   631,  1305,    -1,  1305,    -1,  1301,   631,  1302,    -1,
-    1302,    -1,  1418,  1303,  1309,    -1,   617,    -1,   473,    -1,
-      -1,  1303,    -1,    -1,   629,  1306,  1307,   630,    -1,    -1,
-    1308,    -1,  1308,   631,  1309,    -1,  1309,    -1,  1127,    -1,
-     128,    -1,    -1,    -1,   360,   148,  1311,   252,   575,  1317,
-      -1,    -1,    -1,   575,  1313,  1319,  1036,  1178,   472,  1315,
-    1314,  1227,  1238,  1249,    -1,  1315,   631,  1316,    -1,  1316,
-      -1,  1418,  1303,  1309,    -1,  1317,   631,  1318,    -1,  1318,
-      -1,  1418,  1303,  1309,    -1,    -1,   283,    -1,    -1,   132,
-    1321,  1329,  1322,    -1,    -1,   191,  1421,  1323,  1227,  1238,
-    1249,    -1,    -1,  1326,  1324,   191,  1178,  1227,    -1,    -1,
-     191,  1280,  1325,   582,  1178,  1227,    -1,  1327,    -1,  1326,
-     631,  1327,    -1,  1428,  1328,    -1,  1428,   637,  1428,  1328,
-      -1,    -1,   637,   624,    -1,    -1,  1330,  1329,    -1,   411,
-      -1,   283,    -1,   224,    -1,    -1,   556,  1333,  1332,  1279,
-      -1,    -1,   531,    -1,    -1,  1335,    -1,  1336,    -1,  1335,
-     631,  1336,    -1,   102,    -1,   314,    -1,    42,   243,    -1,
-      97,   525,    -1,   378,   179,    -1,   244,    -1,   524,    -1,
-     490,    -1,    12,    -1,    -1,   189,   410,   355,    -1,    -1,
-     477,  1339,  1340,    -1,   112,  1351,    -1,  1347,   527,  1346,
-    1351,    -1,  1347,   552,  1346,  1351,    -1,   166,  1346,  1351,
-      -1,   531,   508,  1346,  1351,    -1,   364,   527,  1346,  1351,
-      -1,   390,    -1,   159,   901,  1343,    -1,   159,    12,  1343,
-      -1,  1347,    73,  1348,  1421,  1346,  1351,    -1,  1344,   277,
-      -1,   482,   215,    -1,    -1,    35,   166,  1349,  1350,  1341,
-    1243,    -1,    -1,   426,   166,  1349,  1350,  1342,  1243,    -1,
-     979,  1348,  1421,  1346,  1227,    -1,  1345,   158,    -1,    24,
-      -1,    99,    -1,   401,    -1,   101,   629,   624,   630,   598,
-      -1,   101,   629,   624,   630,   163,    -1,   598,  1243,    -1,
-     163,  1243,    -1,   406,    -1,   405,  1334,  1337,  1243,    -1,
-    1442,   508,  1351,    -1,  1347,   404,    -1,  1442,   590,  1351,
-      -1,   954,  1351,    -1,    72,  1351,    -1,   203,    -1,   203,
-     189,  1431,    -1,   103,   111,   892,  1428,    -1,   103,   531,
-    1421,    -1,   103,   595,  1421,    -1,   298,   508,    -1,   482,
-     508,    -1,    67,    -1,   579,    -1,   530,    -1,   229,    -1,
-     103,   402,   687,    -1,   103,   194,   687,    -1,   103,   553,
-     687,    -1,   402,   508,  1351,    -1,   194,   508,  1351,    -1,
-     402,    70,   687,    -1,   194,    70,   687,    -1,   103,   167,
-     687,    -1,   508,    -1,   332,    -1,   277,    -1,   298,    -1,
-      34,    -1,    -1,   512,    -1,    -1,  1348,  1428,    -1,    -1,
-     192,    -1,   191,    -1,   242,    -1,    -1,   242,  1425,    -1,
-      -1,   191,  1253,    -1,    -1,   265,  1425,    -1,   601,  1127,
-      -1,    -1,  1355,  1421,  1353,  1357,    -1,    -1,  1355,  1356,
-    1354,  1105,    -1,   133,    -1,   134,    -1,    -1,   174,    -1,
-     385,    -1,    -1,  1409,    -1,  1428,    -1,    -1,   186,  1080,
-    1359,  1360,    -1,    -1,    -1,  1453,  1361,  1366,  1362,  1363,
-      -1,  1364,    -1,    -1,   603,   415,   275,  1367,    -1,  1364,
-     631,  1365,    -1,  1365,    -1,   162,   277,    -1,   159,   277,
-      -1,   196,   277,    -1,   483,   277,    -1,    34,   277,    -1,
-     425,   277,    -1,   410,    49,    -1,   215,    -1,   401,    -1,
-     277,    -1,   508,    -1,   482,    -1,    67,    -1,   579,    -1,
-     530,    -1,   229,    -1,   298,    -1,   135,    -1,   443,    -1,
-      -1,  1278,    -1,    -1,    17,   138,    61,    -1,    -1,   441,
-    1369,  1370,    -1,  1370,   631,  1371,    -1,  1371,    -1,    -1,
-     482,  1372,  1373,    -1,   298,    -1,   410,    49,    -1,    -1,
-      12,    -1,    -1,   408,  1375,  1376,    -1,  1344,   277,  1377,
-      -1,   548,  1425,    -1,    30,  1127,    -1,    -1,   253,  1379,
-    1380,  1381,  1382,    -1,    -1,   207,    -1,   487,    -1,    -1,
-      90,    -1,   410,    -1,  1127,    -1,   578,  1431,    -1,   581,
-    1428,    -1,    -1,    -1,    -1,    -1,   271,  1389,  1385,  1391,
-    1390,   230,  1427,  1386,  1392,   239,   531,  1421,  1387,   957,
-    1388,  1399,  1393,  1396,  1400,  1402,  1405,    -1,   114,    -1,
-     611,    -1,    -1,   272,    -1,    -1,    88,    -1,   283,    -1,
-      -1,   438,    -1,   224,    -1,    -1,    73,  1394,    -1,  1394,
-    1395,    -1,  1395,    -1,   536,    47,  1409,    -1,   368,   154,
-      47,  1409,    -1,   154,    47,  1409,    -1,   164,    47,  1409,
-      -1,    -1,   268,  1397,    -1,  1397,  1398,    -1,  1398,    -1,
-     536,    47,  1409,    -1,   505,    47,  1409,    -1,    -1,   454,
-     221,    47,  1409,    -1,    -1,   224,   355,  1401,    -1,   268,
-      -1,   454,    -1,    -1,   629,  1403,   630,    -1,   629,   630,
-      -1,  1403,   631,  1404,    -1,  1404,    -1,  1418,    -1,   636,
-    1430,    -1,    -1,   472,  1406,    -1,  1406,   631,  1407,    -1,
-    1407,    -1,  1418,  1303,  1122,  1309,  1123,    -1,   537,    -1,
-     339,    -1,   563,   537,    -1,  1408,  1426,    -1,  1426,    -1,
-     211,    -1,   212,    -1,    36,    -1,   380,    -1,  1412,    -1,
-     623,  1413,    -1,   622,  1413,    -1,  1408,    -1,  1413,    -1,
-     354,    -1,   177,    -1,   555,    -1,   211,    -1,   212,    -1,
-      36,    -1,   563,   953,    -1,   563,    36,    -1,   118,  1408,
-      -1,   544,  1408,    -1,   541,  1408,    -1,   355,    -1,   280,
-      -1,   560,    -1,   125,    -1,   184,    -1,  1418,    -1,  1415,
-      -1,  1428,   637,   624,    -1,  1428,   637,  1428,   637,   624,
-      -1,  1127,    -1,  1428,    -1,  1419,    -1,  1428,    -1,  1419,
-      -1,  1428,   637,  1428,    -1,   637,  1428,   637,  1428,    -1,
-    1428,   637,  1428,   637,  1428,    -1,  1428,    -1,  1428,   637,
-    1428,   637,  1428,    -1,  1428,   637,  1428,    -1,   637,  1428,
-      -1,  1428,    -1,  1428,   637,  1428,    -1,   637,  1428,    -1,
-    1428,  1328,    -1,  1428,   637,  1428,  1328,    -1,  1428,    -1,
-     220,    -1,   222,    -1,   537,    -1,   537,    -1,   537,    -1,
-    1424,    -1,  1432,    -1,  1424,    -1,  1433,    -1,  1428,    -1,
-    1425,    -1,   264,    -1,  1430,    -1,  1430,   636,  1430,    -1,
-     107,  1126,    -1,  1433,    -1,    21,    -1,    29,    -1,    31,
-      -1,    48,    -1,    49,    -1,    59,    -1,    62,    -1,    61,
-      -1,    68,    -1,    74,    -1,    75,    -1,    76,    -1,    77,
-      -1,    78,    -1,    79,    -1,    82,    -1,    84,    -1,    96,
-      -1,   124,    -1,   144,    -1,   155,    -1,   169,    -1,   170,
-      -1,   186,    -1,   206,    -1,   210,    -1,   214,    -1,   237,
-      -1,   254,    -1,   351,    -1,   364,    -1,   367,    -1,   366,
-      -1,   376,    -1,   381,    -1,   386,    -1,   394,    -1,   397,
-      -1,   432,    -1,   435,    -1,   441,    -1,   444,    -1,   451,
-      -1,   458,    -1,   463,    -1,   470,    -1,   480,    -1,   486,
-      -1,   482,    -1,   488,    -1,   507,    -1,   511,    -1,   556,
-      -1,   567,    -1,   568,    -1,   607,    -1,   610,    -1,   576,
-      -1,     5,    -1,     7,    -1,     8,    -1,     9,    -1,    10,
-      -1,    11,    -1,    14,    -1,    18,    -1,    23,    -1,    24,
-      -1,    26,    -1,    25,    -1,    27,    -1,    28,    -1,    35,
-      -1,    39,    -1,    42,    -1,    44,    -1,    43,    -1,    46,
-      -1,    52,    -1,    55,    -1,    56,    -1,    58,    -1,    64,
-      -1,    67,    -1,    66,    -1,    65,    -1,    69,    -1,    70,
-      -1,    72,    -1,    81,    -1,    73,    -1,    83,    -1,    85,
-      -1,    86,    -1,    87,    -1,    88,    -1,    90,    -1,    91,
-      -1,    93,    -1,    95,    -1,    94,    -1,    97,    -1,    99,
-      -1,   102,    -1,   105,    -1,   109,    -1,   114,    -1,   113,
-      -1,   115,    -1,   118,    -1,   123,    -1,   129,    -1,   131,
-      -1,   135,    -1,   137,    -1,   138,    -1,   139,    -1,   140,
-      -1,   147,    -1,   148,    -1,   149,    -1,   156,    -1,   160,
-      -1,   159,    -1,   158,    -1,   162,    -1,   163,    -1,   165,
-      -1,   167,    -1,   166,    -1,   168,    -1,   173,    -1,   174,
-      -1,   175,    -1,   179,    -1,   178,    -1,   190,    -1,   153,
-      -1,   192,    -1,   181,    -1,   182,    -1,   183,    -1,   196,
-      -1,   197,    -1,   199,    -1,   198,    -1,   200,    -1,   203,
-      -1,   201,    -1,   208,    -1,   207,    -1,   215,    -1,   219,
-      -1,   221,    -1,   225,    -1,   229,    -1,   241,    -1,   226,
-      -1,   227,    -1,   231,    -1,   243,    -1,   244,    -1,   246,
-      -1,   247,    -1,   236,    -1,   251,    -1,   256,    -1,   255,
-      -1,   259,    -1,   262,    -1,   263,    -1,   269,    -1,   270,
-      -1,   272,    -1,   274,    -1,   276,    -1,   277,    -1,   304,
-      -1,   298,    -1,   300,    -1,   285,    -1,   289,    -1,   286,
-      -1,   287,    -1,   299,    -1,   288,    -1,   290,    -1,   284,
-      -1,   296,    -1,   292,    -1,   291,    -1,   293,    -1,   294,
-      -1,   295,    -1,   302,    -1,   303,    -1,   305,    -1,   307,
-      -1,   308,    -1,   313,    -1,   314,    -1,   315,    -1,   316,
-      -1,   317,    -1,   318,    -1,   321,    -1,   322,    -1,   326,
-      -1,   324,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
-      -1,   332,    -1,   333,    -1,   334,    -1,   336,    -1,   335,
-      -1,   337,    -1,   340,    -1,   341,    -1,   345,    -1,   344,
-      -1,   352,    -1,   346,    -1,   347,    -1,   357,    -1,   358,
-      -1,   359,    -1,   361,    -1,   362,    -1,   363,    -1,   377,
-      -1,   378,    -1,   383,    -1,   384,    -1,   385,    -1,   387,
-      -1,   388,    -1,   389,    -1,   391,    -1,   390,    -1,   392,
-      -1,   393,    -1,   398,    -1,   399,    -1,   401,    -1,   403,
-      -1,   404,    -1,   405,    -1,   406,    -1,   407,    -1,   409,
-      -1,   410,    -1,   411,    -1,   414,    -1,   418,    -1,   419,
-      -1,   421,    -1,   420,    -1,   422,    -1,   425,    -1,   426,
-      -1,   427,    -1,   428,    -1,   429,    -1,   431,    -1,   434,
-      -1,   436,    -1,   439,    -1,   443,    -1,   446,    -1,   447,
-      -1,   452,    -1,   453,    -1,   454,    -1,   455,    -1,   456,
-      -1,   457,    -1,   459,    -1,   460,    -1,   462,    -1,   468,
-      -1,   467,    -1,   469,    -1,   481,    -1,   474,    -1,   478,
-      -1,   483,    -1,   485,    -1,   487,    -1,   489,    -1,   490,
-      -1,   498,    -1,   497,    -1,   500,    -1,   503,    -1,   506,
-      -1,   508,    -1,   512,    -1,   514,    -1,   515,    -1,   516,
-      -1,   517,    -1,   519,    -1,   518,    -1,   522,    -1,   523,
-      -1,   524,    -1,   525,    -1,   533,    -1,   530,    -1,   527,
-      -1,   532,    -1,   528,    -1,   534,    -1,   535,    -1,   538,
-      -1,   539,    -1,   550,    -1,   551,    -1,   552,    -1,   541,
-      -1,   542,    -1,   543,    -1,   544,    -1,   557,    -1,   558,
-      -1,   559,    -1,   194,    -1,   561,    -1,   562,    -1,   565,
-      -1,   564,    -1,   571,    -1,   574,    -1,   578,    -1,   579,
-      -1,   580,    -1,   590,    -1,   595,    -1,   596,    -1,   587,
-      -1,   598,    -1,   597,    -1,   599,    -1,   606,    -1,   609,
-      -1,   611,    -1,   614,    -1,   594,    -1,    -1,   472,  1436,
-    1435,  1437,    -1,    -1,   367,    -1,  1438,    -1,  1437,   631,
-    1438,    -1,    -1,  1439,  1444,    -1,  1441,    -1,   201,    -1,
-     272,    -1,   469,    -1,    -1,   361,    -1,    -1,   201,    -1,
-     272,    -1,   469,    -1,    -1,   201,   637,    -1,   272,   637,
-      -1,   469,   637,    -1,  1445,    -1,  1441,  1446,    -1,  1440,
-    1447,  1303,  1450,    -1,  1440,   550,   246,   263,  1448,    -1,
-     636,  1430,  1303,  1127,    -1,   636,   636,  1443,  1447,  1303,
-    1450,    -1,   954,   959,    -1,   335,  1303,  1127,    -1,   335,
-     956,   961,    -1,   387,  1303,  1449,    -1,   387,   189,  1431,
-    1303,  1449,    -1,  1428,    -1,  1428,   637,  1428,    -1,   128,
-     637,  1428,    -1,   415,   561,    -1,   415,    83,    -1,   436,
-     415,    -1,   467,    -1,   537,    -1,   387,   629,   537,   630,
-      -1,   359,   629,   537,   630,    -1,  1127,    -1,   128,    -1,
-     360,    -1,    12,    -1,    34,    -1,    -1,   275,  1453,  1452,
-    1454,    -1,   531,    -1,   527,    -1,  1455,    -1,  1454,   631,
-    1455,    -1,  1421,  1225,  1456,    -1,   415,    -1,   608,    -1,
-     608,    88,    -1,   283,   608,    -1,   415,   272,    -1,    -1,
-     572,  1458,  1453,    -1,   206,  1421,   364,  1225,    -1,   206,
-    1423,    68,    -1,    -1,   206,  1423,   415,  1460,  1461,  1227,
-    1244,    -1,  1462,    -1,  1428,  1463,    -1,   182,    -1,   345,
-      -1,   182,    -1,   345,    -1,   399,    -1,   255,    -1,    -1,
-    1465,  1464,   629,  1308,   630,    -1,   617,    -1,   195,    -1,
-     257,    -1,   618,    -1,   619,    -1,   449,   686,  1467,    -1,
-    1471,   360,  1470,  1482,   191,  1483,    -1,  1471,   360,   194,
-    1482,   191,  1483,    -1,  1471,   360,   402,  1482,   191,  1483,
-      -1,    12,  1472,   631,   202,   367,   191,  1483,    -1,   407,
-     360,  1431,   191,  1483,    -1,   202,   686,  1469,    -1,  1471,
-     360,  1470,  1482,   548,  1484,  1491,  1492,    -1,  1471,   360,
-     194,  1482,   548,  1484,  1491,  1492,    -1,  1471,   360,   402,
-    1482,   548,  1484,  1491,  1492,    -1,   407,   360,  1431,   548,
-    1484,  1493,    -1,    -1,   531,    -1,  1473,    -1,    12,  1472,
-      -1,    -1,   401,    -1,  1474,    -1,  1473,   631,  1474,    -1,
-      -1,   464,  1475,  1488,    -1,    -1,   235,  1476,  1488,    -1,
-      -1,   575,  1477,  1488,    -1,    -1,   423,  1478,  1488,    -1,
-     132,    -1,   577,    -1,   228,    -1,    13,    -1,   103,    -1,
-     145,    -1,   170,    -1,   431,    -1,   478,    -1,   403,    -1,
-     181,    -1,   202,   367,    -1,   477,   112,    -1,   522,    -1,
-     103,   534,   527,    -1,   275,   527,    -1,   439,   482,    -1,
-     439,    66,    -1,   103,   595,    -1,   477,   595,    -1,   103,
-     453,    -1,    13,   453,    -1,   103,   578,    -1,   167,    -1,
-     553,    -1,   103,   528,    -1,    -1,    17,    -1,  1481,  1479,
-    1480,    -1,  1481,    -1,   517,   537,    -1,   247,   537,    -1,
-      64,   537,    -1,   624,    -1,  1428,   637,   624,    -1,   624,
-     637,   624,    -1,  1421,    -1,  1431,    -1,  1483,   631,  1431,
-      -1,  1487,    -1,  1484,   631,  1487,    -1,   594,    -1,   603,
-      -1,   582,    -1,    19,    -1,  1431,   221,    47,   537,    -1,
-    1431,   221,    47,   387,   537,    -1,  1431,   221,  1485,  1430,
-      -1,  1431,   221,  1485,  1430,  1486,  1425,    -1,  1431,    -1,
-      -1,   629,  1489,   630,    -1,  1489,   631,  1490,    -1,  1490,
-      -1,  1428,    -1,    -1,   440,  1480,    -1,   440,   504,    -1,
-     440,   609,    -1,   440,   347,    -1,    -1,   603,  1494,    -1,
-      -1,   603,   202,   367,    -1,  1494,  1495,    -1,  1495,    -1,
-     202,   367,    -1,   303,  1251,    -1,   307,  1251,    -1,   302,
-    1251,    -1,   308,  1250,    -1,    -1,    31,  1497,  1498,    -1,
-      -1,   606,    -1,    -1,    17,   351,    56,    -1,    17,    56,
-      -1,    -1,   430,    -1,   351,   430,    -1,    -1,   458,    -1,
-      84,  1498,  1499,  1500,    -1,   451,  1498,  1499,  1500,    -1,
-     451,  1498,   548,  1501,  1428,    -1,   458,  1428,    -1,   430,
-     458,  1428,    -1,    -1,  1507,    -1,    -1,   569,  1514,  1508,
-    1106,    -1,    -1,  1507,    -1,  1511,    -1,    -1,  1511,    -1,
-      -1,  1512,  1513,    -1,  1239,  1243,    -1,  1245,    -1,    -1,
-     141,    -1,    12,    -1,   464,  1195,    -1,   629,  1108,   630,
-      -1,  1515,  1510,    -1,    -1,  1516,   569,  1514,  1517,  1515,
-    1510,    -1,  1519,  1516,  1520,    -1,    -1,    -1,    -1,  1522,
-      -1,  1522,  1523,    -1,  1523,    -1,   513,    -1,   213,    -1,
-     141,    -1,   501,    -1,   496,    -1,   497,    -1,   499,    -1,
-      12,    -1,  1529,  1525,    -1,  1528,  1526,    -1,  1530,  1527,
-    1534,    -1,  1534,    -1,  1542,    -1,  1553,    -1,  1547,    -1,
-     673,    -1,  1534,    -1,  1542,    -1,  1553,    -1,  1547,    -1,
-    1546,    -1,   673,    -1,  1528,    -1,  1529,    -1,    -1,   129,
-     617,  1431,    -1,  1531,    -1,  1531,  1532,    -1,  1532,    -1,
-     372,   438,    -1,    11,   617,   562,    -1,    11,   617,   315,
-      -1,    11,   617,   535,    -1,    -1,   502,   463,   129,    -1,
-     502,   463,   241,    -1,    -1,  1533,   595,  1421,  1535,  1536,
-      19,  1538,    -1,    -1,   629,  1537,   630,    -1,  1428,    -1,
-    1537,   631,  1428,    -1,    -1,  1539,  1540,  1541,    -1,   464,
-    1109,    -1,   629,  1107,   630,  1509,    -1,    -1,   603,    63,
-     367,    -1,   603,    52,    63,   367,    -1,   603,   272,    63,
-     367,    -1,    -1,    -1,    -1,   553,  1122,   687,   781,   782,
-     360,  1122,  1543,  1421,   189,  1122,  1544,   150,   456,  1545,
-     731,    -1,    10,  1122,   194,  1428,   447,   905,   488,  1425,
-      -1,  1122,   194,  1428,   447,   905,   488,  1425,    -1,    -1,
-      -1,    -1,    -1,    -1,  1122,   194,   687,   629,  1548,   698,
-     630,  1549,   447,  1550,   951,  1551,   689,  1552,   731,    -1,
-      -1,    -1,    -1,    -1,   402,  1122,   687,  1554,   629,  1555,
-     702,   630,  1556,   689,  1557,   731,    -1,   610,  1560,  1559,
-    1561,    -1,   610,   155,  1559,  1563,    -1,   610,   397,  1559,
-      -1,   610,    84,  1559,  1562,    -1,   610,   451,  1559,    -1,
-     610,   419,    -1,  1409,    -1,  1409,   631,  1409,    -1,  1409,
-     631,  1409,   631,  1251,    -1,    31,    -1,   507,    -1,    -1,
-     249,    -1,   446,    -1,    -1,   362,   389,    -1,    -1,    -1,
-     523,  1564,  1565,    -1,    -1,   189,   318,    -1,   237,   391,
-    1428,   488,  1425,    -1,   237,   488,  1425,    -1,   568,   391,
-    1428,    -1,   568,   488,  1425,    -1,   616,    -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
        0,  1707,  1707,  1719,  1718,  1743,  1750,  1752,  1756,  1757,
@@ -3765,7 +2745,7 @@ static const yytype_uint16 yyrline[] =
 };
 #endif
 
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+#if YYDEBUG || YYERROR_VERBOSE || 0
 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 static const char *const yytname[] =
@@ -4127,13 +3107,13 @@ static const char *const yytname[] =
   "udf_tail", "sf_tail", "$@192", "$@193", "$@194", "$@195", "$@196",
   "sp_tail", "$@197", "$@198", "$@199", "$@200", "xa", "xid",
   "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend",
-  "$@201", "opt_migrate", "install", "uninstall", "keep_gcc_happy", 0
+  "$@201", "opt_migrate", "install", "uninstall", "keep_gcc_happy", YY_NULLPTR
 };
 #endif
 
 # ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
-   token YYLEX-NUM.  */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+   (internal) symbol number NUM (which must be that of a token).  */
 static const yytype_uint16 yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
@@ -4203,1103 +3183,19 @@ static const yytype_uint16 yytoknum[] =
 };
 # endif
 
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
-static const yytype_uint16 yyr1[] =
-{
-       0,   639,   640,   641,   640,   640,   642,   642,   643,   643,
-     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
-     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
-     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
-     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
-     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
-     644,   644,   644,   645,   646,   646,   647,   648,   648,   650,
-     649,   651,   651,   652,   652,   653,   655,   654,   657,   656,
-     658,   658,   659,   659,   659,   659,   659,   659,   659,   659,
-     659,   659,   659,   659,   659,   659,   659,   660,   660,   660,
-     661,   662,   662,   662,   662,   664,   663,   665,   663,   666,
-     663,   667,   663,   668,   663,   669,   663,   663,   663,   663,
-     663,   670,   671,   671,   672,   672,   672,   672,   672,   672,
-     672,   674,   673,   676,   675,   675,   677,   677,   677,   677,
-     678,   678,   679,   679,   680,   680,   681,   681,   682,   682,
-     684,   683,   685,   685,   685,   685,   685,   685,   685,   685,
-     685,   685,   685,   685,   685,   686,   687,   687,   688,   688,
-     689,   689,   690,   690,   690,   690,   690,   690,   690,   691,
-     691,   691,   692,   692,   694,   693,   695,   695,   696,   696,
-     697,   697,   698,   698,   699,   699,   700,   701,   702,   702,
-     703,   703,   704,   705,   705,   705,   705,   706,   706,   707,
-     707,   708,   708,   710,   709,   709,   711,   709,   709,   713,
-     712,   714,   714,   715,   715,   716,   717,   717,   718,   719,
-     719,   720,   720,   720,   720,   720,   721,   722,   722,   723,
-     723,   724,   724,   725,   725,   726,   726,   726,   727,   727,
-     727,   727,   727,   727,   727,   727,   727,   727,   727,   727,
-     728,   729,   729,   730,   730,   731,   731,   731,   731,   731,
-     731,   731,   731,   731,   731,   731,   731,   731,   733,   732,
-     735,   734,   737,   736,   739,   738,   740,   741,   742,   744,
-     743,   745,   746,   746,   746,   747,   747,   749,   750,   751,
-     748,   752,   752,   752,   753,   753,   755,   756,   754,   758,
-     757,   759,   759,   760,   760,   762,   763,   761,   765,   766,
-     764,   767,   767,   769,   768,   770,   770,   772,   771,   774,
-     773,   776,   775,   777,   778,   779,   777,   780,   777,   781,
-     781,   782,   782,   782,   783,   784,   785,   786,   786,   787,
-     787,   788,   789,   790,   790,   792,   791,   793,   793,   793,
-     794,   794,   794,   795,   796,   796,   796,   797,   797,   797,
-     797,   797,   797,   797,   797,   798,   799,   799,   799,   800,
-     800,   800,   800,   800,   801,   802,   802,   802,   803,   803,
-     803,   803,   803,   803,   803,   804,   805,   805,   805,   806,
-     806,   806,   807,   808,   809,   810,   811,   812,   812,   812,
-     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
-     822,   823,   823,   824,   824,   825,   825,   825,   825,   827,
-     826,   828,   826,   829,   830,   829,   831,   829,   832,   833,
-     833,   835,   834,   836,   838,   837,   839,   840,   841,   840,
-     840,   840,   840,   840,   842,   842,   843,   843,   844,   844,
-     845,   845,   846,   847,   848,   849,   850,   850,   851,   852,
-     851,   853,   851,   854,   854,   855,   856,   857,   857,   858,
-     858,   859,   859,   861,   860,   862,   863,   864,   863,   865,
-     863,   866,   866,   867,   867,   868,   868,   870,   871,   869,
-     872,   872,   873,   873,   874,   874,   875,   875,   877,   876,
-     878,   879,   879,   880,   880,   881,   881,   881,   881,   881,
-     881,   881,   881,   881,   883,   884,   882,   885,   885,   886,
-     886,   887,   887,   888,   888,   889,   889,   890,   890,   891,
-     892,   892,   893,   893,   894,   894,   895,   895,   895,   896,
-     896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
-     896,   896,   896,   897,   896,   896,   896,   896,   896,   896,
-     896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
-     898,   899,   900,   901,   902,   902,   902,   902,   902,   902,
-     902,   903,   903,   903,   904,   904,   905,   905,   905,   905,
-     906,   907,   907,   908,   908,   909,   909,   911,   910,   912,
-     910,   913,   910,   914,   910,   910,   910,   915,   915,   916,
-     917,   917,   918,   920,   919,   921,   922,   921,   923,   923,
-     924,   924,   924,   925,   925,   926,   926,   927,   927,   927,
-     928,   929,   930,   930,   930,   930,   930,   930,   930,   930,
-     930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
-     930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
-     930,   930,   930,   930,   930,   930,   930,   931,   930,   932,
-     930,   930,   930,   933,   933,   933,   933,   933,   933,   933,
-     933,   934,   935,   935,   936,   936,   937,   937,   937,   937,
-     937,   938,   938,   938,   938,   938,   939,   939,   939,   940,
-     940,   940,   941,   942,   942,   943,   943,   944,   944,   944,
-     945,   945,   945,   945,   946,   946,   947,   947,   948,   948,
-     949,   949,   950,   950,   950,   950,   950,   950,   950,   950,
-     950,   950,   950,   950,   950,   950,   950,   951,   952,   952,
-     953,   953,   954,   954,   955,   955,   956,   956,   957,   957,
-     958,   958,   959,   959,   960,   961,   961,   962,   962,   963,
-     963,   964,   964,   964,   965,   965,   965,   966,   966,   966,
-     966,   966,   966,   966,   967,   967,   968,   968,   969,   970,
-     970,   971,   971,   972,   972,   972,   972,   973,   973,   973,
-     973,   973,   974,   974,   974,   974,   974,   975,   976,   976,
-     977,   977,   978,   978,   979,   979,   979,   980,   980,   981,
-     982,   983,   984,   984,   985,   985,   986,   986,   987,   987,
-     988,   988,   989,   989,   990,   990,   991,   991,   992,   992,
-     992,   992,   992,   992,   993,   993,   994,   995,   995,   996,
-     996,   996,   997,   997,   998,   998,   999,   999,  1000,  1000,
-    1001,  1001,  1003,  1002,  1004,  1002,  1002,  1005,  1002,  1006,
-    1002,  1007,  1002,  1008,  1002,  1009,  1002,  1002,  1002,  1002,
-    1002,  1002,  1010,  1010,  1010,  1010,  1011,  1011,  1012,  1012,
-    1013,  1013,  1014,  1014,  1014,  1014,  1014,  1014,  1014,  1014,
-    1014,  1014,  1015,  1014,  1014,  1016,  1014,  1017,  1014,  1014,
-    1014,  1014,  1018,  1019,  1019,  1021,  1020,  1022,  1022,  1022,
-    1024,  1023,  1025,  1026,  1025,  1027,  1027,  1028,  1029,  1029,
-    1030,  1031,  1031,  1031,  1032,  1031,  1033,  1034,  1031,  1031,
-    1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,
-    1031,  1031,  1035,  1035,  1036,  1036,  1038,  1037,  1039,  1039,
-    1040,  1040,  1041,  1041,  1042,  1042,  1042,  1043,  1043,  1043,
-    1044,  1044,  1044,  1044,  1046,  1045,  1045,  1047,  1045,  1045,
-    1048,  1049,  1049,  1051,  1050,  1052,  1052,  1053,  1053,  1053,
-    1054,  1054,  1055,  1055,  1057,  1056,  1058,  1058,  1058,  1059,
-    1060,  1059,  1062,  1061,  1063,  1063,  1064,  1064,  1065,  1065,
-    1065,  1066,  1066,  1068,  1067,  1069,  1070,  1071,  1070,  1073,
-    1072,  1074,  1074,  1075,  1075,  1076,  1076,  1076,  1076,  1076,
-    1076,  1077,  1077,  1079,  1078,  1080,  1080,  1080,  1082,  1081,
-    1081,  1083,  1083,  1084,  1084,  1085,  1087,  1086,  1088,  1088,
-    1089,  1089,  1090,  1091,  1092,  1092,  1094,  1093,  1095,  1095,
-    1096,  1096,  1097,  1098,  1100,  1099,  1102,  1101,  1103,  1103,
-    1104,  1104,  1105,  1106,  1106,  1107,  1107,  1108,  1108,  1110,
-    1109,  1112,  1113,  1111,  1114,  1114,  1114,  1114,  1114,  1115,
-    1115,  1116,  1116,  1117,  1117,  1118,  1118,  1118,  1119,  1119,
-    1119,  1120,  1120,  1120,  1121,  1121,  1122,  1123,  1124,  1124,
-    1124,  1124,  1124,  1125,  1125,  1125,  1126,  1126,  1127,  1127,
-    1127,  1127,  1127,  1127,  1127,  1127,  1127,  1127,  1127,  1128,
-    1128,  1128,  1128,  1128,  1128,  1129,  1129,  1129,  1129,  1129,
-    1129,  1129,  1129,  1129,  1129,  1129,  1129,  1129,  1129,  1130,
-    1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,
-    1130,  1130,  1130,  1130,  1131,  1131,  1132,  1132,  1133,  1133,
-    1134,  1134,  1135,  1135,  1135,  1135,  1135,  1135,  1136,  1136,
-    1137,  1137,  1138,  1138,  1138,  1138,  1138,  1138,  1138,  1138,
-    1138,  1138,  1138,  1139,  1140,  1140,  1141,  1141,  1141,  1141,
-    1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
-    1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
-    1141,  1141,  1141,  1141,  1141,  1141,  1142,  1142,  1142,  1142,
-    1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,
-    1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,
-    1142,  1142,  1142,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
-    1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
-    1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
-    1143,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
-    1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1145,
-    1145,  1145,  1145,  1145,  1145,  1145,  1145,  1147,  1146,  1146,
-    1148,  1148,  1149,  1149,  1150,  1150,  1151,  1151,  1152,  1152,
-    1153,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1155,  1156,
-    1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,
-    1154,  1157,  1154,  1159,  1158,  1160,  1160,  1160,  1161,  1161,
-    1162,  1162,  1163,  1164,  1163,  1165,  1165,  1167,  1166,  1168,
-    1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,
-    1168,  1169,  1168,  1170,  1170,  1171,  1171,  1172,  1172,  1173,
-    1173,  1174,  1174,  1175,  1175,  1176,  1176,  1177,  1177,  1178,
-    1179,  1179,  1180,  1180,  1181,  1181,  1182,  1181,  1183,  1181,
-    1184,  1181,  1181,  1185,  1181,  1186,  1181,  1181,  1187,  1181,
-    1188,  1181,  1181,  1189,  1189,  1189,  1191,  1190,  1190,  1190,
-    1192,  1193,  1194,  1192,  1195,  1197,  1198,  1196,  1200,  1199,
-    1202,  1203,  1201,  1204,  1205,  1206,  1206,  1207,  1207,  1207,
-    1207,  1208,  1208,  1210,  1209,  1211,  1209,  1212,  1212,  1213,
-    1214,  1213,  1216,  1215,  1217,  1217,  1218,  1218,  1219,  1219,
-    1220,  1220,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,
-    1221,  1221,  1221,  1221,  1222,  1222,  1222,  1222,  1222,  1222,
-    1222,  1222,  1222,  1223,  1223,  1223,  1223,  1224,  1224,  1224,
-    1225,  1225,  1226,  1226,  1227,  1228,  1227,  1229,  1230,  1229,
-    1231,  1231,  1232,  1232,  1233,  1233,  1234,  1234,  1234,  1235,
-    1236,  1236,  1237,  1238,  1238,  1240,  1239,  1241,  1241,  1242,
-    1242,  1242,  1243,  1243,  1244,  1244,  1245,  1245,  1245,  1246,
-    1246,  1246,  1247,  1247,  1247,  1247,  1247,  1248,  1249,  1249,
-    1249,  1249,  1250,  1250,  1250,  1251,  1251,  1251,  1251,  1251,
-    1251,  1252,  1252,  1252,  1252,  1252,  1253,  1253,  1253,  1253,
-    1253,  1254,  1254,  1254,  1254,  1254,  1255,  1256,  1256,  1257,
-    1257,  1258,  1259,  1258,  1260,  1260,  1261,  1261,  1262,  1264,
-    1263,  1265,  1265,  1266,  1266,  1268,  1267,  1270,  1271,  1269,
-    1269,  1269,  1273,  1272,  1275,  1274,  1276,  1274,  1274,  1274,
-    1274,  1274,  1274,  1277,  1274,  1274,  1274,  1274,  1274,  1274,
-    1278,  1278,  1279,  1280,  1280,  1281,  1282,  1282,  1283,  1283,
-    1285,  1286,  1284,  1288,  1289,  1287,  1290,  1290,  1290,  1290,
-    1291,  1291,  1292,  1292,  1293,  1294,  1294,  1294,  1295,  1294,
-    1296,  1296,  1297,  1297,  1298,  1297,  1299,  1297,  1300,  1300,
-    1301,  1301,  1302,  1303,  1303,  1304,  1304,  1306,  1305,  1307,
-    1307,  1308,  1308,  1309,  1309,  1310,  1311,  1310,  1313,  1314,
-    1312,  1315,  1315,  1316,  1317,  1317,  1318,  1319,  1319,  1321,
-    1320,  1323,  1322,  1324,  1322,  1325,  1322,  1326,  1326,  1327,
-    1327,  1328,  1328,  1329,  1329,  1330,  1330,  1330,  1332,  1331,
-    1333,  1333,  1334,  1334,  1335,  1335,  1336,  1336,  1336,  1336,
-    1336,  1336,  1336,  1336,  1336,  1337,  1337,  1339,  1338,  1340,
-    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
-    1340,  1341,  1340,  1342,  1340,  1340,  1340,  1340,  1340,  1340,
-    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
-    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
-    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
-    1343,  1343,  1343,  1344,  1344,  1345,  1345,  1346,  1346,  1347,
-    1347,  1348,  1348,  1349,  1349,  1350,  1350,  1351,  1351,  1351,
-    1353,  1352,  1354,  1352,  1355,  1355,  1356,  1356,  1356,  1357,
-    1357,  1357,  1359,  1358,  1361,  1362,  1360,  1360,  1363,  1363,
-    1364,  1364,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,
-    1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,
-    1365,  1366,  1366,  1367,  1367,  1369,  1368,  1370,  1370,  1372,
-    1371,  1371,  1371,  1373,  1373,  1375,  1374,  1376,  1377,  1377,
-    1379,  1378,  1380,  1380,  1380,  1381,  1381,  1381,  1382,  1382,
-    1383,  1385,  1386,  1387,  1388,  1384,  1389,  1389,  1390,  1390,
-    1391,  1391,  1391,  1392,  1392,  1392,  1393,  1393,  1394,  1394,
-    1395,  1395,  1395,  1395,  1396,  1396,  1397,  1397,  1398,  1398,
-    1399,  1399,  1400,  1400,  1401,  1401,  1402,  1402,  1402,  1403,
-    1403,  1404,  1404,  1405,  1405,  1406,  1406,  1407,  1408,  1408,
-    1408,  1408,  1409,  1409,  1409,  1409,  1410,  1411,  1411,  1411,
-    1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,
-    1412,  1412,  1412,  1413,  1413,  1413,  1413,  1413,  1414,  1414,
-    1415,  1415,  1416,  1417,  1417,  1418,  1418,  1419,  1419,  1419,
-    1420,  1420,  1420,  1420,  1421,  1421,  1421,  1422,  1422,  1423,
-    1424,  1424,  1425,  1426,  1427,  1428,  1428,  1429,  1429,  1430,
-    1430,  1430,  1431,  1431,  1431,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
-    1432,  1432,  1432,  1432,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
-    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1435,  1434,  1436,
-    1436,  1437,  1437,  1439,  1438,  1440,  1440,  1440,  1440,  1441,
-    1441,  1442,  1442,  1442,  1442,  1443,  1443,  1443,  1443,  1444,
-    1444,  1445,  1445,  1446,  1446,  1446,  1446,  1446,  1446,  1446,
-    1447,  1447,  1447,  1448,  1448,  1448,  1448,  1449,  1449,  1449,
-    1450,  1450,  1450,  1450,  1450,  1452,  1451,  1453,  1453,  1454,
-    1454,  1455,  1456,  1456,  1456,  1456,  1456,  1458,  1457,  1459,
-    1459,  1460,  1459,  1461,  1461,  1462,  1462,  1463,  1463,  1463,
-    1463,  1464,  1463,  1465,  1465,  1465,  1465,  1465,  1466,  1467,
-    1467,  1467,  1467,  1467,  1468,  1469,  1469,  1469,  1469,  1470,
-    1470,  1471,  1471,  1472,  1472,  1473,  1473,  1475,  1474,  1476,
-    1474,  1477,  1474,  1478,  1474,  1474,  1474,  1474,  1474,  1474,
-    1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,
-    1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,
-    1474,  1479,  1479,  1480,  1480,  1481,  1481,  1481,  1482,  1482,
-    1482,  1482,  1483,  1483,  1484,  1484,  1485,  1485,  1486,  1486,
-    1487,  1487,  1487,  1487,  1487,  1488,  1488,  1489,  1489,  1490,
-    1491,  1491,  1491,  1491,  1491,  1492,  1492,  1493,  1493,  1494,
-    1494,  1495,  1495,  1495,  1495,  1495,  1497,  1496,  1498,  1498,
-    1499,  1499,  1499,  1500,  1500,  1500,  1501,  1501,  1502,  1503,
-    1503,  1504,  1505,  1506,  1506,  1508,  1507,  1509,  1509,  1509,
-    1510,  1510,  1512,  1511,  1513,  1513,  1514,  1514,  1514,  1515,
-    1515,  1516,  1517,  1516,  1518,  1519,  1520,  1521,  1521,  1522,
-    1522,  1523,  1523,  1523,  1523,  1523,  1523,  1523,  1523,  1524,
-    1524,  1524,  1525,  1525,  1525,  1525,  1525,  1526,  1526,  1526,
-    1526,  1526,  1526,  1527,  1527,  1528,  1529,  1530,  1530,  1530,
-    1531,  1532,  1532,  1532,  1533,  1533,  1533,  1535,  1534,  1536,
-    1536,  1537,  1537,  1539,  1538,  1540,  1540,  1541,  1541,  1541,
-    1541,  1543,  1544,  1545,  1542,  1546,  1546,  1548,  1549,  1550,
-    1551,  1552,  1547,  1554,  1555,  1556,  1557,  1553,  1558,  1558,
-    1558,  1558,  1558,  1558,  1559,  1559,  1559,  1560,  1560,  1561,
-    1561,  1561,  1562,  1562,  1563,  1564,  1563,  1565,  1565,  1566,
-    1566,  1567,  1567,  1568
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
-static const yytype_uint8 yyr2[] =
-{
-       0,     2,     1,     0,     4,     2,     0,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     1,     1,     4,     1,     2,     0,
-       4,     0,     2,     3,     1,     2,     0,     3,     0,     5,
-       1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     3,     3,     5,     1,     0,     1,     3,
-       1,     3,     3,     3,     3,     0,     7,     0,    12,     0,
-      12,     0,    12,     0,     6,     0,     3,     4,     4,     3,
-       2,    10,     1,     3,     2,     2,     2,     2,     2,     2,
-       2,     0,    13,     0,     6,     2,     0,     1,     3,     1,
-       0,     2,     0,     2,     0,     1,     3,     4,     0,     2,
-       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     0,     3,     1,     0,     2,
-       0,     2,     2,     2,     2,     2,     3,     3,     1,     1,
-       1,     2,     3,     3,     0,     4,     0,     3,     0,     1,
-       3,     1,     0,     1,     3,     1,     0,     3,     0,     1,
-       3,     1,     4,     0,     1,     1,     1,     0,     3,     2,
-       3,     0,     3,     0,     5,     5,     0,     7,     5,     0,
-       2,     1,     1,     1,     3,     1,     1,     1,     3,     0,
-       1,     1,     1,     1,     2,     1,     3,     1,     1,     0,
-       1,     0,     2,     3,     5,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       3,     1,     3,     0,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
-       0,     2,     0,     3,     0,     2,     2,     2,     2,     0,
-       6,     2,     0,     2,     1,     1,     3,     0,     0,     0,
-       7,     0,     2,     2,     1,     1,     0,     0,     8,     0,
-       6,     1,     2,     1,     2,     0,     0,     6,     0,     0,
-       6,     0,     2,     0,     5,     0,     1,     0,     5,     0,
-       2,     0,     5,     4,     0,     0,     8,     0,     7,     1,
-       1,     1,     1,     1,     2,     4,     5,     0,     4,     4,
-       4,     3,     3,     2,     2,     0,     2,     1,     2,     3,
-       1,     1,     1,     1,     1,     2,     3,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     2,     3,     1,
-       1,     1,     1,     1,     1,     1,     2,     3,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     2,     3,     1,
-       1,     1,     2,     2,     2,     1,     1,     1,     1,     2,
-       3,     3,     3,     3,     3,     3,     3,     3,     4,     0,
-       1,     1,     1,     1,     1,     2,     3,     2,     4,     0,
-       6,     0,     5,     0,     0,     5,     0,     7,     1,     0,
-       1,     0,     4,     0,     0,     3,     5,     6,     0,     4,
-       2,     2,     2,     2,     0,     1,     0,     3,     0,     1,
-       1,     3,     1,     4,     5,     5,     0,     2,     0,     0,
-       7,     0,    10,     1,     3,     1,     1,     0,     2,     0,
-       3,     1,     3,     0,     6,     1,     0,     0,     5,     0,
-       4,     1,     1,     1,     3,     1,     3,     0,     0,     5,
-       1,     3,     1,     1,     0,     3,     1,     3,     0,     4,
-       1,     0,     1,     2,     1,     3,     4,     3,     3,     3,
-       3,     4,     4,     3,     0,     0,     6,     0,     1,     0,
-       1,     1,     2,     1,     1,     0,     1,     1,     2,     1,
-       0,     3,     0,     1,     1,     2,     1,     2,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     0,     6,     1,     1,     3,     4,     4,
-       2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
-       4,     4,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
-       1,     1,     3,     1,     1,     2,     2,     0,     8,     0,
-       9,     0,     9,     0,     9,     8,     2,     0,     1,     4,
-       0,     1,     2,     0,     3,     2,     0,     9,     0,     2,
-       0,     1,     1,     0,     1,     2,     1,     1,     2,     2,
-       4,     3,     3,     3,     3,     1,     2,     1,     1,     3,
-       2,     3,     2,     2,     1,     3,     3,     2,     3,     1,
-       2,     2,     2,     1,     2,     1,     1,     1,     2,     3,
-       2,     3,     2,     2,     3,     3,     3,     0,     6,     0,
-       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     2,     2,     1,     2,     1,     2,     3,
-       2,     1,     1,     1,     1,     1,     1,     1,     2,     0,
-       1,     1,     5,     0,     1,     2,     1,     1,     1,     1,
-       3,     3,     3,     3,     0,     1,     0,     1,     0,     1,
-       2,     1,     1,     2,     2,     4,     1,     3,     2,     1,
-       2,     2,     2,     3,     3,     3,     3,     2,     2,     1,
-       1,     1,     2,     1,     1,     1,     1,     1,     0,     2,
-       1,     1,     1,     1,     1,     0,     2,     1,     1,     0,
-       1,     1,     2,     2,     1,     2,     2,     0,     1,     1,
-       1,     3,     1,     3,     0,     1,     0,     1,     5,     0,
-       3,     3,     1,     0,     2,     2,     2,     0,     3,     3,
-       6,     6,     1,     1,     2,     2,     2,     1,     2,     2,
-       1,     1,     0,     1,     1,     1,     1,     0,     1,     1,
-       1,     0,     1,     2,     0,     1,     0,     1,     0,     1,
-       1,     2,     1,     2,     1,     2,     2,     2,     3,     2,
-       3,     3,     3,     3,     1,     1,     1,     1,     3,     1,
-       1,     1,     4,     2,     1,     4,     0,     1,     0,     2,
-       1,     3,     0,     6,     0,     5,     7,     0,     5,     0,
-       5,     0,     5,     0,     4,     0,    10,     3,     4,     3,
-       3,     7,     0,     3,     1,     4,     0,     3,     0,     2,
-       0,     1,     0,     2,     2,     2,     2,     1,     1,     1,
-       3,     4,     0,     6,     4,     0,     5,     0,     6,     4,
-       3,     1,     2,     1,     1,     0,     5,     0,     3,     2,
-       0,     5,     0,     0,     6,     1,     3,     1,     1,     3,
-       2,     3,     2,     4,     0,     6,     0,     0,     7,     4,
-       4,     3,     3,     2,     2,     6,     5,     3,     5,     1,
-       1,     1,     0,     1,     0,     1,     0,     2,     0,     1,
-       2,     1,     1,     1,     0,     1,     1,     0,     2,     1,
-       0,     1,     1,     1,     0,     5,     3,     0,     5,     3,
-       3,     0,     3,     0,     2,     1,     3,     0,     1,     1,
-       0,     2,     1,     3,     0,     5,     0,     1,     1,     3,
-       0,     4,     0,     4,     0,     1,     1,     2,     1,     1,
-       1,     0,     2,     0,     5,     2,     3,     0,     4,     0,
-       3,     0,     1,     1,     2,     1,     1,     1,     1,     1,
-       2,     0,     2,     0,     5,     0,     1,     1,     0,     4,
-       4,     3,     5,     1,     3,     3,     0,     6,     1,     1,
-       1,     3,     2,     3,     1,     1,     0,     6,     1,     1,
-       1,     3,     3,     4,     0,     6,     0,     2,     0,     4,
-       0,     2,     1,     2,     4,     2,     3,     2,     3,     0,
-       3,     0,     0,     6,     2,     1,     1,     2,     2,     8,
-       4,     0,     1,     2,     1,     1,     1,     1,     0,     2,
-       4,     3,     1,     1,     3,     4,     0,     0,     0,     2,
-       2,     1,     1,     0,     2,     3,     0,     2,     3,     3,
-       3,     2,     3,     4,     3,     4,     3,     4,     1,     3,
-       4,     3,     3,     6,     1,     5,     6,     5,     7,     6,
-       8,     5,     6,     4,     4,     5,     3,     4,     1,     3,
-       3,     3,     3,     3,     3,     5,     5,     3,     3,     3,
-       3,     3,     3,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     2,     1,     2,     1,     1,     1,     2,     2,     1,
-       1,     2,     2,     4,     1,     3,     1,     1,     1,     1,
-       1,     3,     1,     1,     1,     1,     3,     2,     2,     2,
-       2,     3,     3,     5,     6,     4,     4,     7,     2,     6,
-       5,     6,     6,     4,     4,     5,     4,     6,     2,     4,
-       4,     4,    10,     6,     8,     6,     4,     4,     6,     4,
-       4,     4,     6,     4,     7,     7,     7,     6,     6,     6,
-       6,     3,     4,     6,     8,     2,     2,     8,     8,     6,
-       6,     2,     6,     6,     8,     8,     6,     8,     6,     2,
-       8,     8,     2,     2,     2,     6,     6,     6,     4,     4,
-       8,     4,     4,     4,     4,     3,     8,     4,     4,     6,
-       4,     4,     4,     6,     8,     6,     4,     6,     1,     6,
-       4,     4,     4,     4,     4,     6,     4,     0,     5,     6,
-       2,     3,     0,     4,     0,     3,     0,     1,     1,     3,
-       4,     4,     5,     4,     4,     4,     5,     4,     0,     0,
-       7,     4,     5,     4,     5,     4,     4,     4,     4,     4,
-       5,     0,     8,     0,     3,     3,     1,     4,     0,     1,
-       0,     2,     0,     0,     4,     4,     2,     0,     3,     2,
-       3,     2,     1,     1,     2,     1,     2,     1,     2,     2,
-       2,     0,     3,     0,     1,     1,     3,     1,     3,     1,
-       3,     0,     1,     0,     2,     4,     5,     1,     1,     1,
-       1,     4,     1,     3,     3,     3,     0,     6,     0,     6,
-       0,     8,     4,     0,     8,     0,    10,     6,     0,     8,
-       0,    10,     6,     1,     2,     2,     0,     4,     3,     5,
-       2,     0,     0,     7,     1,     0,     0,     6,     0,     3,
-       0,     0,     5,     0,     1,     0,     1,     0,     2,     3,
-       3,     1,     1,     0,     7,     0,     7,     1,     2,     0,
-       0,     2,     0,     2,     0,     1,     1,     1,     1,     3,
-       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     0,     1,     1,
-       0,     2,     0,     1,     0,     0,     3,     0,     0,     3,
-       2,     0,     0,     4,     4,     2,     0,     1,     1,     3,
-       3,     1,     2,     0,     1,     0,     4,     4,     2,     0,
-       1,     1,     0,     1,     0,     1,     2,     5,     4,     1,
-       3,     3,     1,     1,     1,     1,     1,     1,     0,     2,
-       3,     4,     1,     2,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     0,     6,     0,     1,     3,     1,     3,     0,
-       2,     3,     1,     2,     1,     0,     3,     0,     0,     7,
-       2,     1,     0,     3,     0,     7,     0,     6,     4,     6,
-       4,     4,     4,     0,     6,     4,     4,     5,     6,     4,
-       1,     3,     1,     1,     3,     1,     0,     2,     0,     1,
-       0,     0,     8,     0,     0,     6,     0,     1,     1,     1,
-       1,     1,     2,     1,     1,     1,     3,     4,     0,     3,
-       3,     1,     2,     2,     0,     3,     0,     5,     3,     1,
-       3,     1,     3,     1,     1,     0,     1,     0,     4,     0,
-       1,     3,     1,     1,     1,     0,     0,     6,     0,     0,
-      11,     3,     1,     3,     3,     1,     3,     0,     1,     0,
-       4,     0,     6,     0,     5,     0,     6,     1,     3,     2,
-       4,     0,     2,     0,     2,     1,     1,     1,     0,     4,
-       0,     1,     0,     1,     1,     3,     1,     1,     2,     2,
-       2,     1,     1,     1,     1,     0,     3,     0,     3,     2,
-       4,     4,     3,     4,     4,     1,     3,     3,     6,     2,
-       2,     0,     6,     0,     6,     5,     2,     1,     1,     1,
-       5,     5,     2,     2,     1,     4,     3,     2,     3,     2,
-       2,     1,     3,     4,     3,     3,     2,     2,     1,     1,
-       1,     1,     3,     3,     3,     3,     3,     3,     3,     3,
-       1,     1,     1,     1,     1,     0,     1,     0,     2,     0,
-       1,     1,     1,     0,     2,     0,     2,     0,     2,     2,
-       0,     4,     0,     4,     1,     1,     0,     1,     1,     0,
-       1,     1,     0,     4,     0,     0,     5,     1,     0,     4,
-       3,     1,     2,     2,     2,     2,     2,     2,     2,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     1,     0,     3,     0,     3,     3,     1,     0,
-       3,     1,     2,     0,     1,     0,     3,     3,     2,     2,
-       0,     5,     0,     1,     1,     0,     1,     1,     1,     2,
-       2,     0,     0,     0,     0,    21,     1,     1,     0,     1,
-       0,     1,     1,     0,     1,     1,     0,     2,     2,     1,
-       3,     4,     3,     3,     0,     2,     2,     1,     3,     3,
-       0,     4,     0,     3,     1,     1,     0,     3,     2,     3,
-       1,     1,     2,     0,     2,     3,     1,     5,     1,     1,
-       2,     2,     1,     1,     1,     1,     1,     1,     2,     2,
-       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
-       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
-       3,     5,     1,     1,     1,     1,     1,     3,     4,     5,
-       1,     5,     3,     2,     1,     3,     2,     2,     4,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     3,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
-       1,     1,     3,     0,     2,     1,     1,     1,     1,     0,
-       1,     0,     1,     1,     1,     0,     2,     2,     2,     1,
-       2,     4,     5,     4,     6,     2,     3,     3,     3,     5,
-       1,     3,     3,     2,     2,     2,     1,     1,     4,     4,
-       1,     1,     1,     1,     1,     0,     4,     1,     1,     1,
-       3,     3,     1,     1,     2,     2,     2,     0,     3,     4,
-       3,     0,     7,     1,     2,     1,     1,     1,     1,     1,
-       1,     0,     5,     1,     1,     1,     1,     1,     3,     6,
-       6,     6,     7,     5,     3,     8,     8,     8,     6,     0,
-       1,     1,     2,     0,     1,     1,     3,     0,     3,     0,
-       3,     0,     3,     0,     3,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     2,     1,     3,
-       2,     2,     2,     2,     2,     2,     2,     2,     1,     1,
-       2,     0,     1,     3,     1,     2,     2,     2,     1,     3,
-       3,     1,     1,     3,     1,     3,     1,     1,     1,     1,
-       4,     5,     4,     6,     1,     0,     3,     3,     1,     1,
-       0,     2,     2,     2,     2,     0,     2,     0,     3,     2,
-       1,     2,     2,     2,     2,     2,     0,     3,     0,     1,
-       0,     3,     2,     0,     1,     2,     0,     1,     4,     4,
-       5,     2,     3,     0,     1,     0,     4,     0,     1,     1,
-       0,     1,     0,     2,     2,     1,     0,     1,     1,     2,
-       3,     2,     0,     6,     3,     0,     0,     0,     1,     2,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
-       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     0,     3,     1,     2,     1,
-       2,     3,     3,     3,     0,     3,     3,     0,     7,     0,
-       3,     1,     3,     0,     3,     2,     4,     0,     3,     4,
-       4,     0,     0,     0,    16,     8,     7,     0,     0,     0,
-       0,     0,    15,     0,     0,     0,     0,    12,     4,     4,
-       3,     4,     3,     2,     1,     3,     5,     1,     1,     0,
-       1,     1,     0,     2,     0,     0,     3,     0,     2,     5,
-       3,     3,     3,     1
-};
-
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
-   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
-   means the default is an error.  */
-static const yytype_uint16 yydefact[] =
-{
-       0,   956,  1035,  2506,     0,     0,     0,     0,     0,  1019,
-    2508,   115,    64,  1679,  1794,  1795,  1592,  1618,     2,     0,
-    1035,   165,     0,    76,  1620,     0,  1850,     0,     0,  1035,
-       0,   444,     0,  1845,     0,     0,  1035,  1623,  1835,   239,
-     165,  2508,     0,  1081,  2329,  1717,     0,     0,     0,     0,
-    1700,     0,  2387,  1668,     0,     0,  2643,     0,     0,     3,
-       8,    19,     0,    40,    24,    28,    14,    18,    13,    53,
-      47,    38,    37,    10,    55,    56,    16,    44,    11,    12,
-      15,    36,    43,    32,    39,    51,  1072,    22,    23,    29,
-      45,    60,    20,    57,    54,    21,  1796,    25,    46,    41,
-      33,    61,    34,    52,    35,    59,    27,    48,    26,     9,
-      17,    49,    50,    42,    62,    30,    58,    31,     0,   890,
-       0,     0,     0,     0,     0,     0,     0,   958,   873,  2573,
-    2574,  2575,  1037,  1036,     0,  2508,  1962,  1015,  1046,  2034,
-    2035,  2036,  2037,  2038,  2039,  2040,  2041,  1976,  2042,  2043,
-    2045,  2044,  2046,  2047,  1977,  1978,  2048,  2049,  2050,  2052,
-    2051,  2053,  1979,  1980,  2054,  2055,  2056,  2057,  1981,  1983,
-    1982,  2058,  2061,  2060,  2059,  1984,  2062,  2063,  2064,  2066,
-    1985,  1986,  1987,  1988,  1989,  1990,  2065,  1991,  2067,  1992,
-    2068,  2069,  2070,  2071,  2072,  2073,  2074,  2076,  2075,  1993,
-    2077,  2078,  2079,  2080,  2081,  2083,  2082,  2084,  2085,  2086,
-    1994,  2087,  2088,  2089,  2090,  2091,  2092,  2093,  1995,  2094,
-    2095,  2096,  2113,  1996,  2097,  2100,  2099,  2098,  2101,  2102,
-    2103,  2105,  2104,  2106,  1997,  1998,  2107,  2108,  2109,  2111,
-    2110,  2115,  2116,  2117,  1999,  2112,  2114,  2305,  2118,  2119,
-    2121,  2120,  2122,  2124,  2123,  2000,  2126,  2125,  2001,  2002,
-    2127,  2128,  1960,  2129,  1961,  2130,  2133,  2134,  2131,  2135,
-    2140,  2003,  2132,  2136,  2137,  2138,  2139,  2141,  2004,  2143,
-    2142,  2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,
-    2163,  2156,  2158,  2159,  2161,  2157,  2162,  2166,  2165,  2167,
-    2168,  2169,  2164,  2154,  2160,  2155,  2170,  2171,  2153,  2172,
-    2173,  2174,  2175,  2176,  2177,  2178,  2179,  2180,  2181,  2182,
-    2184,  2183,  2185,  2186,  2187,  2188,  2189,  2190,  2191,  2193,
-    2192,  2194,  2195,  2196,  2198,  2197,  2200,  2201,  2005,  2199,
-    2202,  2203,  2204,  2205,  2206,  2207,  2006,  2008,  2007,  2009,
-    2208,  2209,  2010,  2210,  2211,  2212,  2011,  2213,  2214,  2215,
-    2217,  2216,  2218,  2219,  2012,  2013,  2220,  2221,  2222,  2223,
-    2224,  2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,  2233,
-    2235,  2234,  2236,  2237,  2238,  2239,  2240,  2241,  2242,  2014,
-    2243,  2015,  2244,  2245,  2016,  2246,  2017,  2247,  2248,  2018,
-    2249,  2250,  2251,  2252,  2253,  2254,  2019,  2255,  2256,  2257,
-    2020,  2259,  2258,  2260,  2021,  2262,  2263,  2022,  2261,  2024,
-    2264,  2265,  2023,  2266,  2025,  2267,  2268,  2270,  2269,  2271,
-    2272,  2273,  2026,  2274,  2027,  2275,  2276,  2277,  2278,  2279,
-    2281,  2280,  2282,  2283,  2284,  2285,  2288,  2290,  2287,  2289,
-    2286,  2291,  2292,  2293,  2294,  2298,  2299,  2300,  2301,  2295,
-    2296,  2297,  2028,  2302,  2303,  2304,  2306,  2307,  2309,  2308,
-    2029,  2030,  2310,  2311,  2033,  2312,  2313,  2314,  2318,  2315,
-    2326,  2316,  2317,  2320,  2319,  2321,  2322,  2031,  2323,  2032,
-    2324,  2325,   184,  1965,   167,  1966,  1975,     0,  2378,  2377,
-     994,     0,  2509,  2510,   540,   819,     0,     0,   820,     0,
-     539,   818,   165,  2575,   120,     0,   536,   537,     0,     0,
-       0,  1693,     0,  1616,  1616,  1616,     0,     0,  1616,  1616,
-       0,  1619,  1616,   165,  1616,     0,    69,  1802,     0,     0,
-       0,     0,  1959,     0,  1626,     0,     0,  1852,  1866,     0,
-    1867,  1861,  2375,     0,  1106,     0,     0,     0,     0,   165,
-    1038,  1002,  1677,     0,   229,   238,   240,   241,   237,     0,
-    2510,  2521,  1073,  1079,  1091,  2330,  2327,  1779,   241,   983,
-     983,   983,   981,   983,  1701,  1698,     0,     0,     0,  1677,
-    1860,  2627,     0,     0,     0,  2623,     0,  2628,     0,  1081,
-       0,     0,     1,     5,     0,     0,  2108,  2212,  1792,  1790,
-    1954,     0,   864,   891,     0,   869,     0,   867,  1971,  1970,
-    1969,     0,   880,   879,   877,     0,   405,     0,   962,   963,
-     957,   959,   961,     0,  2584,   871,  1013,  2507,     0,   186,
-       0,    78,     0,  1017,  1020,     0,     0,  2513,     0,     0,
-       0,     0,   119,     0,     0,     0,   116,  1106,  1106,  2575,
-    2577,  2579,   540,   538,     0,     0,     0,  1697,  1696,  1695,
-       0,  1693,  2035,  1976,  2047,     0,  1927,     0,     0,     0,
-    1381,     0,  1981,     0,  2062,  2064,  1985,  1986,  1987,  1988,
-    1989,  1990,  1993,     0,     0,  1116,  1116,  1113,     0,     0,
-       0,  2085,  2086,  1936,     0,     0,     0,  1923,  1937,  2121,
-    2122,     0,  1925,  1926,  2128,     0,     0,     0,  2142,     0,
-    2147,  1934,     0,     0,  2179,  2181,     0,     0,  2185,  2186,
-    2187,  2188,  1909,  1171,     0,  1113,  1922,  1933,  2204,  1916,
-    2213,  2218,  2219,     0,  2228,     0,     0,     0,  2253,  2257,
-       0,     0,  2278,     0,     0,  1113,  1908,  2298,  2299,  2300,
-    2301,     0,  1924,  2028,  1935,     0,  2312,  1116,  1113,  1113,
-       0,     0,     0,  2321,  2325,     0,     0,     0,  2545,  1170,
-       0,  1343,     0,  1375,  1128,  1134,  1148,     0,  1163,  1197,
-    1198,  1200,  1298,  1199,  1205,  1204,  1593,  1920,  1203,  1202,
-    1921,  1196,  1944,  1965,  1943,     0,     0,     0,     0,     0,
-       0,     0,     0,  1775,     0,     0,  1603,  1616,    71,     0,
-    2423,  2438,  2439,  2435,  2440,  2458,  2441,  2445,     0,  2437,
-    2429,     0,  2444,     0,  2433,  2442,     0,  2427,     0,  2443,
-    2448,  2459,  2431,  2436,  2414,     0,  2421,  2425,  1956,  1487,
-    2390,  2391,     0,    77,  1628,  1629,  1627,   954,     0,  2640,
-    1853,  1854,  1855,     0,  1870,     0,  1033,     0,     0,   454,
-     445,     0,  1774,  1773,     0,  1846,  2522,     0,     0,     0,
-    1631,  1678,     0,  1630,  1841,     0,  1839,  1836,  1838,   230,
-       0,     0,   260,  2423,     0,  2408,     0,  2516,  2513,  2523,
-    2558,  2553,  2552,  2555,  2556,  1097,  2557,  1096,  2554,  2551,
-    1106,  1092,  1094,  1095,  2333,  1737,     0,   753,     0,  1758,
-    1787,  1738,     0,     0,  1787,     0,  1522,  1777,  1780,     0,
-    2342,  1751,   816,   815,  1761,   814,  2343,  1773,     0,  1725,
-    1739,     0,  1702,  1744,     0,  2344,     0,  1776,  1760,     0,
-    1759,  1522,  1787,     0,  1718,     0,     0,     0,     0,   236,
-     977,   987,   979,   974,     0,   980,   976,     0,  2641,  2642,
-    2388,   954,  1915,  1913,  1914,  1963,  2624,  1912,  2632,  2634,
-    2620,  2622,  2629,  1075,     0,  2527,     6,    63,     0,  1799,
-    2582,  2583,  2581,   769,     0,  1116,  1972,  2576,   168,   878,
-       0,   406,   168,     0,     0,     0,     0,     0,   407,   408,
-     344,   862,   960,   875,     0,     0,   874,  2584,     0,     0,
-    1048,  1050,  1049,  1066,   188,   185,   166,     0,   996,  1610,
-    1612,     0,  1021,  2512,     0,     0,  2514,  2518,  1169,  1168,
-       0,   113,   118,     0,     0,     0,  2484,   117,  2474,  2580,
-    1106,  1106,  1106,  2572,     0,  2560,  2567,  2568,  2571,  2570,
-    2569,  2566,     0,  2559,  2562,  2563,  2565,  2564,  2584,  2578,
-       0,   821,   821,   821,     0,  1680,  1683,  1687,  1691,  1694,
-       0,     0,  1492,  1218,  1492,  1492,  1492,  1382,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,  1492,     0,  1255,  1228,     0,  1256,     0,     0,
-       0,     0,     0,  1930,     0,     0,  2545,     0,     0,     0,
-    1348,     0,     0,     0,  2545,     0,     0,     0,     0,     0,
-       0,  1377,  1379,  1943,  1492,     0,     0,  1492,     0,     0,
-       0,     0,     0,  1121,  1261,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,  1492,  1492,     0,     0,
-    1492,  1269,     0,  1932,     0,     0,     0,  1931,     0,     0,
-    1929,   750,   751,  1910,  1928,     0,  1272,  1274,  1273,     0,
-    1492,  1492,     0,     0,  1208,  1207,  1209,     0,     0,     0,
-       0,     0,     0,  1167,  1166,  1165,  1164,     0,     0,     0,
-       0,  1173,     0,  1175,  1177,  1172,  1174,  1176,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1210,     0,     0,
-       0,  1911,  1307,     0,  1617,  1598,  1605,  1600,     0,  1775,
-    1601,  1609,   419,     0,  1606,  2472,  1602,     0,  1594,     0,
-      70,     0,  1824,  1829,     0,     0,     0,  1819,  1827,  1821,
-    1828,  1820,     0,     0,  1830,  1823,     0,  1822,  1826,  1825,
-    1803,  1807,  1811,  1804,  2424,  2422,  2456,  2455,  2460,     0,
-    2457,  2453,  2446,  2485,  2450,     0,  2485,  2452,  2451,  2485,
-    2447,  2454,  2485,  2419,     0,  1488,  1489,     0,  2389,     0,
-    1955,   955,     0,     0,  1856,  1857,     0,  1056,  1871,  1872,
-    1868,  1487,  2376,  2379,     0,   640,  1107,   455,     0,     0,
-     466,     0,     0,    66,    67,     0,  1040,     0,  1039,  1043,
-       0,  1000,  1003,     0,     0,  1634,  1624,  1633,  1842,  1843,
-       0,   228,   253,   248,   256,   250,   252,   251,   257,   258,
-     259,   254,   249,   255,   242,     0,  2422,     0,  2419,  2517,
-       0,  2519,  2536,  1080,  2524,  1103,  1082,  1102,     0,  1093,
-    2328,  2331,  2339,  1783,   752,     0,     0,  1750,     0,   540,
-       0,     0,     0,     0,     0,     0,  1719,     0,     0,   583,
-       0,  1743,  1523,  1781,  1782,  1787,     0,     0,  1787,     0,
-    1756,  1777,     0,  1787,  1714,     0,     0,  1706,  1711,  1707,
-       0,  1713,  1712,  1715,  1703,  1704,  1783,  1730,  1757,  1777,
-    1742,  1749,     0,  1729,  1736,     0,  1747,  1777,  1777,  1787,
-    1787,   990,   989,   988,   984,   985,   990,     0,  1699,  1416,
-       0,     0,  2621,  2635,  2619,  2630,  2631,  2618,  1076,  2528,
-    1074,  2529,     0,     7,     4,  1793,  1791,  1800,  1801,   770,
-     769,   531,   534,   533,     0,     0,  1974,     0,   870,     0,
-    1775,   868,     0,     0,  1775,   355,  1775,   409,   769,   882,
-       0,     0,   872,  1014,     0,     0,   443,  1066,  1052,  1068,
-       0,   189,   191,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    79,    80,    96,   998,   997,     0,   995,  1031,  1029,
-    1028,  1026,     0,  1027,  1025,  1016,  1022,  1023,  2511,  2515,
-     541,   769,  1775,     0,   347,     0,     0,     0,     0,     0,
-     540,     0,     0,  2561,   105,   822,     0,     0,     0,  1685,
-    1613,  1681,  1615,  1954,     0,     0,     0,  1689,     0,     0,
-    1493,  1492,     0,  1357,     0,     0,     0,     0,  1383,     0,
-       0,     0,     0,     0,     0,     0,  1194,     0,     0,     0,
-       0,     0,     0,     0,  1328,     0,  1357,  1117,  1567,  1568,
-    1552,  1553,  1551,  1554,  1114,     0,  1555,  1566,  1285,     0,
-       0,     0,     0,     0,     0,  1463,  1464,  1465,  1466,  1474,
-    1467,  1468,  1469,  1476,  1481,  1470,  1471,  1477,  1478,  1479,
-    1472,  1480,  1475,  1473,  1482,     0,  1462,     0,  1485,  1483,
-    1486,  1484,     0,  1349,  1341,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1492,     0,     0,
-       0,  1492,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1492,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1251,     0,  1946,  1945,     0,     0,
-       0,     0,  1212,     0,  1211,  1425,     0,  2530,  2546,     0,
-    2345,  1344,  1346,     0,  1119,  1118,  1120,  1131,  1124,  1129,
-    1122,  1126,     0,  1178,  2041,  1132,     0,     0,  1160,  2545,
-    1501,  1161,  1146,  1151,  1152,     0,  1149,  1150,     0,  1154,
-       0,  1153,  1157,  1158,  1159,  1162,     0,     0,     0,     0,
-    1201,  1206,  1376,  1106,  1947,     0,  1596,   419,   422,   421,
-    1607,   420,  1655,     0,   964,     0,     0,    72,    74,  1816,
-    1813,  1812,  1814,  1818,  1817,  1815,     0,  1831,  2449,     0,
-    2430,     0,  2434,  2428,  2432,     0,     0,  2420,     0,  2426,
-    1491,  2116,  2197,     0,  1494,  2393,  1621,  2639,  2312,  1858,
-    1851,     0,  1869,     0,     0,     0,  1034,   641,     0,  1106,
-     453,   452,   451,   450,     0,   468,   448,   456,    68,     0,
-       0,  1847,     0,     0,     0,     0,     0,  1004,  1632,     0,
-    1844,  1840,  1837,     0,     0,     0,     0,     0,     0,     0,
-    2520,  2538,  2537,  2525,  1106,  1513,  1107,  1107,  1943,  2333,
-    2336,  2337,  2340,  2338,     0,  2335,  2334,  2349,     0,  1785,
-    1788,  1789,     0,     0,  1769,  1763,  1762,  1754,  1764,  1755,
-    1772,  1771,  1770,  1727,  1726,  1535,  1536,  2251,  1534,  1526,
-    1529,  1533,  1532,  1722,  1778,  1768,  1766,  1752,  1787,  1767,
-    1765,  1708,  1709,  1710,     0,  1522,     0,  1785,  1787,  1777,
-       0,  1787,  1787,  1746,  1748,     0,   978,   987,   975,   982,
-    1434,  1433,     0,  1390,     0,  1392,  1389,  1388,  1387,     0,
-    1433,  2625,  2633,  2637,     0,  1522,  2535,  2533,   532,  1655,
-    1655,     0,  1973,     0,     0,     0,     0,     0,     0,     0,
-     169,   178,     0,     0,   353,   354,  1655,   352,   395,   396,
-     399,   400,   401,     0,     0,     0,     0,     0,     0,     0,
-       0,   122,   402,  1655,  1655,   349,   375,   376,   379,   380,
-     381,   382,   383,   345,     0,   350,   952,   952,     0,  1655,
-    1655,   952,  1655,     0,     0,  1655,  1655,     0,     0,  1655,
-       0,     0,   952,     0,  1655,   950,     0,     0,  1655,  1655,
-    1655,  1655,   952,     0,     0,  1655,  1655,   443,  1655,     0,
-       0,   970,     0,     0,  1655,     0,     0,  1655,  1655,     0,
-    1655,   898,   949,   544,   565,   566,   863,   897,   899,   911,
-     439,     0,   928,   951,     0,     0,   884,   886,  2585,  2586,
-    2587,  1055,  1047,  1054,  1051,  1066,  1064,  1053,   811,   810,
-       0,  1067,   187,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,  1611,     0,  1018,  1030,  1024,   114,   769,
-    1655,  1655,  1655,  1655,   351,   384,   385,   388,   389,   390,
-     391,   394,   392,   393,     0,     0,  1775,     0,  2476,  2477,
-       0,  2475,     0,  2613,     0,     0,     0,   167,   542,     0,
-       0,   823,     0,     0,     0,     0,     0,  1494,     0,  1957,
-    1688,  1416,  1692,  1691,     0,  1281,     0,  1321,     0,  1323,
-    1324,  1325,     0,     0,     0,     0,     0,  1282,     0,  1226,
-    1283,  1284,     0,     0,  1279,     0,     0,     0,     0,  1278,
-       0,     0,     0,     0,  1327,     0,  1115,     0,     0,  1229,
-    1230,  1223,  1215,     0,  1300,     0,     0,  1231,     0,     0,
-       0,     0,  1287,     0,  1301,  1378,     0,  1380,  1947,     0,
-    1333,  1288,  1236,     0,  1331,     0,  1237,  1302,  1303,  1304,
-    1290,  1291,     0,  1306,     0,  1292,     0,     0,     0,     0,
-    1239,  1337,  1335,     0,     0,     0,     0,  1339,  1241,     0,
-       0,     0,  1240,     0,     0,     0,     0,     0,     0,     0,
-    1243,     0,  1224,  1336,  1338,  1296,     0,  1252,     0,  2539,
-    1424,  2547,  1425,     0,     0,  2541,  2531,  2536,  2544,  1216,
-       0,     0,     0,     0,     0,  1948,  1125,  1130,  1123,  1127,
-    2545,     0,     0,     0,     0,  1144,  1143,     0,     0,     0,
-    2545,  1501,  1147,     0,     0,  1317,  1318,  1373,     0,  1599,
-    1597,  1608,  1654,  1653,  1656,     0,  2473,   966,   965,  1604,
-     964,    75,     0,  1810,  1832,  1805,  2489,     0,  2488,     0,
-    2468,  2471,  1954,     0,     0,     0,  2397,  2404,  2400,  2405,
-    2398,  2399,  2403,  2406,  2407,  2394,  2401,  1495,  1524,     0,
-    1859,  1057,  1059,  1060,  1058,  1066,     0,     0,  2382,  2383,
-    2381,  2380,   458,     0,   467,     0,   479,     0,     0,     0,
-    1849,  1848,     0,  1041,  1044,  1045,  1011,  1009,  1008,  1010,
-     999,  1005,  1006,   524,  1638,     0,     0,     0,  1644,  1625,
-    1635,     0,  2085,  2298,  2301,   243,   246,   245,   247,     0,
-       0,     0,     0,     0,     0,  1101,  1416,  1585,  1098,  1086,
-    1524,  1514,  1085,  1108,  1104,     0,  2332,     0,  2295,  2360,
-       0,     0,     0,     0,     0,  2350,  1784,     0,  1731,     0,
-    1753,     0,     0,     0,     0,  1724,     0,  1745,  1705,  1733,
-    1723,  1494,  1777,  1720,  1721,   992,   991,   986,  1433,  1416,
-       0,     0,  1413,  1435,     0,  1435,  1416,  1416,     0,  1416,
-    1487,  1430,     0,     0,  2636,  1515,  2534,     0,     0,   866,
-     172,   175,   173,     0,   174,     0,     0,   404,   403,     0,
-    1775,   397,   126,   125,   127,   128,  1549,  1550,  1546,  1547,
-    1545,  1548,   130,   129,   124,   881,     0,     0,     0,  1775,
-     377,   356,   357,   360,   361,   362,   953,   856,  1035,   932,
-       0,   621,   856,   807,   812,   812,   930,     0,  1035,     0,
-       0,     0,     0,     0,  1035,     0,     0,     0,  1655,     0,
-     943,   893,     0,     0,     0,     0,     0,   944,     0,   894,
-    1655,     0,     0,     0,     0,     0,  1035,     0,     0,     0,
-     441,     0,  1035,   912,   973,   971,   972,     0,  1035,  1035,
-       0,   571,   572,   570,     0,     0,     0,   563,   545,   769,
-     895,   440,   896,   620,     0,   967,   617,   623,  1950,     0,
-       0,     0,     0,   136,  2589,     0,  1454,   190,    97,    86,
-      82,   101,  1559,  1560,  1558,  1556,  1557,   102,    84,    85,
-      89,    88,    90,    91,    92,    87,    93,    83,    94,   103,
-     104,    81,  1032,     0,     0,     0,     0,  1775,   386,     0,
-       0,  1655,   346,   363,   364,   367,   368,   369,   370,   371,
-     374,   372,   373,     0,  2480,  2482,     0,     0,   340,   339,
-       0,   131,  2607,     0,     0,   620,   106,   439,   543,   546,
-     849,   851,   850,   837,   836,   107,   109,   111,  1614,  1691,
-    1416,  1513,  1955,  1494,     0,  1690,     0,     0,  1322,  1358,
-       0,  1384,     0,  1220,   724,   724,   724,  1367,   709,  1371,
-    1362,   724,  1363,   724,  1365,     0,   755,     0,   754,     0,
-    1180,  1195,     0,     0,     0,     0,     0,     0,  1329,  1326,
-       0,     0,     0,     0,  1352,     0,     0,     0,  1225,     0,
-    1312,  1334,  1332,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,  1340,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,  1213,  1106,  2548,
-    2550,  1077,     0,  2540,  2542,  2346,  2347,  2348,   858,  1345,
-       0,  1141,  1137,     0,  1135,  1500,  1156,  1155,     0,     0,
-       0,  1145,  1107,  1308,  1106,     0,  1374,  1949,   418,   582,
-    1595,    73,  1808,  2486,     0,  2497,     0,     0,     0,     0,
-       0,     0,     0,  2392,  1525,  1665,     0,  1066,  1070,  1964,
-    1862,  2385,  2386,  2384,     0,   459,   460,   462,  1107,   476,
-     454,     0,   446,   449,     0,   458,     0,     0,  1001,  1007,
-    1091,     0,  1657,  1642,  1649,  1643,     0,     0,     0,  1641,
-    1939,  1938,  1945,  2523,     0,     0,  2413,     0,     0,     0,
-    2526,  1494,  1494,  1579,     0,     0,  1083,  1088,  1084,  1087,
-       0,  1105,  1112,  1111,  1940,  1947,     0,     0,     0,     0,
-     757,   756,   765,     0,     0,     0,  2345,     0,   761,   763,
-     762,  2355,   760,  1786,  1522,  1741,  1740,  1537,  1528,     0,
-    1531,  1530,  1716,  1522,  1735,  1787,     0,     0,  2530,  1428,
-       0,  1415,  1414,  1436,     0,  1416,  1435,  1435,     0,  1395,
-    1394,  1669,  1672,     0,  1393,  1452,  1418,  1091,  2626,  2638,
-       0,   768,   767,   581,   764,   580,   177,   176,   182,   183,
-    1563,  1564,  1561,  1562,   410,   423,  1565,   424,   398,   123,
-     411,   412,   378,     0,   358,   622,   857,   915,     0,     0,
-       0,   812,   616,   856,   821,   813,   856,   856,     0,     0,
-     555,   552,   934,   558,   913,   905,   914,   925,   927,     0,
-     554,   573,     0,     0,   561,   856,   900,   941,   942,   964,
-     549,     0,   592,   593,   591,   567,   574,   550,   551,   936,
-       0,  1509,  1511,  1519,   557,   556,  1570,  1569,   560,     0,
-     553,     0,   947,   920,     0,   589,   587,   584,   586,   585,
-     590,   588,   562,   559,   575,   910,     0,   952,   952,   929,
-       0,   600,   601,   603,   604,  1953,     0,   969,   931,     0,
-     605,   618,   606,     0,     0,   579,   578,   576,   577,     0,
-     146,     0,     0,   883,     0,   139,   137,   148,     0,     0,
-       0,  1457,     0,  1458,  1455,  1456,     0,    98,   100,   417,
-     416,   415,   414,   387,     0,     0,     0,  1775,   365,  2481,
-    2479,  2478,     0,     0,  2614,   343,   341,   342,     0,     0,
-     192,   598,   599,   597,   596,     0,   427,     0,  2011,   425,
-       0,   438,     0,  1873,   769,   547,     0,     0,     0,     0,
-    1494,  1538,  1958,  1684,     0,  1253,  1385,     0,     0,   725,
-    1359,   777,  1369,     0,  1370,   711,   710,   726,  1361,  1364,
-    1368,  1366,  1219,  1227,  1275,     0,  1193,  1276,  1277,     0,
-    1299,  1222,  1221,     0,     0,     0,  1259,  1260,     0,  1350,
-       0,     0,  1233,     0,  1235,     0,     0,  1314,  1289,  1305,
-    1262,  1293,     0,  1238,  1214,     0,  1263,     0,  1268,  1266,
-       0,  1242,     0,     0,  1249,     0,  1247,     0,  1248,     0,
-    1250,  1295,  1297,  1426,  2549,  1078,     0,     0,  1347,  1133,
-       0,  1142,  1139,     0,  1136,  1108,  1319,  1309,     0,  1806,
-    2487,     0,  2418,  2470,  2469,  2490,  2490,  2490,     0,  1496,
-       0,  1622,  1061,  1066,  1070,     0,  1062,  1873,   463,     0,
-       0,     0,   483,     0,   481,   457,     0,  1042,  1012,  1106,
-    1639,  1651,     0,  1659,     0,     0,  1636,  1646,     0,     0,
-       0,  1645,   244,     0,  2410,  2411,  2409,  1524,  1502,     0,
-       0,  1591,     0,  1586,  1099,     0,  1110,  1109,     0,  2362,
-       0,  2361,  2373,  2374,  2371,  2372,  2370,  2351,     0,  2357,
-    2356,     0,     0,     0,  2367,  2358,     0,     0,  1732,  1527,
-    1734,  1728,   993,  2536,  1487,  1420,  1416,  1391,  1416,  1402,
-       0,     0,  1416,  1398,  1396,  1400,     0,  1494,     0,  1417,
-    1449,  1106,  1942,  1516,  1519,   359,   917,     0,   856,   808,
-     809,   821,     0,   821,   821,     0,     0,   904,     0,  1021,
-       0,   909,   765,   568,   940,   939,   569,     0,   902,     0,
-    1520,  1521,  1512,   442,   901,   922,   907,  1831,   933,   620,
-     968,   789,   705,   654,   645,   724,   648,   647,   691,   724,
-     659,   709,   707,   677,   709,   709,   684,   683,   701,   687,
-     667,   777,   777,   666,   704,   777,   688,   686,   690,     0,
-     692,   709,   697,   685,   689,   706,   682,   679,   703,   724,
-     724,   724,   663,   702,   777,     0,   695,   724,   624,   728,
-     665,   777,   784,     0,     0,   724,   726,  1952,   147,   135,
-       0,     0,   885,   887,     0,     0,   888,  2591,     0,  2593,
-       0,  1069,     0,    95,     0,     0,   348,   413,   366,  2483,
-       0,   203,  1106,     0,     0,   193,   195,   196,     0,     0,
-       0,   429,  1875,  1874,   426,   527,   548,     0,     0,     0,
-    1691,  1686,     0,  1682,     0,  1386,     0,     0,     0,     0,
-     771,   782,   780,   774,     0,   778,   779,  1360,     0,     0,
-     727,  1372,   724,  1190,   709,  1184,  1186,  1182,     0,   692,
-    1185,   724,     0,   777,  1189,  1181,     0,  1330,     0,     0,
-    1353,     0,     0,     0,     0,     0,     0,     0,  1217,     0,
-    1310,     0,     0,     0,     0,     0,     0,  1246,  1244,  1245,
-    1524,  2530,   859,  1138,     0,  1320,     0,     0,     0,  2495,
-    2495,  2495,  1664,  1663,     0,  1662,  1666,  1063,  1071,     0,
-     461,   464,     0,   456,     0,   480,     0,   447,   525,     0,
-       0,     0,  1660,  1648,  2527,  1637,  1640,  1947,  2412,  1090,
-       0,  1497,  1590,  1587,     0,  1580,  1582,  1584,     0,  1941,
-       0,     0,  2366,  2352,   766,     0,     0,     0,     0,  2353,
-    1421,  1419,  1429,     0,  1387,  1416,  1416,     0,  1387,     0,
-       0,     0,  1671,  1513,  1673,  1453,     0,  1431,     0,  1518,
-       0,     0,   916,     0,     0,     0,     0,     0,     0,   946,
-       0,   967,   906,   926,   948,   937,  1035,  1510,   921,   923,
-    1004,     0,   602,     0,   793,   653,   646,   664,   662,   713,
-     708,     0,   713,   713,   673,   691,   668,     0,   777,   681,
-     672,   693,   696,   698,   700,   713,     0,   777,   661,   660,
-     670,   657,   713,   736,     0,     0,     0,     0,   732,     0,
-     787,     0,   739,     0,   625,   729,   731,     0,     0,     0,
-     694,   777,   650,   785,   784,   652,   777,   784,   713,   713,
-       0,   133,   138,   149,   150,   876,  2590,     0,  2588,     0,
-    1065,  1459,    99,     0,     0,   206,   204,   205,     0,   199,
-     201,   196,  2601,     0,  2608,     0,     0,  2606,   428,   431,
-     542,   528,     0,     0,  1519,   854,     0,     0,  2251,  1539,
-    1254,   722,   720,   723,   721,   773,   772,   776,     0,   775,
-     784,     0,     0,  1192,  1187,   693,  1191,  1183,  1188,  1280,
-    1257,  1258,     0,  1351,  1342,  1286,     0,  1234,  1311,     0,
-       0,  1294,  1264,  1267,  1265,  1270,  1271,  1098,  1098,   594,
-    2543,  1140,  1833,  2498,     0,     0,  2494,  2492,     0,  2493,
-    2491,  2461,     0,  2416,  2417,  2415,  2402,     0,     0,     0,
-    1106,   469,     0,   486,   485,   482,  1524,  1650,  1652,  1658,
-    1647,     0,  1498,  1513,   758,  1583,     0,  1100,  2364,  2363,
-    2365,  2359,     0,     0,     0,     0,  1403,     0,  1407,  1412,
-    1408,     0,  1399,  1397,     0,  1538,  1441,  1442,     0,     0,
-    1447,  1451,  1524,  1519,   919,     0,   619,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   945,  1917,   935,
-     967,   903,     0,   908,   564,     0,   792,     0,   797,   717,
-     718,   719,   674,   714,   716,     0,   676,   644,   669,   699,
-     675,     0,   671,   658,   742,   741,  1116,   734,   749,   629,
-       0,     0,   740,   626,   730,   738,   733,     0,   649,   651,
-     655,   656,   642,   643,  1951,   140,   889,   280,  2592,  1081,
-       0,  2597,   121,  2605,  2615,   203,     0,     0,   144,     0,
-     194,   765,   197,  2527,   439,     0,   434,   824,     0,   853,
-       0,   826,   828,  1540,     0,   783,   781,     0,  1354,  1519,
-       0,  1313,  1315,  1427,   595,     0,  1809,  2467,  2466,  2465,
-    2462,     0,     0,     0,     0,     0,     0,  2496,  2500,  1661,
-       0,     0,     0,   477,     0,     0,   511,   526,  1506,  1519,
-       0,  1524,     0,  1588,  1581,  2369,  2368,  2354,  1422,     0,
-       0,     0,     0,     0,  1460,  1670,  1437,  1437,  1448,  1432,
-    1517,   918,     0,     0,   607,     0,     0,  1919,  1918,   938,
-       0,   790,     0,   794,   795,   796,     0,   788,   715,     0,
-     860,     0,   748,  1116,   737,     0,   746,   745,   743,   744,
-       0,   142,   306,     0,   292,   278,     0,     0,     0,   282,
-     151,   154,   152,     0,   153,   159,     0,   160,   161,   162,
-     163,   164,   155,   304,   305,   158,   156,   157,     0,  1967,
-       0,  1968,  2595,     0,     0,  2594,   170,   200,     0,     0,
-     136,   145,  2609,   747,   432,  1873,     0,  2523,     0,  1655,
-     108,   825,   845,   844,   830,     0,  1519,     0,     0,   110,
-     827,   847,   834,   112,   829,   846,   832,  1541,   712,     0,
-    1356,  1232,     0,  2463,  2501,  2504,  2502,  2503,  1542,     0,
-    2505,  2499,     0,  1863,  1107,     0,   470,     0,   473,   475,
-     489,     0,  1655,  1655,     0,     0,  1655,  1655,  1655,  1655,
-     504,   512,   514,     0,  1507,  1508,     0,  1503,  1505,  1499,
-    1571,   759,  1876,  2530,  1404,     0,  1409,     0,  1401,     0,
-       0,  1445,  1443,     0,   613,   824,   609,   611,     0,   791,
-       0,     0,   777,     0,   777,   735,  1106,   141,     0,   134,
-       0,     0,   291,   294,     0,     0,   297,   287,   286,   288,
-       0,   281,   280,   280,   334,   285,   331,   330,   323,  2527,
-       0,     0,     0,  2616,   202,  1106,   148,     0,   430,   436,
-     435,   839,     0,   831,     0,   852,   855,     0,   835,   833,
-    1519,  1834,  1544,  1543,  1667,  1675,     0,   758,     0,   478,
-     471,     0,     0,   487,     0,     0,  1655,  1655,     0,     0,
-       0,     0,     0,   484,   513,  1655,  1519,     0,  1089,     0,
-    1884,  1423,     0,     0,  1461,     0,  1438,     0,     0,     0,
-     615,   824,   608,   826,   828,     0,   803,     0,   802,     0,
-     799,   798,   678,   861,   680,     0,   143,   307,   318,   321,
-     313,   293,     0,     0,     0,   283,   280,     0,   267,   265,
-     266,   272,   273,   274,   275,   276,   277,   268,   271,   269,
-     270,   280,     0,   211,     0,     0,  2596,     0,  2598,     0,
-     180,   179,   171,     0,   280,  2602,     0,  2610,  2527,   838,
-     843,   842,   840,   841,   848,  1355,     0,     0,  1864,   465,
-     477,   474,   497,   490,   493,     0,   523,   517,     0,     0,
-     519,   520,   518,   515,   508,     0,   506,     0,  1504,  1572,
-       0,     0,     0,     0,  1877,  1879,     0,  1589,  1406,  1411,
-    1440,  1439,  1454,     0,   614,   610,   612,   924,   805,   806,
-     804,     0,     0,   630,     0,     0,   280,   314,     0,   289,
-       0,     0,     0,     0,   209,   337,     0,   207,   325,   325,
-    2599,  2600,   181,  2617,     0,   150,   170,   437,  1674,  1676,
-    1890,   472,   497,     0,   495,     0,   491,   488,   492,   521,
-     522,     0,   505,     0,   516,     0,     0,     0,     0,     0,
-    1878,     0,     0,  1885,  1887,     0,     0,     0,     0,   632,
-     631,   633,   315,   321,   311,   319,   280,     0,     0,   279,
-     298,   333,   210,     0,   335,     0,   280,     0,   324,   326,
-     328,     0,   132,  2611,     0,  1876,   494,     0,   502,   498,
-     500,   503,   511,   510,   507,  1106,  1882,  1883,     0,  1880,
-       0,     0,  1886,  1446,  1444,   801,   800,     0,   637,   627,
-     634,   636,     0,   312,     0,     0,   310,   290,   295,   280,
-       0,   280,   222,   221,     0,   213,   261,   332,     0,   212,
-    2603,   280,     0,  1884,   496,     0,     0,   509,     0,     0,
-    1575,  1577,  1881,  1889,  1888,   639,   638,   635,   316,     0,
-     280,     0,   280,     0,   280,     0,     0,     0,     0,     0,
-     208,   280,  2612,     0,  1892,   501,   499,  1107,  1573,  1106,
-       0,   308,   280,   296,   301,   338,     0,   216,   262,   263,
-       0,   219,  2604,  1891,     0,  1896,  1578,  1576,   280,   280,
-     297,   300,   336,     0,     0,   214,   215,   227,   226,   218,
-       0,     0,     0,  1903,   280,   280,   302,   235,   233,   280,
-     223,   231,   225,     0,   232,   264,   220,  1894,  1895,  1893,
-    1898,     0,     0,  1900,  1901,     0,  1865,     0,   217,   234,
-    1902,  1897,     0,  1904,  1906,     0,   224,  1899,     0,  1106,
-    1905,     0,  1107,  1907
-};
-
-/* YYDEFGOTO[NTERM-NUM].  */
-static const yytype_int16 yydefgoto[] =
-{
-      -1,    58,   604,  1454,    59,    60,    61,    62,    63,  1323,
-      64,   818,  1250,  1757,  1758,    65,   543,    66,  1027,  1511,
-    1512,  2986,  2987,  1513,    67,  2098,  3026,  3027,  3028,  1531,
-     513,   514,  1950,  1951,  1053,  3009,  2973,  3785,  2977,  3901,
-    4039,  3940,  2026,  3326,  3786,  3787,  3910,   538,  2096,  1468,
-    4063,  1930,  4172,  1931,    68,   639,  1025,  1490,  1491,  3344,
-    3345,  3606,  3346,  3598,  3599,  3600,  3601,  4306,  4146,  4247,
-    4307,  4387,  4423,  4429,  4430,  4354,  4439,  4440,  4441,  4427,
-     890,  4442,    69,   566,   567,   892,  1354,  2345,  1355,    70,
-    4355,  4425,  4147,  4148,  4046,  4149,  3913,  4150,  4050,  4151,
-    3916,  4152,  4153,  4154,  4155,  4298,  4156,  4045,  4347,  4143,
-    4144,  4349,  4404,  4421,  4157,  3923,  4040,  4234,  3924,  4041,
-    4293,  4139,  4294,  4342,  4400,  4140,  4235,  4345,  4238,  4158,
-    4164,  4308,  4159,  4165,  4160,  3928,  4057,  4163,  4055,  4162,
-    4351,  4303,  2590,  3008,   622,   623,   652,  2086,   624,  1042,
-     999,  1470,  1963,  1964,  2451,  2452,  2572,  2573,  2574,  1955,
-    1956,  1957,  2074,  2075,  2076,  1937,  1938,  1939,  1474,  1934,
-    1935,   625,  1000,  1010,  1958,  1959,  1960,  2578,  2078,  2079,
-    2080,  2081,  1961,  1750,  1962,  2864,  2596,  3019,  3610,  3803,
-    3354,  3947,  4178,  3020,  3021,  2521,  2929,  2500,    71,   555,
-     870,  1320,  2317,  1321,  2319,  2744,  2745,  2746,  1800,  1801,
-    3681,  1805,  2316,  3843,  4190,  3987,  3988,  2748,  3986,  2752,
-    3143,  3144,  3444,  3683,  3846,  4195,  4092,  4267,  4193,  4263,
-    4194,  4265,  4366,  4319,  4320,  4103,  4205,  4206,  4271,  4322,
-    4000,  4001,  4002,  2338,  2760,  3686,  3612,  2068,  1460,  1461,
-     515,   516,   517,   649,  2597,  2012,  2598,  2599,  2946,  2014,
-    2015,  2718,  1388,  2942,  2915,  3657,  3015,  2950,  2951,  2952,
-    2953,  2954,  4025,  4123,  4124,  4121,  2960,  2882,  2460,  2461,
-    2526,  2963,  3308,  3895,  3563,  4291,  4339,  4340,  4341,    72,
-     867,  3801,  3531,  3546,  3310,  3311,  3312,  3313,  3314,  3315,
-    3316,  3044,  3045,  3752,  3753,  3754,  3039,  3040,  3381,  3564,
-    3565,  3566,  3802,  3767,  1174,  3374,  2801,  2802,  3853,  2810,
-    2811,  2852,  3189,  2853,  1464,  3375,  3376,  3377,  3575,  3567,
-    2962,  3524,  3745,  3748,  3887,  4130,  2462,  2883,  2463,  2886,
-     953,   518,  2464,  2465,  1545,  1546,  3950,  3959,  3963,  3951,
-    3964,  3960,  3952,  3953,  3954,  3966,  3962,  2603,  3613,  3614,
-    2875,  3108,  3889,    73,  1478,   993,  1002,   998,  1017,   634,
-    1479,  2027,  2533,  3585,   612,  2016,  3516,  3239,  3520,  2017,
-    2895,  2018,  3226,  3502,  2019,  3255,  3518,  3742,  2896,  2897,
-    2020,  2021,  2022,  3238,  3247,  3740,  2466,  1302,   126,   127,
-     630,   631,   632,  2269,  2958,  2507,    74,  1436,  1431,    75,
-     965,   960,   961,  1434,  1435,  1896,  2396,    76,   642,  1517,
-    1332,  1816,    77,   879,  2330,  2331,  2332,  2758,    78,  1018,
-      79,   644,  1031,    80,   501,  1525,  1526,  1527,  2065,    81,
-    1314,   134,    82,   878,  1326,  1328,  1329,    83,   638,  1019,
-    1020,  1021,  1022,  2032,    84,  1791,  2301,  2302,  2303,  2304,
-    1487,  2535,  1488,  1489,  2041,  3136,    85,    86,   601,  2224,
-     572,   899,   573,   574,  1835,  2358,  3658,   910,   911,   912,
-    2786,  1366,  1367,  1368,  1797,  2791,  1107,  1104,   783,   784,
-     785,   786,  1198,  1199,  3568,   787,  1208,  1716,  3056,  3395,
-    1576,  1577,   788,   789,   790,   791,   792,   793,  1743,  3076,
-    3077,  3410,  2254,  2255,  2256,   794,  2143,  3063,  2156,   795,
-    1191,  1701,  1634,  3402,  3069,  3642,  3818,  1562,  2118,  2635,
-    3047,  2715,  2218,  1130,  1131,  1088,  2125,  1568,  1903,  1904,
-    1905,  1906,  1907,  3490,  3489,  3491,  3859,  3707,  3861,  3711,
-    2407,  1908,  1909,  2827,  3705,  4013,  2219,  2220,  2221,  3420,
-    2828,  3206,  2846,  2847,  3722,  2398,  1910,  2834,  4021,  3719,
-    3720,  4119,  4118,  3721,  3495,  3496,  3219,  3220,  2982,  2983,
-    2984,  3863,  1625,  1626,  1632,  1297,  1298,  1563,  2298,  2732,
-    3693,  3850,  2245,  3461,  3848,  4007,  2023,  2921,  2922,  2360,
-    2361,  2850,  3223,  3252,  1391,  3659,  2734,  1869,  2817,  2818,
-    3363,  3980,  4428,  1595,  2547,  2865,  2866,  1597,  2928,  4108,
-    4275,  4369,  4370,  4371,  3171,  3172,  3465,  3466,  2362,  2783,
-    3173,  3694,  4012,    87,   522,    88,  1755,  2260,  1247,  2274,
-    1029,  1549,  1550,   806,   535,    89,   544,  2299,    90,   562,
-    1819,   857,   882,  1336,  1337,  2339,  2761,  2768,  2340,  2773,
-    3454,  2763,  3150,  3151,  2264,  2265,  2764,  3153,  3451,  3434,
-    3435,  3131,  3678,    91,   589,  3217,  2841,  2842,  4084,  4085,
-     883,    92,   521,  1075,  2107,  1555,  2106,  1076,  1077,  2109,
-     670,   671,    93,   967,   585,  1413,  1414,  1415,  1885,    94,
-     577,   954,  2814,  2823,  1863,   874,  1243,  1395,   957,  1396,
-    1849,  2378,  1377,    95,   989,   988,    96,   608,  1456,    97,
-     819,  1270,  1767,  2722,  3119,  1271,  1272,  2275,  3826,    98,
-     563,   887,   888,  1339,  1821,    99,   557,   875,  1811,   100,
-     547,   862,  1306,  1790,   101,   102,   864,  3137,  4087,  4260,
-     551,  1793,  1310,  3355,  4110,  4214,  4215,  4217,  4283,  4284,
-    4315,  4415,  4449,  4433,  4452,  4453,  4456,  4463,  4464,   797,
-     976,   798,  3737,   799,   800,  2769,  2770,  3224,   801,  2771,
-     802,  2876,  1030,  1552,   541,   493,   619,   977,  2740,   804,
-    3930,   996,  1046,   495,   496,   103,   914,   576,  1370,  1371,
-    1372,  1844,  1845,   958,  2233,  1846,  1847,  2375,  2370,  3473,
-    3195,  3187,   104,   865,   500,  1312,  1313,  2310,   105,   588,
-     106,  1299,  1784,  1785,  2295,  2731,  2296,   107,   895,   108,
-     844,  1778,   845,  1275,   846,   847,  1289,  1283,  1292,  1286,
-    3831,  3670,  3671,  2283,  1246,  1047,  2090,  3002,  1048,  1770,
-    2277,  2278,  3429,  3673,  3122,  3837,  3838,   109,   135,   503,
-     647,  1037,  1360,   110,   111,   112,   113,  1363,  1449,  2354,
-    1450,  2225,  1451,  1452,  1917,  1833,  1697,  1698,  3106,  1188,
-    1189,  2228,  2688,  2689,   913,   656,  1063,  1055,   128,   129,
-     130,   659,   660,   131,  1015,  1016,  2534,  2979,  3328,  3588,
-    3589,  3791,  3935,  1057,  3797,  4254,  4391,  1058,  1059,  3010,
-    3799,  4067,  4256,  4361,  1060,  2587,  3341,  3936,  4174,   114,
-     978,   598,  1447,  1442,  1444,  1913,  2414,   115,   116,   117
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-   STATE-NUM.  */
-#define YYPACT_NINF -3798
-static const int yypact[] =
+#define YYPACT_NINF -3798
+
+#define yypact_value_is_default(Yystate) \
+  (!!((Yystate) == (-3798)))
+
+#define YYTABLE_NINF -2585
+
+#define yytable_value_is_error(Yytable_value) \
+  0
+
+  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+     STATE-NUM.  */
+static const int yypact[] =
 {
     4773,  2110,  1213, -3798,  -167,   171, 48419,    85,   624, -3798,
     -197,  3616, -3798, -3798, -3798, -3798, -3798,  3399, -3798, 48419,
@@ -5751,7 +3647,462 @@ static const int yypact[] =
    -3798, 15325, -3798, -3798
 };
 
-/* YYPGOTO[NTERM-NUM].  */
+  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+     Performed when YYTABLE does not specify something else to do.  Zero
+     means the default is an error.  */
+static const yytype_uint16 yydefact[] =
+{
+       0,   956,  1035,  2506,     0,     0,     0,     0,     0,  1019,
+    2508,   115,    64,  1679,  1794,  1795,  1592,  1618,     2,     0,
+    1035,   165,     0,    76,  1620,     0,  1850,     0,     0,  1035,
+       0,   444,     0,  1845,     0,     0,  1035,  1623,  1835,   239,
+     165,  2508,     0,  1081,  2329,  1717,     0,     0,     0,     0,
+    1700,     0,  2387,  1668,     0,     0,  2643,     0,     0,     3,
+       8,    19,     0,    40,    24,    28,    14,    18,    13,    53,
+      47,    38,    37,    10,    55,    56,    16,    44,    11,    12,
+      15,    36,    43,    32,    39,    51,  1072,    22,    23,    29,
+      45,    60,    20,    57,    54,    21,  1796,    25,    46,    41,
+      33,    61,    34,    52,    35,    59,    27,    48,    26,     9,
+      17,    49,    50,    42,    62,    30,    58,    31,     0,   890,
+       0,     0,     0,     0,     0,     0,     0,   958,   873,  2573,
+    2574,  2575,  1037,  1036,     0,  2508,  1962,  1015,  1046,  2034,
+    2035,  2036,  2037,  2038,  2039,  2040,  2041,  1976,  2042,  2043,
+    2045,  2044,  2046,  2047,  1977,  1978,  2048,  2049,  2050,  2052,
+    2051,  2053,  1979,  1980,  2054,  2055,  2056,  2057,  1981,  1983,
+    1982,  2058,  2061,  2060,  2059,  1984,  2062,  2063,  2064,  2066,
+    1985,  1986,  1987,  1988,  1989,  1990,  2065,  1991,  2067,  1992,
+    2068,  2069,  2070,  2071,  2072,  2073,  2074,  2076,  2075,  1993,
+    2077,  2078,  2079,  2080,  2081,  2083,  2082,  2084,  2085,  2086,
+    1994,  2087,  2088,  2089,  2090,  2091,  2092,  2093,  1995,  2094,
+    2095,  2096,  2113,  1996,  2097,  2100,  2099,  2098,  2101,  2102,
+    2103,  2105,  2104,  2106,  1997,  1998,  2107,  2108,  2109,  2111,
+    2110,  2115,  2116,  2117,  1999,  2112,  2114,  2305,  2118,  2119,
+    2121,  2120,  2122,  2124,  2123,  2000,  2126,  2125,  2001,  2002,
+    2127,  2128,  1960,  2129,  1961,  2130,  2133,  2134,  2131,  2135,
+    2140,  2003,  2132,  2136,  2137,  2138,  2139,  2141,  2004,  2143,
+    2142,  2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,
+    2163,  2156,  2158,  2159,  2161,  2157,  2162,  2166,  2165,  2167,
+    2168,  2169,  2164,  2154,  2160,  2155,  2170,  2171,  2153,  2172,
+    2173,  2174,  2175,  2176,  2177,  2178,  2179,  2180,  2181,  2182,
+    2184,  2183,  2185,  2186,  2187,  2188,  2189,  2190,  2191,  2193,
+    2192,  2194,  2195,  2196,  2198,  2197,  2200,  2201,  2005,  2199,
+    2202,  2203,  2204,  2205,  2206,  2207,  2006,  2008,  2007,  2009,
+    2208,  2209,  2010,  2210,  2211,  2212,  2011,  2213,  2214,  2215,
+    2217,  2216,  2218,  2219,  2012,  2013,  2220,  2221,  2222,  2223,
+    2224,  2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,  2233,
+    2235,  2234,  2236,  2237,  2238,  2239,  2240,  2241,  2242,  2014,
+    2243,  2015,  2244,  2245,  2016,  2246,  2017,  2247,  2248,  2018,
+    2249,  2250,  2251,  2252,  2253,  2254,  2019,  2255,  2256,  2257,
+    2020,  2259,  2258,  2260,  2021,  2262,  2263,  2022,  2261,  2024,
+    2264,  2265,  2023,  2266,  2025,  2267,  2268,  2270,  2269,  2271,
+    2272,  2273,  2026,  2274,  2027,  2275,  2276,  2277,  2278,  2279,
+    2281,  2280,  2282,  2283,  2284,  2285,  2288,  2290,  2287,  2289,
+    2286,  2291,  2292,  2293,  2294,  2298,  2299,  2300,  2301,  2295,
+    2296,  2297,  2028,  2302,  2303,  2304,  2306,  2307,  2309,  2308,
+    2029,  2030,  2310,  2311,  2033,  2312,  2313,  2314,  2318,  2315,
+    2326,  2316,  2317,  2320,  2319,  2321,  2322,  2031,  2323,  2032,
+    2324,  2325,   184,  1965,   167,  1966,  1975,     0,  2378,  2377,
+     994,     0,  2509,  2510,   540,   819,     0,     0,   820,     0,
+     539,   818,   165,  2575,   120,     0,   536,   537,     0,     0,
+       0,  1693,     0,  1616,  1616,  1616,     0,     0,  1616,  1616,
+       0,  1619,  1616,   165,  1616,     0,    69,  1802,     0,     0,
+       0,     0,  1959,     0,  1626,     0,     0,  1852,  1866,     0,
+    1867,  1861,  2375,     0,  1106,     0,     0,     0,     0,   165,
+    1038,  1002,  1677,     0,   229,   238,   240,   241,   237,     0,
+    2510,  2521,  1073,  1079,  1091,  2330,  2327,  1779,   241,   983,
+     983,   983,   981,   983,  1701,  1698,     0,     0,     0,  1677,
+    1860,  2627,     0,     0,     0,  2623,     0,  2628,     0,  1081,
+       0,     0,     1,     5,     0,     0,  2108,  2212,  1792,  1790,
+    1954,     0,   864,   891,     0,   869,     0,   867,  1971,  1970,
+    1969,     0,   880,   879,   877,     0,   405,     0,   962,   963,
+     957,   959,   961,     0,  2584,   871,  1013,  2507,     0,   186,
+       0,    78,     0,  1017,  1020,     0,     0,  2513,     0,     0,
+       0,     0,   119,     0,     0,     0,   116,  1106,  1106,  2575,
+    2577,  2579,   540,   538,     0,     0,     0,  1697,  1696,  1695,
+       0,  1693,  2035,  1976,  2047,     0,  1927,     0,     0,     0,
+    1381,     0,  1981,     0,  2062,  2064,  1985,  1986,  1987,  1988,
+    1989,  1990,  1993,     0,     0,  1116,  1116,  1113,     0,     0,
+       0,  2085,  2086,  1936,     0,     0,     0,  1923,  1937,  2121,
+    2122,     0,  1925,  1926,  2128,     0,     0,     0,  2142,     0,
+    2147,  1934,     0,     0,  2179,  2181,     0,     0,  2185,  2186,
+    2187,  2188,  1909,  1171,     0,  1113,  1922,  1933,  2204,  1916,
+    2213,  2218,  2219,     0,  2228,     0,     0,     0,  2253,  2257,
+       0,     0,  2278,     0,     0,  1113,  1908,  2298,  2299,  2300,
+    2301,     0,  1924,  2028,  1935,     0,  2312,  1116,  1113,  1113,
+       0,     0,     0,  2321,  2325,     0,     0,     0,  2545,  1170,
+       0,  1343,     0,  1375,  1128,  1134,  1148,     0,  1163,  1197,
+    1198,  1200,  1298,  1199,  1205,  1204,  1593,  1920,  1203,  1202,
+    1921,  1196,  1944,  1965,  1943,     0,     0,     0,     0,     0,
+       0,     0,     0,  1775,     0,     0,  1603,  1616,    71,     0,
+    2423,  2438,  2439,  2435,  2440,  2458,  2441,  2445,     0,  2437,
+    2429,     0,  2444,     0,  2433,  2442,     0,  2427,     0,  2443,
+    2448,  2459,  2431,  2436,  2414,     0,  2421,  2425,  1956,  1487,
+    2390,  2391,     0,    77,  1628,  1629,  1627,   954,     0,  2640,
+    1853,  1854,  1855,     0,  1870,     0,  1033,     0,     0,   454,
+     445,     0,  1774,  1773,     0,  1846,  2522,     0,     0,     0,
+    1631,  1678,     0,  1630,  1841,     0,  1839,  1836,  1838,   230,
+       0,     0,   260,  2423,     0,  2408,     0,  2516,  2513,  2523,
+    2558,  2553,  2552,  2555,  2556,  1097,  2557,  1096,  2554,  2551,
+    1106,  1092,  1094,  1095,  2333,  1737,     0,   753,     0,  1758,
+    1787,  1738,     0,     0,  1787,     0,  1522,  1777,  1780,     0,
+    2342,  1751,   816,   815,  1761,   814,  2343,  1773,     0,  1725,
+    1739,     0,  1702,  1744,     0,  2344,     0,  1776,  1760,     0,
+    1759,  1522,  1787,     0,  1718,     0,     0,     0,     0,   236,
+     977,   987,   979,   974,     0,   980,   976,     0,  2641,  2642,
+    2388,   954,  1915,  1913,  1914,  1963,  2624,  1912,  2632,  2634,
+    2620,  2622,  2629,  1075,     0,  2527,     6,    63,     0,  1799,
+    2582,  2583,  2581,   769,     0,  1116,  1972,  2576,   168,   878,
+       0,   406,   168,     0,     0,     0,     0,     0,   407,   408,
+     344,   862,   960,   875,     0,     0,   874,  2584,     0,     0,
+    1048,  1050,  1049,  1066,   188,   185,   166,     0,   996,  1610,
+    1612,     0,  1021,  2512,     0,     0,  2514,  2518,  1169,  1168,
+       0,   113,   118,     0,     0,     0,  2484,   117,  2474,  2580,
+    1106,  1106,  1106,  2572,     0,  2560,  2567,  2568,  2571,  2570,
+    2569,  2566,     0,  2559,  2562,  2563,  2565,  2564,  2584,  2578,
+       0,   821,   821,   821,     0,  1680,  1683,  1687,  1691,  1694,
+       0,     0,  1492,  1218,  1492,  1492,  1492,  1382,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,  1492,     0,  1255,  1228,     0,  1256,     0,     0,
+       0,     0,     0,  1930,     0,     0,  2545,     0,     0,     0,
+    1348,     0,     0,     0,  2545,     0,     0,     0,     0,     0,
+       0,  1377,  1379,  1943,  1492,     0,     0,  1492,     0,     0,
+       0,     0,     0,  1121,  1261,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,  1492,  1492,     0,     0,
+    1492,  1269,     0,  1932,     0,     0,     0,  1931,     0,     0,
+    1929,   750,   751,  1910,  1928,     0,  1272,  1274,  1273,     0,
+    1492,  1492,     0,     0,  1208,  1207,  1209,     0,     0,     0,
+       0,     0,     0,  1167,  1166,  1165,  1164,     0,     0,     0,
+       0,  1173,     0,  1175,  1177,  1172,  1174,  1176,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1210,     0,     0,
+       0,  1911,  1307,     0,  1617,  1598,  1605,  1600,     0,  1775,
+    1601,  1609,   419,     0,  1606,  2472,  1602,     0,  1594,     0,
+      70,     0,  1824,  1829,     0,     0,     0,  1819,  1827,  1821,
+    1828,  1820,     0,     0,  1830,  1823,     0,  1822,  1826,  1825,
+    1803,  1807,  1811,  1804,  2424,  2422,  2456,  2455,  2460,     0,
+    2457,  2453,  2446,  2485,  2450,     0,  2485,  2452,  2451,  2485,
+    2447,  2454,  2485,  2419,     0,  1488,  1489,     0,  2389,     0,
+    1955,   955,     0,     0,  1856,  1857,     0,  1056,  1871,  1872,
+    1868,  1487,  2376,  2379,     0,   640,  1107,   455,     0,     0,
+     466,     0,     0,    66,    67,     0,  1040,     0,  1039,  1043,
+       0,  1000,  1003,     0,     0,  1634,  1624,  1633,  1842,  1843,
+       0,   228,   253,   248,   256,   250,   252,   251,   257,   258,
+     259,   254,   249,   255,   242,     0,  2422,     0,  2419,  2517,
+       0,  2519,  2536,  1080,  2524,  1103,  1082,  1102,     0,  1093,
+    2328,  2331,  2339,  1783,   752,     0,     0,  1750,     0,   540,
+       0,     0,     0,     0,     0,     0,  1719,     0,     0,   583,
+       0,  1743,  1523,  1781,  1782,  1787,     0,     0,  1787,     0,
+    1756,  1777,     0,  1787,  1714,     0,     0,  1706,  1711,  1707,
+       0,  1713,  1712,  1715,  1703,  1704,  1783,  1730,  1757,  1777,
+    1742,  1749,     0,  1729,  1736,     0,  1747,  1777,  1777,  1787,
+    1787,   990,   989,   988,   984,   985,   990,     0,  1699,  1416,
+       0,     0,  2621,  2635,  2619,  2630,  2631,  2618,  1076,  2528,
+    1074,  2529,     0,     7,     4,  1793,  1791,  1800,  1801,   770,
+     769,   531,   534,   533,     0,     0,  1974,     0,   870,     0,
+    1775,   868,     0,     0,  1775,   355,  1775,   409,   769,   882,
+       0,     0,   872,  1014,     0,     0,   443,  1066,  1052,  1068,
+       0,   189,   191,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    79,    80,    96,   998,   997,     0,   995,  1031,  1029,
+    1028,  1026,     0,  1027,  1025,  1016,  1022,  1023,  2511,  2515,
+     541,   769,  1775,     0,   347,     0,     0,     0,     0,     0,
+     540,     0,     0,  2561,   105,   822,     0,     0,     0,  1685,
+    1613,  1681,  1615,  1954,     0,     0,     0,  1689,     0,     0,
+    1493,  1492,     0,  1357,     0,     0,     0,     0,  1383,     0,
+       0,     0,     0,     0,     0,     0,  1194,     0,     0,     0,
+       0,     0,     0,     0,  1328,     0,  1357,  1117,  1567,  1568,
+    1552,  1553,  1551,  1554,  1114,     0,  1555,  1566,  1285,     0,
+       0,     0,     0,     0,     0,  1463,  1464,  1465,  1466,  1474,
+    1467,  1468,  1469,  1476,  1481,  1470,  1471,  1477,  1478,  1479,
+    1472,  1480,  1475,  1473,  1482,     0,  1462,     0,  1485,  1483,
+    1486,  1484,     0,  1349,  1341,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1492,     0,     0,
+       0,  1492,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1492,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1251,     0,  1946,  1945,     0,     0,
+       0,     0,  1212,     0,  1211,  1425,     0,  2530,  2546,     0,
+    2345,  1344,  1346,     0,  1119,  1118,  1120,  1131,  1124,  1129,
+    1122,  1126,     0,  1178,  2041,  1132,     0,     0,  1160,  2545,
+    1501,  1161,  1146,  1151,  1152,     0,  1149,  1150,     0,  1154,
+       0,  1153,  1157,  1158,  1159,  1162,     0,     0,     0,     0,
+    1201,  1206,  1376,  1106,  1947,     0,  1596,   419,   422,   421,
+    1607,   420,  1655,     0,   964,     0,     0,    72,    74,  1816,
+    1813,  1812,  1814,  1818,  1817,  1815,     0,  1831,  2449,     0,
+    2430,     0,  2434,  2428,  2432,     0,     0,  2420,     0,  2426,
+    1491,  2116,  2197,     0,  1494,  2393,  1621,  2639,  2312,  1858,
+    1851,     0,  1869,     0,     0,     0,  1034,   641,     0,  1106,
+     453,   452,   451,   450,     0,   468,   448,   456,    68,     0,
+       0,  1847,     0,     0,     0,     0,     0,  1004,  1632,     0,
+    1844,  1840,  1837,     0,     0,     0,     0,     0,     0,     0,
+    2520,  2538,  2537,  2525,  1106,  1513,  1107,  1107,  1943,  2333,
+    2336,  2337,  2340,  2338,     0,  2335,  2334,  2349,     0,  1785,
+    1788,  1789,     0,     0,  1769,  1763,  1762,  1754,  1764,  1755,
+    1772,  1771,  1770,  1727,  1726,  1535,  1536,  2251,  1534,  1526,
+    1529,  1533,  1532,  1722,  1778,  1768,  1766,  1752,  1787,  1767,
+    1765,  1708,  1709,  1710,     0,  1522,     0,  1785,  1787,  1777,
+       0,  1787,  1787,  1746,  1748,     0,   978,   987,   975,   982,
+    1434,  1433,     0,  1390,     0,  1392,  1389,  1388,  1387,     0,
+    1433,  2625,  2633,  2637,     0,  1522,  2535,  2533,   532,  1655,
+    1655,     0,  1973,     0,     0,     0,     0,     0,     0,     0,
+     169,   178,     0,     0,   353,   354,  1655,   352,   395,   396,
+     399,   400,   401,     0,     0,     0,     0,     0,     0,     0,
+       0,   122,   402,  1655,  1655,   349,   375,   376,   379,   380,
+     381,   382,   383,   345,     0,   350,   952,   952,     0,  1655,
+    1655,   952,  1655,     0,     0,  1655,  1655,     0,     0,  1655,
+       0,     0,   952,     0,  1655,   950,     0,     0,  1655,  1655,
+    1655,  1655,   952,     0,     0,  1655,  1655,   443,  1655,     0,
+       0,   970,     0,     0,  1655,     0,     0,  1655,  1655,     0,
+    1655,   898,   949,   544,   565,   566,   863,   897,   899,   911,
+     439,     0,   928,   951,     0,     0,   884,   886,  2585,  2586,
+    2587,  1055,  1047,  1054,  1051,  1066,  1064,  1053,   811,   810,
+       0,  1067,   187,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,  1611,     0,  1018,  1030,  1024,   114,   769,
+    1655,  1655,  1655,  1655,   351,   384,   385,   388,   389,   390,
+     391,   394,   392,   393,     0,     0,  1775,     0,  2476,  2477,
+       0,  2475,     0,  2613,     0,     0,     0,   167,   542,     0,
+       0,   823,     0,     0,     0,     0,     0,  1494,     0,  1957,
+    1688,  1416,  1692,  1691,     0,  1281,     0,  1321,     0,  1323,
+    1324,  1325,     0,     0,     0,     0,     0,  1282,     0,  1226,
+    1283,  1284,     0,     0,  1279,     0,     0,     0,     0,  1278,
+       0,     0,     0,     0,  1327,     0,  1115,     0,     0,  1229,
+    1230,  1223,  1215,     0,  1300,     0,     0,  1231,     0,     0,
+       0,     0,  1287,     0,  1301,  1378,     0,  1380,  1947,     0,
+    1333,  1288,  1236,     0,  1331,     0,  1237,  1302,  1303,  1304,
+    1290,  1291,     0,  1306,     0,  1292,     0,     0,     0,     0,
+    1239,  1337,  1335,     0,     0,     0,     0,  1339,  1241,     0,
+       0,     0,  1240,     0,     0,     0,     0,     0,     0,     0,
+    1243,     0,  1224,  1336,  1338,  1296,     0,  1252,     0,  2539,
+    1424,  2547,  1425,     0,     0,  2541,  2531,  2536,  2544,  1216,
+       0,     0,     0,     0,     0,  1948,  1125,  1130,  1123,  1127,
+    2545,     0,     0,     0,     0,  1144,  1143,     0,     0,     0,
+    2545,  1501,  1147,     0,     0,  1317,  1318,  1373,     0,  1599,
+    1597,  1608,  1654,  1653,  1656,     0,  2473,   966,   965,  1604,
+     964,    75,     0,  1810,  1832,  1805,  2489,     0,  2488,     0,
+    2468,  2471,  1954,     0,     0,     0,  2397,  2404,  2400,  2405,
+    2398,  2399,  2403,  2406,  2407,  2394,  2401,  1495,  1524,     0,
+    1859,  1057,  1059,  1060,  1058,  1066,     0,     0,  2382,  2383,
+    2381,  2380,   458,     0,   467,     0,   479,     0,     0,     0,
+    1849,  1848,     0,  1041,  1044,  1045,  1011,  1009,  1008,  1010,
+     999,  1005,  1006,   524,  1638,     0,     0,     0,  1644,  1625,
+    1635,     0,  2085,  2298,  2301,   243,   246,   245,   247,     0,
+       0,     0,     0,     0,     0,  1101,  1416,  1585,  1098,  1086,
+    1524,  1514,  1085,  1108,  1104,     0,  2332,     0,  2295,  2360,
+       0,     0,     0,     0,     0,  2350,  1784,     0,  1731,     0,
+    1753,     0,     0,     0,     0,  1724,     0,  1745,  1705,  1733,
+    1723,  1494,  1777,  1720,  1721,   992,   991,   986,  1433,  1416,
+       0,     0,  1413,  1435,     0,  1435,  1416,  1416,     0,  1416,
+    1487,  1430,     0,     0,  2636,  1515,  2534,     0,     0,   866,
+     172,   175,   173,     0,   174,     0,     0,   404,   403,     0,
+    1775,   397,   126,   125,   127,   128,  1549,  1550,  1546,  1547,
+    1545,  1548,   130,   129,   124,   881,     0,     0,     0,  1775,
+     377,   356,   357,   360,   361,   362,   953,   856,  1035,   932,
+       0,   621,   856,   807,   812,   812,   930,     0,  1035,     0,
+       0,     0,     0,     0,  1035,     0,     0,     0,  1655,     0,
+     943,   893,     0,     0,     0,     0,     0,   944,     0,   894,
+    1655,     0,     0,     0,     0,     0,  1035,     0,     0,     0,
+     441,     0,  1035,   912,   973,   971,   972,     0,  1035,  1035,
+       0,   571,   572,   570,     0,     0,     0,   563,   545,   769,
+     895,   440,   896,   620,     0,   967,   617,   623,  1950,     0,
+       0,     0,     0,   136,  2589,     0,  1454,   190,    97,    86,
+      82,   101,  1559,  1560,  1558,  1556,  1557,   102,    84,    85,
+      89,    88,    90,    91,    92,    87,    93,    83,    94,   103,
+     104,    81,  1032,     0,     0,     0,     0,  1775,   386,     0,
+       0,  1655,   346,   363,   364,   367,   368,   369,   370,   371,
+     374,   372,   373,     0,  2480,  2482,     0,     0,   340,   339,
+       0,   131,  2607,     0,     0,   620,   106,   439,   543,   546,
+     849,   851,   850,   837,   836,   107,   109,   111,  1614,  1691,
+    1416,  1513,  1955,  1494,     0,  1690,     0,     0,  1322,  1358,
+       0,  1384,     0,  1220,   724,   724,   724,  1367,   709,  1371,
+    1362,   724,  1363,   724,  1365,     0,   755,     0,   754,     0,
+    1180,  1195,     0,     0,     0,     0,     0,     0,  1329,  1326,
+       0,     0,     0,     0,  1352,     0,     0,     0,  1225,     0,
+    1312,  1334,  1332,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,  1340,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,  1213,  1106,  2548,
+    2550,  1077,     0,  2540,  2542,  2346,  2347,  2348,   858,  1345,
+       0,  1141,  1137,     0,  1135,  1500,  1156,  1155,     0,     0,
+       0,  1145,  1107,  1308,  1106,     0,  1374,  1949,   418,   582,
+    1595,    73,  1808,  2486,     0,  2497,     0,     0,     0,     0,
+       0,     0,     0,  2392,  1525,  1665,     0,  1066,  1070,  1964,
+    1862,  2385,  2386,  2384,     0,   459,   460,   462,  1107,   476,
+     454,     0,   446,   449,     0,   458,     0,     0,  1001,  1007,
+    1091,     0,  1657,  1642,  1649,  1643,     0,     0,     0,  1641,
+    1939,  1938,  1945,  2523,     0,     0,  2413,     0,     0,     0,
+    2526,  1494,  1494,  1579,     0,     0,  1083,  1088,  1084,  1087,
+       0,  1105,  1112,  1111,  1940,  1947,     0,     0,     0,     0,
+     757,   756,   765,     0,     0,     0,  2345,     0,   761,   763,
+     762,  2355,   760,  1786,  1522,  1741,  1740,  1537,  1528,     0,
+    1531,  1530,  1716,  1522,  1735,  1787,     0,     0,  2530,  1428,
+       0,  1415,  1414,  1436,     0,  1416,  1435,  1435,     0,  1395,
+    1394,  1669,  1672,     0,  1393,  1452,  1418,  1091,  2626,  2638,
+       0,   768,   767,   581,   764,   580,   177,   176,   182,   183,
+    1563,  1564,  1561,  1562,   410,   423,  1565,   424,   398,   123,
+     411,   412,   378,     0,   358,   622,   857,   915,     0,     0,
+       0,   812,   616,   856,   821,   813,   856,   856,     0,     0,
+     555,   552,   934,   558,   913,   905,   914,   925,   927,     0,
+     554,   573,     0,     0,   561,   856,   900,   941,   942,   964,
+     549,     0,   592,   593,   591,   567,   574,   550,   551,   936,
+       0,  1509,  1511,  1519,   557,   556,  1570,  1569,   560,     0,
+     553,     0,   947,   920,     0,   589,   587,   584,   586,   585,
+     590,   588,   562,   559,   575,   910,     0,   952,   952,   929,
+       0,   600,   601,   603,   604,  1953,     0,   969,   931,     0,
+     605,   618,   606,     0,     0,   579,   578,   576,   577,     0,
+     146,     0,     0,   883,     0,   139,   137,   148,     0,     0,
+       0,  1457,     0,  1458,  1455,  1456,     0,    98,   100,   417,
+     416,   415,   414,   387,     0,     0,     0,  1775,   365,  2481,
+    2479,  2478,     0,     0,  2614,   343,   341,   342,     0,     0,
+     192,   598,   599,   597,   596,     0,   427,     0,  2011,   425,
+       0,   438,     0,  1873,   769,   547,     0,     0,     0,     0,
+    1494,  1538,  1958,  1684,     0,  1253,  1385,     0,     0,   725,
+    1359,   777,  1369,     0,  1370,   711,   710,   726,  1361,  1364,
+    1368,  1366,  1219,  1227,  1275,     0,  1193,  1276,  1277,     0,
+    1299,  1222,  1221,     0,     0,     0,  1259,  1260,     0,  1350,
+       0,     0,  1233,     0,  1235,     0,     0,  1314,  1289,  1305,
+    1262,  1293,     0,  1238,  1214,     0,  1263,     0,  1268,  1266,
+       0,  1242,     0,     0,  1249,     0,  1247,     0,  1248,     0,
+    1250,  1295,  1297,  1426,  2549,  1078,     0,     0,  1347,  1133,
+       0,  1142,  1139,     0,  1136,  1108,  1319,  1309,     0,  1806,
+    2487,     0,  2418,  2470,  2469,  2490,  2490,  2490,     0,  1496,
+       0,  1622,  1061,  1066,  1070,     0,  1062,  1873,   463,     0,
+       0,     0,   483,     0,   481,   457,     0,  1042,  1012,  1106,
+    1639,  1651,     0,  1659,     0,     0,  1636,  1646,     0,     0,
+       0,  1645,   244,     0,  2410,  2411,  2409,  1524,  1502,     0,
+       0,  1591,     0,  1586,  1099,     0,  1110,  1109,     0,  2362,
+       0,  2361,  2373,  2374,  2371,  2372,  2370,  2351,     0,  2357,
+    2356,     0,     0,     0,  2367,  2358,     0,     0,  1732,  1527,
+    1734,  1728,   993,  2536,  1487,  1420,  1416,  1391,  1416,  1402,
+       0,     0,  1416,  1398,  1396,  1400,     0,  1494,     0,  1417,
+    1449,  1106,  1942,  1516,  1519,   359,   917,     0,   856,   808,
+     809,   821,     0,   821,   821,     0,     0,   904,     0,  1021,
+       0,   909,   765,   568,   940,   939,   569,     0,   902,     0,
+    1520,  1521,  1512,   442,   901,   922,   907,  1831,   933,   620,
+     968,   789,   705,   654,   645,   724,   648,   647,   691,   724,
+     659,   709,   707,   677,   709,   709,   684,   683,   701,   687,
+     667,   777,   777,   666,   704,   777,   688,   686,   690,     0,
+     692,   709,   697,   685,   689,   706,   682,   679,   703,   724,
+     724,   724,   663,   702,   777,     0,   695,   724,   624,   728,
+     665,   777,   784,     0,     0,   724,   726,  1952,   147,   135,
+       0,     0,   885,   887,     0,     0,   888,  2591,     0,  2593,
+       0,  1069,     0,    95,     0,     0,   348,   413,   366,  2483,
+       0,   203,  1106,     0,     0,   193,   195,   196,     0,     0,
+       0,   429,  1875,  1874,   426,   527,   548,     0,     0,     0,
+    1691,  1686,     0,  1682,     0,  1386,     0,     0,     0,     0,
+     771,   782,   780,   774,     0,   778,   779,  1360,     0,     0,
+     727,  1372,   724,  1190,   709,  1184,  1186,  1182,     0,   692,
+    1185,   724,     0,   777,  1189,  1181,     0,  1330,     0,     0,
+    1353,     0,     0,     0,     0,     0,     0,     0,  1217,     0,
+    1310,     0,     0,     0,     0,     0,     0,  1246,  1244,  1245,
+    1524,  2530,   859,  1138,     0,  1320,     0,     0,     0,  2495,
+    2495,  2495,  1664,  1663,     0,  1662,  1666,  1063,  1071,     0,
+     461,   464,     0,   456,     0,   480,     0,   447,   525,     0,
+       0,     0,  1660,  1648,  2527,  1637,  1640,  1947,  2412,  1090,
+       0,  1497,  1590,  1587,     0,  1580,  1582,  1584,     0,  1941,
+       0,     0,  2366,  2352,   766,     0,     0,     0,     0,  2353,
+    1421,  1419,  1429,     0,  1387,  1416,  1416,     0,  1387,     0,
+       0,     0,  1671,  1513,  1673,  1453,     0,  1431,     0,  1518,
+       0,     0,   916,     0,     0,     0,     0,     0,     0,   946,
+       0,   967,   906,   926,   948,   937,  1035,  1510,   921,   923,
+    1004,     0,   602,     0,   793,   653,   646,   664,   662,   713,
+     708,     0,   713,   713,   673,   691,   668,     0,   777,   681,
+     672,   693,   696,   698,   700,   713,     0,   777,   661,   660,
+     670,   657,   713,   736,     0,     0,     0,     0,   732,     0,
+     787,     0,   739,     0,   625,   729,   731,     0,     0,     0,
+     694,   777,   650,   785,   784,   652,   777,   784,   713,   713,
+       0,   133,   138,   149,   150,   876,  2590,     0,  2588,     0,
+    1065,  1459,    99,     0,     0,   206,   204,   205,     0,   199,
+     201,   196,  2601,     0,  2608,     0,     0,  2606,   428,   431,
+     542,   528,     0,     0,  1519,   854,     0,     0,  2251,  1539,
+    1254,   722,   720,   723,   721,   773,   772,   776,     0,   775,
+     784,     0,     0,  1192,  1187,   693,  1191,  1183,  1188,  1280,
+    1257,  1258,     0,  1351,  1342,  1286,     0,  1234,  1311,     0,
+       0,  1294,  1264,  1267,  1265,  1270,  1271,  1098,  1098,   594,
+    2543,  1140,  1833,  2498,     0,     0,  2494,  2492,     0,  2493,
+    2491,  2461,     0,  2416,  2417,  2415,  2402,     0,     0,     0,
+    1106,   469,     0,   486,   485,   482,  1524,  1650,  1652,  1658,
+    1647,     0,  1498,  1513,   758,  1583,     0,  1100,  2364,  2363,
+    2365,  2359,     0,     0,     0,     0,  1403,     0,  1407,  1412,
+    1408,     0,  1399,  1397,     0,  1538,  1441,  1442,     0,     0,
+    1447,  1451,  1524,  1519,   919,     0,   619,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   945,  1917,   935,
+     967,   903,     0,   908,   564,     0,   792,     0,   797,   717,
+     718,   719,   674,   714,   716,     0,   676,   644,   669,   699,
+     675,     0,   671,   658,   742,   741,  1116,   734,   749,   629,
+       0,     0,   740,   626,   730,   738,   733,     0,   649,   651,
+     655,   656,   642,   643,  1951,   140,   889,   280,  2592,  1081,
+       0,  2597,   121,  2605,  2615,   203,     0,     0,   144,     0,
+     194,   765,   197,  2527,   439,     0,   434,   824,     0,   853,
+       0,   826,   828,  1540,     0,   783,   781,     0,  1354,  1519,
+       0,  1313,  1315,  1427,   595,     0,  1809,  2467,  2466,  2465,
+    2462,     0,     0,     0,     0,     0,     0,  2496,  2500,  1661,
+       0,     0,     0,   477,     0,     0,   511,   526,  1506,  1519,
+       0,  1524,     0,  1588,  1581,  2369,  2368,  2354,  1422,     0,
+       0,     0,     0,     0,  1460,  1670,  1437,  1437,  1448,  1432,
+    1517,   918,     0,     0,   607,     0,     0,  1919,  1918,   938,
+       0,   790,     0,   794,   795,   796,     0,   788,   715,     0,
+     860,     0,   748,  1116,   737,     0,   746,   745,   743,   744,
+       0,   142,   306,     0,   292,   278,     0,     0,     0,   282,
+     151,   154,   152,     0,   153,   159,     0,   160,   161,   162,
+     163,   164,   155,   304,   305,   158,   156,   157,     0,  1967,
+       0,  1968,  2595,     0,     0,  2594,   170,   200,     0,     0,
+     136,   145,  2609,   747,   432,  1873,     0,  2523,     0,  1655,
+     108,   825,   845,   844,   830,     0,  1519,     0,     0,   110,
+     827,   847,   834,   112,   829,   846,   832,  1541,   712,     0,
+    1356,  1232,     0,  2463,  2501,  2504,  2502,  2503,  1542,     0,
+    2505,  2499,     0,  1863,  1107,     0,   470,     0,   473,   475,
+     489,     0,  1655,  1655,     0,     0,  1655,  1655,  1655,  1655,
+     504,   512,   514,     0,  1507,  1508,     0,  1503,  1505,  1499,
+    1571,   759,  1876,  2530,  1404,     0,  1409,     0,  1401,     0,
+       0,  1445,  1443,     0,   613,   824,   609,   611,     0,   791,
+       0,     0,   777,     0,   777,   735,  1106,   141,     0,   134,
+       0,     0,   291,   294,     0,     0,   297,   287,   286,   288,
+       0,   281,   280,   280,   334,   285,   331,   330,   323,  2527,
+       0,     0,     0,  2616,   202,  1106,   148,     0,   430,   436,
+     435,   839,     0,   831,     0,   852,   855,     0,   835,   833,
+    1519,  1834,  1544,  1543,  1667,  1675,     0,   758,     0,   478,
+     471,     0,     0,   487,     0,     0,  1655,  1655,     0,     0,
+       0,     0,     0,   484,   513,  1655,  1519,     0,  1089,     0,
+    1884,  1423,     0,     0,  1461,     0,  1438,     0,     0,     0,
+     615,   824,   608,   826,   828,     0,   803,     0,   802,     0,
+     799,   798,   678,   861,   680,     0,   143,   307,   318,   321,
+     313,   293,     0,     0,     0,   283,   280,     0,   267,   265,
+     266,   272,   273,   274,   275,   276,   277,   268,   271,   269,
+     270,   280,     0,   211,     0,     0,  2596,     0,  2598,     0,
+     180,   179,   171,     0,   280,  2602,     0,  2610,  2527,   838,
+     843,   842,   840,   841,   848,  1355,     0,     0,  1864,   465,
+     477,   474,   497,   490,   493,     0,   523,   517,     0,     0,
+     519,   520,   518,   515,   508,     0,   506,     0,  1504,  1572,
+       0,     0,     0,     0,  1877,  1879,     0,  1589,  1406,  1411,
+    1440,  1439,  1454,     0,   614,   610,   612,   924,   805,   806,
+     804,     0,     0,   630,     0,     0,   280,   314,     0,   289,
+       0,     0,     0,     0,   209,   337,     0,   207,   325,   325,
+    2599,  2600,   181,  2617,     0,   150,   170,   437,  1674,  1676,
+    1890,   472,   497,     0,   495,     0,   491,   488,   492,   521,
+     522,     0,   505,     0,   516,     0,     0,     0,     0,     0,
+    1878,     0,     0,  1885,  1887,     0,     0,     0,     0,   632,
+     631,   633,   315,   321,   311,   319,   280,     0,     0,   279,
+     298,   333,   210,     0,   335,     0,   280,     0,   324,   326,
+     328,     0,   132,  2611,     0,  1876,   494,     0,   502,   498,
+     500,   503,   511,   510,   507,  1106,  1882,  1883,     0,  1880,
+       0,     0,  1886,  1446,  1444,   801,   800,     0,   637,   627,
+     634,   636,     0,   312,     0,     0,   310,   290,   295,   280,
+       0,   280,   222,   221,     0,   213,   261,   332,     0,   212,
+    2603,   280,     0,  1884,   496,     0,     0,   509,     0,     0,
+    1575,  1577,  1881,  1889,  1888,   639,   638,   635,   316,     0,
+     280,     0,   280,     0,   280,     0,     0,     0,     0,     0,
+     208,   280,  2612,     0,  1892,   501,   499,  1107,  1573,  1106,
+       0,   308,   280,   296,   301,   338,     0,   216,   262,   263,
+       0,   219,  2604,  1891,     0,  1896,  1578,  1576,   280,   280,
+     297,   300,   336,     0,     0,   214,   215,   227,   226,   218,
+       0,     0,     0,  1903,   280,   280,   302,   235,   233,   280,
+     223,   231,   225,     0,   232,   264,   220,  1894,  1895,  1893,
+    1898,     0,     0,  1900,  1901,     0,  1865,     0,   217,   234,
+    1902,  1897,     0,  1904,  1906,     0,   224,  1899,     0,  1106,
+    1905,     0,  1107,  1907
+};
+
+  /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
    -3798, -3798, -3798, -3798, -3798,    71, -3798, -3798, -3798, -3798,
@@ -5849,11 +4200,107 @@ static const yytype_int16 yypgoto[] =
     1840, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798, -3798
 };
 
-/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-   positive, shift that token.  If negative, reduce the rule which
-   number is the opposite.  If zero, do what YYDEFACT says.
-   If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -2585
+  /* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,    58,   604,  1454,    59,    60,    61,    62,    63,  1323,
+      64,   818,  1250,  1757,  1758,    65,   543,    66,  1027,  1511,
+    1512,  2986,  2987,  1513,    67,  2098,  3026,  3027,  3028,  1531,
+     513,   514,  1950,  1951,  1053,  3009,  2973,  3785,  2977,  3901,
+    4039,  3940,  2026,  3326,  3786,  3787,  3910,   538,  2096,  1468,
+    4063,  1930,  4172,  1931,    68,   639,  1025,  1490,  1491,  3344,
+    3345,  3606,  3346,  3598,  3599,  3600,  3601,  4306,  4146,  4247,
+    4307,  4387,  4423,  4429,  4430,  4354,  4439,  4440,  4441,  4427,
+     890,  4442,    69,   566,   567,   892,  1354,  2345,  1355,    70,
+    4355,  4425,  4147,  4148,  4046,  4149,  3913,  4150,  4050,  4151,
+    3916,  4152,  4153,  4154,  4155,  4298,  4156,  4045,  4347,  4143,
+    4144,  4349,  4404,  4421,  4157,  3923,  4040,  4234,  3924,  4041,
+    4293,  4139,  4294,  4342,  4400,  4140,  4235,  4345,  4238,  4158,
+    4164,  4308,  4159,  4165,  4160,  3928,  4057,  4163,  4055,  4162,
+    4351,  4303,  2590,  3008,   622,   623,   652,  2086,   624,  1042,
+     999,  1470,  1963,  1964,  2451,  2452,  2572,  2573,  2574,  1955,
+    1956,  1957,  2074,  2075,  2076,  1937,  1938,  1939,  1474,  1934,
+    1935,   625,  1000,  1010,  1958,  1959,  1960,  2578,  2078,  2079,
+    2080,  2081,  1961,  1750,  1962,  2864,  2596,  3019,  3610,  3803,
+    3354,  3947,  4178,  3020,  3021,  2521,  2929,  2500,    71,   555,
+     870,  1320,  2317,  1321,  2319,  2744,  2745,  2746,  1800,  1801,
+    3681,  1805,  2316,  3843,  4190,  3987,  3988,  2748,  3986,  2752,
+    3143,  3144,  3444,  3683,  3846,  4195,  4092,  4267,  4193,  4263,
+    4194,  4265,  4366,  4319,  4320,  4103,  4205,  4206,  4271,  4322,
+    4000,  4001,  4002,  2338,  2760,  3686,  3612,  2068,  1460,  1461,
+     515,   516,   517,   649,  2597,  2012,  2598,  2599,  2946,  2014,
+    2015,  2718,  1388,  2942,  2915,  3657,  3015,  2950,  2951,  2952,
+    2953,  2954,  4025,  4123,  4124,  4121,  2960,  2882,  2460,  2461,
+    2526,  2963,  3308,  3895,  3563,  4291,  4339,  4340,  4341,    72,
+     867,  3801,  3531,  3546,  3310,  3311,  3312,  3313,  3314,  3315,
+    3316,  3044,  3045,  3752,  3753,  3754,  3039,  3040,  3381,  3564,
+    3565,  3566,  3802,  3767,  1174,  3374,  2801,  2802,  3853,  2810,
+    2811,  2852,  3189,  2853,  1464,  3375,  3376,  3377,  3575,  3567,
+    2962,  3524,  3745,  3748,  3887,  4130,  2462,  2883,  2463,  2886,
+     953,   518,  2464,  2465,  1545,  1546,  3950,  3959,  3963,  3951,
+    3964,  3960,  3952,  3953,  3954,  3966,  3962,  2603,  3613,  3614,
+    2875,  3108,  3889,    73,  1478,   993,  1002,   998,  1017,   634,
+    1479,  2027,  2533,  3585,   612,  2016,  3516,  3239,  3520,  2017,
+    2895,  2018,  3226,  3502,  2019,  3255,  3518,  3742,  2896,  2897,
+    2020,  2021,  2022,  3238,  3247,  3740,  2466,  1302,   126,   127,
+     630,   631,   632,  2269,  2958,  2507,    74,  1436,  1431,    75,
+     965,   960,   961,  1434,  1435,  1896,  2396,    76,   642,  1517,
+    1332,  1816,    77,   879,  2330,  2331,  2332,  2758,    78,  1018,
+      79,   644,  1031,    80,   501,  1525,  1526,  1527,  2065,    81,
+    1314,   134,    82,   878,  1326,  1328,  1329,    83,   638,  1019,
+    1020,  1021,  1022,  2032,    84,  1791,  2301,  2302,  2303,  2304,
+    1487,  2535,  1488,  1489,  2041,  3136,    85,    86,   601,  2224,
+     572,   899,   573,   574,  1835,  2358,  3658,   910,   911,   912,
+    2786,  1366,  1367,  1368,  1797,  2791,  1107,  1104,   783,   784,
+     785,   786,  1198,  1199,  3568,   787,  1208,  1716,  3056,  3395,
+    1576,  1577,   788,   789,   790,   791,   792,   793,  1743,  3076,
+    3077,  3410,  2254,  2255,  2256,   794,  2143,  3063,  2156,   795,
+    1191,  1701,  1634,  3402,  3069,  3642,  3818,  1562,  2118,  2635,
+    3047,  2715,  2218,  1130,  1131,  1088,  2125,  1568,  1903,  1904,
+    1905,  1906,  1907,  3490,  3489,  3491,  3859,  3707,  3861,  3711,
+    2407,  1908,  1909,  2827,  3705,  4013,  2219,  2220,  2221,  3420,
+    2828,  3206,  2846,  2847,  3722,  2398,  1910,  2834,  4021,  3719,
+    3720,  4119,  4118,  3721,  3495,  3496,  3219,  3220,  2982,  2983,
+    2984,  3863,  1625,  1626,  1632,  1297,  1298,  1563,  2298,  2732,
+    3693,  3850,  2245,  3461,  3848,  4007,  2023,  2921,  2922,  2360,
+    2361,  2850,  3223,  3252,  1391,  3659,  2734,  1869,  2817,  2818,
+    3363,  3980,  4428,  1595,  2547,  2865,  2866,  1597,  2928,  4108,
+    4275,  4369,  4370,  4371,  3171,  3172,  3465,  3466,  2362,  2783,
+    3173,  3694,  4012,    87,   522,    88,  1755,  2260,  1247,  2274,
+    1029,  1549,  1550,   806,   535,    89,   544,  2299,    90,   562,
+    1819,   857,   882,  1336,  1337,  2339,  2761,  2768,  2340,  2773,
+    3454,  2763,  3150,  3151,  2264,  2265,  2764,  3153,  3451,  3434,
+    3435,  3131,  3678,    91,   589,  3217,  2841,  2842,  4084,  4085,
+     883,    92,   521,  1075,  2107,  1555,  2106,  1076,  1077,  2109,
+     670,   671,    93,   967,   585,  1413,  1414,  1415,  1885,    94,
+     577,   954,  2814,  2823,  1863,   874,  1243,  1395,   957,  1396,
+    1849,  2378,  1377,    95,   989,   988,    96,   608,  1456,    97,
+     819,  1270,  1767,  2722,  3119,  1271,  1272,  2275,  3826,    98,
+     563,   887,   888,  1339,  1821,    99,   557,   875,  1811,   100,
+     547,   862,  1306,  1790,   101,   102,   864,  3137,  4087,  4260,
+     551,  1793,  1310,  3355,  4110,  4214,  4215,  4217,  4283,  4284,
+    4315,  4415,  4449,  4433,  4452,  4453,  4456,  4463,  4464,   797,
+     976,   798,  3737,   799,   800,  2769,  2770,  3224,   801,  2771,
+     802,  2876,  1030,  1552,   541,   493,   619,   977,  2740,   804,
+    3930,   996,  1046,   495,   496,   103,   914,   576,  1370,  1371,
+    1372,  1844,  1845,   958,  2233,  1846,  1847,  2375,  2370,  3473,
+    3195,  3187,   104,   865,   500,  1312,  1313,  2310,   105,   588,
+     106,  1299,  1784,  1785,  2295,  2731,  2296,   107,   895,   108,
+     844,  1778,   845,  1275,   846,   847,  1289,  1283,  1292,  1286,
+    3831,  3670,  3671,  2283,  1246,  1047,  2090,  3002,  1048,  1770,
+    2277,  2278,  3429,  3673,  3122,  3837,  3838,   109,   135,   503,
+     647,  1037,  1360,   110,   111,   112,   113,  1363,  1449,  2354,
+    1450,  2225,  1451,  1452,  1917,  1833,  1697,  1698,  3106,  1188,
+    1189,  2228,  2688,  2689,   913,   656,  1063,  1055,   128,   129,
+     130,   659,   660,   131,  1015,  1016,  2534,  2979,  3328,  3588,
+    3589,  3791,  3935,  1057,  3797,  4254,  4391,  1058,  1059,  3010,
+    3799,  4067,  4256,  4361,  1060,  2587,  3341,  3936,  4174,   114,
+     978,   598,  1447,  1442,  1444,  1913,  2414,   115,   116,   117
+};
+
+  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+     positive, shift that token.  If negative, reduce the rule whose
+     number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
      494,  1040,   956,  1457,  1455,   952,  1686,  1105,   984,  1364,
@@ -17128,8 +15575,8 @@ static const yytype_int16 yycheck[] =
       -1,   606,    -1,    -1,   609,    -1,   611,    -1,    -1,   614
 };
 
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-   symbol of state STATE-NUM.  */
+  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+     symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
        0,    13,    15,    31,    35,    49,    50,    57,    62,    63,
@@ -17582,95 +16029,581 @@ static const yytype_uint16 yystos[] =
     1407,  1122,  1309,  1123
 };
 
-#define yyerrok		(yyerrstatus = 0)
-#define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		(-2)
-#define YYEOF		0
-
-#define YYACCEPT	goto yyacceptlab
-#define YYABORT		goto yyabortlab
-#define YYERROR		goto yyerrorlab
+  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint16 yyr1[] =
+{
+       0,   639,   640,   641,   640,   640,   642,   642,   643,   643,
+     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
+     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
+     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
+     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
+     644,   644,   644,   644,   644,   644,   644,   644,   644,   644,
+     644,   644,   644,   645,   646,   646,   647,   648,   648,   650,
+     649,   651,   651,   652,   652,   653,   655,   654,   657,   656,
+     658,   658,   659,   659,   659,   659,   659,   659,   659,   659,
+     659,   659,   659,   659,   659,   659,   659,   660,   660,   660,
+     661,   662,   662,   662,   662,   664,   663,   665,   663,   666,
+     663,   667,   663,   668,   663,   669,   663,   663,   663,   663,
+     663,   670,   671,   671,   672,   672,   672,   672,   672,   672,
+     672,   674,   673,   676,   675,   675,   677,   677,   677,   677,
+     678,   678,   679,   679,   680,   680,   681,   681,   682,   682,
+     684,   683,   685,   685,   685,   685,   685,   685,   685,   685,
+     685,   685,   685,   685,   685,   686,   687,   687,   688,   688,
+     689,   689,   690,   690,   690,   690,   690,   690,   690,   691,
+     691,   691,   692,   692,   694,   693,   695,   695,   696,   696,
+     697,   697,   698,   698,   699,   699,   700,   701,   702,   702,
+     703,   703,   704,   705,   705,   705,   705,   706,   706,   707,
+     707,   708,   708,   710,   709,   709,   711,   709,   709,   713,
+     712,   714,   714,   715,   715,   716,   717,   717,   718,   719,
+     719,   720,   720,   720,   720,   720,   721,   722,   722,   723,
+     723,   724,   724,   725,   725,   726,   726,   726,   727,   727,
+     727,   727,   727,   727,   727,   727,   727,   727,   727,   727,
+     728,   729,   729,   730,   730,   731,   731,   731,   731,   731,
+     731,   731,   731,   731,   731,   731,   731,   731,   733,   732,
+     735,   734,   737,   736,   739,   738,   740,   741,   742,   744,
+     743,   745,   746,   746,   746,   747,   747,   749,   750,   751,
+     748,   752,   752,   752,   753,   753,   755,   756,   754,   758,
+     757,   759,   759,   760,   760,   762,   763,   761,   765,   766,
+     764,   767,   767,   769,   768,   770,   770,   772,   771,   774,
+     773,   776,   775,   777,   778,   779,   777,   780,   777,   781,
+     781,   782,   782,   782,   783,   784,   785,   786,   786,   787,
+     787,   788,   789,   790,   790,   792,   791,   793,   793,   793,
+     794,   794,   794,   795,   796,   796,   796,   797,   797,   797,
+     797,   797,   797,   797,   797,   798,   799,   799,   799,   800,
+     800,   800,   800,   800,   801,   802,   802,   802,   803,   803,
+     803,   803,   803,   803,   803,   804,   805,   805,   805,   806,
+     806,   806,   807,   808,   809,   810,   811,   812,   812,   812,
+     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
+     822,   823,   823,   824,   824,   825,   825,   825,   825,   827,
+     826,   828,   826,   829,   830,   829,   831,   829,   832,   833,
+     833,   835,   834,   836,   838,   837,   839,   840,   841,   840,
+     840,   840,   840,   840,   842,   842,   843,   843,   844,   844,
+     845,   845,   846,   847,   848,   849,   850,   850,   851,   852,
+     851,   853,   851,   854,   854,   855,   856,   857,   857,   858,
+     858,   859,   859,   861,   860,   862,   863,   864,   863,   865,
+     863,   866,   866,   867,   867,   868,   868,   870,   871,   869,
+     872,   872,   873,   873,   874,   874,   875,   875,   877,   876,
+     878,   879,   879,   880,   880,   881,   881,   881,   881,   881,
+     881,   881,   881,   881,   883,   884,   882,   885,   885,   886,
+     886,   887,   887,   888,   888,   889,   889,   890,   890,   891,
+     892,   892,   893,   893,   894,   894,   895,   895,   895,   896,
+     896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
+     896,   896,   896,   897,   896,   896,   896,   896,   896,   896,
+     896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
+     898,   899,   900,   901,   902,   902,   902,   902,   902,   902,
+     902,   903,   903,   903,   904,   904,   905,   905,   905,   905,
+     906,   907,   907,   908,   908,   909,   909,   911,   910,   912,
+     910,   913,   910,   914,   910,   910,   910,   915,   915,   916,
+     917,   917,   918,   920,   919,   921,   922,   921,   923,   923,
+     924,   924,   924,   925,   925,   926,   926,   927,   927,   927,
+     928,   929,   930,   930,   930,   930,   930,   930,   930,   930,
+     930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
+     930,   930,   930,   930,   930,   930,   930,   930,   930,   930,
+     930,   930,   930,   930,   930,   930,   930,   931,   930,   932,
+     930,   930,   930,   933,   933,   933,   933,   933,   933,   933,
+     933,   934,   935,   935,   936,   936,   937,   937,   937,   937,
+     937,   938,   938,   938,   938,   938,   939,   939,   939,   940,
+     940,   940,   941,   942,   942,   943,   943,   944,   944,   944,
+     945,   945,   945,   945,   946,   946,   947,   947,   948,   948,
+     949,   949,   950,   950,   950,   950,   950,   950,   950,   950,
+     950,   950,   950,   950,   950,   950,   950,   951,   952,   952,
+     953,   953,   954,   954,   955,   955,   956,   956,   957,   957,
+     958,   958,   959,   959,   960,   961,   961,   962,   962,   963,
+     963,   964,   964,   964,   965,   965,   965,   966,   966,   966,
+     966,   966,   966,   966,   967,   967,   968,   968,   969,   970,
+     970,   971,   971,   972,   972,   972,   972,   973,   973,   973,
+     973,   973,   974,   974,   974,   974,   974,   975,   976,   976,
+     977,   977,   978,   978,   979,   979,   979,   980,   980,   981,
+     982,   983,   984,   984,   985,   985,   986,   986,   987,   987,
+     988,   988,   989,   989,   990,   990,   991,   991,   992,   992,
+     992,   992,   992,   992,   993,   993,   994,   995,   995,   996,
+     996,   996,   997,   997,   998,   998,   999,   999,  1000,  1000,
+    1001,  1001,  1003,  1002,  1004,  1002,  1002,  1005,  1002,  1006,
+    1002,  1007,  1002,  1008,  1002,  1009,  1002,  1002,  1002,  1002,
+    1002,  1002,  1010,  1010,  1010,  1010,  1011,  1011,  1012,  1012,
+    1013,  1013,  1014,  1014,  1014,  1014,  1014,  1014,  1014,  1014,
+    1014,  1014,  1015,  1014,  1014,  1016,  1014,  1017,  1014,  1014,
+    1014,  1014,  1018,  1019,  1019,  1021,  1020,  1022,  1022,  1022,
+    1024,  1023,  1025,  1026,  1025,  1027,  1027,  1028,  1029,  1029,
+    1030,  1031,  1031,  1031,  1032,  1031,  1033,  1034,  1031,  1031,
+    1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,  1031,
+    1031,  1031,  1035,  1035,  1036,  1036,  1038,  1037,  1039,  1039,
+    1040,  1040,  1041,  1041,  1042,  1042,  1042,  1043,  1043,  1043,
+    1044,  1044,  1044,  1044,  1046,  1045,  1045,  1047,  1045,  1045,
+    1048,  1049,  1049,  1051,  1050,  1052,  1052,  1053,  1053,  1053,
+    1054,  1054,  1055,  1055,  1057,  1056,  1058,  1058,  1058,  1059,
+    1060,  1059,  1062,  1061,  1063,  1063,  1064,  1064,  1065,  1065,
+    1065,  1066,  1066,  1068,  1067,  1069,  1070,  1071,  1070,  1073,
+    1072,  1074,  1074,  1075,  1075,  1076,  1076,  1076,  1076,  1076,
+    1076,  1077,  1077,  1079,  1078,  1080,  1080,  1080,  1082,  1081,
+    1081,  1083,  1083,  1084,  1084,  1085,  1087,  1086,  1088,  1088,
+    1089,  1089,  1090,  1091,  1092,  1092,  1094,  1093,  1095,  1095,
+    1096,  1096,  1097,  1098,  1100,  1099,  1102,  1101,  1103,  1103,
+    1104,  1104,  1105,  1106,  1106,  1107,  1107,  1108,  1108,  1110,
+    1109,  1112,  1113,  1111,  1114,  1114,  1114,  1114,  1114,  1115,
+    1115,  1116,  1116,  1117,  1117,  1118,  1118,  1118,  1119,  1119,
+    1119,  1120,  1120,  1120,  1121,  1121,  1122,  1123,  1124,  1124,
+    1124,  1124,  1124,  1125,  1125,  1125,  1126,  1126,  1127,  1127,
+    1127,  1127,  1127,  1127,  1127,  1127,  1127,  1127,  1127,  1128,
+    1128,  1128,  1128,  1128,  1128,  1129,  1129,  1129,  1129,  1129,
+    1129,  1129,  1129,  1129,  1129,  1129,  1129,  1129,  1129,  1130,
+    1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,
+    1130,  1130,  1130,  1130,  1131,  1131,  1132,  1132,  1133,  1133,
+    1134,  1134,  1135,  1135,  1135,  1135,  1135,  1135,  1136,  1136,
+    1137,  1137,  1138,  1138,  1138,  1138,  1138,  1138,  1138,  1138,
+    1138,  1138,  1138,  1139,  1140,  1140,  1141,  1141,  1141,  1141,
+    1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
+    1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
+    1141,  1141,  1141,  1141,  1141,  1141,  1142,  1142,  1142,  1142,
+    1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,
+    1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,  1142,
+    1142,  1142,  1142,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
+    1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
+    1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,  1143,
+    1143,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,
+    1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1144,  1145,
+    1145,  1145,  1145,  1145,  1145,  1145,  1145,  1147,  1146,  1146,
+    1148,  1148,  1149,  1149,  1150,  1150,  1151,  1151,  1152,  1152,
+    1153,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1155,  1156,
+    1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,  1154,
+    1154,  1157,  1154,  1159,  1158,  1160,  1160,  1160,  1161,  1161,
+    1162,  1162,  1163,  1164,  1163,  1165,  1165,  1167,  1166,  1168,
+    1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,  1168,
+    1168,  1169,  1168,  1170,  1170,  1171,  1171,  1172,  1172,  1173,
+    1173,  1174,  1174,  1175,  1175,  1176,  1176,  1177,  1177,  1178,
+    1179,  1179,  1180,  1180,  1181,  1181,  1182,  1181,  1183,  1181,
+    1184,  1181,  1181,  1185,  1181,  1186,  1181,  1181,  1187,  1181,
+    1188,  1181,  1181,  1189,  1189,  1189,  1191,  1190,  1190,  1190,
+    1192,  1193,  1194,  1192,  1195,  1197,  1198,  1196,  1200,  1199,
+    1202,  1203,  1201,  1204,  1205,  1206,  1206,  1207,  1207,  1207,
+    1207,  1208,  1208,  1210,  1209,  1211,  1209,  1212,  1212,  1213,
+    1214,  1213,  1216,  1215,  1217,  1217,  1218,  1218,  1219,  1219,
+    1220,  1220,  1221,  1221,  1221,  1221,  1221,  1221,  1221,  1221,
+    1221,  1221,  1221,  1221,  1222,  1222,  1222,  1222,  1222,  1222,
+    1222,  1222,  1222,  1223,  1223,  1223,  1223,  1224,  1224,  1224,
+    1225,  1225,  1226,  1226,  1227,  1228,  1227,  1229,  1230,  1229,
+    1231,  1231,  1232,  1232,  1233,  1233,  1234,  1234,  1234,  1235,
+    1236,  1236,  1237,  1238,  1238,  1240,  1239,  1241,  1241,  1242,
+    1242,  1242,  1243,  1243,  1244,  1244,  1245,  1245,  1245,  1246,
+    1246,  1246,  1247,  1247,  1247,  1247,  1247,  1248,  1249,  1249,
+    1249,  1249,  1250,  1250,  1250,  1251,  1251,  1251,  1251,  1251,
+    1251,  1252,  1252,  1252,  1252,  1252,  1253,  1253,  1253,  1253,
+    1253,  1254,  1254,  1254,  1254,  1254,  1255,  1256,  1256,  1257,
+    1257,  1258,  1259,  1258,  1260,  1260,  1261,  1261,  1262,  1264,
+    1263,  1265,  1265,  1266,  1266,  1268,  1267,  1270,  1271,  1269,
+    1269,  1269,  1273,  1272,  1275,  1274,  1276,  1274,  1274,  1274,
+    1274,  1274,  1274,  1277,  1274,  1274,  1274,  1274,  1274,  1274,
+    1278,  1278,  1279,  1280,  1280,  1281,  1282,  1282,  1283,  1283,
+    1285,  1286,  1284,  1288,  1289,  1287,  1290,  1290,  1290,  1290,
+    1291,  1291,  1292,  1292,  1293,  1294,  1294,  1294,  1295,  1294,
+    1296,  1296,  1297,  1297,  1298,  1297,  1299,  1297,  1300,  1300,
+    1301,  1301,  1302,  1303,  1303,  1304,  1304,  1306,  1305,  1307,
+    1307,  1308,  1308,  1309,  1309,  1310,  1311,  1310,  1313,  1314,
+    1312,  1315,  1315,  1316,  1317,  1317,  1318,  1319,  1319,  1321,
+    1320,  1323,  1322,  1324,  1322,  1325,  1322,  1326,  1326,  1327,
+    1327,  1328,  1328,  1329,  1329,  1330,  1330,  1330,  1332,  1331,
+    1333,  1333,  1334,  1334,  1335,  1335,  1336,  1336,  1336,  1336,
+    1336,  1336,  1336,  1336,  1336,  1337,  1337,  1339,  1338,  1340,
+    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
+    1340,  1341,  1340,  1342,  1340,  1340,  1340,  1340,  1340,  1340,
+    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
+    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
+    1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,  1340,
+    1343,  1343,  1343,  1344,  1344,  1345,  1345,  1346,  1346,  1347,
+    1347,  1348,  1348,  1349,  1349,  1350,  1350,  1351,  1351,  1351,
+    1353,  1352,  1354,  1352,  1355,  1355,  1356,  1356,  1356,  1357,
+    1357,  1357,  1359,  1358,  1361,  1362,  1360,  1360,  1363,  1363,
+    1364,  1364,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,
+    1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,  1365,
+    1365,  1366,  1366,  1367,  1367,  1369,  1368,  1370,  1370,  1372,
+    1371,  1371,  1371,  1373,  1373,  1375,  1374,  1376,  1377,  1377,
+    1379,  1378,  1380,  1380,  1380,  1381,  1381,  1381,  1382,  1382,
+    1383,  1385,  1386,  1387,  1388,  1384,  1389,  1389,  1390,  1390,
+    1391,  1391,  1391,  1392,  1392,  1392,  1393,  1393,  1394,  1394,
+    1395,  1395,  1395,  1395,  1396,  1396,  1397,  1397,  1398,  1398,
+    1399,  1399,  1400,  1400,  1401,  1401,  1402,  1402,  1402,  1403,
+    1403,  1404,  1404,  1405,  1405,  1406,  1406,  1407,  1408,  1408,
+    1408,  1408,  1409,  1409,  1409,  1409,  1410,  1411,  1411,  1411,
+    1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,  1412,
+    1412,  1412,  1412,  1413,  1413,  1413,  1413,  1413,  1414,  1414,
+    1415,  1415,  1416,  1417,  1417,  1418,  1418,  1419,  1419,  1419,
+    1420,  1420,  1420,  1420,  1421,  1421,  1421,  1422,  1422,  1423,
+    1424,  1424,  1425,  1426,  1427,  1428,  1428,  1429,  1429,  1430,
+    1430,  1430,  1431,  1431,  1431,  1432,  1432,  1432,  1432,  1432,
+    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
+    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
+    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
+    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
+    1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,  1432,
+    1432,  1432,  1432,  1432,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,  1433,
+    1433,  1433,  1433,  1433,  1433,  1433,  1433,  1435,  1434,  1436,
+    1436,  1437,  1437,  1439,  1438,  1440,  1440,  1440,  1440,  1441,
+    1441,  1442,  1442,  1442,  1442,  1443,  1443,  1443,  1443,  1444,
+    1444,  1445,  1445,  1446,  1446,  1446,  1446,  1446,  1446,  1446,
+    1447,  1447,  1447,  1448,  1448,  1448,  1448,  1449,  1449,  1449,
+    1450,  1450,  1450,  1450,  1450,  1452,  1451,  1453,  1453,  1454,
+    1454,  1455,  1456,  1456,  1456,  1456,  1456,  1458,  1457,  1459,
+    1459,  1460,  1459,  1461,  1461,  1462,  1462,  1463,  1463,  1463,
+    1463,  1464,  1463,  1465,  1465,  1465,  1465,  1465,  1466,  1467,
+    1467,  1467,  1467,  1467,  1468,  1469,  1469,  1469,  1469,  1470,
+    1470,  1471,  1471,  1472,  1472,  1473,  1473,  1475,  1474,  1476,
+    1474,  1477,  1474,  1478,  1474,  1474,  1474,  1474,  1474,  1474,
+    1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,
+    1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,  1474,
+    1474,  1479,  1479,  1480,  1480,  1481,  1481,  1481,  1482,  1482,
+    1482,  1482,  1483,  1483,  1484,  1484,  1485,  1485,  1486,  1486,
+    1487,  1487,  1487,  1487,  1487,  1488,  1488,  1489,  1489,  1490,
+    1491,  1491,  1491,  1491,  1491,  1492,  1492,  1493,  1493,  1494,
+    1494,  1495,  1495,  1495,  1495,  1495,  1497,  1496,  1498,  1498,
+    1499,  1499,  1499,  1500,  1500,  1500,  1501,  1501,  1502,  1503,
+    1503,  1504,  1505,  1506,  1506,  1508,  1507,  1509,  1509,  1509,
+    1510,  1510,  1512,  1511,  1513,  1513,  1514,  1514,  1514,  1515,
+    1515,  1516,  1517,  1516,  1518,  1519,  1520,  1521,  1521,  1522,
+    1522,  1523,  1523,  1523,  1523,  1523,  1523,  1523,  1523,  1524,
+    1524,  1524,  1525,  1525,  1525,  1525,  1525,  1526,  1526,  1526,
+    1526,  1526,  1526,  1527,  1527,  1528,  1529,  1530,  1530,  1530,
+    1531,  1532,  1532,  1532,  1533,  1533,  1533,  1535,  1534,  1536,
+    1536,  1537,  1537,  1539,  1538,  1540,  1540,  1541,  1541,  1541,
+    1541,  1543,  1544,  1545,  1542,  1546,  1546,  1548,  1549,  1550,
+    1551,  1552,  1547,  1554,  1555,  1556,  1557,  1553,  1558,  1558,
+    1558,  1558,  1558,  1558,  1559,  1559,  1559,  1560,  1560,  1561,
+    1561,  1561,  1562,  1562,  1563,  1564,  1563,  1565,  1565,  1566,
+    1566,  1567,  1567,  1568
+};
+
+  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     0,     4,     2,     0,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     3,     1,     1,     4,     1,     2,     0,
+       4,     0,     2,     3,     1,     2,     0,     3,     0,     5,
+       1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     5,     1,     0,     1,     3,
+       1,     3,     3,     3,     3,     0,     7,     0,    12,     0,
+      12,     0,    12,     0,     6,     0,     3,     4,     4,     3,
+       2,    10,     1,     3,     2,     2,     2,     2,     2,     2,
+       2,     0,    13,     0,     6,     2,     0,     1,     3,     1,
+       0,     2,     0,     2,     0,     1,     3,     4,     0,     2,
+       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     0,     3,     1,     0,     2,
+       0,     2,     2,     2,     2,     2,     3,     3,     1,     1,
+       1,     2,     3,     3,     0,     4,     0,     3,     0,     1,
+       3,     1,     0,     1,     3,     1,     0,     3,     0,     1,
+       3,     1,     4,     0,     1,     1,     1,     0,     3,     2,
+       3,     0,     3,     0,     5,     5,     0,     7,     5,     0,
+       2,     1,     1,     1,     3,     1,     1,     1,     3,     0,
+       1,     1,     1,     1,     2,     1,     3,     1,     1,     0,
+       1,     0,     2,     3,     5,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       3,     1,     3,     0,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
+       0,     2,     0,     3,     0,     2,     2,     2,     2,     0,
+       6,     2,     0,     2,     1,     1,     3,     0,     0,     0,
+       7,     0,     2,     2,     1,     1,     0,     0,     8,     0,
+       6,     1,     2,     1,     2,     0,     0,     6,     0,     0,
+       6,     0,     2,     0,     5,     0,     1,     0,     5,     0,
+       2,     0,     5,     4,     0,     0,     8,     0,     7,     1,
+       1,     1,     1,     1,     2,     4,     5,     0,     4,     4,
+       4,     3,     3,     2,     2,     0,     2,     1,     2,     3,
+       1,     1,     1,     1,     1,     2,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     3,     1,
+       1,     1,     1,     1,     1,     1,     2,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     3,     1,
+       1,     1,     2,     2,     2,     1,     1,     1,     1,     2,
+       3,     3,     3,     3,     3,     3,     3,     3,     4,     0,
+       1,     1,     1,     1,     1,     2,     3,     2,     4,     0,
+       6,     0,     5,     0,     0,     5,     0,     7,     1,     0,
+       1,     0,     4,     0,     0,     3,     5,     6,     0,     4,
+       2,     2,     2,     2,     0,     1,     0,     3,     0,     1,
+       1,     3,     1,     4,     5,     5,     0,     2,     0,     0,
+       7,     0,    10,     1,     3,     1,     1,     0,     2,     0,
+       3,     1,     3,     0,     6,     1,     0,     0,     5,     0,
+       4,     1,     1,     1,     3,     1,     3,     0,     0,     5,
+       1,     3,     1,     1,     0,     3,     1,     3,     0,     4,
+       1,     0,     1,     2,     1,     3,     4,     3,     3,     3,
+       3,     4,     4,     3,     0,     0,     6,     0,     1,     0,
+       1,     1,     2,     1,     1,     0,     1,     1,     2,     1,
+       0,     3,     0,     1,     1,     2,     1,     2,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
+       3,     3,     3,     0,     6,     1,     1,     3,     4,     4,
+       2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
+       4,     4,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     2,     1,     1,     1,     1,
+       1,     1,     3,     1,     1,     2,     2,     0,     8,     0,
+       9,     0,     9,     0,     9,     8,     2,     0,     1,     4,
+       0,     1,     2,     0,     3,     2,     0,     9,     0,     2,
+       0,     1,     1,     0,     1,     2,     1,     1,     2,     2,
+       4,     3,     3,     3,     3,     1,     2,     1,     1,     3,
+       2,     3,     2,     2,     1,     3,     3,     2,     3,     1,
+       2,     2,     2,     1,     2,     1,     1,     1,     2,     3,
+       2,     3,     2,     2,     3,     3,     3,     0,     6,     0,
+       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     2,     2,     1,     2,     1,     2,     3,
+       2,     1,     1,     1,     1,     1,     1,     1,     2,     0,
+       1,     1,     5,     0,     1,     2,     1,     1,     1,     1,
+       3,     3,     3,     3,     0,     1,     0,     1,     0,     1,
+       2,     1,     1,     2,     2,     4,     1,     3,     2,     1,
+       2,     2,     2,     3,     3,     3,     3,     2,     2,     1,
+       1,     1,     2,     1,     1,     1,     1,     1,     0,     2,
+       1,     1,     1,     1,     1,     0,     2,     1,     1,     0,
+       1,     1,     2,     2,     1,     2,     2,     0,     1,     1,
+       1,     3,     1,     3,     0,     1,     0,     1,     5,     0,
+       3,     3,     1,     0,     2,     2,     2,     0,     3,     3,
+       6,     6,     1,     1,     2,     2,     2,     1,     2,     2,
+       1,     1,     0,     1,     1,     1,     1,     0,     1,     1,
+       1,     0,     1,     2,     0,     1,     0,     1,     0,     1,
+       1,     2,     1,     2,     1,     2,     2,     2,     3,     2,
+       3,     3,     3,     3,     1,     1,     1,     1,     3,     1,
+       1,     1,     4,     2,     1,     4,     0,     1,     0,     2,
+       1,     3,     0,     6,     0,     5,     7,     0,     5,     0,
+       5,     0,     5,     0,     4,     0,    10,     3,     4,     3,
+       3,     7,     0,     3,     1,     4,     0,     3,     0,     2,
+       0,     1,     0,     2,     2,     2,     2,     1,     1,     1,
+       3,     4,     0,     6,     4,     0,     5,     0,     6,     4,
+       3,     1,     2,     1,     1,     0,     5,     0,     3,     2,
+       0,     5,     0,     0,     6,     1,     3,     1,     1,     3,
+       2,     3,     2,     4,     0,     6,     0,     0,     7,     4,
+       4,     3,     3,     2,     2,     6,     5,     3,     5,     1,
+       1,     1,     0,     1,     0,     1,     0,     2,     0,     1,
+       2,     1,     1,     1,     0,     1,     1,     0,     2,     1,
+       0,     1,     1,     1,     0,     5,     3,     0,     5,     3,
+       3,     0,     3,     0,     2,     1,     3,     0,     1,     1,
+       0,     2,     1,     3,     0,     5,     0,     1,     1,     3,
+       0,     4,     0,     4,     0,     1,     1,     2,     1,     1,
+       1,     0,     2,     0,     5,     2,     3,     0,     4,     0,
+       3,     0,     1,     1,     2,     1,     1,     1,     1,     1,
+       2,     0,     2,     0,     5,     0,     1,     1,     0,     4,
+       4,     3,     5,     1,     3,     3,     0,     6,     1,     1,
+       1,     3,     2,     3,     1,     1,     0,     6,     1,     1,
+       1,     3,     3,     4,     0,     6,     0,     2,     0,     4,
+       0,     2,     1,     2,     4,     2,     3,     2,     3,     0,
+       3,     0,     0,     6,     2,     1,     1,     2,     2,     8,
+       4,     0,     1,     2,     1,     1,     1,     1,     0,     2,
+       4,     3,     1,     1,     3,     4,     0,     0,     0,     2,
+       2,     1,     1,     0,     2,     3,     0,     2,     3,     3,
+       3,     2,     3,     4,     3,     4,     3,     4,     1,     3,
+       4,     3,     3,     6,     1,     5,     6,     5,     7,     6,
+       8,     5,     6,     4,     4,     5,     3,     4,     1,     3,
+       3,     3,     3,     3,     3,     5,     5,     3,     3,     3,
+       3,     3,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       0,     2,     1,     2,     1,     1,     1,     2,     2,     1,
+       1,     2,     2,     4,     1,     3,     1,     1,     1,     1,
+       1,     3,     1,     1,     1,     1,     3,     2,     2,     2,
+       2,     3,     3,     5,     6,     4,     4,     7,     2,     6,
+       5,     6,     6,     4,     4,     5,     4,     6,     2,     4,
+       4,     4,    10,     6,     8,     6,     4,     4,     6,     4,
+       4,     4,     6,     4,     7,     7,     7,     6,     6,     6,
+       6,     3,     4,     6,     8,     2,     2,     8,     8,     6,
+       6,     2,     6,     6,     8,     8,     6,     8,     6,     2,
+       8,     8,     2,     2,     2,     6,     6,     6,     4,     4,
+       8,     4,     4,     4,     4,     3,     8,     4,     4,     6,
+       4,     4,     4,     6,     8,     6,     4,     6,     1,     6,
+       4,     4,     4,     4,     4,     6,     4,     0,     5,     6,
+       2,     3,     0,     4,     0,     3,     0,     1,     1,     3,
+       4,     4,     5,     4,     4,     4,     5,     4,     0,     0,
+       7,     4,     5,     4,     5,     4,     4,     4,     4,     4,
+       5,     0,     8,     0,     3,     3,     1,     4,     0,     1,
+       0,     2,     0,     0,     4,     4,     2,     0,     3,     2,
+       3,     2,     1,     1,     2,     1,     2,     1,     2,     2,
+       2,     0,     3,     0,     1,     1,     3,     1,     3,     1,
+       3,     0,     1,     0,     2,     4,     5,     1,     1,     1,
+       1,     4,     1,     3,     3,     3,     0,     6,     0,     6,
+       0,     8,     4,     0,     8,     0,    10,     6,     0,     8,
+       0,    10,     6,     1,     2,     2,     0,     4,     3,     5,
+       2,     0,     0,     7,     1,     0,     0,     6,     0,     3,
+       0,     0,     5,     0,     1,     0,     1,     0,     2,     3,
+       3,     1,     1,     0,     7,     0,     7,     1,     2,     0,
+       0,     2,     0,     2,     0,     1,     1,     1,     1,     3,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     0,     1,     1,
+       0,     2,     0,     1,     0,     0,     3,     0,     0,     3,
+       2,     0,     0,     4,     4,     2,     0,     1,     1,     3,
+       3,     1,     2,     0,     1,     0,     4,     4,     2,     0,
+       1,     1,     0,     1,     0,     1,     2,     5,     4,     1,
+       3,     3,     1,     1,     1,     1,     1,     1,     0,     2,
+       3,     4,     1,     2,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     0,     0,     6,     0,     1,     3,     1,     3,     0,
+       2,     3,     1,     2,     1,     0,     3,     0,     0,     7,
+       2,     1,     0,     3,     0,     7,     0,     6,     4,     6,
+       4,     4,     4,     0,     6,     4,     4,     5,     6,     4,
+       1,     3,     1,     1,     3,     1,     0,     2,     0,     1,
+       0,     0,     8,     0,     0,     6,     0,     1,     1,     1,
+       1,     1,     2,     1,     1,     1,     3,     4,     0,     3,
+       3,     1,     2,     2,     0,     3,     0,     5,     3,     1,
+       3,     1,     3,     1,     1,     0,     1,     0,     4,     0,
+       1,     3,     1,     1,     1,     0,     0,     6,     0,     0,
+      11,     3,     1,     3,     3,     1,     3,     0,     1,     0,
+       4,     0,     6,     0,     5,     0,     6,     1,     3,     2,
+       4,     0,     2,     0,     2,     1,     1,     1,     0,     4,
+       0,     1,     0,     1,     1,     3,     1,     1,     2,     2,
+       2,     1,     1,     1,     1,     0,     3,     0,     3,     2,
+       4,     4,     3,     4,     4,     1,     3,     3,     6,     2,
+       2,     0,     6,     0,     6,     5,     2,     1,     1,     1,
+       5,     5,     2,     2,     1,     4,     3,     2,     3,     2,
+       2,     1,     3,     4,     3,     3,     2,     2,     1,     1,
+       1,     1,     3,     3,     3,     3,     3,     3,     3,     3,
+       1,     1,     1,     1,     1,     0,     1,     0,     2,     0,
+       1,     1,     1,     0,     2,     0,     2,     0,     2,     2,
+       0,     4,     0,     4,     1,     1,     0,     1,     1,     0,
+       1,     1,     0,     4,     0,     0,     5,     1,     0,     4,
+       3,     1,     2,     2,     2,     2,     2,     2,     2,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     0,     1,     0,     3,     0,     3,     3,     1,     0,
+       3,     1,     2,     0,     1,     0,     3,     3,     2,     2,
+       0,     5,     0,     1,     1,     0,     1,     1,     1,     2,
+       2,     0,     0,     0,     0,    21,     1,     1,     0,     1,
+       0,     1,     1,     0,     1,     1,     0,     2,     2,     1,
+       3,     4,     3,     3,     0,     2,     2,     1,     3,     3,
+       0,     4,     0,     3,     1,     1,     0,     3,     2,     3,
+       1,     1,     2,     0,     2,     3,     1,     5,     1,     1,
+       2,     2,     1,     1,     1,     1,     1,     1,     2,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
+       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
+       3,     5,     1,     1,     1,     1,     1,     3,     4,     5,
+       1,     5,     3,     2,     1,     3,     2,     2,     4,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     3,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
+       1,     1,     3,     0,     2,     1,     1,     1,     1,     0,
+       1,     0,     1,     1,     1,     0,     2,     2,     2,     1,
+       2,     4,     5,     4,     6,     2,     3,     3,     3,     5,
+       1,     3,     3,     2,     2,     2,     1,     1,     4,     4,
+       1,     1,     1,     1,     1,     0,     4,     1,     1,     1,
+       3,     3,     1,     1,     2,     2,     2,     0,     3,     4,
+       3,     0,     7,     1,     2,     1,     1,     1,     1,     1,
+       1,     0,     5,     1,     1,     1,     1,     1,     3,     6,
+       6,     6,     7,     5,     3,     8,     8,     8,     6,     0,
+       1,     1,     2,     0,     1,     1,     3,     0,     3,     0,
+       3,     0,     3,     0,     3,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     2,     2,     1,     3,
+       2,     2,     2,     2,     2,     2,     2,     2,     1,     1,
+       2,     0,     1,     3,     1,     2,     2,     2,     1,     3,
+       3,     1,     1,     3,     1,     3,     1,     1,     1,     1,
+       4,     5,     4,     6,     1,     0,     3,     3,     1,     1,
+       0,     2,     2,     2,     2,     0,     2,     0,     3,     2,
+       1,     2,     2,     2,     2,     2,     0,     3,     0,     1,
+       0,     3,     2,     0,     1,     2,     0,     1,     4,     4,
+       5,     2,     3,     0,     1,     0,     4,     0,     1,     1,
+       0,     1,     0,     2,     2,     1,     0,     1,     1,     2,
+       3,     2,     0,     6,     3,     0,     0,     0,     1,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
+       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     0,     3,     1,     2,     1,
+       2,     3,     3,     3,     0,     3,     3,     0,     7,     0,
+       3,     1,     3,     0,     3,     2,     4,     0,     3,     4,
+       4,     0,     0,     0,    16,     8,     7,     0,     0,     0,
+       0,     0,    15,     0,     0,     0,     0,    12,     4,     4,
+       3,     4,     3,     2,     1,     3,     5,     1,     1,     0,
+       1,     1,     0,     2,     0,     0,     3,     0,     2,     5,
+       3,     3,     3,     1
+};
+
 
+#define yyerrok         (yyerrstatus = 0)
+#define yyclearin       (yychar = YYEMPTY)
+#define YYEMPTY         (-2)
+#define YYEOF           0
 
-/* Like YYERROR except do call yyerror.  This remains here temporarily
-   to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
+#define YYACCEPT        goto yyacceptlab
+#define YYABORT         goto yyabortlab
+#define YYERROR         goto yyerrorlab
 
-#define YYFAIL		goto yyerrlab
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
-#define YYBACKUP(Token, Value)					\
-do								\
-  if (yychar == YYEMPTY && yylen == 1)				\
-    {								\
-      yychar = (Token);						\
-      yylval = (Value);						\
-      yytoken = YYTRANSLATE (yychar);				\
-      YYPOPSTACK (1);						\
-      goto yybackup;						\
-    }								\
-  else								\
-    {								\
+#define YYBACKUP(Token, Value)                                  \
+do                                                              \
+  if (yychar == YYEMPTY)                                        \
+    {                                                           \
+      yychar = (Token);                                         \
+      yylval = (Value);                                         \
+      YYPOPSTACK (yylen);                                       \
+      yystate = *yyssp;                                         \
+      goto yybackup;                                            \
+    }                                                           \
+  else                                                          \
+    {                                                           \
       yyerror (thd, YY_("syntax error: cannot back up")); \
-      YYERROR;							\
-    }								\
-while (YYID (0))
-
-
-#define YYTERROR	1
-#define YYERRCODE	256
-
-
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-   If N is 0, then set CURRENT to the empty location which ends
-   the previous symbol: RHS[0] (always defined).  */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N)				\
-    do									\
-      if (YYID (N))                                                    \
-	{								\
-	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
-	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
-	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
-	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
-	}								\
-      else								\
-	{								\
-	  (Current).first_line   = (Current).last_line   =		\
-	    YYRHSLOC (Rhs, 0).last_line;				\
-	  (Current).first_column = (Current).last_column =		\
-	    YYRHSLOC (Rhs, 0).last_column;				\
-	}								\
-    while (YYID (0))
-#endif
-
-
-/* YY_LOCATION_PRINT -- Print the location on the stream.
-   This macro was not mandated originally: define only if we know
-   we won't break user code: when these are the locations we know.  */
-
-#ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
-#  define YY_LOCATION_PRINT(File, Loc)			\
-     fprintf (File, "%d.%d-%d.%d",			\
-	      (Loc).first_line, (Loc).first_column,	\
-	      (Loc).last_line,  (Loc).last_column)
-# else
-#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
-#endif
+      YYERROR;                                                  \
+    }                                                           \
+while (0)
 
+/* Error token number */
+#define YYTERROR        1
+#define YYERRCODE       256
 
-/* YYLEX -- calling `yylex' with the right arguments.  */
 
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, YYLEX_PARAM)
-#else
-# define YYLEX yylex (&yylval, thd)
-#endif
 
 /* Enable debugging if requested.  */
 #if YYDEBUG
@@ -17680,56 +16613,47 @@ while (YYID (0))
 #  define YYFPRINTF fprintf
 # endif
 
-# define YYDPRINTF(Args)			\
-do {						\
-  if (yydebug)					\
-    YYFPRINTF Args;				\
-} while (YYID (0))
+# define YYDPRINTF(Args)                        \
+do {                                            \
+  if (yydebug)                                  \
+    YYFPRINTF Args;                             \
+} while (0)
+
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
 
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
-do {									  \
-  if (yydebug)								  \
-    {									  \
-      YYFPRINTF (stderr, "%s ", Title);					  \
-      yy_symbol_print (stderr,						  \
-		  Type, Value, thd); \
-      YYFPRINTF (stderr, "\n");						  \
-    }									  \
-} while (YYID (0))
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
+do {                                                                      \
+  if (yydebug)                                                            \
+    {                                                                     \
+      YYFPRINTF (stderr, "%s ", Title);                                   \
+      yy_symbol_print (stderr,                                            \
+                  Type, Value, thd); \
+      YYFPRINTF (stderr, "\n");                                           \
+    }                                                                     \
+} while (0)
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT.  |
+`----------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
-#else
 static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-    THD *thd;
-#endif
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
 {
+  FILE *yyo = yyoutput;
+  YYUSE (yyo);
+  YYUSE (thd);
   if (!yyvaluep)
     return;
-  YYUSE (thd);
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
-  YYUSE (yyoutput);
 # endif
-  switch (yytype)
-    {
-      default:
-	break;
-    }
+  YYUSE (yytype);
 }
 
 
@@ -17737,23 +16661,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd)
 | Print this symbol on YYOUTPUT.  |
 `--------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, THD *thd)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep, thd)
-    FILE *yyoutput;
-    int yytype;
-    YYSTYPE const * const yyvaluep;
-    THD *thd;
-#endif
 {
-  if (yytype < YYNTOKENS)
-    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
-  else
-    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+  YYFPRINTF (yyoutput, "%s %s (",
+             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
   yy_symbol_value_print (yyoutput, yytype, yyvaluep, thd);
   YYFPRINTF (yyoutput, ")");
@@ -17764,16 +16676,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, thd)
 | TOP (included).                                                   |
 `------------------------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
-    yytype_int16 *yybottom;
-    yytype_int16 *yytop;
-#endif
 {
   YYFPRINTF (stderr, "Stack now");
   for (; yybottom <= yytop; yybottom++)
@@ -17784,50 +16688,42 @@ yy_stack_print (yybottom, yytop)
   YYFPRINTF (stderr, "\n");
 }
 
-# define YY_STACK_PRINT(Bottom, Top)				\
-do {								\
-  if (yydebug)							\
-    yy_stack_print ((Bottom), (Top));				\
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top)                            \
+do {                                                            \
+  if (yydebug)                                                  \
+    yy_stack_print ((Bottom), (Top));                           \
+} while (0)
 
 
 /*------------------------------------------------.
 | Report that the YYRULE is going to be reduced.  |
 `------------------------------------------------*/
 
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule, THD *thd)
-#else
 static void
-yy_reduce_print (yyvsp, yyrule, thd)
-    YYSTYPE *yyvsp;
-    int yyrule;
-    THD *thd;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, THD *thd)
 {
+  unsigned long int yylno = yyrline[yyrule];
   int yynrhs = yyr2[yyrule];
   int yyi;
-  unsigned long int yylno = yyrline[yyrule];
   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
-	     yyrule - 1, yylno);
+             yyrule - 1, yylno);
   /* The symbols being reduced.  */
   for (yyi = 0; yyi < yynrhs; yyi++)
     {
       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
-      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
-		       &(yyvsp[(yyi + 1) - (yynrhs)])
-		       		       , thd);
+      yy_symbol_print (stderr,
+                       yystos[yyssp[yyi + 1 - yynrhs]],
+                       &(yyvsp[(yyi + 1) - (yynrhs)])
+                                              , thd);
       YYFPRINTF (stderr, "\n");
     }
 }
 
-# define YY_REDUCE_PRINT(Rule)		\
-do {					\
-  if (yydebug)				\
-    yy_reduce_print (yyvsp, Rule, thd); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule)          \
+do {                                    \
+  if (yydebug)                          \
+    yy_reduce_print (yyssp, yyvsp, Rule, thd); \
+} while (0)
 
 /* Nonzero means print parse trace.  It is left uninitialized so that
    multiple parsers can coexist.  */
@@ -17841,7 +16737,7 @@ int yydebug;
 
 
 /* YYINITDEPTH -- initial size of the parser's stacks.  */
-#ifndef	YYINITDEPTH
+#ifndef YYINITDEPTH
 # define YYINITDEPTH 200
 #endif
 
@@ -17856,7 +16752,6 @@ int yydebug;
 # define YYMAXDEPTH 10000
 #endif
 
-

 
 #if YYERROR_VERBOSE
 
@@ -17865,15 +16760,8 @@ int yydebug;
 #   define yystrlen strlen
 #  else
 /* Return the length of YYSTR.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static YYSIZE_T
 yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
-    const char *yystr;
-#endif
 {
   YYSIZE_T yylen;
   for (yylen = 0; yystr[yylen]; yylen++)
@@ -17889,16 +16777,8 @@ yystrlen (yystr)
 #  else
 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    YYDEST.  */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static char *
 yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
-    char *yydest;
-    const char *yysrc;
-#endif
 {
   char *yyd = yydest;
   const char *yys = yysrc;
@@ -17928,27 +16808,27 @@ yytnamerr (char *yyres, const char *yystr)
       char const *yyp = yystr;
 
       for (;;)
-	switch (*++yyp)
-	  {
-	  case '\'':
-	  case ',':
-	    goto do_not_strip_quotes;
-
-	  case '\\':
-	    if (*++yyp != '\\')
-	      goto do_not_strip_quotes;
-	    /* Fall through.  */
-	  default:
-	    if (yyres)
-	      yyres[yyn] = *yyp;
-	    yyn++;
-	    break;
-
-	  case '"':
-	    if (yyres)
-	      yyres[yyn] = '\0';
-	    return yyn;
-	  }
+        switch (*++yyp)
+          {
+          case '\'':
+          case ',':
+            goto do_not_strip_quotes;
+
+          case '\\':
+            if (*++yyp != '\\')
+              goto do_not_strip_quotes;
+            /* Fall through.  */
+          default:
+            if (yyres)
+              yyres[yyn] = *yyp;
+            yyn++;
+            break;
+
+          case '"':
+            if (yyres)
+              yyres[yyn] = '\0';
+            return yyn;
+          }
     do_not_strip_quotes: ;
     }
 
@@ -17959,199 +16839,179 @@ yytnamerr (char *yyres, const char *yystr)
 }
 # endif
 
-/* Copy into YYRESULT an error message about the unexpected token
-   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
-   including the terminating null byte.  If YYRESULT is null, do not
-   copy anything; just return the number of bytes that would be
-   copied.  As a special case, return 0 if an ordinary "syntax error"
-   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
-   size calculation.  */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+   about the unexpected token YYTOKEN for the state stack whose top is
+   YYSSP.
+
+   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
+   not large enough to hold the message.  In that case, also set
+   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
+   required number of bytes is too large to store.  */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+                yytype_int16 *yyssp, int yytoken)
 {
-  int yyn = yypact[yystate];
+  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+  YYSIZE_T yysize = yysize0;
+  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+  /* Internationalized format string. */
+  const char *yyformat = YY_NULLPTR;
+  /* Arguments of yyformat. */
+  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+  /* Number of reported tokens (one for the "unexpected", one per
+     "expected"). */
+  int yycount = 0;
+
+  /* There are many possibilities here to consider:
+     - If this state is a consistent state with a default action, then
+       the only way this function was invoked is if the default action
+       is an error action.  In that case, don't check for expected
+       tokens because there are none.
+     - The only way there can be no lookahead present (in yychar) is if
+       this state is a consistent state with a default action.  Thus,
+       detecting the absence of a lookahead is sufficient to determine
+       that there is no unexpected or expected token to report.  In that
+       case, just report a simple "syntax error".
+     - Don't assume there isn't a lookahead just because this state is a
+       consistent state with a default action.  There might have been a
+       previous inconsistent state, consistent state with a non-default
+       action, or user semantic action that manipulated yychar.
+     - Of course, the expected token list depends on states to have
+       correct lookahead information, and it depends on the parser not
+       to perform extra reductions after fetching a lookahead from the
+       scanner and before detecting a syntax error.  Thus, state merging
+       (from LALR or IELR) and default reductions corrupt the expected
+       token list.  However, the list is correct for canonical LR with
+       one exception: it will still contain any token that will not be
+       accepted due to an error action in a later state.
+  */
+  if (yytoken != YYEMPTY)
+    {
+      int yyn = yypact[*yyssp];
+      yyarg[yycount++] = yytname[yytoken];
+      if (!yypact_value_is_default (yyn))
+        {
+          /* Start YYX at -YYN if negative to avoid negative indexes in
+             YYCHECK.  In other words, skip the first -YYN actions for
+             this state because they are default actions.  */
+          int yyxbegin = yyn < 0 ? -yyn : 0;
+          /* Stay within bounds of both yycheck and yytname.  */
+          int yychecklim = YYLAST - yyn + 1;
+          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+          int yyx;
+
+          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+                && !yytable_value_is_error (yytable[yyx + yyn]))
+              {
+                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+                  {
+                    yycount = 1;
+                    yysize = yysize0;
+                    break;
+                  }
+                yyarg[yycount++] = yytname[yyx];
+                {
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+                  if (! (yysize <= yysize1
+                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                    return 2;
+                  yysize = yysize1;
+                }
+              }
+        }
+    }
 
-  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
-    return 0;
-  else
-    {
-      int yytype = YYTRANSLATE (yychar);
-      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
-      YYSIZE_T yysize = yysize0;
-      YYSIZE_T yysize1;
-      int yysize_overflow = 0;
-      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
-      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-      int yyx;
-
-# if 0
-      /* This is so xgettext sees the translatable formats that are
-	 constructed on the fly.  */
-      YY_("syntax error, unexpected %s");
-      YY_("syntax error, unexpected %s, expecting %s");
-      YY_("syntax error, unexpected %s, expecting %s or %s");
-      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
-      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
-      char *yyfmt;
-      char const *yyf;
-      static char const yyunexpected[] = "syntax error, unexpected %s";
-      static char const yyexpecting[] = ", expecting %s";
-      static char const yyor[] = " or %s";
-      char yyformat[sizeof yyunexpected
-		    + sizeof yyexpecting - 1
-		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
-		       * (sizeof yyor - 1))];
-      char const *yyprefix = yyexpecting;
-
-      /* Start YYX at -YYN if negative to avoid negative indexes in
-	 YYCHECK.  */
-      int yyxbegin = yyn < 0 ? -yyn : 0;
-
-      /* Stay within bounds of both yycheck and yytname.  */
-      int yychecklim = YYLAST - yyn + 1;
-      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
-      int yycount = 1;
-
-      yyarg[0] = yytname[yytype];
-      yyfmt = yystpcpy (yyformat, yyunexpected);
-
-      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
-	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
-	  {
-	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
-	      {
-		yycount = 1;
-		yysize = yysize0;
-		yyformat[sizeof yyunexpected - 1] = '\0';
-		break;
-	      }
-	    yyarg[yycount++] = yytname[yyx];
-	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
-	    yysize_overflow |= (yysize1 < yysize);
-	    yysize = yysize1;
-	    yyfmt = yystpcpy (yyfmt, yyprefix);
-	    yyprefix = yyor;
-	  }
+  switch (yycount)
+    {
+# define YYCASE_(N, S)                      \
+      case N:                               \
+        yyformat = S;                       \
+      break
+      YYCASE_(0, YY_("syntax error"));
+      YYCASE_(1, YY_("syntax error, unexpected %s"));
+      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+    }
 
-      yyf = YY_(yyformat);
-      yysize1 = yysize + yystrlen (yyf);
-      yysize_overflow |= (yysize1 < yysize);
-      yysize = yysize1;
-
-      if (yysize_overflow)
-	return YYSIZE_MAXIMUM;
-
-      if (yyresult)
-	{
-	  /* Avoid sprintf, as that infringes on the user's name space.
-	     Don't have undefined behavior even if the translation
-	     produced a string with the wrong number of "%s"s.  */
-	  char *yyp = yyresult;
-	  int yyi = 0;
-	  while ((*yyp = *yyf) != '\0')
-	    {
-	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
-		{
-		  yyp += yytnamerr (yyp, yyarg[yyi++]);
-		  yyf += 2;
-		}
-	      else
-		{
-		  yyp++;
-		  yyf++;
-		}
-	    }
-	}
-      return yysize;
+  {
+    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+    if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+      return 2;
+    yysize = yysize1;
+  }
+
+  if (*yymsg_alloc < yysize)
+    {
+      *yymsg_alloc = 2 * yysize;
+      if (! (yysize <= *yymsg_alloc
+             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+      return 1;
     }
+
+  /* Avoid sprintf, as that infringes on the user's name space.
+     Don't have undefined behavior even if the translation
+     produced a string with the wrong number of "%s"s.  */
+  {
+    char *yyp = *yymsg;
+    int yyi = 0;
+    while ((*yyp = *yyformat) != '\0')
+      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+        {
+          yyp += yytnamerr (yyp, yyarg[yyi++]);
+          yyformat += 2;
+        }
+      else
+        {
+          yyp++;
+          yyformat++;
+        }
+  }
+  return 0;
 }
 #endif /* YYERROR_VERBOSE */
-

 
 /*-----------------------------------------------.
 | Release the memory associated to this symbol.  |
 `-----------------------------------------------*/
 
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 static void
 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, THD *thd)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep, thd)
-    const char *yymsg;
-    int yytype;
-    YYSTYPE *yyvaluep;
-    THD *thd;
-#endif
 {
   YYUSE (yyvaluep);
   YYUSE (thd);
-
   if (!yymsg)
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
-  switch (yytype)
-    {
-
-      default:
-	break;
-    }
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+  YYUSE (yytype);
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 }
 
-/* Prevent warnings from -Wmissing-prototypes.  */
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (THD *thd);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
 
 
 
+/*----------.
+| yyparse.  |
+`----------*/
 
-/*-------------------------.
-| yyparse or yypush_parse.  |
-`-------------------------*/
-
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
-    void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
-     || defined __cplusplus || defined _MSC_VER)
 int
 yyparse (THD *thd)
-#else
-int
-yyparse (thd)
-    THD *thd;
-#endif
-#endif
 {
 /* The lookahead symbol.  */
 int yychar;
 
+
 /* The semantic value of the lookahead symbol.  */
-YYSTYPE yylval;
+/* Default value used for initialization, for pacifying older GCCs
+   or non-GCC compilers.  */
+YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
+YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
 
     /* Number of syntax errors so far.  */
     int yynerrs;
@@ -18161,10 +17021,10 @@ YYSTYPE yylval;
     int yyerrstatus;
 
     /* The stacks and their tools:
-       `yyss': related to states.
-       `yyvs': related to semantic values.
+       'yyss': related to states.
+       'yyvs': related to semantic values.
 
-       Refer to the stacks thru separate pointers, to allow yyoverflow
+       Refer to the stacks through separate pointers, to allow yyoverflow
        to reallocate them elsewhere.  */
 
     /* The state stack.  */
@@ -18182,7 +17042,7 @@ YYSTYPE yylval;
   int yyn;
   int yyresult;
   /* Lookahead token as an internal (translated) token number.  */
-  int yytoken;
+  int yytoken = 0;
   /* The variables used to return semantic value and location from the
      action routines.  */
   YYSTYPE yyval;
@@ -18200,9 +17060,8 @@ YYSTYPE yylval;
      Keep to zero when no symbol should be popped.  */
   int yylen = 0;
 
-  yytoken = 0;
-  yyss = yyssa;
-  yyvs = yyvsa;
+  yyssp = yyss = yyssa;
+  yyvsp = yyvs = yyvsa;
   yystacksize = YYINITDEPTH;
 
   YYDPRINTF ((stderr, "Starting parse\n"));
@@ -18211,14 +17070,6 @@ YYSTYPE yylval;
   yyerrstatus = 0;
   yynerrs = 0;
   yychar = YYEMPTY; /* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-  yyssp = yyss;
-  yyvsp = yyvs;
-
   goto yysetstate;
 
 /*------------------------------------------------------------.
@@ -18239,23 +17090,23 @@ YYSTYPE yylval;
 
 #ifdef yyoverflow
       {
-	/* Give user a chance to reallocate the stack.  Use copies of
-	   these so that the &'s don't force the real ones into
-	   memory.  */
-	YYSTYPE *yyvs1 = yyvs;
-	yytype_int16 *yyss1 = yyss;
-
-	/* Each stack pointer address is followed by the size of the
-	   data in use in that stack, in bytes.  This used to be a
-	   conditional around just the two extra args, but that might
-	   be undefined if yyoverflow is a macro.  */
-	yyoverflow (YY_("memory exhausted"),
-		    &yyss1, yysize * sizeof (*yyssp),
-		    &yyvs1, yysize * sizeof (*yyvsp),
-		    &yystacksize);
-
-	yyss = yyss1;
-	yyvs = yyvs1;
+        /* Give user a chance to reallocate the stack.  Use copies of
+           these so that the &'s don't force the real ones into
+           memory.  */
+        YYSTYPE *yyvs1 = yyvs;
+        yytype_int16 *yyss1 = yyss;
+
+        /* Each stack pointer address is followed by the size of the
+           data in use in that stack, in bytes.  This used to be a
+           conditional around just the two extra args, but that might
+           be undefined if yyoverflow is a macro.  */
+        yyoverflow (YY_("memory exhausted"),
+                    &yyss1, yysize * sizeof (*yyssp),
+                    &yyvs1, yysize * sizeof (*yyvsp),
+                    &yystacksize);
+
+        yyss = yyss1;
+        yyvs = yyvs1;
       }
 #else /* no yyoverflow */
 # ifndef YYSTACK_RELOCATE
@@ -18263,22 +17114,22 @@ YYSTYPE yylval;
 # else
       /* Extend the stack our own way.  */
       if (YYMAXDEPTH <= yystacksize)
-	goto yyexhaustedlab;
+        goto yyexhaustedlab;
       yystacksize *= 2;
       if (YYMAXDEPTH < yystacksize)
-	yystacksize = YYMAXDEPTH;
+        yystacksize = YYMAXDEPTH;
 
       {
-	yytype_int16 *yyss1 = yyss;
-	union yyalloc *yyptr =
-	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
-	if (! yyptr)
-	  goto yyexhaustedlab;
-	YYSTACK_RELOCATE (yyss_alloc, yyss);
-	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+        yytype_int16 *yyss1 = yyss;
+        union yyalloc *yyptr =
+          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+        if (! yyptr)
+          goto yyexhaustedlab;
+        YYSTACK_RELOCATE (yyss_alloc, yyss);
+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
 #  undef YYSTACK_RELOCATE
-	if (yyss1 != yyssa)
-	  YYSTACK_FREE (yyss1);
+        if (yyss1 != yyssa)
+          YYSTACK_FREE (yyss1);
       }
 # endif
 #endif /* no yyoverflow */
@@ -18287,10 +17138,10 @@ YYSTYPE yylval;
       yyvsp = yyvs + yysize - 1;
 
       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
-		  (unsigned long int) yystacksize));
+                  (unsigned long int) yystacksize));
 
       if (yyss + yystacksize - 1 <= yyssp)
-	YYABORT;
+        YYABORT;
     }
 
   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -18310,7 +17161,7 @@ yybackup:
 
   /* First try to decide what to do without reference to lookahead token.  */
   yyn = yypact[yystate];
-  if (yyn == YYPACT_NINF)
+  if (yypact_value_is_default (yyn))
     goto yydefault;
 
   /* Not known => get a lookahead token if don't already have one.  */
@@ -18319,7 +17170,7 @@ yybackup:
   if (yychar == YYEMPTY)
     {
       YYDPRINTF ((stderr, "Reading a token: "));
-      yychar = YYLEX;
+      yychar = yylex (&yylval, thd);
     }
 
   if (yychar <= YYEOF)
@@ -18341,8 +17192,8 @@ yybackup:
   yyn = yytable[yyn];
   if (yyn <= 0)
     {
-      if (yyn == 0 || yyn == YYTABLE_NINF)
-	goto yyerrlab;
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
@@ -18359,7 +17210,9 @@ yybackup:
   yychar = YYEMPTY;
 
   yystate = yyn;
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 
   goto yynewstate;
 
@@ -18382,7 +17235,7 @@ yyreduce:
   yylen = yyr2[yyn];
 
   /* If YYLEN is nonzero, implement the default value of the action:
-     `$$ = $1'.
+     '$$ = $1'.
 
      Otherwise, the following line sets YYVAL to garbage.
      This behavior is undocumented and Bison
@@ -18396,9 +17249,7 @@ yyreduce:
   switch (yyn)
     {
         case 2:
-
-/* Line 1455 of yacc.c  */
-#line 1708 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1708 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!thd->bootstrap &&
               (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT)))
@@ -18409,12 +17260,11 @@ yyreduce:
             thd->lex->sql_command= SQLCOM_EMPTY_QUERY;
             YYLIP->found_semicolon= NULL;
           }
+#line 17264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 3:
-
-/* Line 1455 of yacc.c  */
-#line 1719 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex_input_stream *lip = YYLIP;
 
@@ -18437,96 +17287,87 @@ yyreduce:
               lip->found_semicolon= NULL;
             }
           }
+#line 17291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 5:
-
-/* Line 1455 of yacc.c  */
-#line 1744 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Single query, not terminated. */
             YYLIP->found_semicolon= NULL;
           }
+#line 17300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 63:
-
-/* Line 1455 of yacc.c  */
-#line 1819 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->sql_command= SQLCOM_DEALLOCATE_PREPARE;
-            lex->prepared_stmt_name= (yyvsp[(3) - (3)].lex_str);
+            lex->prepared_stmt_name= (yyvsp[0].lex_str);
           }
+#line 17310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 66:
-
-/* Line 1455 of yacc.c  */
-#line 1833 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->sql_command= SQLCOM_PREPARE;
-            lex->prepared_stmt_name= (yyvsp[(2) - (4)].lex_str);
+            lex->prepared_stmt_name= (yyvsp[-2].lex_str);
           }
+#line 17320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 67:
-
-/* Line 1455 of yacc.c  */
-#line 1842 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1842 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            lex->prepared_stmt_code= (yyvsp[(1) - (1)].lex_str);
+            lex->prepared_stmt_code= (yyvsp[0].lex_str);
             lex->prepared_stmt_code_is_varref= FALSE;
           }
+#line 17330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 68:
-
-/* Line 1455 of yacc.c  */
-#line 1848 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            lex->prepared_stmt_code= (yyvsp[(2) - (2)].lex_str);
+            lex->prepared_stmt_code= (yyvsp[0].lex_str);
             lex->prepared_stmt_code_is_varref= TRUE;
           }
+#line 17340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 69:
-
-/* Line 1455 of yacc.c  */
-#line 1857 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->sql_command= SQLCOM_EXECUTE;
-            lex->prepared_stmt_name= (yyvsp[(2) - (2)].lex_str);
+            lex->prepared_stmt_name= (yyvsp[0].lex_str);
           }
+#line 17350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 70:
-
-/* Line 1455 of yacc.c  */
-#line 1863 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 17356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 75:
-
-/* Line 1455 of yacc.c  */
-#line 1878 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1878 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[(2) - (2)].lex_str), sizeof(LEX_STRING));
+            LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING));
             if (!lexstr || lex->prepared_stmt_params.push_back(lexstr))
               MYSQL_YYABORT;
           }
+#line 17367 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 76:
-
-/* Line 1455 of yacc.c  */
-#line 1890 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->sphead)
             {
@@ -18534,151 +17375,135 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 17379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 77:
-
-/* Line 1455 of yacc.c  */
-#line 1898 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_HELP;
-            lex->help_arg= (yyvsp[(3) - (3)].lex_str).str;
+            lex->help_arg= (yyvsp[0].lex_str).str;
           }
+#line 17389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 78:
-
-/* Line 1455 of yacc.c  */
-#line 1909 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_CHANGE_MASTER;
           }
+#line 17397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 79:
-
-/* Line 1455 of yacc.c  */
-#line 1913 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 17403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 82:
-
-/* Line 1455 of yacc.c  */
-#line 1923 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.host = (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.host = (yyvsp[0].lex_str).str;
           }
+#line 17411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 83:
-
-/* Line 1455 of yacc.c  */
-#line 1927 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.user = (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.user = (yyvsp[0].lex_str).str;
           }
+#line 17419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 84:
-
-/* Line 1455 of yacc.c  */
-#line 1931 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.password = (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.password = (yyvsp[0].lex_str).str;
           }
+#line 17427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 85:
-
-/* Line 1455 of yacc.c  */
-#line 1935 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1935 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.port = (yyvsp[(3) - (3)].ulong_num);
+            Lex->mi.port = (yyvsp[0].ulong_num);
           }
+#line 17435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 86:
-
-/* Line 1455 of yacc.c  */
-#line 1939 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.connect_retry = (yyvsp[(3) - (3)].ulong_num);
+            Lex->mi.connect_retry = (yyvsp[0].ulong_num);
           }
+#line 17443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 87:
-
-/* Line 1455 of yacc.c  */
-#line 1943 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl= (yyvsp[(3) - (3)].ulong_num) ? 
+            Lex->mi.ssl= (yyvsp[0].ulong_num) ? 
               LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
           }
+#line 17452 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 88:
-
-/* Line 1455 of yacc.c  */
-#line 1948 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl_ca= (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.ssl_ca= (yyvsp[0].lex_str).str;
           }
+#line 17460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 89:
-
-/* Line 1455 of yacc.c  */
-#line 1952 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl_capath= (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.ssl_capath= (yyvsp[0].lex_str).str;
           }
+#line 17468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 90:
-
-/* Line 1455 of yacc.c  */
-#line 1956 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl_cert= (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.ssl_cert= (yyvsp[0].lex_str).str;
           }
+#line 17476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 91:
-
-/* Line 1455 of yacc.c  */
-#line 1960 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl_cipher= (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.ssl_cipher= (yyvsp[0].lex_str).str;
           }
+#line 17484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 92:
-
-/* Line 1455 of yacc.c  */
-#line 1964 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl_key= (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.ssl_key= (yyvsp[0].lex_str).str;
           }
+#line 17492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 93:
-
-/* Line 1455 of yacc.c  */
-#line 1968 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.ssl_verify_server_cert= (yyvsp[(3) - (3)].ulong_num) ?
+            Lex->mi.ssl_verify_server_cert= (yyvsp[0].ulong_num) ?
               LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE;
           }
+#line 17501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 94:
-
-/* Line 1455 of yacc.c  */
-#line 1974 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 1974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.heartbeat_period= (float) (yyvsp[(3) - (3)].item_num)->val_real();
+            Lex->mi.heartbeat_period= (float) (yyvsp[0].item_num)->val_real();
             if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD ||
                 Lex->mi.heartbeat_period < 0.0)
             {
@@ -18707,41 +17532,37 @@ yyreduce:
             }
             Lex->mi.heartbeat_opt=  LEX_MASTER_INFO::LEX_MI_ENABLE;
           }
+#line 17536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 95:
-
-/* Line 1455 of yacc.c  */
-#line 2005 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2005 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE;
            }
+#line 17544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 100:
-
-/* Line 1455 of yacc.c  */
-#line 2020 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[(1) - (1)].ulong_num)));
+            insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[0].ulong_num)));
           }
+#line 17552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 101:
-
-/* Line 1455 of yacc.c  */
-#line 2026 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.log_file_name = (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.log_file_name = (yyvsp[0].lex_str).str;
           }
+#line 17560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 102:
-
-/* Line 1455 of yacc.c  */
-#line 2030 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.pos = (yyvsp[(3) - (3)].ulonglong_number);
+            Lex->mi.pos = (yyvsp[0].ulonglong_number);
             /* 
                If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it
                instead of causing subsequent errors. 
@@ -18755,36 +17576,33 @@ yyreduce:
             */
             Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos);
           }
+#line 17580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 103:
-
-/* Line 1455 of yacc.c  */
-#line 2046 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.relay_log_name = (yyvsp[(3) - (3)].lex_str).str;
+            Lex->mi.relay_log_name = (yyvsp[0].lex_str).str;
           }
+#line 17588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 104:
-
-/* Line 1455 of yacc.c  */
-#line 2050 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->mi.relay_log_pos = (yyvsp[(3) - (3)].ulong_num);
+            Lex->mi.relay_log_pos = (yyvsp[0].ulong_num);
             /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */
             Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos);
           }
+#line 17598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 105:
-
-/* Line 1455 of yacc.c  */
-#line 2061 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->sql_command= SQLCOM_CREATE_TABLE;
-            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(5) - (5)].table), NULL,
+            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
                                                    TL_OPTION_UPDATING,
                                                    TL_WRITE, MDL_EXCLUSIVE))
               MYSQL_YYABORT;
@@ -18798,18 +17616,17 @@ yyreduce:
             lex->col_list.empty();
             lex->change=NullS;
             bzero((char*) &lex->create_info,sizeof(lex->create_info));
-            lex->create_info.options=(yyvsp[(2) - (5)].num) | (yyvsp[(4) - (5)].num);
+            lex->create_info.options=(yyvsp[-3].num) | (yyvsp[-1].num);
             lex->create_info.default_table_charset= NULL;
             lex->name.str= 0;
             lex->name.length= 0;
             lex->create_last_non_select_table= lex->last_table();
           }
+#line 17626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 106:
-
-/* Line 1455 of yacc.c  */
-#line 2085 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->current_select= &lex->select_lex; 
@@ -18821,246 +17638,222 @@ yyreduce:
                                   ER_WARN_USING_OTHER_HANDLER,
                                   ER(ER_WARN_USING_OTHER_HANDLER),
                                   hton_name(lex->create_info.db_type)->str,
-                                  (yyvsp[(5) - (7)].table)->table.str);
+                                  (yyvsp[-2].table)->table.str);
             }
             create_table_set_open_action_and_adjust_tables(lex);
           }
+#line 17646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 107:
-
-/* Line 1455 of yacc.c  */
-#line 2101 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table)))
+            if (add_create_index_prepare(Lex, (yyvsp[0].table)))
               MYSQL_YYABORT;
           }
+#line 17655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 108:
-
-/* Line 1455 of yacc.c  */
-#line 2106 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str)))
+            if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
               MYSQL_YYABORT;
           }
+#line 17664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 109:
-
-/* Line 1455 of yacc.c  */
-#line 2112 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table)))
+            if (add_create_index_prepare(Lex, (yyvsp[0].table)))
               MYSQL_YYABORT;
           }
+#line 17673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 110:
-
-/* Line 1455 of yacc.c  */
-#line 2117 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str)))
+            if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
               MYSQL_YYABORT;
           }
+#line 17682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 111:
-
-/* Line 1455 of yacc.c  */
-#line 2123 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table)))
+            if (add_create_index_prepare(Lex, (yyvsp[0].table)))
               MYSQL_YYABORT;
           }
+#line 17691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 112:
-
-/* Line 1455 of yacc.c  */
-#line 2128 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str)))
+            if (add_create_index(Lex, (yyvsp[-10].key_type), (yyvsp[-8].lex_str)))
               MYSQL_YYABORT;
           }
+#line 17700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 113:
-
-/* Line 1455 of yacc.c  */
-#line 2133 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.default_table_charset= NULL;
             Lex->create_info.used_fields= 0;
           }
+#line 17709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 114:
-
-/* Line 1455 of yacc.c  */
-#line 2138 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_CREATE_DB;
-            lex->name= (yyvsp[(4) - (6)].lex_str);
-            lex->create_info.options=(yyvsp[(3) - (6)].num);
+            lex->name= (yyvsp[-2].lex_str);
+            lex->create_info.options=(yyvsp[-3].num);
           }
+#line 17720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 115:
-
-/* Line 1455 of yacc.c  */
-#line 2145 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_view_mode= VIEW_CREATE_NEW;
             Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED;
             Lex->create_view_suid= TRUE;
           }
+#line 17730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 116:
-
-/* Line 1455 of yacc.c  */
-#line 2151 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 17736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 117:
-
-/* Line 1455 of yacc.c  */
-#line 2153 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_CREATE_USER;
           }
+#line 17744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 118:
-
-/* Line 1455 of yacc.c  */
-#line 2157 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP;
           }
+#line 17752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 119:
-
-/* Line 1455 of yacc.c  */
-#line 2161 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE;
           }
+#line 17760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 120:
-
-/* Line 1455 of yacc.c  */
-#line 2165 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_CREATE_SERVER;
           }
+#line 17768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 121:
-
-/* Line 1455 of yacc.c  */
-#line 2176 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.server_name= (yyvsp[(2) - (10)].lex_str).str;
-            Lex->server_options.server_name_length= (yyvsp[(2) - (10)].lex_str).length;
-            Lex->server_options.scheme= (yyvsp[(6) - (10)].lex_str).str;
+            Lex->server_options.server_name= (yyvsp[-8].lex_str).str;
+            Lex->server_options.server_name_length= (yyvsp[-8].lex_str).length;
+            Lex->server_options.scheme= (yyvsp[-4].lex_str).str;
           }
+#line 17778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 124:
-
-/* Line 1455 of yacc.c  */
-#line 2190 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.username= (yyvsp[(2) - (2)].lex_str).str;
+            Lex->server_options.username= (yyvsp[0].lex_str).str;
           }
+#line 17786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 125:
-
-/* Line 1455 of yacc.c  */
-#line 2194 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.host= (yyvsp[(2) - (2)].lex_str).str;
+            Lex->server_options.host= (yyvsp[0].lex_str).str;
           }
+#line 17794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 126:
-
-/* Line 1455 of yacc.c  */
-#line 2198 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.db= (yyvsp[(2) - (2)].lex_str).str;
+            Lex->server_options.db= (yyvsp[0].lex_str).str;
           }
+#line 17802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 127:
-
-/* Line 1455 of yacc.c  */
-#line 2202 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.owner= (yyvsp[(2) - (2)].lex_str).str;
+            Lex->server_options.owner= (yyvsp[0].lex_str).str;
           }
+#line 17810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 128:
-
-/* Line 1455 of yacc.c  */
-#line 2206 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.password= (yyvsp[(2) - (2)].lex_str).str;
+            Lex->server_options.password= (yyvsp[0].lex_str).str;
           }
+#line 17818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 129:
-
-/* Line 1455 of yacc.c  */
-#line 2210 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.socket= (yyvsp[(2) - (2)].lex_str).str;
+            Lex->server_options.socket= (yyvsp[0].lex_str).str;
           }
+#line 17826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 130:
-
-/* Line 1455 of yacc.c  */
-#line 2214 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->server_options.port= (yyvsp[(2) - (2)].ulong_num);
+            Lex->server_options.port= (yyvsp[0].ulong_num);
           }
+#line 17834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 131:
-
-/* Line 1455 of yacc.c  */
-#line 2221 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
-            lex->stmt_definition_begin= (yyvsp[(1) - (4)].simple_string);
-            lex->create_info.options= (yyvsp[(3) - (4)].num);
+            lex->stmt_definition_begin= (yyvsp[-3].simple_string);
+            lex->create_info.options= (yyvsp[-1].num);
             if (!(lex->event_parse_data= Event_parse_data::new_instance(thd)))
               MYSQL_YYABORT;
-            lex->event_parse_data->identifier= (yyvsp[(4) - (4)].spname);
+            lex->event_parse_data->identifier= (yyvsp[0].spname);
             lex->event_parse_data->on_completion=
                                   Event_parse_data::ON_COMPLETION_DROP;
 
             lex->sql_command= SQLCOM_CREATE_EVENT;
             /* We need that for disallowing subqueries */
           }
+#line 17853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 132:
-
-/* Line 1455 of yacc.c  */
-#line 2240 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               sql_command is set here because some rules in ev_sql_stmt
@@ -19068,147 +17861,132 @@ yyreduce:
             */
             Lex->sql_command= SQLCOM_CREATE_EVENT;
           }
+#line 17865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 133:
-
-/* Line 1455 of yacc.c  */
-#line 2251 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->event_parse_data->item_expression= (yyvsp[(2) - (3)].item);
-            Lex->event_parse_data->interval= (yyvsp[(3) - (3)].interval);
+            Lex->event_parse_data->item_expression= (yyvsp[-1].item);
+            Lex->event_parse_data->interval= (yyvsp[0].interval);
           }
+#line 17874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 135:
-
-/* Line 1455 of yacc.c  */
-#line 2258 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->event_parse_data->item_execute_at= (yyvsp[(2) - (2)].item);
+            Lex->event_parse_data->item_execute_at= (yyvsp[0].item);
           }
+#line 17882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 136:
-
-/* Line 1455 of yacc.c  */
-#line 2264 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 17888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 137:
-
-/* Line 1455 of yacc.c  */
-#line 2266 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->status= Event_parse_data::ENABLED;
             Lex->event_parse_data->status_changed= true;
             (yyval.num)= 1;
           }
+#line 17898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 138:
-
-/* Line 1455 of yacc.c  */
-#line 2272 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED;
             Lex->event_parse_data->status_changed= true; 
             (yyval.num)= 1;
           }
+#line 17908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 139:
-
-/* Line 1455 of yacc.c  */
-#line 2278 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->status= Event_parse_data::DISABLED;
             Lex->event_parse_data->status_changed= true;
             (yyval.num)= 1;
           }
+#line 17918 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 140:
-
-/* Line 1455 of yacc.c  */
-#line 2287 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_func_now_local(0);
             if (item == NULL)
               MYSQL_YYABORT;
             Lex->event_parse_data->item_starts= item;
           }
+#line 17929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 141:
-
-/* Line 1455 of yacc.c  */
-#line 2294 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->event_parse_data->item_starts= (yyvsp[(2) - (2)].item);
+            Lex->event_parse_data->item_starts= (yyvsp[0].item);
           }
+#line 17937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 143:
-
-/* Line 1455 of yacc.c  */
-#line 2302 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->event_parse_data->item_ends= (yyvsp[(2) - (2)].item);
+            Lex->event_parse_data->item_ends= (yyvsp[0].item);
           }
+#line 17945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 144:
-
-/* Line 1455 of yacc.c  */
-#line 2308 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 17951 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 146:
-
-/* Line 1455 of yacc.c  */
-#line 2314 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->on_completion=
                                   Event_parse_data::ON_COMPLETION_PRESERVE;
             (yyval.num)= 1;
           }
+#line 17961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 147:
-
-/* Line 1455 of yacc.c  */
-#line 2320 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->event_parse_data->on_completion=
                                   Event_parse_data::ON_COMPLETION_DROP;
             (yyval.num)= 1;
           }
+#line 17971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 148:
-
-/* Line 1455 of yacc.c  */
-#line 2328 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 17977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 149:
-
-/* Line 1455 of yacc.c  */
-#line 2330 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->comment= Lex->event_parse_data->comment= (yyvsp[(2) - (2)].lex_str);
+            Lex->comment= Lex->event_parse_data->comment= (yyvsp[0].lex_str);
             (yyval.num)= 1;
           }
+#line 17986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 150:
-
-/* Line 1455 of yacc.c  */
-#line 2337 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -19250,12 +18028,11 @@ yyreduce:
 
             lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
           }
+#line 18032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 151:
-
-/* Line 1455 of yacc.c  */
-#line 2379 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2379 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
@@ -19267,12 +18044,11 @@ yyreduce:
 
             lex->event_parse_data->body_changed= TRUE;
           }
+#line 18048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 165:
-
-/* Line 1455 of yacc.c  */
-#line 2410 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2410 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
            LEX *lex=Lex;
            lex->users_list.empty();
@@ -19284,208 +18060,185 @@ yyreduce:
            lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0;
            bzero((char *)&(lex->mqh),sizeof(lex->mqh));
          }
+#line 18064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 166:
-
-/* Line 1455 of yacc.c  */
-#line 2425 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!(yyvsp[(1) - (3)].lex_str).str || check_db_name(&(yyvsp[(1) - (3)].lex_str)))
+            if (!(yyvsp[-2].lex_str).str || check_db_name(&(yyvsp[-2].lex_str)))
             {
-              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (3)].lex_str).str);
+              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str);
               MYSQL_YYABORT;
             }
-            if (check_routine_name(&(yyvsp[(3) - (3)].lex_str)))
+            if (check_routine_name(&(yyvsp[0].lex_str)))
             {
               MYSQL_YYABORT;
             }
-            (yyval.spname)= new sp_name((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), true);
+            (yyval.spname)= new sp_name((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true);
             if ((yyval.spname) == NULL)
               MYSQL_YYABORT;
             (yyval.spname)->init_qname(thd);
           }
+#line 18084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 167:
-
-/* Line 1455 of yacc.c  */
-#line 2441 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             LEX_STRING db;
-            if (check_routine_name(&(yyvsp[(1) - (1)].lex_str)))
+            if (check_routine_name(&(yyvsp[0].lex_str)))
             {
               MYSQL_YYABORT;
             }
             if (lex->copy_db_to(&db.str, &db.length))
               MYSQL_YYABORT;
-            (yyval.spname)= new sp_name(db, (yyvsp[(1) - (1)].lex_str), false);
+            (yyval.spname)= new sp_name(db, (yyvsp[0].lex_str), false);
             if ((yyval.spname) == NULL)
               MYSQL_YYABORT;
             (yyval.spname)->init_qname(thd);
           }
+#line 18103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 168:
-
-/* Line 1455 of yacc.c  */
-#line 2458 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2458 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18109 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 169:
-
-/* Line 1455 of yacc.c  */
-#line 2459 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 170:
-
-/* Line 1455 of yacc.c  */
-#line 2463 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 171:
-
-/* Line 1455 of yacc.c  */
-#line 2464 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2464 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 172:
-
-/* Line 1455 of yacc.c  */
-#line 2470 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->sp_chistics.comment= (yyvsp[(2) - (2)].lex_str); }
+#line 2470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->sp_chistics.comment= (yyvsp[0].lex_str); }
+#line 18133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 173:
-
-/* Line 1455 of yacc.c  */
-#line 2472 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* Just parse it, we only have one language for now. */ }
+#line 18139 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 174:
-
-/* Line 1455 of yacc.c  */
-#line 2474 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2474 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_NO_SQL; }
+#line 18145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 175:
-
-/* Line 1455 of yacc.c  */
-#line 2476 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; }
+#line 18151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 176:
-
-/* Line 1455 of yacc.c  */
-#line 2478 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; }
+#line 18157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 177:
-
-/* Line 1455 of yacc.c  */
-#line 2480 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; }
+#line 18163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 178:
-
-/* Line 1455 of yacc.c  */
-#line 2482 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 179:
-
-/* Line 1455 of yacc.c  */
-#line 2487 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 18175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 180:
-
-/* Line 1455 of yacc.c  */
-#line 2488 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.detistic= TRUE; }
+#line 18181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 181:
-
-/* Line 1455 of yacc.c  */
-#line 2489 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sp_chistics.detistic= FALSE; }
+#line 18187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 182:
-
-/* Line 1455 of yacc.c  */
-#line 2494 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sp_chistics.suid= SP_IS_SUID;
           }
+#line 18195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 183:
-
-/* Line 1455 of yacc.c  */
-#line 2498 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sp_chistics.suid= SP_IS_NOT_SUID;
           }
+#line 18203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 184:
-
-/* Line 1455 of yacc.c  */
-#line 2505 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex = Lex;
 
             lex->sql_command= SQLCOM_CALL;
-            lex->spname= (yyvsp[(2) - (2)].spname);
+            lex->spname= (yyvsp[0].spname);
             lex->value_list.empty();
-            sp_add_used_routine(lex, thd, (yyvsp[(2) - (2)].spname), TYPE_ENUM_PROCEDURE);
+            sp_add_used_routine(lex, thd, (yyvsp[0].spname), TYPE_ENUM_PROCEDURE);
           }
+#line 18216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 185:
-
-/* Line 1455 of yacc.c  */
-#line 2513 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2513 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 190:
-
-/* Line 1455 of yacc.c  */
-#line 2529 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-           Lex->value_list.push_back((yyvsp[(3) - (3)].item));
+           Lex->value_list.push_back((yyvsp[0].item));
           }
+#line 18230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 191:
-
-/* Line 1455 of yacc.c  */
-#line 2533 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2533 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->value_list.push_back((yyvsp[(1) - (1)].item));
+            Lex->value_list.push_back((yyvsp[0].item));
           }
+#line 18238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 196:
-
-/* Line 1455 of yacc.c  */
-#line 2551 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -19503,27 +18256,26 @@ yyreduce:
             lex->uint_geom_type= 0;
             lex->vcol_info= 0;
           }
+#line 18260 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 197:
-
-/* Line 1455 of yacc.c  */
-#line 2572 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
 
-            if (spc->find_variable(&(yyvsp[(1) - (3)].lex_str), TRUE))
+            if (spc->find_variable(&(yyvsp[-2].lex_str), TRUE))
             {
-              my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[(1) - (3)].lex_str).str);
+              my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-2].lex_str).str);
               MYSQL_YYABORT;
             }
-            sp_variable_t *spvar= spc->push_variable(&(yyvsp[(1) - (3)].lex_str),
-                                                     (enum enum_field_types)(yyvsp[(3) - (3)].num),
+            sp_variable_t *spvar= spc->push_variable(&(yyvsp[-2].lex_str),
+                                                     (enum enum_field_types)(yyvsp[0].num),
                                                      sp_param_in);
 
             if (lex->sphead->fill_field_definition(thd, lex,
-                                                   (enum enum_field_types) (yyvsp[(3) - (3)].num),
+                                                   (enum enum_field_types) (yyvsp[0].num),
                                                    &spvar->field_def))
             {
               MYSQL_YYABORT;
@@ -19531,27 +18283,26 @@ yyreduce:
             spvar->field_def.field_name= spvar->name.str;
             spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
           }
+#line 18287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 202:
-
-/* Line 1455 of yacc.c  */
-#line 2609 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
 
-            if (spc->find_variable(&(yyvsp[(3) - (4)].lex_str), TRUE))
+            if (spc->find_variable(&(yyvsp[-1].lex_str), TRUE))
             {
-              my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[(3) - (4)].lex_str).str);
+              my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[-1].lex_str).str);
               MYSQL_YYABORT;
             }
-            sp_variable_t *spvar= spc->push_variable(&(yyvsp[(3) - (4)].lex_str),
-                                                     (enum enum_field_types)(yyvsp[(4) - (4)].num),
-                                                     (sp_param_mode_t)(yyvsp[(1) - (4)].num));
+            sp_variable_t *spvar= spc->push_variable(&(yyvsp[-1].lex_str),
+                                                     (enum enum_field_types)(yyvsp[0].num),
+                                                     (sp_param_mode_t)(yyvsp[-3].num));
 
             if (lex->sphead->fill_field_definition(thd, lex,
-                                                   (enum enum_field_types) (yyvsp[(4) - (4)].num),
+                                                   (enum enum_field_types) (yyvsp[0].num),
                                                    &spvar->field_def))
             {
               MYSQL_YYABORT;
@@ -19559,109 +18310,99 @@ yyreduce:
             spvar->field_def.field_name= spvar->name.str;
             spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL;
           }
+#line 18314 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 203:
-
-/* Line 1455 of yacc.c  */
-#line 2634 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= sp_param_in; }
+#line 18320 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 204:
-
-/* Line 1455 of yacc.c  */
-#line 2635 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= sp_param_in; }
+#line 18326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 205:
-
-/* Line 1455 of yacc.c  */
-#line 2636 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2636 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= sp_param_out; }
+#line 18332 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 206:
-
-/* Line 1455 of yacc.c  */
-#line 2637 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= sp_param_inout; }
+#line 18338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 207:
-
-/* Line 1455 of yacc.c  */
-#line 2641 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 209:
-
-/* Line 1455 of yacc.c  */
-#line 2646 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18350 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 211:
-
-/* Line 1455 of yacc.c  */
-#line 2652 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
           }
+#line 18358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 212:
-
-/* Line 1455 of yacc.c  */
-#line 2656 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* We check for declarations out of (standard) order this way
               because letting the grammar rules reflect it caused tricky
                shift/reduce conflicts with the wrong result. (And we get
                better error handling this way.) */
-            if (((yyvsp[(2) - (3)].spblock).vars || (yyvsp[(2) - (3)].spblock).conds) && ((yyvsp[(1) - (3)].spblock).curs || (yyvsp[(1) - (3)].spblock).hndlrs))
+            if (((yyvsp[-1].spblock).vars || (yyvsp[-1].spblock).conds) && ((yyvsp[-2].spblock).curs || (yyvsp[-2].spblock).hndlrs))
             { /* Variable or condition following cursor or handler */
               my_message(ER_SP_VARCOND_AFTER_CURSHNDLR,
                          ER(ER_SP_VARCOND_AFTER_CURSHNDLR), MYF(0));
               MYSQL_YYABORT;
             }
-            if ((yyvsp[(2) - (3)].spblock).curs && (yyvsp[(1) - (3)].spblock).hndlrs)
+            if ((yyvsp[-1].spblock).curs && (yyvsp[-2].spblock).hndlrs)
             { /* Cursor following handler */
               my_message(ER_SP_CURSOR_AFTER_HANDLER,
                          ER(ER_SP_CURSOR_AFTER_HANDLER), MYF(0));
               MYSQL_YYABORT;
             }
-            (yyval.spblock).vars= (yyvsp[(1) - (3)].spblock).vars + (yyvsp[(2) - (3)].spblock).vars;
-            (yyval.spblock).conds= (yyvsp[(1) - (3)].spblock).conds + (yyvsp[(2) - (3)].spblock).conds;
-            (yyval.spblock).hndlrs= (yyvsp[(1) - (3)].spblock).hndlrs + (yyvsp[(2) - (3)].spblock).hndlrs;
-            (yyval.spblock).curs= (yyvsp[(1) - (3)].spblock).curs + (yyvsp[(2) - (3)].spblock).curs;
+            (yyval.spblock).vars= (yyvsp[-2].spblock).vars + (yyvsp[-1].spblock).vars;
+            (yyval.spblock).conds= (yyvsp[-2].spblock).conds + (yyvsp[-1].spblock).conds;
+            (yyval.spblock).hndlrs= (yyvsp[-2].spblock).hndlrs + (yyvsp[-1].spblock).hndlrs;
+            (yyval.spblock).curs= (yyvsp[-2].spblock).curs + (yyvsp[-1].spblock).curs;
           }
+#line 18385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 213:
-
-/* Line 1455 of yacc.c  */
-#line 2682 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sphead->reset_lex(thd);
-            lex->spcont->declare_var_boundary((yyvsp[(2) - (2)].num));
+            lex->spcont->declare_var_boundary((yyvsp[0].num));
           }
+#line 18396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 214:
-
-/* Line 1455 of yacc.c  */
-#line 2690 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2690 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *pctx= lex->spcont;
             uint num_vars= pctx->context_var_count();
-            enum enum_field_types var_type= (enum enum_field_types) (yyvsp[(4) - (5)].num);
-            Item *dflt_value_item= (yyvsp[(5) - (5)].item);
+            enum enum_field_types var_type= (enum enum_field_types) (yyvsp[-1].num);
+            Item *dflt_value_item= (yyvsp[0].item);
             
             if (!dflt_value_item)
             {
@@ -19671,7 +18412,7 @@ yyreduce:
               /* QQ Set to the var_type with null_value? */
             }
             
-            for (uint i = num_vars-(yyvsp[(2) - (5)].num) ; i < num_vars ; i++)
+            for (uint i = num_vars-(yyvsp[-3].num) ; i < num_vars ; i++)
             {
               uint var_idx= pctx->var_context2runtime(i);
               sp_variable_t *spvar= pctx->find_variable(var_idx);
@@ -19708,35 +18449,33 @@ yyreduce:
             pctx->declare_var_boundary(0);
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
-            (yyval.spblock).vars= (yyvsp[(2) - (5)].num);
+            (yyval.spblock).vars= (yyvsp[-3].num);
             (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
           }
+#line 18456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 215:
-
-/* Line 1455 of yacc.c  */
-#line 2746 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
 
-            if (spc->find_cond(&(yyvsp[(2) - (5)].lex_str), TRUE))
+            if (spc->find_cond(&(yyvsp[-3].lex_str), TRUE))
             {
-              my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[(2) - (5)].lex_str).str);
+              my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[-3].lex_str).str);
               MYSQL_YYABORT;
             }
-            if(thd->lex->spcont->push_cond(&(yyvsp[(2) - (5)].lex_str), (yyvsp[(5) - (5)].spcondtype)))
+            if(thd->lex->spcont->push_cond(&(yyvsp[-3].lex_str), (yyvsp[0].spcondtype)))
               MYSQL_YYABORT;
             (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0;
             (yyval.spblock).conds= 1;
           }
+#line 18475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 216:
-
-/* Line 1455 of yacc.c  */
-#line 2761 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -19745,25 +18484,24 @@ yyreduce:
 
             sp_pcontext *ctx= lex->spcont;
             sp_instr_hpush_jump *i=
-              new sp_instr_hpush_jump(sp->instructions(), ctx, (yyvsp[(2) - (4)].num),
+              new sp_instr_hpush_jump(sp->instructions(), ctx, (yyvsp[-2].num),
                                       ctx->current_var_count());
             if (i == NULL || sp->add_instr(i))
               MYSQL_YYABORT;
 
             /* For continue handlers, mark end of handler scope. */
-            if ((yyvsp[(2) - (4)].num) == SP_HANDLER_CONTINUE &&
+            if ((yyvsp[-2].num) == SP_HANDLER_CONTINUE &&
                 sp->push_backpatch(i, ctx->last_label()))
               MYSQL_YYABORT;
 
             if (sp->push_backpatch(i, ctx->push_label(empty_c_string, 0)))
               MYSQL_YYABORT;
           }
+#line 18501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 217:
-
-/* Line 1455 of yacc.c  */
-#line 2783 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -19771,7 +18509,7 @@ yyreduce:
             sp_label_t *hlab= lex->spcont->pop_label(); /* After this hdlr */
             sp_instr_hreturn *i;
 
-            if ((yyvsp[(2) - (7)].num) == SP_HANDLER_CONTINUE)
+            if ((yyvsp[-5].num) == SP_HANDLER_CONTINUE)
             {
               i= new sp_instr_hreturn(sp->instructions(), ctx,
                                       ctx->current_var_count());
@@ -19792,15 +18530,14 @@ yyreduce:
             lex->spcont= ctx->pop_context();
 
             (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0;
-            (yyval.spblock).hndlrs= (yyvsp[(6) - (7)].num);
-            lex->spcont->add_handlers((yyvsp[(6) - (7)].num));
+            (yyval.spblock).hndlrs= (yyvsp[-1].num);
+            lex->spcont->add_handlers((yyvsp[-1].num));
           }
+#line 18537 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 218:
-
-/* Line 1455 of yacc.c  */
-#line 2815 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -19808,36 +18545,34 @@ yyreduce:
             uint offp;
             sp_instr_cpush *i;
 
-            if (ctx->find_cursor(&(yyvsp[(2) - (5)].lex_str), &offp, TRUE))
+            if (ctx->find_cursor(&(yyvsp[-3].lex_str), &offp, TRUE))
             {
-              my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[(2) - (5)].lex_str).str);
-              delete (yyvsp[(5) - (5)].lex);
+              my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[-3].lex_str).str);
+              delete (yyvsp[0].lex);
               MYSQL_YYABORT;
             }
-            i= new sp_instr_cpush(sp->instructions(), ctx, (yyvsp[(5) - (5)].lex),
+            i= new sp_instr_cpush(sp->instructions(), ctx, (yyvsp[0].lex),
                                   ctx->current_cursor_count());
             if (i == NULL ||
                 sp->add_instr(i) ||
-                ctx->push_cursor(&(yyvsp[(2) - (5)].lex_str)))
+                ctx->push_cursor(&(yyvsp[-3].lex_str)))
               MYSQL_YYABORT;
             (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0;
             (yyval.spblock).curs= 1;
           }
+#line 18564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 219:
-
-/* Line 1455 of yacc.c  */
-#line 2840 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->reset_lex(thd);
           }
+#line 18572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 220:
-
-/* Line 1455 of yacc.c  */
-#line 2844 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2844 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -19854,46 +18589,41 @@ yyreduce:
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 18593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 221:
-
-/* Line 1455 of yacc.c  */
-#line 2863 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2863 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= SP_HANDLER_EXIT; }
+#line 18599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 222:
-
-/* Line 1455 of yacc.c  */
-#line 2864 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= SP_HANDLER_CONTINUE; }
+#line 18605 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 223:
-
-/* Line 1455 of yacc.c  */
-#line 2870 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 18611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 224:
-
-/* Line 1455 of yacc.c  */
-#line 2872 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)+= 1; }
+#line 18617 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 225:
-
-/* Line 1455 of yacc.c  */
-#line 2877 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             sp_pcontext *ctx= lex->spcont->parent_context();
 
-            if (ctx->find_handler((yyvsp[(1) - (1)].spcondtype)))
+            if (ctx->find_handler((yyvsp[0].spcondtype)))
             {
               my_message(ER_SP_DUP_HANDLER, ER(ER_SP_DUP_HANDLER), MYF(0));
               MYSQL_YYABORT;
@@ -19903,18 +18633,17 @@ yyreduce:
               sp_instr_hpush_jump *i=
                 (sp_instr_hpush_jump *)sp->last_instruction();
 
-              i->add_condition((yyvsp[(1) - (1)].spcondtype));
-              ctx->push_handler((yyvsp[(1) - (1)].spcondtype));
+              i->add_condition((yyvsp[0].spcondtype));
+              ctx->push_handler((yyvsp[0].spcondtype));
             }
           }
+#line 18641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 226:
-
-/* Line 1455 of yacc.c  */
-#line 2900 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* mysql errno */
-            if ((yyvsp[(1) - (1)].ulong_num) == 0)
+            if ((yyvsp[0].ulong_num) == 0)
             {
               my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0");
               MYSQL_YYABORT;
@@ -19923,135 +18652,125 @@ yyreduce:
             if ((yyval.spcondtype) == NULL)
               MYSQL_YYABORT;
             (yyval.spcondtype)->type= sp_cond_type_t::number;
-            (yyval.spcondtype)->mysqlerr= (yyvsp[(1) - (1)].ulong_num);
+            (yyval.spcondtype)->mysqlerr= (yyvsp[0].ulong_num);
           }
+#line 18658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 228:
-
-/* Line 1455 of yacc.c  */
-#line 2917 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* SQLSTATE */
-            if (!sp_cond_check(&(yyvsp[(3) - (3)].lex_str)))
+            if (!sp_cond_check(&(yyvsp[0].lex_str)))
             {
-              my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[(3) - (3)].lex_str).str);
+              my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
             if ((yyval.spcondtype) == NULL)
               MYSQL_YYABORT;
             (yyval.spcondtype)->type= sp_cond_type_t::state;
-            memcpy((yyval.spcondtype)->sqlstate, (yyvsp[(3) - (3)].lex_str).str, SQLSTATE_LENGTH);
+            memcpy((yyval.spcondtype)->sqlstate, (yyvsp[0].lex_str).str, SQLSTATE_LENGTH);
             (yyval.spcondtype)->sqlstate[SQLSTATE_LENGTH]= '\0';
           }
+#line 18676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 229:
-
-/* Line 1455 of yacc.c  */
-#line 2933 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2933 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 230:
-
-/* Line 1455 of yacc.c  */
-#line 2934 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 18688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 231:
-
-/* Line 1455 of yacc.c  */
-#line 2939 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2939 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype);
+            (yyval.spcondtype)= (yyvsp[0].spcondtype);
           }
+#line 18696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 232:
-
-/* Line 1455 of yacc.c  */
-#line 2943 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.spcondtype)= Lex->spcont->find_cond(&(yyvsp[(1) - (1)].lex_str));
+            (yyval.spcondtype)= Lex->spcont->find_cond(&(yyvsp[0].lex_str));
             if ((yyval.spcondtype) == NULL)
             {
-              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
           }
+#line 18709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 233:
-
-/* Line 1455 of yacc.c  */
-#line 2952 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
             if ((yyval.spcondtype) == NULL)
               MYSQL_YYABORT;
             (yyval.spcondtype)->type= sp_cond_type_t::warning;
           }
+#line 18720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 234:
-
-/* Line 1455 of yacc.c  */
-#line 2959 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
             if ((yyval.spcondtype) == NULL)
               MYSQL_YYABORT;
             (yyval.spcondtype)->type= sp_cond_type_t::notfound;
           }
+#line 18731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 235:
-
-/* Line 1455 of yacc.c  */
-#line 2966 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.spcondtype)= (sp_cond_type_t *) thd->alloc(sizeof(sp_cond_type_t));
             if ((yyval.spcondtype) == NULL)
               MYSQL_YYABORT;
             (yyval.spcondtype)->type= sp_cond_type_t::exception;
           }
+#line 18742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 236:
-
-/* Line 1455 of yacc.c  */
-#line 2976 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Yacc_state *state= & thd->m_parser_state->m_yacc;
 
             lex->sql_command= SQLCOM_SIGNAL;
-            lex->m_stmt= new (thd->mem_root) Signal_statement(lex, (yyvsp[(2) - (3)].spcondtype),
+            lex->m_stmt= new (thd->mem_root) Signal_statement(lex, (yyvsp[-1].spcondtype),
                                                       state->m_set_signal_info);
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 18757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 237:
-
-/* Line 1455 of yacc.c  */
-#line 2990 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 2990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_cond_type_t *cond;
             if (lex->spcont == NULL)
             {
               /* SIGNAL foo cannot be used outside of stored programs */
-              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
-            cond= lex->spcont->find_cond(&(yyvsp[(1) - (1)].lex_str));
+            cond= lex->spcont->find_cond(&(yyvsp[0].lex_str));
             if (cond == NULL)
             {
-              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             if (cond->type != sp_cond_type_t::state)
@@ -20061,84 +18780,76 @@ yyreduce:
             }
             (yyval.spcondtype)= cond;
           }
+#line 18784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 238:
-
-/* Line 1455 of yacc.c  */
-#line 3013 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); }
+#line 3013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.spcondtype)= (yyvsp[0].spcondtype); }
+#line 18790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 239:
-
-/* Line 1455 of yacc.c  */
-#line 3018 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.spcondtype)= NULL; }
+#line 18796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 240:
-
-/* Line 1455 of yacc.c  */
-#line 3020 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); }
+#line 3020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.spcondtype)= (yyvsp[0].spcondtype); }
+#line 18802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 241:
-
-/* Line 1455 of yacc.c  */
-#line 3025 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             thd->m_parser_state->m_yacc.m_set_signal_info.clear();
           }
+#line 18810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 243:
-
-/* Line 1455 of yacc.c  */
-#line 3033 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Set_signal_information *info;
             info= &thd->m_parser_state->m_yacc.m_set_signal_info;
-            int index= (int) (yyvsp[(1) - (3)].diag_condition_item_name);
+            int index= (int) (yyvsp[-2].diag_condition_item_name);
             info->clear();
-            info->m_item[index]= (yyvsp[(3) - (3)].item);
+            info->m_item[index]= (yyvsp[0].item);
           }
+#line 18822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 244:
-
-/* Line 1455 of yacc.c  */
-#line 3042 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Set_signal_information *info;
             info= &thd->m_parser_state->m_yacc.m_set_signal_info;
-            int index= (int) (yyvsp[(3) - (5)].diag_condition_item_name);
+            int index= (int) (yyvsp[-2].diag_condition_item_name);
             if (info->m_item[index] != NULL)
             {
               my_error(ER_DUP_SIGNAL_SET, MYF(0),
                        Diag_condition_item_names[index].str);
               MYSQL_YYABORT;
             }
-            info->m_item[index]= (yyvsp[(5) - (5)].item);
+            info->m_item[index]= (yyvsp[0].item);
           }
+#line 18839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 245:
-
-/* Line 1455 of yacc.c  */
-#line 3061 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(1) - (1)].item); }
+#line 3061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item); }
+#line 18845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 246:
-
-/* Line 1455 of yacc.c  */
-#line 3063 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if ((yyvsp[(1) - (1)].item)->type() == Item::FUNC_ITEM)
+            if ((yyvsp[0].item)->type() == Item::FUNC_ITEM)
             {
-              Item_func *item= (Item_func*) (yyvsp[(1) - (1)].item);
+              Item_func *item= (Item_func*) (yyvsp[0].item);
               if (item->functype() == Item_func::SUSERVAR_FUNC)
               {
                 /*
@@ -20150,189 +18861,168 @@ yyreduce:
                 MYSQL_YYABORT;
               }
             }
-            (yyval.item)= (yyvsp[(1) - (1)].item);
+            (yyval.item)= (yyvsp[0].item);
           }
+#line 18867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 247:
-
-/* Line 1455 of yacc.c  */
-#line 3081 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(1) - (1)].item); }
+#line 3081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item); }
+#line 18873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 248:
-
-/* Line 1455 of yacc.c  */
-#line 3087 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; }
+#line 18879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 249:
-
-/* Line 1455 of yacc.c  */
-#line 3089 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; }
+#line 18885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 250:
-
-/* Line 1455 of yacc.c  */
-#line 3091 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; }
+#line 18891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 251:
-
-/* Line 1455 of yacc.c  */
-#line 3093 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; }
+#line 18897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 252:
-
-/* Line 1455 of yacc.c  */
-#line 3095 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; }
+#line 18903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 253:
-
-/* Line 1455 of yacc.c  */
-#line 3097 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; }
+#line 18909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 254:
-
-/* Line 1455 of yacc.c  */
-#line 3099 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; }
+#line 18915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 255:
-
-/* Line 1455 of yacc.c  */
-#line 3101 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; }
+#line 18921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 256:
-
-/* Line 1455 of yacc.c  */
-#line 3103 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; }
+#line 18927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 257:
-
-/* Line 1455 of yacc.c  */
-#line 3105 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; }
+#line 18933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 258:
-
-/* Line 1455 of yacc.c  */
-#line 3107 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; }
+#line 18939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 259:
-
-/* Line 1455 of yacc.c  */
-#line 3109 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; }
+#line 18945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 260:
-
-/* Line 1455 of yacc.c  */
-#line 3114 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Yacc_state *state= & thd->m_parser_state->m_yacc;
 
             lex->sql_command= SQLCOM_RESIGNAL;
-            lex->m_stmt= new (thd->mem_root) Resignal_statement(lex, (yyvsp[(2) - (3)].spcondtype),
+            lex->m_stmt= new (thd->mem_root) Resignal_statement(lex, (yyvsp[-1].spcondtype),
                                                       state->m_set_signal_info);
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 18960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 261:
-
-/* Line 1455 of yacc.c  */
-#line 3128 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* NOTE: field definition is filled in sp_decl section. */
 
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
 
-            if (spc->find_variable(&(yyvsp[(1) - (1)].lex_str), TRUE))
+            if (spc->find_variable(&(yyvsp[0].lex_str), TRUE))
             {
-              my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
-            spc->push_variable(&(yyvsp[(1) - (1)].lex_str), (enum_field_types)0, sp_param_in);
+            spc->push_variable(&(yyvsp[0].lex_str), (enum_field_types)0, sp_param_in);
             (yyval.num)= 1;
           }
+#line 18979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 262:
-
-/* Line 1455 of yacc.c  */
-#line 3143 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* NOTE: field definition is filled in sp_decl section. */
 
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
 
-            if (spc->find_variable(&(yyvsp[(3) - (3)].lex_str), TRUE))
+            if (spc->find_variable(&(yyvsp[0].lex_str), TRUE))
             {
-              my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[(3) - (3)].lex_str).str);
+              my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
-            spc->push_variable(&(yyvsp[(3) - (3)].lex_str), (enum_field_types)0, sp_param_in);
-            (yyval.num)= (yyvsp[(1) - (3)].num) + 1;
+            spc->push_variable(&(yyvsp[0].lex_str), (enum_field_types)0, sp_param_in);
+            (yyval.num)= (yyvsp[-2].num) + 1;
           }
+#line 18998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 263:
-
-/* Line 1455 of yacc.c  */
-#line 3160 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item) = NULL; }
+#line 19004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 264:
-
-/* Line 1455 of yacc.c  */
-#line 3161 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(2) - (2)].item); }
+#line 3161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item); }
+#line 19010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 278:
-
-/* Line 1455 of yacc.c  */
-#line 3182 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->new_cont_backpatch(NULL); }
+#line 19016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 279:
-
-/* Line 1455 of yacc.c  */
-#line 3184 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->do_cont_backpatch(); }
+#line 19022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 280:
-
-/* Line 1455 of yacc.c  */
-#line 3188 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -20340,12 +19030,11 @@ yyreduce:
             lex->sphead->reset_lex(thd);
             lex->sphead->m_tmp_query= lip->get_tok_start();
           }
+#line 19034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 281:
-
-/* Line 1455 of yacc.c  */
-#line 3196 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -20389,19 +19078,17 @@ yyreduce:
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 282:
-
-/* Line 1455 of yacc.c  */
-#line 3243 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
+#line 19088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 283:
-
-/* Line 1455 of yacc.c  */
-#line 3245 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -20415,7 +19102,7 @@ yyreduce:
             {
               sp_instr_freturn *i;
 
-              i= new sp_instr_freturn(sp->instructions(), lex->spcont, (yyvsp[(3) - (3)].item),
+              i= new sp_instr_freturn(sp->instructions(), lex->spcont, (yyvsp[0].item),
                                       sp->m_return_field_def.sql_type, lex);
               if (i == NULL ||
                   sp->add_instr(i))
@@ -20425,43 +19112,40 @@ yyreduce:
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 284:
-
-/* Line 1455 of yacc.c  */
-#line 3271 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* Unlabeled controls get a secret label. */
             LEX *lex= Lex;
 
             lex->spcont->push_label((char *)"", lex->sphead->instructions());
           }
+#line 19126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 285:
-
-/* Line 1455 of yacc.c  */
-#line 3277 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sphead->backpatch(lex->spcont->pop_label());
           }
+#line 19136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 286:
-
-/* Line 1455 of yacc.c  */
-#line 3286 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp = lex->sphead;
             sp_pcontext *ctx= lex->spcont;
-            sp_label_t *lab= ctx->find_label((yyvsp[(2) - (2)].lex_str).str);
+            sp_label_t *lab= ctx->find_label((yyvsp[0].lex_str).str);
 
             if (! lab)
             {
-              my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[(2) - (2)].lex_str).str);
+              my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             else
@@ -20502,21 +19186,20 @@ yyreduce:
               sp->add_instr(i);
             }
           }
+#line 19190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 287:
-
-/* Line 1455 of yacc.c  */
-#line 3339 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             sp_pcontext *ctx= lex->spcont;
-            sp_label_t *lab= ctx->find_label((yyvsp[(2) - (2)].lex_str).str);
+            sp_label_t *lab= ctx->find_label((yyvsp[0].lex_str).str);
 
             if (! lab || lab->type != SP_LAB_ITER)
             {
-              my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[(2) - (2)].lex_str).str);
+              my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             else
@@ -20547,21 +19230,20 @@ yyreduce:
                 MYSQL_YYABORT;
             }
           }
+#line 19234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 288:
-
-/* Line 1455 of yacc.c  */
-#line 3382 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             uint offset;
             sp_instr_copen *i;
 
-            if (! lex->spcont->find_cursor(&(yyvsp[(2) - (2)].lex_str), &offset))
+            if (! lex->spcont->find_cursor(&(yyvsp[0].lex_str), &offset))
             {
-              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[(2) - (2)].lex_str).str);
+              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             i= new sp_instr_copen(sp->instructions(), lex->spcont, offset);
@@ -20569,21 +19251,20 @@ yyreduce:
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
+#line 19255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 289:
-
-/* Line 1455 of yacc.c  */
-#line 3402 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             uint offset;
             sp_instr_cfetch *i;
 
-            if (! lex->spcont->find_cursor(&(yyvsp[(3) - (4)].lex_str), &offset))
+            if (! lex->spcont->find_cursor(&(yyvsp[-1].lex_str), &offset))
             {
-              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[(3) - (4)].lex_str).str);
+              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[-1].lex_str).str);
               MYSQL_YYABORT;
             }
             i= new sp_instr_cfetch(sp->instructions(), lex->spcont, offset);
@@ -20591,28 +19272,26 @@ yyreduce:
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
+#line 19276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 290:
-
-/* Line 1455 of yacc.c  */
-#line 3419 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 19282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 291:
-
-/* Line 1455 of yacc.c  */
-#line 3424 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3424 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             uint offset;
             sp_instr_cclose *i;
 
-            if (! lex->spcont->find_cursor(&(yyvsp[(2) - (2)].lex_str), &offset))
+            if (! lex->spcont->find_cursor(&(yyvsp[0].lex_str), &offset))
             {
-              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[(2) - (2)].lex_str).str);
+              my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             i= new sp_instr_cclose(sp->instructions(), lex->spcont,  offset);
@@ -20620,21 +19299,20 @@ yyreduce:
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
+#line 19303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 295:
-
-/* Line 1455 of yacc.c  */
-#line 3450 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             sp_pcontext *spc= lex->spcont;
             sp_variable_t *spv;
 
-            if (!spc || !(spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str))))
+            if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
             {
-              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             else
@@ -20645,21 +19323,20 @@ yyreduce:
               i->add_to_varlist(spv);
             }
           }
+#line 19327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 296:
-
-/* Line 1455 of yacc.c  */
-#line 3470 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             sp_pcontext *spc= lex->spcont;
             sp_variable_t *spv;
 
-            if (!spc || !(spv = spc->find_variable(&(yyvsp[(3) - (3)].lex_str))))
+            if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
             {
-              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(3) - (3)].lex_str).str);
+              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             else
@@ -20670,26 +19347,24 @@ yyreduce:
               i->add_to_varlist(spv);
             }
           }
+#line 19351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 297:
-
-/* Line 1455 of yacc.c  */
-#line 3492 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
+#line 19357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 298:
-
-/* Line 1455 of yacc.c  */
-#line 3494 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             sp_pcontext *ctx= lex->spcont;
             uint ip= sp->instructions();
             sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, ctx,
-                                                               (yyvsp[(2) - (3)].item), lex);
+                                                               (yyvsp[-1].item), lex);
             if (i == NULL ||
                 sp->push_backpatch(i, ctx->push_label((char *)"", 0)) ||
                 sp->add_cont_backpatch(i) ||
@@ -20698,12 +19373,11 @@ yyreduce:
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 299:
-
-/* Line 1455 of yacc.c  */
-#line 3510 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_head *sp= Lex->sphead;
             sp_pcontext *ctx= Lex->spcont;
@@ -20715,149 +19389,136 @@ yyreduce:
             sp->backpatch(ctx->pop_label());
             sp->push_backpatch(i, ctx->push_label((char *)"", 0));
           }
+#line 19393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 300:
-
-/* Line 1455 of yacc.c  */
-#line 3522 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sphead->backpatch(lex->spcont->pop_label());
           }
+#line 19403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 306:
-
-/* Line 1455 of yacc.c  */
-#line 3542 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             case_stmt_action_case(lex);
             lex->sphead->reset_lex(thd); /* For expr $3 */
           }
+#line 19413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 307:
-
-/* Line 1455 of yacc.c  */
-#line 3548 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            if (case_stmt_action_expr(lex, (yyvsp[(3) - (3)].item)))
+            if (case_stmt_action_expr(lex, (yyvsp[0].item)))
               MYSQL_YYABORT;
 
             /* For expr $3 */
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 308:
-
-/* Line 1455 of yacc.c  */
-#line 3561 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             case_stmt_action_end_case(lex, true);
           }
+#line 19436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 309:
-
-/* Line 1455 of yacc.c  */
-#line 3569 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             case_stmt_action_case(lex);
           }
+#line 19445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 310:
-
-/* Line 1455 of yacc.c  */
-#line 3577 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             case_stmt_action_end_case(lex, false);
           }
+#line 19454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 315:
-
-/* Line 1455 of yacc.c  */
-#line 3595 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->reset_lex(thd); /* For expr $3 */
           }
+#line 19462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 316:
-
-/* Line 1455 of yacc.c  */
-#line 3599 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Simple case: <caseval> = <whenval> */
 
             LEX *lex= Lex;
-            if (case_stmt_action_when(lex, (yyvsp[(3) - (3)].item), true))
+            if (case_stmt_action_when(lex, (yyvsp[0].item), true))
               MYSQL_YYABORT;
             /* For expr $3 */
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 317:
-
-/* Line 1455 of yacc.c  */
-#line 3611 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3611 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (case_stmt_action_then(lex))
               MYSQL_YYABORT;
           }
+#line 19487 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 318:
-
-/* Line 1455 of yacc.c  */
-#line 3620 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3620 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sphead->reset_lex(thd); /* For expr $3 */
           }
+#line 19495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 319:
-
-/* Line 1455 of yacc.c  */
-#line 3624 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            if (case_stmt_action_when(lex, (yyvsp[(3) - (3)].item), false))
+            if (case_stmt_action_when(lex, (yyvsp[0].item), false))
               MYSQL_YYABORT;
             /* For expr $3 */
             if (lex->sphead->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 320:
-
-/* Line 1455 of yacc.c  */
-#line 3634 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3634 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (case_stmt_action_then(lex))
               MYSQL_YYABORT;
           }
+#line 19518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 321:
-
-/* Line 1455 of yacc.c  */
-#line 3643 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -20868,143 +19529,133 @@ yyreduce:
                 sp->add_instr(i))
               MYSQL_YYABORT;
           }
+#line 19533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 323:
-
-/* Line 1455 of yacc.c  */
-#line 3658 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *ctx= lex->spcont;
-            sp_label_t *lab= ctx->find_label((yyvsp[(1) - (2)].lex_str).str);
+            sp_label_t *lab= ctx->find_label((yyvsp[-1].lex_str).str);
 
             if (lab)
             {
-              my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[(1) - (2)].lex_str).str);
+              my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_str).str);
               MYSQL_YYABORT;
             }
             else
             {
-              lab= lex->spcont->push_label((yyvsp[(1) - (2)].lex_str).str,
+              lab= lex->spcont->push_label((yyvsp[-1].lex_str).str,
                                            lex->sphead->instructions());
               lab->type= SP_LAB_ITER;
             }
           }
+#line 19555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 324:
-
-/* Line 1455 of yacc.c  */
-#line 3676 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_label_t *lab= lex->spcont->pop_label();
 
-            if ((yyvsp[(5) - (5)].lex_str).str)
+            if ((yyvsp[0].lex_str).str)
             {
-              if (my_strcasecmp(system_charset_info, (yyvsp[(5) - (5)].lex_str).str, lab->name) != 0)
+              if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, lab->name) != 0)
               {
-                my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[(5) - (5)].lex_str).str);
+                my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
                 MYSQL_YYABORT;
               }
             }
             lex->sphead->backpatch(lab);
           }
+#line 19574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 325:
-
-/* Line 1455 of yacc.c  */
-#line 3693 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
+#line 19580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 326:
-
-/* Line 1455 of yacc.c  */
-#line 3694 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
+#line 3694 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 19586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 327:
-
-/* Line 1455 of yacc.c  */
-#line 3699 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *ctx= lex->spcont;
-            sp_label_t *lab= ctx->find_label((yyvsp[(1) - (2)].lex_str).str);
+            sp_label_t *lab= ctx->find_label((yyvsp[-1].lex_str).str);
 
             if (lab)
             {
-              my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[(1) - (2)].lex_str).str);
+              my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[-1].lex_str).str);
               MYSQL_YYABORT;
             }
 
-            lab= lex->spcont->push_label((yyvsp[(1) - (2)].lex_str).str,
+            lab= lex->spcont->push_label((yyvsp[-1].lex_str).str,
                                          lex->sphead->instructions());
             lab->type= SP_LAB_BEGIN;
           }
+#line 19606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 328:
-
-/* Line 1455 of yacc.c  */
-#line 3715 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3715 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_label_t *lab= lex->spcont->pop_label();
 
-            if ((yyvsp[(5) - (5)].lex_str).str)
+            if ((yyvsp[0].lex_str).str)
             {
-              if (my_strcasecmp(system_charset_info, (yyvsp[(5) - (5)].lex_str).str, lab->name) != 0)
+              if (my_strcasecmp(system_charset_info, (yyvsp[0].lex_str).str, lab->name) != 0)
               {
-                my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[(5) - (5)].lex_str).str);
+                my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[0].lex_str).str);
                 MYSQL_YYABORT;
               }
             }
           }
+#line 19624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 329:
-
-/* Line 1455 of yacc.c  */
-#line 3731 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* Unlabeled blocks get a secret label. */
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
             sp_label_t *lab= lex->spcont->push_label((char *)"", ip);
             lab->type= SP_LAB_BEGIN;
           }
+#line 19635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 330:
-
-/* Line 1455 of yacc.c  */
-#line 3738 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->spcont->pop_label();
           }
+#line 19644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 331:
-
-/* Line 1455 of yacc.c  */
-#line 3746 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* QQ This is just a dummy for grouping declarations and statements
               together. No [[NOT] ATOMIC] yet, and we need to figure out how
               make it coexist with the existing BEGIN COMMIT/ROLLBACK. */
             LEX *lex= Lex;
             lex->spcont= lex->spcont->push_context(LABEL_DEFAULT_SCOPE);
           }
+#line 19655 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 332:
-
-/* Line 1455 of yacc.c  */
-#line 3755 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -21012,28 +19663,27 @@ yyreduce:
             sp_instr *i;
 
             sp->backpatch(ctx->last_label()); /* We always have a label */
-            if ((yyvsp[(3) - (5)].spblock).hndlrs)
+            if ((yyvsp[-2].spblock).hndlrs)
             {
-              i= new sp_instr_hpop(sp->instructions(), ctx, (yyvsp[(3) - (5)].spblock).hndlrs);
+              i= new sp_instr_hpop(sp->instructions(), ctx, (yyvsp[-2].spblock).hndlrs);
               if (i == NULL ||
                   sp->add_instr(i))
                 MYSQL_YYABORT;
             }
-            if ((yyvsp[(3) - (5)].spblock).curs)
+            if ((yyvsp[-2].spblock).curs)
             {
-              i= new sp_instr_cpop(sp->instructions(), ctx, (yyvsp[(3) - (5)].spblock).curs);
+              i= new sp_instr_cpop(sp->instructions(), ctx, (yyvsp[-2].spblock).curs);
               if (i == NULL ||
                   sp->add_instr(i))
                 MYSQL_YYABORT;
             }
             lex->spcont= ctx->pop_context();
           }
+#line 19683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 333:
-
-/* Line 1455 of yacc.c  */
-#line 3783 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
@@ -21043,25 +19693,23 @@ yyreduce:
                 lex->sphead->add_instr(i))
               MYSQL_YYABORT;
           }
+#line 19697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 334:
-
-/* Line 1455 of yacc.c  */
-#line 3793 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
+#line 19703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 335:
-
-/* Line 1455 of yacc.c  */
-#line 3795 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
             uint ip= sp->instructions();
             sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont,
-                                                               (yyvsp[(3) - (4)].item), lex);
+                                                               (yyvsp[-1].item), lex);
             if (i == NULL ||
                 /* Jumping forward */
                 sp->push_backpatch(i, lex->spcont->last_label()) ||
@@ -21071,12 +19719,11 @@ yyreduce:
             if (sp->restore_lex(thd))
               MYSQL_YYABORT;
           }
+#line 19723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 336:
-
-/* Line 1455 of yacc.c  */
-#line 3811 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
@@ -21087,25 +19734,23 @@ yyreduce:
               MYSQL_YYABORT;
             lex->sphead->do_cont_backpatch();
           }
+#line 19738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 337:
-
-/* Line 1455 of yacc.c  */
-#line 3822 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3822 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sphead->reset_lex(thd); }
+#line 19744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 338:
-
-/* Line 1455 of yacc.c  */
-#line 3824 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint ip= lex->sphead->instructions();
             sp_label_t *lab= lex->spcont->last_label();  /* Jumping back */
             sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont,
-                                                               (yyvsp[(5) - (7)].item), lab->ip,
+                                                               (yyvsp[-2].item), lab->ip,
                                                                lex);
             if (i == NULL ||
                 lex->sphead->add_instr(i))
@@ -21115,237 +19760,212 @@ yyreduce:
             /* We can shortcut the cont_backpatch here */
             i->m_cont_dest= ip+1;
           }
+#line 19764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 339:
-
-/* Line 1455 of yacc.c  */
-#line 3843 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; }
+#line 19770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 340:
-
-/* Line 1455 of yacc.c  */
-#line 3845 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3845 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; }
+#line 19776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 341:
-
-/* Line 1455 of yacc.c  */
-#line 3850 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.event= TRG_EVENT_INSERT; }
+#line 19782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 342:
-
-/* Line 1455 of yacc.c  */
-#line 3852 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3852 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.event= TRG_EVENT_UPDATE; }
+#line 19788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 343:
-
-/* Line 1455 of yacc.c  */
-#line 3854 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->trg_chistics.event= TRG_EVENT_DELETE; }
+#line 19794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 347:
-
-/* Line 1455 of yacc.c  */
-#line 3888 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3888 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 19800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 348:
-
-/* Line 1455 of yacc.c  */
-#line 3890 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->logfile_group_name= (yyvsp[(4) - (4)].lex_str).str;
+            lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
           }
+#line 19809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 349:
-
-/* Line 1455 of yacc.c  */
-#line 3900 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; 
           }
+#line 19817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 350:
-
-/* Line 1455 of yacc.c  */
-#line 3906 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3906 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; 
           }
+#line 19825 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 355:
-
-/* Line 1455 of yacc.c  */
-#line 3929 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 3929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 19831 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 402:
-
-/* Line 1455 of yacc.c  */
-#line 4023 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->data_file_name= (yyvsp[(2) - (2)].lex_str).str;
+            lex->alter_tablespace_info->data_file_name= (yyvsp[0].lex_str).str;
           }
+#line 19840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 403:
-
-/* Line 1455 of yacc.c  */
-#line 4031 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->undo_file_name= (yyvsp[(2) - (2)].lex_str).str;
+            lex->alter_tablespace_info->undo_file_name= (yyvsp[0].lex_str).str;
           }
+#line 19849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 404:
-
-/* Line 1455 of yacc.c  */
-#line 4039 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->redo_file_name= (yyvsp[(2) - (2)].lex_str).str;
+            lex->alter_tablespace_info->redo_file_name= (yyvsp[0].lex_str).str;
           }
+#line 19858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 405:
-
-/* Line 1455 of yacc.c  */
-#line 4047 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info= new st_alter_tablespace();
             if (lex->alter_tablespace_info == NULL)
               MYSQL_YYABORT;
-            lex->alter_tablespace_info->tablespace_name= (yyvsp[(1) - (1)].lex_str).str;
+            lex->alter_tablespace_info->tablespace_name= (yyvsp[0].lex_str).str;
             lex->sql_command= SQLCOM_ALTER_TABLESPACE;
           }
+#line 19871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 406:
-
-/* Line 1455 of yacc.c  */
-#line 4059 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info= new st_alter_tablespace();
             if (lex->alter_tablespace_info == NULL)
               MYSQL_YYABORT;
-            lex->alter_tablespace_info->logfile_group_name= (yyvsp[(1) - (1)].lex_str).str;
+            lex->alter_tablespace_info->logfile_group_name= (yyvsp[0].lex_str).str;
             lex->sql_command= SQLCOM_ALTER_TABLESPACE;
           }
+#line 19884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 407:
-
-/* Line 1455 of yacc.c  */
-#line 4071 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY;
           }
+#line 19893 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 408:
-
-/* Line 1455 of yacc.c  */
-#line 4076 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE;
           }
+#line 19902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 409:
-
-/* Line 1455 of yacc.c  */
-#line 4081 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE;
           }
+#line 19911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 410:
-
-/* Line 1455 of yacc.c  */
-#line 4089 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->initial_size= (yyvsp[(3) - (3)].ulonglong_number);
+            lex->alter_tablespace_info->initial_size= (yyvsp[0].ulonglong_number);
           }
+#line 19920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 411:
-
-/* Line 1455 of yacc.c  */
-#line 4097 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->autoextend_size= (yyvsp[(3) - (3)].ulonglong_number);
+            lex->alter_tablespace_info->autoextend_size= (yyvsp[0].ulonglong_number);
           }
+#line 19929 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 412:
-
-/* Line 1455 of yacc.c  */
-#line 4105 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->max_size= (yyvsp[(3) - (3)].ulonglong_number);
+            lex->alter_tablespace_info->max_size= (yyvsp[0].ulonglong_number);
           }
+#line 19938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 413:
-
-/* Line 1455 of yacc.c  */
-#line 4113 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->extent_size= (yyvsp[(3) - (3)].ulonglong_number);
+            lex->alter_tablespace_info->extent_size= (yyvsp[0].ulonglong_number);
           }
+#line 19947 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 414:
-
-/* Line 1455 of yacc.c  */
-#line 4121 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->undo_buffer_size= (yyvsp[(3) - (3)].ulonglong_number);
+            lex->alter_tablespace_info->undo_buffer_size= (yyvsp[0].ulonglong_number);
           }
+#line 19956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 415:
-
-/* Line 1455 of yacc.c  */
-#line 4129 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->alter_tablespace_info->redo_buffer_size= (yyvsp[(3) - (3)].ulonglong_number);
+            lex->alter_tablespace_info->redo_buffer_size= (yyvsp[0].ulonglong_number);
           }
+#line 19965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 416:
-
-/* Line 1455 of yacc.c  */
-#line 4137 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP)
@@ -21353,14 +19973,13 @@ yyreduce:
               my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP");
               MYSQL_YYABORT;
             }
-            lex->alter_tablespace_info->nodegroup_id= (yyvsp[(3) - (3)].ulong_num);
+            lex->alter_tablespace_info->nodegroup_id= (yyvsp[0].ulong_num);
           }
+#line 19979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 417:
-
-/* Line 1455 of yacc.c  */
-#line 4150 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->alter_tablespace_info->ts_comment != NULL)
@@ -21368,14 +19987,13 @@ yyreduce:
               my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT");
               MYSQL_YYABORT;
             }
-            lex->alter_tablespace_info->ts_comment= (yyvsp[(3) - (3)].lex_str).str;
+            lex->alter_tablespace_info->ts_comment= (yyvsp[0].lex_str).str;
           }
+#line 19993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 418:
-
-/* Line 1455 of yacc.c  */
-#line 4163 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->alter_tablespace_info->storage_engine != NULL)
@@ -21384,24 +20002,22 @@ yyreduce:
                        "STORAGE ENGINE");
               MYSQL_YYABORT;
             }
-            lex->alter_tablespace_info->storage_engine= (yyvsp[(4) - (4)].db_type);
+            lex->alter_tablespace_info->storage_engine= (yyvsp[0].db_type);
           }
+#line 20008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 421:
-
-/* Line 1455 of yacc.c  */
-#line 4182 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->wait_until_completed= TRUE;
           }
+#line 20017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 422:
-
-/* Line 1455 of yacc.c  */
-#line 4187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!(lex->alter_tablespace_info->wait_until_completed))
@@ -21411,25 +20027,23 @@ yyreduce:
             }
             lex->alter_tablespace_info->wait_until_completed= FALSE;
           }
+#line 20031 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 423:
-
-/* Line 1455 of yacc.c  */
-#line 4199 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.ulonglong_number)= (yyvsp[(1) - (1)].ulonglong_number);}
+#line 4199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.ulonglong_number)= (yyvsp[0].ulonglong_number);}
+#line 20037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 424:
-
-/* Line 1455 of yacc.c  */
-#line 4201 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             ulonglong number;
             uint text_shift_number= 0;
             longlong prefix_number;
-            char *start_ptr= (yyvsp[(1) - (1)].lex_str).str;
-            uint str_len= (yyvsp[(1) - (1)].lex_str).length;
+            char *start_ptr= (yyvsp[0].lex_str).str;
+            uint str_len= (yyvsp[0].lex_str).length;
             char *end_ptr= start_ptr + str_len;
             int error;
             prefix_number= my_strtoll10(start_ptr, &end_ptr, &error);
@@ -21467,32 +20081,29 @@ yyreduce:
             }
             (yyval.ulonglong_number)= number;
           }
+#line 20085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 425:
-
-/* Line 1455 of yacc.c  */
-#line 4251 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 426:
-
-/* Line 1455 of yacc.c  */
-#line 4254 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 427:
-
-/* Line 1455 of yacc.c  */
-#line 4256 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *src_table;
             LEX *lex= thd->lex;
 
             lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
-            src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[(2) - (2)].table), NULL, 0,
+            src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, 0,
                                                          TL_READ,
                                                          MDL_SHARED_READ);
             if (! src_table)
@@ -21500,18 +20111,17 @@ yyreduce:
             /* CREATE TABLE ... LIKE is not allowed for views. */
             src_table->required_type= FRMTYPE_TABLE;
           }
+#line 20115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 428:
-
-/* Line 1455 of yacc.c  */
-#line 4270 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *src_table;
             LEX *lex= thd->lex;
 
             lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
-            src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[(3) - (4)].table), NULL, 0,
+            src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[-1].table), NULL, 0,
                                                          TL_READ,
                                                          MDL_SHARED_READ);
             if (! src_table)
@@ -21519,77 +20129,67 @@ yyreduce:
             /* CREATE TABLE ... LIKE is not allowed for views. */
             src_table->required_type= FRMTYPE_TABLE;
           }
+#line 20133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 429:
-
-/* Line 1455 of yacc.c  */
-#line 4287 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.option_list= NULL;
           }
+#line 20141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 430:
-
-/* Line 1455 of yacc.c  */
-#line 4292 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 431:
-
-/* Line 1455 of yacc.c  */
-#line 4295 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(1);}
+#line 20153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 432:
-
-/* Line 1455 of yacc.c  */
-#line 4296 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 433:
-
-/* Line 1455 of yacc.c  */
-#line 4300 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 434:
-
-/* Line 1455 of yacc.c  */
-#line 4302 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(0);}
+#line 20171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 435:
-
-/* Line 1455 of yacc.c  */
-#line 4303 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 436:
-
-/* Line 1455 of yacc.c  */
-#line 4305 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(1);}
+#line 20183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 437:
-
-/* Line 1455 of yacc.c  */
-#line 4306 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 438:
-
-/* Line 1455 of yacc.c  */
-#line 4311 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Remove all tables used in PARTITION clause from the global table
@@ -21599,19 +20199,17 @@ yyreduce:
             last_non_sel_table->next_global= 0;
             Lex->query_tables_last= &last_non_sel_table->next_global;
           }
+#line 20203 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 439:
-
-/* Line 1455 of yacc.c  */
-#line 4347 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 441:
-
-/* Line 1455 of yacc.c  */
-#line 4353 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info= new partition_info();
@@ -21625,12 +20223,11 @@ yyreduce:
               lex->alter_info.flags|= ALTER_PARTITION;
             }
           }
+#line 20227 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 443:
-
-/* Line 1455 of yacc.c  */
-#line 4371 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef WITH_PARTITION_STORAGE_ENGINE
             LEX_STRING partition_name={C_STRING_WITH_LEN("partition")};
@@ -21646,12 +20243,11 @@ yyreduce:
             MYSQL_YYABORT;
 #endif
           }
+#line 20247 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 444:
-
-/* Line 1455 of yacc.c  */
-#line 4390 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!lex->part_info)
@@ -21664,96 +20260,84 @@ yyreduce:
               partition info string into part_info data structure.
             */
           }
+#line 20264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 445:
-
-/* Line 1455 of yacc.c  */
-#line 4402 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 447:
-
-/* Line 1455 of yacc.c  */
-#line 4411 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4411 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->list_of_part_fields= TRUE;
             part_info->column_list= FALSE;
             part_info->part_type= HASH_PARTITION;
           }
+#line 20281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 448:
-
-/* Line 1455 of yacc.c  */
-#line 4418 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4418 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= HASH_PARTITION; }
+#line 20287 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 449:
-
-/* Line 1455 of yacc.c  */
-#line 4419 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 450:
-
-/* Line 1455 of yacc.c  */
-#line 4421 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= RANGE_PARTITION; }
+#line 20299 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 451:
-
-/* Line 1455 of yacc.c  */
-#line 4423 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= RANGE_PARTITION; }
+#line 20305 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 452:
-
-/* Line 1455 of yacc.c  */
-#line 4425 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= LIST_PARTITION; }
+#line 20311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 453:
-
-/* Line 1455 of yacc.c  */
-#line 4427 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->part_type= LIST_PARTITION; }
+#line 20317 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 454:
-
-/* Line 1455 of yacc.c  */
-#line 4431 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 455:
-
-/* Line 1455 of yacc.c  */
-#line 4433 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->linear_hash_ind= TRUE;}
+#line 20329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 456:
-
-/* Line 1455 of yacc.c  */
-#line 4438 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;}
+#line 20335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 457:
-
-/* Line 1455 of yacc.c  */
-#line 4440 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4440 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            switch ((yyvsp[(3) - (3)].ulong_num)) {
+            switch ((yyvsp[0].ulong_num)) {
             case 1:
               Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51;
               break;
@@ -21765,44 +20349,39 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 458:
-
-/* Line 1455 of yacc.c  */
-#line 4456 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 459:
-
-/* Line 1455 of yacc.c  */
-#line 4457 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4457 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 460:
-
-/* Line 1455 of yacc.c  */
-#line 4461 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4461 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 461:
-
-/* Line 1455 of yacc.c  */
-#line 4462 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4462 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 462:
-
-/* Line 1455 of yacc.c  */
-#line 4467 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->num_columns++;
-            if (part_info->part_field_list.push_back((yyvsp[(1) - (1)].lex_str).str))
+            if (part_info->part_field_list.push_back((yyvsp[0].lex_str).str))
             {
               mem_alloc_error(1);
               MYSQL_YYABORT;
@@ -21814,55 +20393,50 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 463:
-
-/* Line 1455 of yacc.c  */
-#line 4486 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->column_list= TRUE;
             part_info->list_of_part_fields= TRUE;
           }
+#line 20407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 464:
-
-/* Line 1455 of yacc.c  */
-#line 4496 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
-            if (part_info->set_part_expr((yyvsp[(2) - (5)].simple_string)+1, (yyvsp[(3) - (5)].item), (yyvsp[(4) - (5)].simple_string), FALSE))
+            if (part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), FALSE))
             { MYSQL_YYABORT; }
             part_info->num_columns= 1;
             part_info->column_list= FALSE;
           }
+#line 20419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 465:
-
-/* Line 1455 of yacc.c  */
-#line 4507 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->part_info->set_part_expr((yyvsp[(2) - (5)].simple_string)+1, (yyvsp[(3) - (5)].item), (yyvsp[(4) - (5)].simple_string), TRUE))
+            if (Lex->part_info->set_part_expr((yyvsp[-3].simple_string)+1, (yyvsp[-2].item), (yyvsp[-1].simple_string), TRUE))
             { MYSQL_YYABORT; }
           }
+#line 20428 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 466:
-
-/* Line 1455 of yacc.c  */
-#line 4515 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20434 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 467:
-
-/* Line 1455 of yacc.c  */
-#line 4517 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4517 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
-            uint num_parts= (yyvsp[(2) - (2)].ulong_num);
+            uint num_parts= (yyvsp[0].ulong_num);
             partition_info *part_info= Lex->part_info;
             if (num_parts == 0)
             {
@@ -21873,68 +20447,60 @@ yyreduce:
             part_info->num_parts= num_parts;
             part_info->use_default_num_partitions= FALSE;
           }
+#line 20451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 468:
-
-/* Line 1455 of yacc.c  */
-#line 4532 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 469:
-
-/* Line 1455 of yacc.c  */
-#line 4534 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4534 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->part_info->subpart_type= HASH_PARTITION; }
+#line 20463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 470:
-
-/* Line 1455 of yacc.c  */
-#line 4535 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 471:
-
-/* Line 1455 of yacc.c  */
-#line 4538 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->subpart_type= HASH_PARTITION;
             part_info->list_of_subpart_fields= TRUE;
           }
+#line 20479 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 472:
-
-/* Line 1455 of yacc.c  */
-#line 4543 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20485 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 473:
-
-/* Line 1455 of yacc.c  */
-#line 4547 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 474:
-
-/* Line 1455 of yacc.c  */
-#line 4548 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 475:
-
-/* Line 1455 of yacc.c  */
-#line 4553 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
-            if (part_info->subpart_field_list.push_back((yyvsp[(1) - (1)].lex_str).str))
+            if (part_info->subpart_field_list.push_back((yyvsp[0].lex_str).str))
             {
               mem_alloc_error(1);
               MYSQL_YYABORT;
@@ -21946,12 +20512,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 476:
-
-/* Line 1455 of yacc.c  */
-#line 4571 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             bool not_corr_func;
@@ -21962,23 +20527,21 @@ yyreduce:
               my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR));
               MYSQL_YYABORT;
             }
-            (yyval.item)=(yyvsp[(1) - (1)].item);
+            (yyval.item)=(yyvsp[0].item);
           }
+#line 20533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 477:
-
-/* Line 1455 of yacc.c  */
-#line 4586 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 478:
-
-/* Line 1455 of yacc.c  */
-#line 4588 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            uint num_parts= (yyvsp[(2) - (2)].ulong_num);
+            uint num_parts= (yyvsp[0].ulong_num);
             LEX *lex= Lex;
             if (num_parts == 0)
             {
@@ -21988,12 +20551,11 @@ yyreduce:
             lex->part_info->num_subparts= num_parts;
             lex->part_info->use_default_num_subpartitions= FALSE;
           }
+#line 20555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 479:
-
-/* Line 1455 of yacc.c  */
-#line 4603 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->part_type == RANGE_PARTITION)
@@ -22009,12 +20571,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 480:
-
-/* Line 1455 of yacc.c  */
-#line 4619 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             uint count_curr_parts= part_info->partitions.elements;
@@ -22033,26 +20594,23 @@ yyreduce:
             }
             part_info->count_curr_subparts= 0;
           }
+#line 20598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 481:
-
-/* Line 1455 of yacc.c  */
-#line 4640 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 482:
-
-/* Line 1455 of yacc.c  */
-#line 4641 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 483:
-
-/* Line 1455 of yacc.c  */
-#line 4646 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             partition_element *p_elem= new partition_element();
@@ -22068,32 +20626,29 @@ yyreduce:
             part_info->use_default_partitions= FALSE;
             part_info->use_default_num_partitions= FALSE;
           }
+#line 20630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 484:
-
-/* Line 1455 of yacc.c  */
-#line 4665 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4665 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 485:
-
-/* Line 1455 of yacc.c  */
-#line 4670 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             partition_element *p_elem= part_info->curr_part_elem;
-            if (check_ident_length(&(yyvsp[(1) - (1)].lex_str)))
+            if (check_ident_length(&(yyvsp[0].lex_str)))
               MYSQL_YYABORT;
-            p_elem->partition_name= (yyvsp[(1) - (1)].lex_str).str;
+            p_elem->partition_name= (yyvsp[0].lex_str).str;
           }
+#line 20648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 486:
-
-/* Line 1455 of yacc.c  */
-#line 4681 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -22115,12 +20670,11 @@ yyreduce:
             else
               part_info->part_type= HASH_PARTITION;
           }
+#line 20674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 487:
-
-/* Line 1455 of yacc.c  */
-#line 4703 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -22136,19 +20690,17 @@ yyreduce:
             else
               part_info->part_type= RANGE_PARTITION;
           }
+#line 20694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 488:
-
-/* Line 1455 of yacc.c  */
-#line 4718 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 489:
-
-/* Line 1455 of yacc.c  */
-#line 4720 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4720 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -22164,19 +20716,17 @@ yyreduce:
             else
               part_info->part_type= LIST_PARTITION;
           }
+#line 20720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 490:
-
-/* Line 1455 of yacc.c  */
-#line 4735 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 491:
-
-/* Line 1455 of yacc.c  */
-#line 4740 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
 
@@ -22198,19 +20748,17 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 492:
-
-/* Line 1455 of yacc.c  */
-#line 4761 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4761 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20758 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 493:
-
-/* Line 1455 of yacc.c  */
-#line 4766 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
@@ -22239,12 +20787,11 @@ yyreduce:
               }
             }
           }
+#line 20791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 494:
-
-/* Line 1455 of yacc.c  */
-#line 4795 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4795 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->num_columns < 2U)
@@ -22253,26 +20800,23 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 495:
-
-/* Line 1455 of yacc.c  */
-#line 4806 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 496:
-
-/* Line 1455 of yacc.c  */
-#line 4807 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4807 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 497:
-
-/* Line 1455 of yacc.c  */
-#line 4812 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->print_debug("( part_value_item", NULL);
@@ -22284,19 +20828,17 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 498:
-
-/* Line 1455 of yacc.c  */
-#line 4823 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 499:
-
-/* Line 1455 of yacc.c  */
-#line 4825 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4825 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->print_debug(") part_value_item", NULL);
@@ -22317,26 +20859,23 @@ yyreduce:
             }
             part_info->curr_list_object= 0;
           }
+#line 20863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 500:
-
-/* Line 1455 of yacc.c  */
-#line 4848 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 501:
-
-/* Line 1455 of yacc.c  */
-#line 4849 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 502:
-
-/* Line 1455 of yacc.c  */
-#line 4854 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->part_type == LIST_PARTITION)
@@ -22349,16 +20888,15 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 503:
-
-/* Line 1455 of yacc.c  */
-#line 4867 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             partition_info *part_info= lex->part_info;
-            Item *part_expr= (yyvsp[(1) - (1)].item);
+            Item *part_expr= (yyvsp[0].item);
 
             if (!lex->safe_to_cache_query)
             {
@@ -22370,12 +20908,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 504:
-
-/* Line 1455 of yacc.c  */
-#line 4887 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->num_subparts != 0 &&
@@ -22389,12 +20926,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 20930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 505:
-
-/* Line 1455 of yacc.c  */
-#line 4901 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             if (part_info->num_subparts != 0)
@@ -22417,26 +20953,23 @@ yyreduce:
             }
             part_info->count_curr_subparts= 0;
           }
+#line 20957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 506:
-
-/* Line 1455 of yacc.c  */
-#line 4926 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 507:
-
-/* Line 1455 of yacc.c  */
-#line 4927 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 20969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 508:
-
-/* Line 1455 of yacc.c  */
-#line 4932 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             partition_element *curr_part= part_info->current_partition;
@@ -22469,129 +21002,113 @@ yyreduce:
             part_info->use_default_num_subpartitions= FALSE;
             part_info->count_curr_subparts++;
           }
+#line 21006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 509:
-
-/* Line 1455 of yacc.c  */
-#line 4964 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4964 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 510:
-
-/* Line 1455 of yacc.c  */
-#line 4969 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (check_ident_length(&(yyvsp[(1) - (1)].lex_str)))
+            if (check_ident_length(&(yyvsp[0].lex_str)))
               MYSQL_YYABORT;
-            Lex->part_info->curr_part_elem->partition_name= (yyvsp[(1) - (1)].lex_str).str;
+            Lex->part_info->curr_part_elem->partition_name= (yyvsp[0].lex_str).str;
           }
+#line 21022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 511:
-
-/* Line 1455 of yacc.c  */
-#line 4977 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 512:
-
-/* Line 1455 of yacc.c  */
-#line 4978 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 513:
-
-/* Line 1455 of yacc.c  */
-#line 4982 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 514:
-
-/* Line 1455 of yacc.c  */
-#line 4983 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4983 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 515:
-
-/* Line 1455 of yacc.c  */
-#line 4988 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[(3) - (3)].lex_str).str; }
+#line 4988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[0].lex_str).str; }
+#line 21052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 516:
-
-/* Line 1455 of yacc.c  */
-#line 4990 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
-            part_info->curr_part_elem->engine_type= (yyvsp[(4) - (4)].db_type);
-            part_info->default_engine_type= (yyvsp[(4) - (4)].db_type);
+            part_info->curr_part_elem->engine_type= (yyvsp[0].db_type);
+            part_info->default_engine_type= (yyvsp[0].db_type);
           }
+#line 21062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 517:
-
-/* Line 1455 of yacc.c  */
-#line 4996 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 4996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->part_info->curr_part_elem->connect_string.str= (yyvsp[(3) - (3)].lex_str).str;
-            lex->part_info->curr_part_elem->connect_string.length= (yyvsp[(3) - (3)].lex_str).length;
+            lex->part_info->curr_part_elem->connect_string.str= (yyvsp[0].lex_str).str;
+            lex->part_info->curr_part_elem->connect_string.length= (yyvsp[0].lex_str).length;
           }
+#line 21072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 518:
-
-/* Line 1455 of yacc.c  */
-#line 5002 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[(3) - (3)].ulong_num); }
+#line 5002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[0].ulong_num); }
+#line 21078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 519:
-
-/* Line 1455 of yacc.c  */
-#line 5004 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[(3) - (3)].ulonglong_number); }
+#line 5004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
+#line 21084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 520:
-
-/* Line 1455 of yacc.c  */
-#line 5006 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[(3) - (3)].ulonglong_number); }
+#line 5006 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[0].ulonglong_number); }
+#line 21090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 521:
-
-/* Line 1455 of yacc.c  */
-#line 5008 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[(4) - (4)].lex_str).str; }
+#line 5008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[0].lex_str).str; }
+#line 21096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 522:
-
-/* Line 1455 of yacc.c  */
-#line 5010 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[(4) - (4)].lex_str).str; }
+#line 5010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[0].lex_str).str; }
+#line 21102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 523:
-
-/* Line 1455 of yacc.c  */
-#line 5012 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->part_info->curr_part_elem->part_comment= (yyvsp[(3) - (3)].lex_str).str; }
+#line 5012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->part_info->curr_part_elem->part_comment= (yyvsp[0].lex_str).str; }
+#line 21108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 524:
-
-/* Line 1455 of yacc.c  */
-#line 5021 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->sql_command == SQLCOM_INSERT)
@@ -22606,21 +21123,19 @@ yyreduce:
             mysql_init_select(lex);
             lex->current_select->parsing_place= SELECT_LIST;
           }
+#line 21127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 525:
-
-/* Line 1455 of yacc.c  */
-#line 5036 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
+#line 21135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 526:
-
-/* Line 1455 of yacc.c  */
-#line 5040 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               The following work only with the local list, the global list
@@ -22628,189 +21143,166 @@ yyreduce:
             */
             Lex->current_select->table_list.push_front(&Lex->save_list);
           }
+#line 21147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 527:
-
-/* Line 1455 of yacc.c  */
-#line 5050 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21153 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 528:
-
-/* Line 1455 of yacc.c  */
-#line 5051 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 529:
-
-/* Line 1455 of yacc.c  */
-#line 5055 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21165 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 530:
-
-/* Line 1455 of yacc.c  */
-#line 5056 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 531:
-
-/* Line 1455 of yacc.c  */
-#line 5060 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 532:
-
-/* Line 1455 of yacc.c  */
-#line 5061 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 533:
-
-/* Line 1455 of yacc.c  */
-#line 5065 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21189 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 534:
-
-/* Line 1455 of yacc.c  */
-#line 5066 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21195 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 535:
-
-/* Line 1455 of yacc.c  */
-#line 5070 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 21201 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 536:
-
-/* Line 1455 of yacc.c  */
-#line 5071 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)= (yyvsp[(1) - (1)].num);}
+#line 5071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)= (yyvsp[0].num);}
+#line 21207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 537:
-
-/* Line 1455 of yacc.c  */
-#line 5075 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)=(yyvsp[(1) - (1)].num); }
+#line 5075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)=(yyvsp[0].num); }
+#line 21213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 538:
-
-/* Line 1455 of yacc.c  */
-#line 5076 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)= (yyvsp[(1) - (2)].num) | (yyvsp[(2) - (2)].num); }
+#line 5076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
+#line 21219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 539:
-
-/* Line 1455 of yacc.c  */
-#line 5080 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; }
+#line 21225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 540:
-
-/* Line 1455 of yacc.c  */
-#line 5084 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 21231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 541:
-
-/* Line 1455 of yacc.c  */
-#line 5085 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; }
+#line 21237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 549:
-
-/* Line 1455 of yacc.c  */
-#line 5106 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.db_type= (yyvsp[(3) - (3)].db_type);
+            Lex->create_info.db_type= (yyvsp[0].db_type);
             Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
           }
+#line 21246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 550:
-
-/* Line 1455 of yacc.c  */
-#line 5111 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.max_rows= (yyvsp[(3) - (3)].ulonglong_number);
+            Lex->create_info.max_rows= (yyvsp[0].ulonglong_number);
             Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS;
           }
+#line 21255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 551:
-
-/* Line 1455 of yacc.c  */
-#line 5116 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.min_rows= (yyvsp[(3) - (3)].ulonglong_number);
+            Lex->create_info.min_rows= (yyvsp[0].ulonglong_number);
             Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS;
           }
+#line 21264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 552:
-
-/* Line 1455 of yacc.c  */
-#line 5121 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.avg_row_length=(yyvsp[(3) - (3)].ulong_num);
+            Lex->create_info.avg_row_length=(yyvsp[0].ulong_num);
             Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH;
           }
+#line 21273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 553:
-
-/* Line 1455 of yacc.c  */
-#line 5126 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.password=(yyvsp[(3) - (3)].lex_str).str;
+            Lex->create_info.password=(yyvsp[0].lex_str).str;
             Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD;
           }
+#line 21282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 554:
-
-/* Line 1455 of yacc.c  */
-#line 5131 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.comment=(yyvsp[(3) - (3)].lex_str);
+            Lex->create_info.comment=(yyvsp[0].lex_str);
             Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT;
           }
+#line 21291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 555:
-
-/* Line 1455 of yacc.c  */
-#line 5136 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.auto_increment_value=(yyvsp[(3) - (3)].ulonglong_number);
+            Lex->create_info.auto_increment_value=(yyvsp[0].ulonglong_number);
             Lex->create_info.used_fields|= HA_CREATE_USED_AUTO;
           }
+#line 21300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 556:
-
-/* Line 1455 of yacc.c  */
-#line 5141 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            switch((yyvsp[(3) - (3)].ulong_num)) {
+            switch((yyvsp[0].ulong_num)) {
             case 0:
                 Lex->create_info.table_options|= HA_OPTION_NO_PACK_KEYS;
                 break;
@@ -22823,82 +21315,74 @@ yyreduce:
             }
             Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
           }
+#line 21319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 557:
-
-/* Line 1455 of yacc.c  */
-#line 5156 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.table_options&=
               ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS);
             Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS;
           }
+#line 21329 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 558:
-
-/* Line 1455 of yacc.c  */
-#line 5162 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
+            Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
             Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
           }
+#line 21338 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 559:
-
-/* Line 1455 of yacc.c  */
-#line 5167 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-             Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
+             Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM;
              Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM;
           }
+#line 21347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 560:
-
-/* Line 1455 of yacc.c  */
-#line 5172 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.used_fields|= HA_CREATE_USED_PAGE_CHECKSUM;
-            Lex->create_info.page_checksum= (yyvsp[(3) - (3)].choice);
+            Lex->create_info.page_checksum= (yyvsp[0].choice);
           }
+#line 21356 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 561:
-
-/* Line 1455 of yacc.c  */
-#line 5177 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE;
+            Lex->create_info.table_options|= (yyvsp[0].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE;
             Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE;
           }
+#line 21365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 562:
-
-/* Line 1455 of yacc.c  */
-#line 5182 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.row_type= (yyvsp[(3) - (3)].row_type);
+            Lex->create_info.row_type= (yyvsp[0].row_type);
             Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
           }
+#line 21374 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 563:
-
-/* Line 1455 of yacc.c  */
-#line 5187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->select_lex.table_list.save_and_clear(&Lex->save_list);
           }
+#line 21382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 564:
-
-/* Line 1455 of yacc.c  */
-#line 5191 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Move the union list to the merge_list and exclude its tables
@@ -22920,179 +21404,163 @@ yyreduce:
 
             lex->create_info.used_fields|= HA_CREATE_USED_UNION;
           }
+#line 21408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 567:
-
-/* Line 1455 of yacc.c  */
-#line 5215 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.merge_insert_method= (yyvsp[(3) - (3)].ulong_num);
+            Lex->create_info.merge_insert_method= (yyvsp[0].ulong_num);
             Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD;
           }
+#line 21417 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 568:
-
-/* Line 1455 of yacc.c  */
-#line 5220 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.data_file_name= (yyvsp[(4) - (4)].lex_str).str;
+            Lex->create_info.data_file_name= (yyvsp[0].lex_str).str;
             Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR;
           }
+#line 21426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 569:
-
-/* Line 1455 of yacc.c  */
-#line 5225 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.index_file_name= (yyvsp[(4) - (4)].lex_str).str;
+            Lex->create_info.index_file_name= (yyvsp[0].lex_str).str;
             Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR;
           }
+#line 21435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 570:
-
-/* Line 1455 of yacc.c  */
-#line 5230 "/home/buildbot/git/sql/sql_yacc.yy"
-    {Lex->create_info.tablespace= (yyvsp[(2) - (2)].lex_str).str;}
+#line 5230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    {Lex->create_info.tablespace= (yyvsp[0].lex_str).str;}
+#line 21441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 571:
-
-/* Line 1455 of yacc.c  */
-#line 5232 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {Lex->create_info.storage_media= HA_SM_DISK;}
+#line 21447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 572:
-
-/* Line 1455 of yacc.c  */
-#line 5234 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {Lex->create_info.storage_media= HA_SM_MEMORY;}
+#line 21453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 573:
-
-/* Line 1455 of yacc.c  */
-#line 5236 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->create_info.connect_string.str= (yyvsp[(3) - (3)].lex_str).str;
-            Lex->create_info.connect_string.length= (yyvsp[(3) - (3)].lex_str).length;
+            Lex->create_info.connect_string.str= (yyvsp[0].lex_str).str;
+            Lex->create_info.connect_string.length= (yyvsp[0].lex_str).length;
             Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION;
           }
+#line 21463 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 574:
-
-/* Line 1455 of yacc.c  */
-#line 5242 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE;
-            Lex->create_info.key_block_size= (yyvsp[(3) - (3)].ulong_num);
+            Lex->create_info.key_block_size= (yyvsp[0].ulong_num);
           }
+#line 21472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 575:
-
-/* Line 1455 of yacc.c  */
-#line 5247 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 	    Lex->create_info.used_fields|= HA_CREATE_USED_TRANSACTIONAL;
-            Lex->create_info.transactional= (yyvsp[(3) - (3)].choice);
+            Lex->create_info.transactional= (yyvsp[0].choice);
           }
+#line 21481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 576:
-
-/* Line 1455 of yacc.c  */
-#line 5252 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), true, &Lex->create_info.option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->create_info.option_list,
                                   &Lex->option_list_last);
           }
+#line 21491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 577:
-
-/* Line 1455 of yacc.c  */
-#line 5258 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), false, &Lex->create_info.option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->create_info.option_list,
                                   &Lex->option_list_last);
           }
+#line 21501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 578:
-
-/* Line 1455 of yacc.c  */
-#line 5264 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].ulonglong_number), &Lex->create_info.option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->create_info.option_list,
                                   &Lex->option_list_last, thd->mem_root);
           }
+#line 21511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 579:
-
-/* Line 1455 of yacc.c  */
-#line 5270 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), &Lex->create_info.option_list,
+              engine_option_value((yyvsp[-2].lex_str), &Lex->create_info.option_list,
                                   &Lex->option_list_last);
           }
+#line 21521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 580:
-
-/* Line 1455 of yacc.c  */
-#line 5279 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             HA_CREATE_INFO *cinfo= &Lex->create_info;
             if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
-                 cinfo->default_table_charset && (yyvsp[(4) - (4)].charset) &&
-                 !my_charset_same(cinfo->default_table_charset,(yyvsp[(4) - (4)].charset)))
+                 cinfo->default_table_charset && (yyvsp[0].charset) &&
+                 !my_charset_same(cinfo->default_table_charset,(yyvsp[0].charset)))
             {
               my_error(ER_CONFLICTING_DECLARATIONS, MYF(0),
                        "CHARACTER SET ", cinfo->default_table_charset->csname,
-                       "CHARACTER SET ", (yyvsp[(4) - (4)].charset)->csname);
+                       "CHARACTER SET ", (yyvsp[0].charset)->csname);
               MYSQL_YYABORT;
             }
-            Lex->create_info.default_table_charset= (yyvsp[(4) - (4)].charset);
+            Lex->create_info.default_table_charset= (yyvsp[0].charset);
             Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
           }
+#line 21540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 581:
-
-/* Line 1455 of yacc.c  */
-#line 5297 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             HA_CREATE_INFO *cinfo= &Lex->create_info;
             if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
-                 cinfo->default_table_charset && (yyvsp[(4) - (4)].charset) &&
-                 !((yyvsp[(4) - (4)].charset)= merge_charset_and_collation(cinfo->default_table_charset,
-                                                   (yyvsp[(4) - (4)].charset))))
+                 cinfo->default_table_charset && (yyvsp[0].charset) &&
+                 !((yyvsp[0].charset)= merge_charset_and_collation(cinfo->default_table_charset,
+                                                   (yyvsp[0].charset))))
             {
               MYSQL_YYABORT;
             }
 
-            Lex->create_info.default_table_charset= (yyvsp[(4) - (4)].charset);
+            Lex->create_info.default_table_charset= (yyvsp[0].charset);
             Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
           }
+#line 21558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 582:
-
-/* Line 1455 of yacc.c  */
-#line 5314 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            plugin_ref plugin= ha_resolve_by_name(thd, &(yyvsp[(1) - (1)].lex_str));
+            plugin_ref plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str));
 
             if (plugin)
               (yyval.db_type)= plugin_data(plugin, handlerton*);
@@ -23100,233 +21568,206 @@ yyreduce:
             {
               if (thd->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION)
               {
-                my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+                my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str);
                 MYSQL_YYABORT;
               }
               (yyval.db_type)= 0;
               push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
                                   ER_UNKNOWN_STORAGE_ENGINE,
                                   ER(ER_UNKNOWN_STORAGE_ENGINE),
-                                  (yyvsp[(1) - (1)].lex_str).str);
+                                  (yyvsp[0].lex_str).str);
             }
           }
+#line 21582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 583:
-
-/* Line 1455 of yacc.c  */
-#line 5337 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             plugin_ref plugin;
-            if ((plugin= ha_resolve_by_name(thd, &(yyvsp[(1) - (1)].lex_str))))
+            if ((plugin= ha_resolve_by_name(thd, &(yyvsp[0].lex_str))))
               (yyval.db_type)= plugin_data(plugin, handlerton*);
             else
             {
-              my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
           }
+#line 21597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 584:
-
-/* Line 1455 of yacc.c  */
-#line 5350 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_DEFAULT; }
+#line 21603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 585:
-
-/* Line 1455 of yacc.c  */
-#line 5351 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_FIXED; }
+#line 21609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 586:
-
-/* Line 1455 of yacc.c  */
-#line 5352 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_DYNAMIC; }
+#line 21615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 587:
-
-/* Line 1455 of yacc.c  */
-#line 5353 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_COMPRESSED; }
+#line 21621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 588:
-
-/* Line 1455 of yacc.c  */
-#line 5354 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_REDUNDANT; }
+#line 21627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 589:
-
-/* Line 1455 of yacc.c  */
-#line 5355 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_COMPACT; }
+#line 21633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 590:
-
-/* Line 1455 of yacc.c  */
-#line 5356 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.row_type)= ROW_TYPE_PAGE; }
+#line 21639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 591:
-
-/* Line 1455 of yacc.c  */
-#line 5360 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= MERGE_INSERT_DISABLED; }
+#line 21645 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 592:
-
-/* Line 1455 of yacc.c  */
-#line 5361 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; }
+#line 21651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 593:
-
-/* Line 1455 of yacc.c  */
-#line 5362 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; }
+#line 21657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 594:
-
-/* Line 1455 of yacc.c  */
-#line 5366 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 596:
-
-/* Line 1455 of yacc.c  */
-#line 5371 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5371 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) STRING_RESULT; }
+#line 21669 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 597:
-
-/* Line 1455 of yacc.c  */
-#line 5372 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) REAL_RESULT; }
+#line 21675 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 598:
-
-/* Line 1455 of yacc.c  */
-#line 5373 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) DECIMAL_RESULT; }
+#line 21681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 599:
-
-/* Line 1455 of yacc.c  */
-#line 5374 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num) = (int) INT_RESULT; }
+#line 21687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 600:
-
-/* Line 1455 of yacc.c  */
-#line 5380 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5380 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->create_last_non_select_table= Lex->last_table();
         }
+#line 21695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 606:
-
-/* Line 1455 of yacc.c  */
-#line 5398 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->col_list.empty(); /* Alloced by sql_alloc */
           }
+#line 21703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 607:
-
-/* Line 1455 of yacc.c  */
-#line 5405 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5405 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->option_list= NULL; }
+#line 21709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 608:
-
-/* Line 1455 of yacc.c  */
-#line 5407 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index (Lex, (yyvsp[(1) - (8)].key_type), (yyvsp[(2) - (8)].lex_str)))
+            if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-6].lex_str)))
               MYSQL_YYABORT;
           }
+#line 21718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 609:
-
-/* Line 1455 of yacc.c  */
-#line 5413 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->option_list= NULL; }
+#line 21724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 610:
-
-/* Line 1455 of yacc.c  */
-#line 5415 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5415 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index (Lex, (yyvsp[(1) - (9)].key_type), (yyvsp[(3) - (9)].lex_str)))
+            if (add_create_index (Lex, (yyvsp[-8].key_type), (yyvsp[-6].lex_str)))
               MYSQL_YYABORT;
           }
+#line 21733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 611:
-
-/* Line 1455 of yacc.c  */
-#line 5421 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->option_list= NULL; }
+#line 21739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 612:
-
-/* Line 1455 of yacc.c  */
-#line 5423 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index (Lex, (yyvsp[(1) - (9)].key_type), (yyvsp[(3) - (9)].lex_str)))
+            if (add_create_index (Lex, (yyvsp[-8].key_type), (yyvsp[-6].lex_str)))
               MYSQL_YYABORT;
           }
+#line 21748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 613:
-
-/* Line 1455 of yacc.c  */
-#line 5429 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->option_list= NULL; }
+#line 21754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 614:
-
-/* Line 1455 of yacc.c  */
-#line 5431 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_create_index (Lex, (yyvsp[(2) - (9)].key_type), (yyvsp[(3) - (9)].lex_str).str ? (yyvsp[(3) - (9)].lex_str) : (yyvsp[(1) - (9)].lex_str)))
+            if (add_create_index (Lex, (yyvsp[-7].key_type), (yyvsp[-6].lex_str).str ? (yyvsp[-6].lex_str) : (yyvsp[-8].lex_str)))
               MYSQL_YYABORT;
           }
+#line 21763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 615:
-
-/* Line 1455 of yacc.c  */
-#line 5436 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            Key *key= new Foreign_key((yyvsp[(4) - (8)].lex_str).str ? (yyvsp[(4) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), lex->col_list,
-                                      (yyvsp[(8) - (8)].table),
+            Key *key= new Foreign_key((yyvsp[-4].lex_str).str ? (yyvsp[-4].lex_str) : (yyvsp[-7].lex_str), lex->col_list,
+                                      (yyvsp[0].table),
                                       lex->ref_list,
                                       lex->fk_delete_opt,
                                       lex->fk_update_opt,
@@ -23335,48 +21776,43 @@ yyreduce:
               MYSQL_YYABORT;
             lex->alter_info.key_list.push_back(key);
             lex->option_list= NULL;
-            if (add_create_index (lex, Key::MULTIPLE, (yyvsp[(1) - (8)].lex_str).str ? (yyvsp[(1) - (8)].lex_str) : (yyvsp[(4) - (8)].lex_str),
+            if (add_create_index (lex, Key::MULTIPLE, (yyvsp[-7].lex_str).str ? (yyvsp[-7].lex_str) : (yyvsp[-4].lex_str),
                                   &default_key_create_info, 1))
               MYSQL_YYABORT;
             /* Only used for ALTER TABLE. Ignored otherwise. */
             lex->alter_info.flags|= ALTER_FOREIGN_KEY;
           }
+#line 21786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 616:
-
-/* Line 1455 of yacc.c  */
-#line 5455 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->col_list.empty(); /* Alloced by sql_alloc */
           }
+#line 21794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 620:
-
-/* Line 1455 of yacc.c  */
-#line 5470 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
+#line 21800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 621:
-
-/* Line 1455 of yacc.c  */
-#line 5471 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
+#line 5471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 21806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 622:
-
-/* Line 1455 of yacc.c  */
-#line 5475 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
+#line 5475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 21812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 623:
-
-/* Line 1455 of yacc.c  */
-#line 5480 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->length=lex->dec=0;
@@ -23387,138 +21823,123 @@ yyreduce:
 	    lex->vcol_info= 0;
             lex->option_list= NULL;
           }
+#line 21827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 624:
-
-/* Line 1455 of yacc.c  */
-#line 5491 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5491 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            if (add_field_to_list(lex->thd, &(yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_type).type,
-                                  (yyvsp[(3) - (3)].lex_type).length, (yyvsp[(3) - (3)].lex_type).dec, lex->type,
+            if (add_field_to_list(lex->thd, &(yyvsp[-2].lex_str), (yyvsp[0].lex_type).type,
+                                  (yyvsp[0].lex_type).length, (yyvsp[0].lex_type).dec, lex->type,
                                   lex->default_value, lex->on_update_value, 
                                   &lex->comment,
-                                  lex->change, &lex->interval_list, (yyvsp[(3) - (3)].lex_type).charset,
+                                  lex->change, &lex->interval_list, (yyvsp[0].lex_type).charset,
                                   lex->uint_geom_type,
                                   lex->vcol_info, lex->option_list))
               MYSQL_YYABORT;
           }
+#line 21843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 625:
-
-/* Line 1455 of yacc.c  */
-#line 5506 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_type).set((yyvsp[(1) - (2)].num), Lex->length, Lex->dec, Lex->charset); }
+#line 5506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_type).set((yyvsp[-1].num), Lex->length, Lex->dec, Lex->charset); }
+#line 21849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 626:
-
-/* Line 1455 of yacc.c  */
-#line 5508 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_type).set((yyvsp[(1) - (3)].num), Lex->length, Lex->dec, Lex->charset); }
+#line 5508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_type).set((yyvsp[-2].num), Lex->length, Lex->dec, Lex->charset); }
+#line 21855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 627:
-
-/* Line 1455 of yacc.c  */
-#line 5510 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_type)= (yyvsp[(4) - (9)].lex_type);
+            (yyval.lex_type)= (yyvsp[-5].lex_type);
             Lex->vcol_info->set_field_type((yyval.lex_type).type);
             (yyval.lex_type).type= (enum enum_field_types)MYSQL_TYPE_VIRTUAL;
           }
+#line 21865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 629:
-
-/* Line 1455 of yacc.c  */
-#line 5519 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5519 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 630:
-
-/* Line 1455 of yacc.c  */
-#line 5524 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->vcol_info->set_stored_in_db_flag(FALSE);
           }
+#line 21879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 631:
-
-/* Line 1455 of yacc.c  */
-#line 5528 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->vcol_info->set_stored_in_db_flag(FALSE);
           }
+#line 21887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 632:
-
-/* Line 1455 of yacc.c  */
-#line 5532 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->vcol_info->set_stored_in_db_flag(TRUE);
           }
+#line 21895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 633:
-
-/* Line 1455 of yacc.c  */
-#line 5538 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5538 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 634:
-
-/* Line 1455 of yacc.c  */
-#line 5539 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5539 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 635:
-
-/* Line 1455 of yacc.c  */
-#line 5543 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 21913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 637:
-
-/* Line 1455 of yacc.c  */
-#line 5549 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type|= UNIQUE_FLAG;
             lex->alter_info.flags|= ALTER_ADD_INDEX;
           }
+#line 21923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 638:
-
-/* Line 1455 of yacc.c  */
-#line 5555 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type|= UNIQUE_KEY_FLAG;
             lex->alter_info.flags|= ALTER_ADD_INDEX;
           }
+#line 21933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 639:
-
-/* Line 1455 of yacc.c  */
-#line 5560 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->comment= (yyvsp[(2) - (2)].lex_str); }
+#line 5560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->comment= (yyvsp[0].lex_str); }
+#line 21939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 640:
-
-/* Line 1455 of yacc.c  */
-#line 5565 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               "PARSE_VCOL_EXPR" can only be used by the SQL server
@@ -23531,12 +21952,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 21956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 641:
-
-/* Line 1455 of yacc.c  */
-#line 5581 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->vcol_info= new Virtual_column_info();
             if (!Lex->vcol_info)
@@ -23544,167 +21964,150 @@ yyreduce:
               mem_alloc_error(sizeof(Virtual_column_info));
               MYSQL_YYABORT;
             }
-            uint expr_len= (uint)((yyvsp[(3) - (3)].simple_string) - (yyvsp[(1) - (3)].simple_string)) - 1;
-            Lex->vcol_info->expr_str.str= (char* ) sql_memdup((yyvsp[(1) - (3)].simple_string) + 1, expr_len);
+            uint expr_len= (uint)((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)) - 1;
+            Lex->vcol_info->expr_str.str= (char* ) sql_memdup((yyvsp[-2].simple_string) + 1, expr_len);
             Lex->vcol_info->expr_str.length= expr_len;
-            Lex->vcol_info->expr_item= (yyvsp[(2) - (3)].item);
+            Lex->vcol_info->expr_item= (yyvsp[-1].item);
           }
+#line 21973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 642:
-
-/* Line 1455 of yacc.c  */
-#line 5596 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)=(yyvsp[(1) - (3)].num); }
+#line 5596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)=(yyvsp[-2].num); }
+#line 21979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 643:
-
-/* Line 1455 of yacc.c  */
-#line 5597 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)=(yyvsp[(1) - (3)].num); }
+#line 5597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)=(yyvsp[-2].num); }
+#line 21985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 644:
-
-/* Line 1455 of yacc.c  */
-#line 5598 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5598 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_FLOAT; }
+#line 21991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 645:
-
-/* Line 1455 of yacc.c  */
-#line 5600 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.num)=MYSQL_TYPE_BIT;
           }
+#line 22000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 646:
-
-/* Line 1455 of yacc.c  */
-#line 5605 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5605 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)=MYSQL_TYPE_BIT;
           }
+#line 22008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 647:
-
-/* Line 1455 of yacc.c  */
-#line 5609 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.num)=MYSQL_TYPE_TINY;
           }
+#line 22017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 648:
-
-/* Line 1455 of yacc.c  */
-#line 5614 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.num)=MYSQL_TYPE_TINY;
           }
+#line 22026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 649:
-
-/* Line 1455 of yacc.c  */
-#line 5619 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)=MYSQL_TYPE_STRING;
           }
+#line 22034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 650:
-
-/* Line 1455 of yacc.c  */
-#line 5623 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5623 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.num)=MYSQL_TYPE_STRING;
           }
+#line 22043 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 651:
-
-/* Line 1455 of yacc.c  */
-#line 5628 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)=MYSQL_TYPE_STRING;
             Lex->charset=national_charset_info;
           }
+#line 22052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 652:
-
-/* Line 1455 of yacc.c  */
-#line 5633 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             (yyval.num)=MYSQL_TYPE_STRING;
             Lex->charset=national_charset_info;
           }
+#line 22062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 653:
-
-/* Line 1455 of yacc.c  */
-#line 5639 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5639 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_STRING;
           }
+#line 22071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 654:
-
-/* Line 1455 of yacc.c  */
-#line 5644 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= (char*) "1";
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_STRING;
           }
+#line 22081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 655:
-
-/* Line 1455 of yacc.c  */
-#line 5650 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5650 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= MYSQL_TYPE_VARCHAR;
           }
+#line 22089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 656:
-
-/* Line 1455 of yacc.c  */
-#line 5654 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5654 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= MYSQL_TYPE_VARCHAR;
             Lex->charset=national_charset_info;
           }
+#line 22098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 657:
-
-/* Line 1455 of yacc.c  */
-#line 5659 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)= MYSQL_TYPE_VARCHAR;
           }
+#line 22107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 658:
-
-/* Line 1455 of yacc.c  */
-#line 5664 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Lex->length)
             {
@@ -23722,26 +22125,23 @@ yyreduce:
             }
             (yyval.num)=MYSQL_TYPE_YEAR;
           }
+#line 22129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 659:
-
-/* Line 1455 of yacc.c  */
-#line 5682 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5682 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_DATE; }
+#line 22135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 660:
-
-/* Line 1455 of yacc.c  */
-#line 5684 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_TIME; }
+#line 22141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 661:
-
-/* Line 1455 of yacc.c  */
-#line 5686 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5686 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->variables.sql_mode & MODE_MAXDB)
               (yyval.num)=MYSQL_TYPE_DATETIME;
@@ -23754,43 +22154,39 @@ yyreduce:
               (yyval.num)=MYSQL_TYPE_TIMESTAMP;
             }
           }
+#line 22158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 662:
-
-/* Line 1455 of yacc.c  */
-#line 5699 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_DATETIME; }
+#line 22164 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 663:
-
-/* Line 1455 of yacc.c  */
-#line 5701 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5701 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_TINY_BLOB;
           }
+#line 22173 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 664:
-
-/* Line 1455 of yacc.c  */
-#line 5706 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_BLOB;
           }
+#line 22182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 665:
-
-/* Line 1455 of yacc.c  */
-#line 5711 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_SPATIAL
             Lex->charset=&my_charset_bin;
-            Lex->uint_geom_type= (uint)(yyvsp[(1) - (1)].num);
+            Lex->uint_geom_type= (uint)(yyvsp[0].num);
             (yyval.num)=MYSQL_TYPE_GEOMETRY;
 #else
             my_error(ER_FEATURE_DISABLED, MYF(0),
@@ -23798,652 +22194,571 @@ yyreduce:
             MYSQL_YYABORT;
 #endif
           }
+#line 22198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 666:
-
-/* Line 1455 of yacc.c  */
-#line 5723 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB;
           }
+#line 22207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 667:
-
-/* Line 1455 of yacc.c  */
-#line 5728 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_LONG_BLOB;
           }
+#line 22216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 668:
-
-/* Line 1455 of yacc.c  */
-#line 5733 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5733 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset=&my_charset_bin;
             (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB;
           }
+#line 22225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 669:
-
-/* Line 1455 of yacc.c  */
-#line 5738 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
+#line 22231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 670:
-
-/* Line 1455 of yacc.c  */
-#line 5740 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_TINY_BLOB; }
+#line 22237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 671:
-
-/* Line 1455 of yacc.c  */
-#line 5742 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_BLOB; }
+#line 22243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 672:
-
-/* Line 1455 of yacc.c  */
-#line 5744 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5744 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
+#line 22249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 673:
-
-/* Line 1455 of yacc.c  */
-#line 5746 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5746 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_LONG_BLOB; }
+#line 22255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 674:
-
-/* Line 1455 of yacc.c  */
-#line 5748 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5748 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
+#line 22261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 675:
-
-/* Line 1455 of yacc.c  */
-#line 5750 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
+#line 22267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 676:
-
-/* Line 1455 of yacc.c  */
-#line 5752 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;}
+#line 22273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 677:
-
-/* Line 1455 of yacc.c  */
-#line 5754 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {Lex->interval_list.empty();}
+#line 22279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 678:
-
-/* Line 1455 of yacc.c  */
-#line 5756 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_ENUM; }
+#line 22285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 679:
-
-/* Line 1455 of yacc.c  */
-#line 5758 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->interval_list.empty();}
+#line 22291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 680:
-
-/* Line 1455 of yacc.c  */
-#line 5760 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_SET; }
+#line 22297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 681:
-
-/* Line 1455 of yacc.c  */
-#line 5762 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; }
+#line 22303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 682:
-
-/* Line 1455 of yacc.c  */
-#line 5764 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)=MYSQL_TYPE_LONGLONG;
             Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG |
               UNIQUE_FLAG);
           }
+#line 22313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 683:
-
-/* Line 1455 of yacc.c  */
-#line 5772 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_GEOMETRY; }
+#line 22319 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 684:
-
-/* Line 1455 of yacc.c  */
-#line 5773 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; }
+#line 22325 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 685:
-
-/* Line 1455 of yacc.c  */
-#line 5775 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->length= const_cast<char*>(STRINGIFY_ARG
                                            (MAX_LEN_GEOM_POINT_FIELD));
             (yyval.num)= Field::GEOM_POINT;
           }
+#line 22335 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 686:
-
-/* Line 1455 of yacc.c  */
-#line 5780 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_MULTIPOINT; }
+#line 22341 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 687:
-
-/* Line 1455 of yacc.c  */
-#line 5781 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_LINESTRING; }
+#line 22347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 688:
-
-/* Line 1455 of yacc.c  */
-#line 5782 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_MULTILINESTRING; }
+#line 22353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 689:
-
-/* Line 1455 of yacc.c  */
-#line 5783 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_POLYGON; }
+#line 22359 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 690:
-
-/* Line 1455 of yacc.c  */
-#line 5784 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5784 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= Field::GEOM_MULTIPOLYGON; }
+#line 22365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 691:
-
-/* Line 1455 of yacc.c  */
-#line 5788 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 692:
-
-/* Line 1455 of yacc.c  */
-#line 5792 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22377 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 693:
-
-/* Line 1455 of yacc.c  */
-#line 5793 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22383 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 694:
-
-/* Line 1455 of yacc.c  */
-#line 5797 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 695:
-
-/* Line 1455 of yacc.c  */
-#line 5798 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22395 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 696:
-
-/* Line 1455 of yacc.c  */
-#line 5802 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5802 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 697:
-
-/* Line 1455 of yacc.c  */
-#line 5803 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22407 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 698:
-
-/* Line 1455 of yacc.c  */
-#line 5804 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 699:
-
-/* Line 1455 of yacc.c  */
-#line 5805 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22419 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 700:
-
-/* Line 1455 of yacc.c  */
-#line 5806 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 701:
-
-/* Line 1455 of yacc.c  */
-#line 5810 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5810 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_LONG; }
+#line 22431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 702:
-
-/* Line 1455 of yacc.c  */
-#line 5811 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_TINY; }
+#line 22437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 703:
-
-/* Line 1455 of yacc.c  */
-#line 5812 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_SHORT; }
+#line 22443 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 704:
-
-/* Line 1455 of yacc.c  */
-#line 5813 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_INT24; }
+#line 22449 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 705:
-
-/* Line 1455 of yacc.c  */
-#line 5814 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5814 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_LONGLONG; }
+#line 22455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 706:
-
-/* Line 1455 of yacc.c  */
-#line 5819 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= thd->variables.sql_mode & MODE_REAL_AS_FLOAT ?
               MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE;
           }
+#line 22464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 707:
-
-/* Line 1455 of yacc.c  */
-#line 5824 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_DOUBLE; }
+#line 22470 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 708:
-
-/* Line 1455 of yacc.c  */
-#line 5826 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5826 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=MYSQL_TYPE_DOUBLE; }
+#line 22476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 709:
-
-/* Line 1455 of yacc.c  */
-#line 5831 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->dec=Lex->length= (char*)0; }
+#line 22482 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 710:
-
-/* Line 1455 of yacc.c  */
-#line 5833 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->dec= (char*)0; }
+#line 22488 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 711:
-
-/* Line 1455 of yacc.c  */
-#line 5835 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5835 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22494 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 712:
-
-/* Line 1455 of yacc.c  */
-#line 5840 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5840 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->length=(yyvsp[(2) - (5)].lex_str).str;
-            lex->dec=(yyvsp[(4) - (5)].lex_str).str;
+            lex->length=(yyvsp[-3].lex_str).str;
+            lex->dec=(yyvsp[-1].lex_str).str;
           }
+#line 22504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 713:
-
-/* Line 1455 of yacc.c  */
-#line 5848 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 714:
-
-/* Line 1455 of yacc.c  */
-#line 5849 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5849 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 715:
-
-/* Line 1455 of yacc.c  */
-#line 5853 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5853 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 716:
-
-/* Line 1455 of yacc.c  */
-#line 5854 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5854 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 717:
-
-/* Line 1455 of yacc.c  */
-#line 5858 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 718:
-
-/* Line 1455 of yacc.c  */
-#line 5859 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= UNSIGNED_FLAG;}
+#line 22540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 719:
-
-/* Line 1455 of yacc.c  */
-#line 5860 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; }
+#line 22546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 720:
-
-/* Line 1455 of yacc.c  */
-#line 5864 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->length= (yyvsp[(2) - (3)].lex_str).str; }
+#line 5864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->length= (yyvsp[-1].lex_str).str; }
+#line 22552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 721:
-
-/* Line 1455 of yacc.c  */
-#line 5865 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->length= (yyvsp[(2) - (3)].lex_str).str; }
+#line 5865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->length= (yyvsp[-1].lex_str).str; }
+#line 22558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 722:
-
-/* Line 1455 of yacc.c  */
-#line 5866 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->length= (yyvsp[(2) - (3)].lex_str).str; }
+#line 5866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->length= (yyvsp[-1].lex_str).str; }
+#line 22564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 723:
-
-/* Line 1455 of yacc.c  */
-#line 5867 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->length= (yyvsp[(2) - (3)].lex_str).str; }
+#line 5867 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->length= (yyvsp[-1].lex_str).str; }
+#line 22570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 724:
-
-/* Line 1455 of yacc.c  */
-#line 5870 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->length=(char*) 0; /* use default length */ }
+#line 22576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 725:
-
-/* Line 1455 of yacc.c  */
-#line 5871 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 22582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 726:
-
-/* Line 1455 of yacc.c  */
-#line 5875 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 727:
-
-/* Line 1455 of yacc.c  */
-#line 5876 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5876 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 728:
-
-/* Line 1455 of yacc.c  */
-#line 5880 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5880 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 729:
-
-/* Line 1455 of yacc.c  */
-#line 5881 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 730:
-
-/* Line 1455 of yacc.c  */
-#line 5885 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 732:
-
-/* Line 1455 of yacc.c  */
-#line 5890 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type&= ~ NOT_NULL_FLAG; }
+#line 22618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 733:
-
-/* Line 1455 of yacc.c  */
-#line 5891 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= NOT_NULL_FLAG; }
+#line 22624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 734:
-
-/* Line 1455 of yacc.c  */
-#line 5892 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->default_value=(yyvsp[(2) - (2)].item); }
+#line 5892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->default_value=(yyvsp[0].item); }
+#line 22630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 735:
-
-/* Line 1455 of yacc.c  */
-#line 5894 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_func_now_local(6);
             if (item == NULL)
               MYSQL_YYABORT;
             Lex->on_update_value= item;
           }
+#line 22641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 736:
-
-/* Line 1455 of yacc.c  */
-#line 5900 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5900 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; }
+#line 22647 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 737:
-
-/* Line 1455 of yacc.c  */
-#line 5902 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex=Lex;
             lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG;
             lex->alter_info.flags|= ALTER_ADD_INDEX;
           }
+#line 22657 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 738:
-
-/* Line 1455 of yacc.c  */
-#line 5908 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5908 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG;
             lex->alter_info.flags|= ALTER_ADD_INDEX;
           }
+#line 22667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 739:
-
-/* Line 1455 of yacc.c  */
-#line 5914 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type|= UNIQUE_FLAG; 
             lex->alter_info.flags|= ALTER_ADD_INDEX;
           }
+#line 22677 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 740:
-
-/* Line 1455 of yacc.c  */
-#line 5920 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5920 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type|= UNIQUE_KEY_FLAG; 
             lex->alter_info.flags|= ALTER_ADD_INDEX; 
           }
+#line 22687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 741:
-
-/* Line 1455 of yacc.c  */
-#line 5925 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->comment= (yyvsp[(2) - (2)].lex_str); }
+#line 5925 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->comment= (yyvsp[0].lex_str); }
+#line 22693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 742:
-
-/* Line 1455 of yacc.c  */
-#line 5927 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[(2) - (2)].charset)))
+            if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[0].charset)))
             {
               my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
-                       (yyvsp[(2) - (2)].charset)->name,Lex->charset->csname);
+                       (yyvsp[0].charset)->name,Lex->charset->csname);
               MYSQL_YYABORT;
             }
             else
             {
-              Lex->charset=(yyvsp[(2) - (2)].charset);
+              Lex->charset=(yyvsp[0].charset);
             }
           }
+#line 22710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 743:
-
-/* Line 1455 of yacc.c  */
-#line 5940 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), true, &Lex->option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
                                   &Lex->option_list_last);
           }
+#line 22720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 744:
-
-/* Line 1455 of yacc.c  */
-#line 5946 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), false, &Lex->option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
                                   &Lex->option_list_last);
           }
+#line 22730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 745:
-
-/* Line 1455 of yacc.c  */
-#line 5952 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].ulonglong_number), &Lex->option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
                                   &Lex->option_list_last, thd->mem_root);
           }
+#line 22740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 746:
-
-/* Line 1455 of yacc.c  */
-#line 5958 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), &Lex->option_list, &Lex->option_list_last);
+              engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
           }
+#line 22749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 747:
-
-/* Line 1455 of yacc.c  */
-#line 5967 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-          (yyval.num)= (yyvsp[(1) - (2)].num);
+          (yyval.num)= (yyvsp[-1].num);
 
           if (Lex->charset) /* Lex->charset is scanned in "type" */
           {
-            if (!(Lex->charset= merge_charset_and_collation(Lex->charset, (yyvsp[(2) - (2)].charset))))
+            if (!(Lex->charset= merge_charset_and_collation(Lex->charset, (yyvsp[0].charset))))
               MYSQL_YYABORT;
           }
-          else if ((yyvsp[(2) - (2)].charset))
+          else if ((yyvsp[0].charset))
           {
             my_error(ER_NOT_SUPPORTED_YET, MYF(0),
                      "COLLATE with no CHARACTER SET "
@@ -24451,221 +22766,194 @@ yyreduce:
             MYSQL_YYABORT;
           }
         }
+#line 22770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 748:
-
-/* Line 1455 of yacc.c  */
-#line 5988 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5988 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_now_local(6);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 22780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 749:
-
-/* Line 1455 of yacc.c  */
-#line 5994 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)=(yyvsp[(1) - (1)].item); }
+#line 5994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)=(yyvsp[0].item); }
+#line 22786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 750:
-
-/* Line 1455 of yacc.c  */
-#line 5998 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 751:
-
-/* Line 1455 of yacc.c  */
-#line 5999 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 5999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 752:
-
-/* Line 1455 of yacc.c  */
-#line 6003 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6003 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 753:
-
-/* Line 1455 of yacc.c  */
-#line 6004 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 754:
-
-/* Line 1455 of yacc.c  */
-#line 6009 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!((yyval.charset)=get_charset_by_csname((yyvsp[(1) - (1)].lex_str).str,MY_CS_PRIMARY,MYF(0))))
+            if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))))
             {
-              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
           }
+#line 22822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 755:
-
-/* Line 1455 of yacc.c  */
-#line 6016 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= &my_charset_bin; }
+#line 22828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 756:
-
-/* Line 1455 of yacc.c  */
-#line 6020 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.charset)=(yyvsp[(1) - (1)].charset);   }
+#line 6020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.charset)=(yyvsp[0].charset);   }
+#line 22834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 757:
-
-/* Line 1455 of yacc.c  */
-#line 6021 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
+#line 22840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 758:
-
-/* Line 1455 of yacc.c  */
-#line 6025 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= NULL; }
+#line 22846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 759:
-
-/* Line 1455 of yacc.c  */
-#line 6026 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.charset)= (yyvsp[(2) - (2)].charset); }
+#line 6026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.charset)= (yyvsp[0].charset); }
+#line 22852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 760:
-
-/* Line 1455 of yacc.c  */
-#line 6031 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!((yyval.charset)=get_charset_by_csname((yyvsp[(1) - (1)].lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
-                !((yyval.charset)=get_old_charset_by_name((yyvsp[(1) - (1)].lex_str).str)))
+            if (!((yyval.charset)=get_charset_by_csname((yyvsp[0].lex_str).str,MY_CS_PRIMARY,MYF(0))) &&
+                !((yyval.charset)=get_old_charset_by_name((yyvsp[0].lex_str).str)))
             {
-              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
           }
+#line 22865 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 761:
-
-/* Line 1455 of yacc.c  */
-#line 6039 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)= &my_charset_bin; }
+#line 22871 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 762:
-
-/* Line 1455 of yacc.c  */
-#line 6043 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.charset)=(yyvsp[(1) - (1)].charset);   }
+#line 6043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.charset)=(yyvsp[0].charset);   }
+#line 22877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 763:
-
-/* Line 1455 of yacc.c  */
-#line 6044 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
+#line 22883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 764:
-
-/* Line 1455 of yacc.c  */
-#line 6049 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!((yyval.charset)=get_charset_by_name((yyvsp[(1) - (1)].lex_str).str,MYF(0))))
+            if (!((yyval.charset)=get_charset_by_name((yyvsp[0].lex_str).str,MYF(0))))
             {
-              my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
           }
+#line 22895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 765:
-
-/* Line 1455 of yacc.c  */
-#line 6059 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
+#line 22901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 766:
-
-/* Line 1455 of yacc.c  */
-#line 6060 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.charset)=(yyvsp[(2) - (2)].charset); }
+#line 6060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.charset)=(yyvsp[0].charset); }
+#line 22907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 767:
-
-/* Line 1455 of yacc.c  */
-#line 6064 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.charset)=(yyvsp[(1) - (1)].charset); }
+#line 6064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.charset)=(yyvsp[0].charset); }
+#line 22913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 768:
-
-/* Line 1455 of yacc.c  */
-#line 6065 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.charset)=NULL; }
+#line 22919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 769:
-
-/* Line 1455 of yacc.c  */
-#line 6069 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 770:
-
-/* Line 1455 of yacc.c  */
-#line 6070 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 22931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 771:
-
-/* Line 1455 of yacc.c  */
-#line 6075 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset= &my_charset_latin1; }
+#line 22937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 772:
-
-/* Line 1455 of yacc.c  */
-#line 6077 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset= &my_charset_latin1_bin;
           }
+#line 22945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 773:
-
-/* Line 1455 of yacc.c  */
-#line 6081 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset= &my_charset_latin1_bin;
           }
+#line 22953 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 774:
-
-/* Line 1455 of yacc.c  */
-#line 6088 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!(Lex->charset=get_charset_by_csname("ucs2",
                                                      MY_CS_PRIMARY,MYF(0))))
@@ -24674,12 +22962,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 22966 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 775:
-
-/* Line 1455 of yacc.c  */
-#line 6097 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0))))
             {
@@ -24687,12 +22974,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 22978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 776:
-
-/* Line 1455 of yacc.c  */
-#line 6105 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0))))
             {
@@ -24700,311 +22986,273 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 22990 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 777:
-
-/* Line 1455 of yacc.c  */
-#line 6115 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset=NULL; }
+#line 22996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 780:
-
-/* Line 1455 of yacc.c  */
-#line 6118 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset=&my_charset_bin; }
+#line 23002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 781:
-
-/* Line 1455 of yacc.c  */
-#line 6119 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->charset=(yyvsp[(2) - (3)].charset); }
+#line 6119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->charset=(yyvsp[-1].charset); }
+#line 23008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 782:
-
-/* Line 1455 of yacc.c  */
-#line 6121 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->charset= NULL;
             Lex->type|= BINCMP_FLAG;
           }
+#line 23017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 783:
-
-/* Line 1455 of yacc.c  */
-#line 6126 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->charset= (yyvsp[(3) - (3)].charset);
+            Lex->charset= (yyvsp[0].charset);
             Lex->type|= BINCMP_FLAG;
           }
+#line 23026 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 784:
-
-/* Line 1455 of yacc.c  */
-#line 6133 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 23032 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 785:
-
-/* Line 1455 of yacc.c  */
-#line 6134 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= BINCMP_FLAG; }
+#line 23038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 788:
-
-/* Line 1455 of yacc.c  */
-#line 6149 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.table)=(yyvsp[(2) - (5)].table);
+            (yyval.table)=(yyvsp[-3].table);
           }
+#line 23046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 789:
-
-/* Line 1455 of yacc.c  */
-#line 6156 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ref_list.empty(); }
+#line 23052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 791:
-
-/* Line 1455 of yacc.c  */
-#line 6162 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Key_part_spec *key= new Key_part_spec((yyvsp[(3) - (3)].lex_str), 0);
+            Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0);
             if (key == NULL)
               MYSQL_YYABORT;
             Lex->ref_list.push_back(key);
           }
+#line 23063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 792:
-
-/* Line 1455 of yacc.c  */
-#line 6169 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Key_part_spec *key= new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0);
+            Key_part_spec *key= new Key_part_spec((yyvsp[0].lex_str), 0);
             if (key == NULL)
               MYSQL_YYABORT;
             LEX *lex= Lex;
             lex->ref_list.empty();
             lex->ref_list.push_back(key);
           }
+#line 23076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 793:
-
-/* Line 1455 of yacc.c  */
-#line 6181 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; }
+#line 23082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 794:
-
-/* Line 1455 of yacc.c  */
-#line 6183 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; }
+#line 23088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 795:
-
-/* Line 1455 of yacc.c  */
-#line 6185 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; }
+#line 23094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 796:
-
-/* Line 1455 of yacc.c  */
-#line 6187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; }
+#line 23100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 797:
-
-/* Line 1455 of yacc.c  */
-#line 6192 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
             lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
           }
+#line 23110 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 798:
-
-/* Line 1455 of yacc.c  */
-#line 6198 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->fk_update_opt= (yyvsp[(3) - (3)].m_fk_option);
+            lex->fk_update_opt= (yyvsp[0].m_fk_option);
             lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
           }
+#line 23120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 799:
-
-/* Line 1455 of yacc.c  */
-#line 6204 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
-            lex->fk_delete_opt= (yyvsp[(3) - (3)].m_fk_option);
+            lex->fk_delete_opt= (yyvsp[0].m_fk_option);
           }
+#line 23130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 800:
-
-/* Line 1455 of yacc.c  */
-#line 6211 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->fk_update_opt= (yyvsp[(3) - (6)].m_fk_option);
-            lex->fk_delete_opt= (yyvsp[(6) - (6)].m_fk_option);
+            lex->fk_update_opt= (yyvsp[-3].m_fk_option);
+            lex->fk_delete_opt= (yyvsp[0].m_fk_option);
           }
+#line 23140 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 801:
-
-/* Line 1455 of yacc.c  */
-#line 6218 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->fk_update_opt= (yyvsp[(6) - (6)].m_fk_option);
-            lex->fk_delete_opt= (yyvsp[(3) - (6)].m_fk_option);
+            lex->fk_update_opt= (yyvsp[0].m_fk_option);
+            lex->fk_delete_opt= (yyvsp[-3].m_fk_option);
           }
+#line 23150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 802:
-
-/* Line 1455 of yacc.c  */
-#line 6226 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; }
+#line 23156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 803:
-
-/* Line 1455 of yacc.c  */
-#line 6227 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; }
+#line 23162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 804:
-
-/* Line 1455 of yacc.c  */
-#line 6228 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; }
+#line 23168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 805:
-
-/* Line 1455 of yacc.c  */
-#line 6229 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; }
+#line 23174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 806:
-
-/* Line 1455 of yacc.c  */
-#line 6230 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT;  }
+#line 23180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 807:
-
-/* Line 1455 of yacc.c  */
-#line 6234 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::MULTIPLE; }
+#line 23186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 808:
-
-/* Line 1455 of yacc.c  */
-#line 6238 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::PRIMARY; }
+#line 23192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 809:
-
-/* Line 1455 of yacc.c  */
-#line 6239 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::UNIQUE; }
+#line 23198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 810:
-
-/* Line 1455 of yacc.c  */
-#line 6243 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 811:
-
-/* Line 1455 of yacc.c  */
-#line 6244 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 812:
-
-/* Line 1455 of yacc.c  */
-#line 6248 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 814:
-
-/* Line 1455 of yacc.c  */
-#line 6253 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 815:
-
-/* Line 1455 of yacc.c  */
-#line 6254 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 816:
-
-/* Line 1455 of yacc.c  */
-#line 6255 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 817:
-
-/* Line 1455 of yacc.c  */
-#line 6259 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::MULTIPLE; }
+#line 23240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 818:
-
-/* Line 1455 of yacc.c  */
-#line 6260 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::UNIQUE; }
+#line 23246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 819:
-
-/* Line 1455 of yacc.c  */
-#line 6264 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_type)= Key::FULLTEXT;}
+#line 23252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 820:
-
-/* Line 1455 of yacc.c  */
-#line 6269 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_SPATIAL
             (yyval.key_type)= Key::SPATIAL;
@@ -25014,239 +23262,212 @@ yyreduce:
             MYSQL_YYABORT;
 #endif
           }
+#line 23266 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 821:
-
-/* Line 1455 of yacc.c  */
-#line 6281 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->key_create_info= default_key_create_info;
           }
+#line 23274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 824:
-
-/* Line 1455 of yacc.c  */
-#line 6298 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 826:
-
-/* Line 1455 of yacc.c  */
-#line 6303 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 828:
-
-/* Line 1455 of yacc.c  */
-#line 6308 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 836:
-
-/* Line 1455 of yacc.c  */
-#line 6328 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); }
+#line 6328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); }
+#line 23298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 837:
-
-/* Line 1455 of yacc.c  */
-#line 6329 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); }
+#line 6329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->key_create_info.algorithm= (yyvsp[0].key_alg); }
+#line 23304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 838:
-
-/* Line 1455 of yacc.c  */
-#line 6334 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->key_create_info.block_size= (yyvsp[(3) - (3)].ulong_num); }
+#line 6334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->key_create_info.block_size= (yyvsp[0].ulong_num); }
+#line 23310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 839:
-
-/* Line 1455 of yacc.c  */
-#line 6335 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->key_create_info.comment= (yyvsp[(2) - (2)].lex_str); }
+#line 6335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->key_create_info.comment= (yyvsp[0].lex_str); }
+#line 23316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 840:
-
-/* Line 1455 of yacc.c  */
-#line 6337 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), true, &Lex->option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true, &Lex->option_list,
                                   &Lex->option_list_last);
           }
+#line 23326 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 841:
-
-/* Line 1455 of yacc.c  */
-#line 6343 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), false, &Lex->option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].lex_str), false, &Lex->option_list,
                                   &Lex->option_list_last);
           }
+#line 23336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 842:
-
-/* Line 1455 of yacc.c  */
-#line 6349 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].ulonglong_number), &Lex->option_list,
+              engine_option_value((yyvsp[-2].lex_str), (yyvsp[0].ulonglong_number), &Lex->option_list,
                                   &Lex->option_list_last, thd->mem_root);
           }
+#line 23346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 843:
-
-/* Line 1455 of yacc.c  */
-#line 6355 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             new (thd->mem_root)
-              engine_option_value((yyvsp[(1) - (3)].lex_str), &Lex->option_list, &Lex->option_list_last);
+              engine_option_value((yyvsp[-2].lex_str), &Lex->option_list, &Lex->option_list_last);
           }
+#line 23355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 848:
-
-/* Line 1455 of yacc.c  */
-#line 6373 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (plugin_is_ready(&(yyvsp[(3) - (3)].lex_str), MYSQL_FTPARSER_PLUGIN))
-              Lex->key_create_info.parser_name= (yyvsp[(3) - (3)].lex_str);
+            if (plugin_is_ready(&(yyvsp[0].lex_str), MYSQL_FTPARSER_PLUGIN))
+              Lex->key_create_info.parser_name= (yyvsp[0].lex_str);
             else
             {
-              my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[(3) - (3)].lex_str).str);
+              my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
           }
+#line 23369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 849:
-
-/* Line 1455 of yacc.c  */
-#line 6385 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_BTREE; }
+#line 23375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 850:
-
-/* Line 1455 of yacc.c  */
-#line 6386 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_RTREE; }
+#line 23381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 851:
-
-/* Line 1455 of yacc.c  */
-#line 6387 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.key_alg)= HA_KEY_ALG_HASH; }
+#line 23387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 852:
-
-/* Line 1455 of yacc.c  */
-#line 6391 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->col_list.push_back((yyvsp[(3) - (4)].key_part)); }
+#line 6391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->col_list.push_back((yyvsp[-1].key_part)); }
+#line 23393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 853:
-
-/* Line 1455 of yacc.c  */
-#line 6392 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->col_list.push_back((yyvsp[(1) - (2)].key_part)); }
+#line 6392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->col_list.push_back((yyvsp[-1].key_part)); }
+#line 23399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 854:
-
-/* Line 1455 of yacc.c  */
-#line 6397 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.key_part)= new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0);
+            (yyval.key_part)= new Key_part_spec((yyvsp[0].lex_str), 0);
             if ((yyval.key_part) == NULL)
               MYSQL_YYABORT;
           }
+#line 23409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 855:
-
-/* Line 1455 of yacc.c  */
-#line 6403 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            int key_part_len= atoi((yyvsp[(3) - (4)].lex_str).str);
+            int key_part_len= atoi((yyvsp[-1].lex_str).str);
             if (!key_part_len)
             {
-              my_error(ER_KEY_PART_0, MYF(0), (yyvsp[(1) - (4)].lex_str).str);
+              my_error(ER_KEY_PART_0, MYF(0), (yyvsp[-3].lex_str).str);
             }
-            (yyval.key_part)= new Key_part_spec((yyvsp[(1) - (4)].lex_str), (uint) key_part_len);
+            (yyval.key_part)= new Key_part_spec((yyvsp[-3].lex_str), (uint) key_part_len);
             if ((yyval.key_part) == NULL)
               MYSQL_YYABORT;
           }
+#line 23424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 856:
-
-/* Line 1455 of yacc.c  */
-#line 6416 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
+#line 23430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 857:
-
-/* Line 1455 of yacc.c  */
-#line 6417 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
+#line 6417 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 23436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 858:
-
-/* Line 1455 of yacc.c  */
-#line 6421 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)= null_lex_str; }
+#line 23442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 859:
-
-/* Line 1455 of yacc.c  */
-#line 6422 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(2) - (2)].lex_str); }
+#line 6422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 23448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 860:
-
-/* Line 1455 of yacc.c  */
-#line 6426 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->interval_list.push_back((yyvsp[(1) - (1)].string)); }
+#line 6426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->interval_list.push_back((yyvsp[0].string)); }
+#line 23454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 861:
-
-/* Line 1455 of yacc.c  */
-#line 6427 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->interval_list.push_back((yyvsp[(3) - (3)].string)); }
+#line 6427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->interval_list.push_back((yyvsp[0].string)); }
+#line 23460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 862:
-
-/* Line 1455 of yacc.c  */
-#line 6435 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->name.str= 0;
             lex->name.length= 0;
             lex->sql_command= SQLCOM_ALTER_TABLE;
             lex->duplicates= DUP_ERROR; 
-            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(4) - (4)].table), NULL,
+            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
                                                    TL_OPTION_UPDATING,
                                                    TL_READ_NO_INSERT,
                                                    MDL_SHARED_NO_WRITE))
@@ -25264,12 +23485,11 @@ yyreduce:
             lex->create_last_non_select_table= lex->last_table();
             DBUG_ASSERT(!lex->m_stmt);
           }
+#line 23489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 863:
-
-/* Line 1455 of yacc.c  */
-#line 6460 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             if (!lex->m_stmt)
@@ -25280,36 +23500,33 @@ yyreduce:
                 MYSQL_YYABORT;
             }
           }
+#line 23504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 864:
-
-/* Line 1455 of yacc.c  */
-#line 6471 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6471 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_info.default_table_charset= NULL;
             Lex->create_info.used_fields= 0;
           }
+#line 23513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 865:
-
-/* Line 1455 of yacc.c  */
-#line 6476 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6476 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_ALTER_DB;
-            lex->name= (yyvsp[(3) - (5)].lex_str);
+            lex->name= (yyvsp[-2].lex_str);
             if (lex->name.str == NULL &&
                 lex->copy_db_to(&lex->name.str, &lex->name.length))
               MYSQL_YYABORT;
           }
+#line 23526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 866:
-
-/* Line 1455 of yacc.c  */
-#line 6485 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6485 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->sphead)
@@ -25318,14 +23535,13 @@ yyreduce:
               MYSQL_YYABORT;
             }
             lex->sql_command= SQLCOM_ALTER_DB_UPGRADE;
-            lex->name= (yyvsp[(3) - (7)].lex_str);
+            lex->name= (yyvsp[-4].lex_str);
           }
+#line 23541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 867:
-
-/* Line 1455 of yacc.c  */
-#line 6496 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -25336,24 +23552,22 @@ yyreduce:
             }
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
           }
+#line 23556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 868:
-
-/* Line 1455 of yacc.c  */
-#line 6507 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
             lex->sql_command= SQLCOM_ALTER_PROCEDURE;
-            lex->spname= (yyvsp[(3) - (5)].spname);
+            lex->spname= (yyvsp[-2].spname);
           }
+#line 23567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 869:
-
-/* Line 1455 of yacc.c  */
-#line 6514 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -25364,24 +23578,22 @@ yyreduce:
             }
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
           }
+#line 23582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 870:
-
-/* Line 1455 of yacc.c  */
-#line 6525 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6525 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
             lex->sql_command= SQLCOM_ALTER_FUNCTION;
-            lex->spname= (yyvsp[(3) - (5)].spname);
+            lex->spname= (yyvsp[-2].spname);
           }
+#line 23593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 871:
-
-/* Line 1455 of yacc.c  */
-#line 6532 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -25392,19 +23604,17 @@ yyreduce:
             }
             lex->create_view_mode= VIEW_ALTER;
           }
+#line 23608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 872:
-
-/* Line 1455 of yacc.c  */
-#line 6543 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 873:
-
-/* Line 1455 of yacc.c  */
-#line 6550 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6550 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -25416,19 +23626,17 @@ yyreduce:
             lex->create_view_algorithm= VIEW_ALGORITHM_INHERIT;
             lex->create_view_mode= VIEW_ALTER;
           }
+#line 23630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 874:
-
-/* Line 1455 of yacc.c  */
-#line 6562 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 875:
-
-/* Line 1455 of yacc.c  */
-#line 6564 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* 
               It is safe to use Lex->spname because
@@ -25440,18 +23648,17 @@ yyreduce:
 
             if (!(Lex->event_parse_data= Event_parse_data::new_instance(thd)))
               MYSQL_YYABORT;
-            Lex->event_parse_data->identifier= (yyvsp[(4) - (4)].spname);
+            Lex->event_parse_data->identifier= (yyvsp[0].spname);
 
             Lex->sql_command= SQLCOM_ALTER_EVENT;
           }
+#line 23656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 876:
-
-/* Line 1455 of yacc.c  */
-#line 6584 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6584 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!((yyvsp[(6) - (10)].num) || (yyvsp[(7) - (10)].num) || (yyvsp[(8) - (10)].num) || (yyvsp[(9) - (10)].num) || (yyvsp[(10) - (10)].num)))
+            if (!((yyvsp[-4].num) || (yyvsp[-3].num) || (yyvsp[-2].num) || (yyvsp[-1].num) || (yyvsp[0].num)))
             {
               my_parse_error(ER(ER_SYNTAX_ERROR));
               MYSQL_YYABORT;
@@ -25462,178 +23669,158 @@ yyreduce:
             */
             Lex->sql_command= SQLCOM_ALTER_EVENT;
           }
+#line 23673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 877:
-
-/* Line 1455 of yacc.c  */
-#line 6597 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6597 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE;
           }
+#line 23682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 878:
-
-/* Line 1455 of yacc.c  */
-#line 6602 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP;
           }
+#line 23691 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 879:
-
-/* Line 1455 of yacc.c  */
-#line 6607 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE;
           }
+#line 23700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 880:
-
-/* Line 1455 of yacc.c  */
-#line 6612 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6612 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE;
           }
+#line 23709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 881:
-
-/* Line 1455 of yacc.c  */
-#line 6617 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6617 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_ALTER_SERVER;
-            lex->server_options.server_name= (yyvsp[(3) - (7)].lex_str).str;
-            lex->server_options.server_name_length= (yyvsp[(3) - (7)].lex_str).length;
+            lex->server_options.server_name= (yyvsp[-4].lex_str).str;
+            lex->server_options.server_name_length= (yyvsp[-4].lex_str).length;
           }
+#line 23720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 882:
-
-/* Line 1455 of yacc.c  */
-#line 6626 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;}
+#line 23726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 883:
-
-/* Line 1455 of yacc.c  */
-#line 6627 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 23732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 884:
-
-/* Line 1455 of yacc.c  */
-#line 6628 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6628 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 23738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 885:
-
-/* Line 1455 of yacc.c  */
-#line 6629 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6629 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 23744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 886:
-
-/* Line 1455 of yacc.c  */
-#line 6633 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;}
+#line 23750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 887:
-
-/* Line 1455 of yacc.c  */
-#line 6635 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6635 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Use lex's spname to hold the new name.
               The original name is in the Event_parse_data object
             */
-            Lex->spname= (yyvsp[(3) - (3)].spname); 
+            Lex->spname= (yyvsp[0].spname); 
             (yyval.num)= 1;
           }
+#line 23763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 888:
-
-/* Line 1455 of yacc.c  */
-#line 6646 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6646 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;}
+#line 23769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 889:
-
-/* Line 1455 of yacc.c  */
-#line 6647 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6647 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 23775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 890:
-
-/* Line 1455 of yacc.c  */
-#line 6651 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; }
+#line 23781 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 891:
-
-/* Line 1455 of yacc.c  */
-#line 6652 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
+#line 6652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 23787 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 893:
-
-/* Line 1455 of yacc.c  */
-#line 6657 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6657 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; }
+#line 23793 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 894:
-
-/* Line 1455 of yacc.c  */
-#line 6658 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; }
+#line 23799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 900:
-
-/* Line 1455 of yacc.c  */
-#line 6675 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_DROP_PARTITION;
           }
+#line 23807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 901:
-
-/* Line 1455 of yacc.c  */
-#line 6680 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_info.flags|= ALTER_REBUILD_PARTITION;
-            lex->no_write_to_binlog= (yyvsp[(3) - (4)].num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
           }
+#line 23817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 902:
-
-/* Line 1455 of yacc.c  */
-#line 6687 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6687 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            lex->no_write_to_binlog= (yyvsp[(3) - (4)].num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
             lex->check_opt.init();
             DBUG_ASSERT(!lex->m_stmt);
             lex->m_stmt= new (thd->mem_root)
@@ -25641,15 +23828,14 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 23832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 904:
-
-/* Line 1455 of yacc.c  */
-#line 6700 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            lex->no_write_to_binlog= (yyvsp[(3) - (4)].num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
             lex->check_opt.init();
             DBUG_ASSERT(!lex->m_stmt);
             lex->m_stmt= new (thd->mem_root)
@@ -25657,12 +23843,11 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 23847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 905:
-
-/* Line 1455 of yacc.c  */
-#line 6711 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->check_opt.init();
@@ -25672,15 +23857,14 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 23861 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 907:
-
-/* Line 1455 of yacc.c  */
-#line 6723 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            lex->no_write_to_binlog= (yyvsp[(3) - (4)].num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
             lex->check_opt.init();
             DBUG_ASSERT(!lex->m_stmt);
             lex->m_stmt= new (thd->mem_root)
@@ -25688,24 +23872,22 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 23876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 909:
-
-/* Line 1455 of yacc.c  */
-#line 6735 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6735 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_info.flags|= ALTER_COALESCE_PARTITION;
-            lex->no_write_to_binlog= (yyvsp[(3) - (4)].num);
-            lex->alter_info.num_parts= (yyvsp[(4) - (4)].ulong_num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
+            lex->alter_info.num_parts= (yyvsp[0].ulong_num);
           }
+#line 23887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 910:
-
-/* Line 1455 of yacc.c  */
-#line 6742 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6742 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->check_opt.init();
@@ -25715,30 +23897,27 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 23901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 912:
-
-/* Line 1455 of yacc.c  */
-#line 6756 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_REMOVE_PARTITIONING;
           }
+#line 23909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 913:
-
-/* Line 1455 of yacc.c  */
-#line 6763 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_ALL_PARTITION;
           }
+#line 23917 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 915:
-
-/* Line 1455 of yacc.c  */
-#line 6771 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info= new partition_info();
@@ -25748,40 +23927,36 @@ yyreduce:
               MYSQL_YYABORT;
             }
             lex->alter_info.flags|= ALTER_ADD_PARTITION;
-            lex->no_write_to_binlog= (yyvsp[(3) - (3)].num);
+            lex->no_write_to_binlog= (yyvsp[0].num);
           }
+#line 23933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 916:
-
-/* Line 1455 of yacc.c  */
-#line 6783 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 23939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 918:
-
-/* Line 1455 of yacc.c  */
-#line 6789 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info->num_parts= lex->part_info->partitions.elements;
           }
+#line 23948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 919:
-
-/* Line 1455 of yacc.c  */
-#line 6794 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->part_info->num_parts= (yyvsp[(2) - (2)].ulong_num);
+            Lex->part_info->num_parts= (yyvsp[0].ulong_num);
           }
+#line 23956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 920:
-
-/* Line 1455 of yacc.c  */
-#line 6801 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6801 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->part_info= new partition_info();
@@ -25790,129 +23965,116 @@ yyreduce:
               mem_alloc_error(sizeof(partition_info));
               MYSQL_YYABORT;
             }
-            lex->no_write_to_binlog= (yyvsp[(3) - (3)].num);
+            lex->no_write_to_binlog= (yyvsp[0].num);
           }
+#line 23971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 922:
-
-/* Line 1455 of yacc.c  */
-#line 6816 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6816 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_TABLE_REORG;
           }
+#line 23979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 923:
-
-/* Line 1455 of yacc.c  */
-#line 6820 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6820 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_REORGANIZE_PARTITION;
           }
+#line 23987 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 924:
-
-/* Line 1455 of yacc.c  */
-#line 6824 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6824 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             partition_info *part_info= Lex->part_info;
             part_info->num_parts= part_info->partitions.elements;
           }
+#line 23996 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 925:
-
-/* Line 1455 of yacc.c  */
-#line 6831 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6831 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24002 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 926:
-
-/* Line 1455 of yacc.c  */
-#line 6832 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 927:
-
-/* Line 1455 of yacc.c  */
-#line 6837 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6837 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->alter_info.partition_names.push_back((yyvsp[(1) - (1)].lex_str).str))
+            if (Lex->alter_info.partition_names.push_back((yyvsp[0].lex_str).str))
             {
               mem_alloc_error(1);
               MYSQL_YYABORT;
             }
           }
+#line 24020 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 930:
-
-/* Line 1455 of yacc.c  */
-#line 6857 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->change=0;
             lex->alter_info.flags|= ALTER_ADD_COLUMN;
           }
+#line 24030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 931:
-
-/* Line 1455 of yacc.c  */
-#line 6866 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_last_non_select_table= Lex->last_table();
           }
+#line 24038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 932:
-
-/* Line 1455 of yacc.c  */
-#line 6870 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_last_non_select_table= Lex->last_table();
             Lex->alter_info.flags|= ALTER_ADD_INDEX;
           }
+#line 24047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 933:
-
-/* Line 1455 of yacc.c  */
-#line 6875 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6875 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_ADD_COLUMN | ALTER_ADD_INDEX;
           }
+#line 24055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 934:
-
-/* Line 1455 of yacc.c  */
-#line 6879 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->change= (yyvsp[(3) - (3)].lex_str).str;
+            lex->change= (yyvsp[0].lex_str).str;
             lex->alter_info.flags|= ALTER_CHANGE_COLUMN;
             lex->option_list= NULL;
           }
+#line 24066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 935:
-
-/* Line 1455 of yacc.c  */
-#line 6886 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_last_non_select_table= Lex->last_table();
           }
+#line 24074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 936:
-
-/* Line 1455 of yacc.c  */
-#line 6890 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->length=lex->dec=0; lex->type=0;
@@ -25923,62 +24085,57 @@ yyreduce:
 	    lex->vcol_info= 0;
             lex->option_list= NULL;
           }
+#line 24089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 937:
-
-/* Line 1455 of yacc.c  */
-#line 6901 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            if (add_field_to_list(lex->thd,&(yyvsp[(3) - (5)].lex_str),
-                                  (yyvsp[(5) - (5)].lex_type).type,
-                                  (yyvsp[(5) - (5)].lex_type).length, (yyvsp[(5) - (5)].lex_type).dec, lex->type,
+            if (add_field_to_list(lex->thd,&(yyvsp[-2].lex_str),
+                                  (yyvsp[0].lex_type).type,
+                                  (yyvsp[0].lex_type).length, (yyvsp[0].lex_type).dec, lex->type,
                                   lex->default_value, lex->on_update_value,
                                   &lex->comment,
-                                  (yyvsp[(3) - (5)].lex_str).str, &lex->interval_list, (yyvsp[(5) - (5)].lex_type).charset,
+                                  (yyvsp[-2].lex_str).str, &lex->interval_list, (yyvsp[0].lex_type).charset,
                                   lex->uint_geom_type,
                                   lex->vcol_info, lex->option_list))
               MYSQL_YYABORT;
           }
+#line 24106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 938:
-
-/* Line 1455 of yacc.c  */
-#line 6914 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->create_last_non_select_table= Lex->last_table();
           }
+#line 24114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 939:
-
-/* Line 1455 of yacc.c  */
-#line 6918 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6918 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[(3) - (4)].lex_str).str);
+            Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[-1].lex_str).str);
             if (ad == NULL)
               MYSQL_YYABORT;
             lex->alter_info.drop_list.push_back(ad);
             lex->alter_info.flags|= ALTER_DROP_COLUMN;
           }
+#line 24127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 940:
-
-/* Line 1455 of yacc.c  */
-#line 6927 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6927 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_DROP_INDEX | ALTER_FOREIGN_KEY;
           }
+#line 24135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 941:
-
-/* Line 1455 of yacc.c  */
-#line 6931 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             Alter_drop *ad= new Alter_drop(Alter_drop::KEY, primary_key_name);
@@ -25987,125 +24144,117 @@ yyreduce:
             lex->alter_info.drop_list.push_back(ad);
             lex->alter_info.flags|= ALTER_DROP_INDEX;
           }
+#line 24148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 942:
-
-/* Line 1455 of yacc.c  */
-#line 6940 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[(3) - (3)].lex_str).str);
+            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[0].lex_str).str);
             if (ad == NULL)
               MYSQL_YYABORT;
             lex->alter_info.drop_list.push_back(ad);
             lex->alter_info.flags|= ALTER_DROP_INDEX;
           }
+#line 24161 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 943:
-
-/* Line 1455 of yacc.c  */
-#line 6949 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6949 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.keys_onoff= DISABLE;
             lex->alter_info.flags|= ALTER_KEYS_ONOFF;
           }
+#line 24171 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 944:
-
-/* Line 1455 of yacc.c  */
-#line 6955 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6955 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.keys_onoff= ENABLE;
             lex->alter_info.flags|= ALTER_KEYS_ONOFF;
           }
+#line 24181 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 945:
-
-/* Line 1455 of yacc.c  */
-#line 6961 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            Alter_column *ac= new Alter_column((yyvsp[(3) - (6)].lex_str).str,(yyvsp[(6) - (6)].item));
+            Alter_column *ac= new Alter_column((yyvsp[-3].lex_str).str,(yyvsp[0].item));
             if (ac == NULL)
               MYSQL_YYABORT;
             lex->alter_info.alter_list.push_back(ac);
             lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT;
           }
+#line 24194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 946:
-
-/* Line 1455 of yacc.c  */
-#line 6970 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            Alter_column *ac= new Alter_column((yyvsp[(3) - (5)].lex_str).str, (Item*) 0);
+            Alter_column *ac= new Alter_column((yyvsp[-2].lex_str).str, (Item*) 0);
             if (ac == NULL)
               MYSQL_YYABORT;
             lex->alter_info.alter_list.push_back(ac);
             lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT;
           }
+#line 24207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 947:
-
-/* Line 1455 of yacc.c  */
-#line 6979 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             size_t dummy;
-            lex->select_lex.db=(yyvsp[(3) - (3)].table)->db.str;
+            lex->select_lex.db=(yyvsp[0].table)->db.str;
             if (lex->select_lex.db == NULL &&
                 lex->copy_db_to(&lex->select_lex.db, &dummy))
             {
               MYSQL_YYABORT;
             }
-            if (check_table_name((yyvsp[(3) - (3)].table)->table.str,(yyvsp[(3) - (3)].table)->table.length, FALSE) ||
-                ((yyvsp[(3) - (3)].table)->db.str && check_db_name(&(yyvsp[(3) - (3)].table)->db)))
+            if (check_table_name((yyvsp[0].table)->table.str,(yyvsp[0].table)->table.length, FALSE) ||
+                ((yyvsp[0].table)->db.str && check_db_name(&(yyvsp[0].table)->db)))
             {
-              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (3)].table)->table.str);
+              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[0].table)->table.str);
               MYSQL_YYABORT;
             }
-            lex->name= (yyvsp[(3) - (3)].table)->table;
+            lex->name= (yyvsp[0].table)->table;
             lex->alter_info.flags|= ALTER_RENAME;
           }
+#line 24230 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 948:
-
-/* Line 1455 of yacc.c  */
-#line 6998 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 6998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!(yyvsp[(4) - (5)].charset))
+            if (!(yyvsp[-1].charset))
             {
-              (yyvsp[(4) - (5)].charset)= thd->variables.collation_database;
+              (yyvsp[-1].charset)= thd->variables.collation_database;
             }
-            (yyvsp[(5) - (5)].charset)= (yyvsp[(5) - (5)].charset) ? (yyvsp[(5) - (5)].charset) : (yyvsp[(4) - (5)].charset);
-            if (!my_charset_same((yyvsp[(4) - (5)].charset),(yyvsp[(5) - (5)].charset)))
+            (yyvsp[0].charset)= (yyvsp[0].charset) ? (yyvsp[0].charset) : (yyvsp[-1].charset);
+            if (!my_charset_same((yyvsp[-1].charset),(yyvsp[0].charset)))
             {
               my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
-                       (yyvsp[(5) - (5)].charset)->name, (yyvsp[(4) - (5)].charset)->csname);
+                       (yyvsp[0].charset)->name, (yyvsp[-1].charset)->csname);
               MYSQL_YYABORT;
             }
             LEX *lex= Lex;
             lex->create_info.table_charset=
-            lex->create_info.default_table_charset= (yyvsp[(5) - (5)].charset);
+            lex->create_info.default_table_charset= (yyvsp[0].charset);
             lex->create_info.used_fields|= (HA_CREATE_USED_CHARSET |
               HA_CREATE_USED_DEFAULT_CHARSET);
             lex->alter_info.flags|= ALTER_CONVERT;
           }
+#line 24254 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 949:
-
-/* Line 1455 of yacc.c  */
-#line 7018 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.flags|= ALTER_OPTIONS;
@@ -26115,279 +24264,244 @@ yyreduce:
               lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE;
             }
           }
+#line 24268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 950:
-
-/* Line 1455 of yacc.c  */
-#line 7028 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_RECREATE;
           }
+#line 24276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 951:
-
-/* Line 1455 of yacc.c  */
-#line 7032 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->alter_info.flags|= ALTER_ORDER;
           }
+#line 24285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 952:
-
-/* Line 1455 of yacc.c  */
-#line 7039 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 953:
-
-/* Line 1455 of yacc.c  */
-#line 7040 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 954:
-
-/* Line 1455 of yacc.c  */
-#line 7044 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 0;}
+#line 24303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 955:
-
-/* Line 1455 of yacc.c  */
-#line 7045 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1;}
+#line 24309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 956:
-
-/* Line 1455 of yacc.c  */
-#line 7049 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= Lex->online= 0;}
+#line 24315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 962:
-
-/* Line 1455 of yacc.c  */
-#line 7063 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1;}
+#line 24321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 963:
-
-/* Line 1455 of yacc.c  */
-#line 7064 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->online= 1;}
+#line 24327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 964:
-
-/* Line 1455 of yacc.c  */
-#line 7068 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->drop_mode= DROP_DEFAULT; }
+#line 24333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 965:
-
-/* Line 1455 of yacc.c  */
-#line 7069 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7069 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->drop_mode= DROP_RESTRICT; }
+#line 24339 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 966:
-
-/* Line 1455 of yacc.c  */
-#line 7070 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->drop_mode= DROP_CASCADE; }
+#line 24345 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 967:
-
-/* Line 1455 of yacc.c  */
-#line 7074 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7074 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24351 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 968:
-
-/* Line 1455 of yacc.c  */
-#line 7075 "/home/buildbot/git/sql/sql_yacc.yy"
-    { store_position_for_column((yyvsp[(2) - (2)].lex_str).str); }
+#line 7075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { store_position_for_column((yyvsp[0].lex_str).str); }
+#line 24357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 969:
-
-/* Line 1455 of yacc.c  */
-#line 7076 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { store_position_for_column(first_keyword); }
+#line 24363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 970:
-
-/* Line 1455 of yacc.c  */
-#line 7080 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 971:
-
-/* Line 1455 of yacc.c  */
-#line 7081 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 972:
-
-/* Line 1455 of yacc.c  */
-#line 7082 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 973:
-
-/* Line 1455 of yacc.c  */
-#line 7083 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 974:
-
-/* Line 1455 of yacc.c  */
-#line 7092 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_START;
             lex->type = 0;
             /* If you change this code don't forget to update SLAVE START too */
           }
+#line 24398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 975:
-
-/* Line 1455 of yacc.c  */
-#line 7099 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 976:
-
-/* Line 1455 of yacc.c  */
-#line 7101 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_STOP;
             lex->type = 0;
             /* If you change this code don't forget to update SLAVE STOP too */
           }
+#line 24415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 977:
-
-/* Line 1455 of yacc.c  */
-#line 7108 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_START;
             lex->type = 0;
           }
+#line 24425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 978:
-
-/* Line 1455 of yacc.c  */
-#line 7114 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 979:
-
-/* Line 1455 of yacc.c  */
-#line 7116 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_SLAVE_STOP;
             lex->type = 0;
           }
+#line 24441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 980:
-
-/* Line 1455 of yacc.c  */
-#line 7125 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_BEGIN;
-            lex->start_transaction_opt= (yyvsp[(3) - (3)].num);
+            lex->start_transaction_opt= (yyvsp[0].num);
           }
+#line 24451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 981:
-
-/* Line 1455 of yacc.c  */
-#line 7133 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
+#line 24457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 982:
-
-/* Line 1455 of yacc.c  */
-#line 7135 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT;
           }
+#line 24465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 983:
-
-/* Line 1455 of yacc.c  */
-#line 7141 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->slave_thd_opt= 0; }
+#line 24471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 984:
-
-/* Line 1455 of yacc.c  */
-#line 7143 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 987:
-
-/* Line 1455 of yacc.c  */
-#line 7152 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 988:
-
-/* Line 1455 of yacc.c  */
-#line 7153 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->slave_thd_opt|=SLAVE_SQL; }
+#line 24489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 989:
-
-/* Line 1455 of yacc.c  */
-#line 7154 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->slave_thd_opt|=SLAVE_IO; }
+#line 24495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 990:
-
-/* Line 1455 of yacc.c  */
-#line 7158 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 991:
-
-/* Line 1455 of yacc.c  */
-#line 7160 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (((lex->mi.log_file_name || lex->mi.pos) &&
@@ -26400,74 +24514,66 @@ yyreduce:
                MYSQL_YYABORT;
             }
           }
+#line 24518 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 994:
-
-/* Line 1455 of yacc.c  */
-#line 7181 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_CHECKSUM;
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
+#line 24529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 995:
-
-/* Line 1455 of yacc.c  */
-#line 7188 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 996:
-
-/* Line 1455 of yacc.c  */
-#line 7192 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags= 0; }
+#line 24541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 997:
-
-/* Line 1455 of yacc.c  */
-#line 7193 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags= T_QUICK; }
+#line 24547 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 998:
-
-/* Line 1455 of yacc.c  */
-#line 7194 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags= T_EXTEND; }
+#line 24553 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1000:
-
-/* Line 1455 of yacc.c  */
-#line 7199 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->only_view= TRUE; }
+#line 24559 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1002:
-
-/* Line 1455 of yacc.c  */
-#line 7204 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_REPAIR;
-            lex->no_write_to_binlog= (yyvsp[(2) - (2)].num);
+            lex->no_write_to_binlog= (yyvsp[0].num);
             lex->check_opt.init();
             lex->alter_info.reset();
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
+#line 24573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1003:
-
-/* Line 1455 of yacc.c  */
-#line 7214 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_stmt);
@@ -26475,90 +24581,79 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 24585 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1004:
-
-/* Line 1455 of yacc.c  */
-#line 7224 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags = T_MEDIUM; }
+#line 24591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1005:
-
-/* Line 1455 of yacc.c  */
-#line 7225 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24597 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1006:
-
-/* Line 1455 of yacc.c  */
-#line 7229 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24603 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1007:
-
-/* Line 1455 of yacc.c  */
-#line 7230 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24609 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1008:
-
-/* Line 1455 of yacc.c  */
-#line 7234 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_QUICK; }
+#line 24615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1009:
-
-/* Line 1455 of yacc.c  */
-#line 7235 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_EXTEND; }
+#line 24621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1010:
-
-/* Line 1455 of yacc.c  */
-#line 7236 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_USEFRM; }
+#line 24627 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1011:
-
-/* Line 1455 of yacc.c  */
-#line 7240 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 24633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1012:
-
-/* Line 1455 of yacc.c  */
-#line 7241 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_FROM_MYSQL; }
+#line 24639 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1013:
-
-/* Line 1455 of yacc.c  */
-#line 7246 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_ANALYZE;
-            lex->no_write_to_binlog= (yyvsp[(2) - (3)].num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
             lex->check_opt.init();
             lex->alter_info.reset();
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
+#line 24653 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1014:
-
-/* Line 1455 of yacc.c  */
-#line 7256 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_stmt);
@@ -26566,29 +24661,26 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 24665 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1015:
-
-/* Line 1455 of yacc.c  */
-#line 7267 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT;
-            Lex->comment= (yyvsp[(2) - (2)].lex_str);
+            Lex->comment= (yyvsp[0].lex_str);
           }
+#line 24674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1017:
-
-/* Line 1455 of yacc.c  */
-#line 7275 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->only_view= TRUE; }
+#line 24680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1019:
-
-/* Line 1455 of yacc.c  */
-#line 7279 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -26598,12 +24690,11 @@ yyreduce:
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
+#line 24694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1020:
-
-/* Line 1455 of yacc.c  */
-#line 7289 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             if (lex->sphead)
@@ -26616,111 +24707,97 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 24711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1021:
-
-/* Line 1455 of yacc.c  */
-#line 7304 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags = T_MEDIUM; }
+#line 24717 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1022:
-
-/* Line 1455 of yacc.c  */
-#line 7305 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1023:
-
-/* Line 1455 of yacc.c  */
-#line 7309 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1024:
-
-/* Line 1455 of yacc.c  */
-#line 7310 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24735 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1025:
-
-/* Line 1455 of yacc.c  */
-#line 7314 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_QUICK; }
+#line 24741 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1026:
-
-/* Line 1455 of yacc.c  */
-#line 7315 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_FAST; }
+#line 24747 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1027:
-
-/* Line 1455 of yacc.c  */
-#line 7316 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_MEDIUM; }
+#line 24753 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1028:
-
-/* Line 1455 of yacc.c  */
-#line 7317 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_EXTEND; }
+#line 24759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1029:
-
-/* Line 1455 of yacc.c  */
-#line 7318 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; }
+#line 24765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1030:
-
-/* Line 1455 of yacc.c  */
-#line 7319 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
+#line 24771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1031:
-
-/* Line 1455 of yacc.c  */
-#line 7323 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 24777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1032:
-
-/* Line 1455 of yacc.c  */
-#line 7324 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; }
+#line 24783 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1033:
-
-/* Line 1455 of yacc.c  */
-#line 7329 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_OPTIMIZE;
-            lex->no_write_to_binlog= (yyvsp[(2) - (3)].num);
+            lex->no_write_to_binlog= (yyvsp[-1].num);
             lex->check_opt.init();
             lex->alter_info.reset();
             /* Will be overriden during execution. */
             YYPS->m_lock_type= TL_UNLOCK;
           }
+#line 24797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1034:
-
-/* Line 1455 of yacc.c  */
-#line 7339 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_stmt);
@@ -26728,264 +24805,236 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 24809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1035:
-
-/* Line 1455 of yacc.c  */
-#line 7349 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 24815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1036:
-
-/* Line 1455 of yacc.c  */
-#line 7350 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 24821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1037:
-
-/* Line 1455 of yacc.c  */
-#line 7351 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 24827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1038:
-
-/* Line 1455 of yacc.c  */
-#line 7356 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_RENAME_TABLE;
           }
+#line 24835 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1039:
-
-/* Line 1455 of yacc.c  */
-#line 7360 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1040:
-
-/* Line 1455 of yacc.c  */
-#line 7362 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_RENAME_USER;
           }
+#line 24849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1041:
-
-/* Line 1455 of yacc.c  */
-#line 7369 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->users_list.push_back((yyvsp[(1) - (3)].lex_user)) || Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user)))
+            if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
               MYSQL_YYABORT;
           }
+#line 24858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1042:
-
-/* Line 1455 of yacc.c  */
-#line 7374 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->users_list.push_back((yyvsp[(3) - (5)].lex_user)) || Lex->users_list.push_back((yyvsp[(5) - (5)].lex_user)))
+            if (Lex->users_list.push_back((yyvsp[-2].lex_user)) || Lex->users_list.push_back((yyvsp[0].lex_user)))
               MYSQL_YYABORT;
           }
+#line 24867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1045:
-
-/* Line 1455 of yacc.c  */
-#line 7387 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7387 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             SELECT_LEX *sl= lex->current_select;
-            if (!sl->add_table_to_list(lex->thd, (yyvsp[(1) - (3)].table),NULL,TL_OPTION_UPDATING,
+            if (!sl->add_table_to_list(lex->thd, (yyvsp[-2].table),NULL,TL_OPTION_UPDATING,
                                        TL_IGNORE, MDL_EXCLUSIVE) ||
-                !sl->add_table_to_list(lex->thd, (yyvsp[(3) - (3)].table),NULL,TL_OPTION_UPDATING,
+                !sl->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,TL_OPTION_UPDATING,
                                        TL_IGNORE, MDL_EXCLUSIVE))
               MYSQL_YYABORT;
           }
+#line 24881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1046:
-
-/* Line 1455 of yacc.c  */
-#line 7400 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.reset();
           }
+#line 24889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1047:
-
-/* Line 1455 of yacc.c  */
-#line 7404 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE;
-            lex->ident= (yyvsp[(6) - (6)].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 24899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1052:
-
-/* Line 1455 of yacc.c  */
-#line 7423 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7423 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (2)].table), NULL, 0, TL_READ,
+            if (!Select->add_table_to_list(thd, (yyvsp[-1].table), NULL, 0, TL_READ,
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
+#line 24910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1053:
-
-/* Line 1455 of yacc.c  */
-#line 7433 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7433 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (3)].table), NULL, 0, TL_READ, 
+            if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, 0, TL_READ, 
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
+#line 24921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1054:
-
-/* Line 1455 of yacc.c  */
-#line 7442 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
+#line 7442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 24927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1055:
-
-/* Line 1455 of yacc.c  */
-#line 7443 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str) = default_key_cache_base; }
+#line 24933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1056:
-
-/* Line 1455 of yacc.c  */
-#line 7448 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_PRELOAD_KEYS;
             lex->alter_info.reset();
           }
+#line 24943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1057:
-
-/* Line 1455 of yacc.c  */
-#line 7454 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7454 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 24949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1062:
-
-/* Line 1455 of yacc.c  */
-#line 7469 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7469 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (3)].table), NULL, (yyvsp[(3) - (3)].num), TL_READ,
+            if (!Select->add_table_to_list(thd, (yyvsp[-2].table), NULL, (yyvsp[0].num), TL_READ,
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
+#line 24960 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1063:
-
-/* Line 1455 of yacc.c  */
-#line 7479 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7479 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (4)].table), NULL, (yyvsp[(4) - (4)].num), TL_READ,
+            if (!Select->add_table_to_list(thd, (yyvsp[-3].table), NULL, (yyvsp[0].num), TL_READ,
                                            MDL_SHARED_READ,
                                            Select->pop_index_hints()))
               MYSQL_YYABORT;
           }
+#line 24971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1064:
-
-/* Line 1455 of yacc.c  */
-#line 7489 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->alter_info.flags|= ALTER_ADMIN_PARTITION;
           }
+#line 24979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1066:
-
-/* Line 1455 of yacc.c  */
-#line 7496 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->select_lex.alloc_index_hints(thd);
             Select->set_index_hint_type(INDEX_HINT_USE, 
                                         INDEX_HINT_MASK_ALL);
           }
+#line 24989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1068:
-
-/* Line 1455 of yacc.c  */
-#line 7505 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7505 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 24995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1070:
-
-/* Line 1455 of yacc.c  */
-#line 7511 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 25001 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1071:
-
-/* Line 1455 of yacc.c  */
-#line 7512 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_OPTION_IGNORE_LEAVES; }
+#line 25007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1072:
-
-/* Line 1455 of yacc.c  */
-#line 7522 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SELECT;
           }
+#line 25016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1075:
-
-/* Line 1455 of yacc.c  */
-#line 7536 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (setup_select_in_parentheses(Lex))
               MYSQL_YYABORT;
           }
+#line 25025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1077:
-
-/* Line 1455 of yacc.c  */
-#line 7546 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (setup_select_in_parentheses(Lex))
               MYSQL_YYABORT;
           }
+#line 25034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1079:
-
-/* Line 1455 of yacc.c  */
-#line 7555 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX * sel= lex->current_select;
@@ -27001,12 +25050,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 25054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1081:
-
-/* Line 1455 of yacc.c  */
-#line 7574 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7574 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -27014,39 +25062,35 @@ yyreduce:
               mysql_init_select(lex);
             lex->current_select->parsing_place= SELECT_LIST;
           }
+#line 25066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1082:
-
-/* Line 1455 of yacc.c  */
-#line 7582 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
+#line 25074 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1084:
-
-/* Line 1455 of yacc.c  */
-#line 7589 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 25080 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1089:
-
-/* Line 1455 of yacc.c  */
-#line 7599 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7599 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->context.table_list=
               Select->context.first_name_resolution_table=
                 Select->table_list.first;
           }
+#line 25090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1092:
-
-/* Line 1455 of yacc.c  */
-#line 7614 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7614 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (Select->options & SELECT_DISTINCT && Select->options & SELECT_ALL)
             {
@@ -27054,12 +25098,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 25102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1096:
-
-/* Line 1455 of yacc.c  */
-#line 7631 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* 
               Allow this flag only on the first top-level SELECT statement, if
@@ -27087,12 +25130,11 @@ yyreduce:
               Lex->select_lex.sql_cache= SELECT_LEX::SQL_NO_CACHE;
             }
           }
+#line 25134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1097:
-
-/* Line 1455 of yacc.c  */
-#line 7659 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7659 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* 
               Allow this flag only on the first top-level SELECT statement, if
@@ -27120,35 +25162,32 @@ yyreduce:
               Lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE;
             }
           }
+#line 25166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1099:
-
-/* Line 1455 of yacc.c  */
-#line 7691 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->current_select->set_lock_for_tables(TL_WRITE);
             lex->safe_to_cache_query=0;
           }
+#line 25176 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1100:
-
-/* Line 1455 of yacc.c  */
-#line 7697 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7697 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->current_select->
               set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
             lex->safe_to_cache_query=0;
           }
+#line 25187 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1103:
-
-/* Line 1455 of yacc.c  */
-#line 7709 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7709 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root)
                           Item_field(&thd->lex->current_select->context,
@@ -27159,137 +25198,122 @@ yyreduce:
               MYSQL_YYABORT;
             (thd->lex->current_select->with_wild)++;
           }
+#line 25202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1104:
-
-/* Line 1455 of yacc.c  */
-#line 7723 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_item_to_list(thd, (yyvsp[(2) - (3)].item)))
+            if (add_item_to_list(thd, (yyvsp[-1].item)))
               MYSQL_YYABORT;
           }
+#line 25211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1105:
-
-/* Line 1455 of yacc.c  */
-#line 7728 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            DBUG_ASSERT((yyvsp[(1) - (4)].simple_string) < (yyvsp[(3) - (4)].simple_string));
+            DBUG_ASSERT((yyvsp[-3].simple_string) < (yyvsp[-1].simple_string));
 
-            if (add_item_to_list(thd, (yyvsp[(2) - (4)].item)))
+            if (add_item_to_list(thd, (yyvsp[-2].item)))
               MYSQL_YYABORT;
-            if ((yyvsp[(4) - (4)].lex_str).str)
+            if ((yyvsp[0].lex_str).str)
             {
               if (Lex->sql_command == SQLCOM_CREATE_VIEW &&
-                  check_column_name((yyvsp[(4) - (4)].lex_str).str))
+                  check_column_name((yyvsp[0].lex_str).str))
               {
-                my_error(ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[(4) - (4)].lex_str).str);
+                my_error(ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[0].lex_str).str);
                 MYSQL_YYABORT;
               }
-              (yyvsp[(2) - (4)].item)->is_autogenerated_name= FALSE;
-              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info);
+              (yyvsp[-2].item)->is_autogenerated_name= FALSE;
+              (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info);
             }
-            else if (!(yyvsp[(2) - (4)].item)->name)
+            else if (!(yyvsp[-2].item)->name)
             {
-              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), thd->charset());
+              (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
             }
           }
+#line 25237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1106:
-
-/* Line 1455 of yacc.c  */
-#line 7752 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7752 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start();
           }
+#line 25245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1107:
-
-/* Line 1455 of yacc.c  */
-#line 7758 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7758 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end();
           }
+#line 25253 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1108:
-
-/* Line 1455 of yacc.c  */
-#line 7764 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str)=null_lex_str;}
+#line 25259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1109:
-
-/* Line 1455 of yacc.c  */
-#line 7765 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
+#line 7765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 25265 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1110:
-
-/* Line 1455 of yacc.c  */
-#line 7766 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
+#line 7766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 25271 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1111:
-
-/* Line 1455 of yacc.c  */
-#line 7767 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
+#line 7767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 25277 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1112:
-
-/* Line 1455 of yacc.c  */
-#line 7768 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
+#line 7768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 25283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1113:
-
-/* Line 1455 of yacc.c  */
-#line 7772 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7772 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;  }
+#line 25289 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1114:
-
-/* Line 1455 of yacc.c  */
-#line 7773 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;  }
+#line 25295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1115:
-
-/* Line 1455 of yacc.c  */
-#line 7774 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)= (yyvsp[(2) - (3)].ulong_num); }
+#line 7774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)= (yyvsp[-1].ulong_num); }
+#line 25301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1116:
-
-/* Line 1455 of yacc.c  */
-#line 7778 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 25307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1117:
-
-/* Line 1455 of yacc.c  */
-#line 7779 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 25313 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1118:
-
-/* Line 1455 of yacc.c  */
-#line 7785 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7785 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Design notes:
@@ -27302,370 +25326,345 @@ yyreduce:
             */
             Item_cond_or *item1;
             Item_cond_or *item3;
-            if (is_cond_or((yyvsp[(1) - (3)].item)))
+            if (is_cond_or((yyvsp[-2].item)))
             {
-              item1= (Item_cond_or*) (yyvsp[(1) - (3)].item);
-              if (is_cond_or((yyvsp[(3) - (3)].item)))
+              item1= (Item_cond_or*) (yyvsp[-2].item);
+              if (is_cond_or((yyvsp[0].item)))
               {
-                item3= (Item_cond_or*) (yyvsp[(3) - (3)].item);
+                item3= (Item_cond_or*) (yyvsp[0].item);
                 /*
                   (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2)
                 */
                 item3->add_at_head(item1->argument_list());
-                (yyval.item) = (yyvsp[(3) - (3)].item);
+                (yyval.item) = (yyvsp[0].item);
               }
               else
               {
                 /*
                   (X1 OR X2) OR Y ==> OR (X1, X2, Y)
                 */
-                item1->add((yyvsp[(3) - (3)].item));
-                (yyval.item) = (yyvsp[(1) - (3)].item);
+                item1->add((yyvsp[0].item));
+                (yyval.item) = (yyvsp[-2].item);
               }
             }
-            else if (is_cond_or((yyvsp[(3) - (3)].item)))
+            else if (is_cond_or((yyvsp[0].item)))
             {
-              item3= (Item_cond_or*) (yyvsp[(3) - (3)].item);
+              item3= (Item_cond_or*) (yyvsp[0].item);
               /*
                 X OR (Y1 OR Y2) ==> OR (X, Y1, Y2)
               */
-              item3->add_at_head((yyvsp[(1) - (3)].item));
-              (yyval.item) = (yyvsp[(3) - (3)].item);
+              item3->add_at_head((yyvsp[-2].item));
+              (yyval.item) = (yyvsp[0].item);
             }
             else
             {
               /* X OR Y */
-              (yyval.item) = new (thd->mem_root) Item_cond_or((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
+              (yyval.item) = new (thd->mem_root) Item_cond_or((yyvsp[-2].item), (yyvsp[0].item));
               if ((yyval.item) == NULL)
                 MYSQL_YYABORT;
             }
           }
+#line 25368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1119:
-
-/* Line 1455 of yacc.c  */
-#line 7836 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* XOR is a proprietary extension */
-            (yyval.item) = new (thd->mem_root) Item_func_xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
+            (yyval.item) = new (thd->mem_root) Item_func_xor((yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1120:
-
-/* Line 1455 of yacc.c  */
-#line 7843 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* See comments in rule expr: expr or expr */
             Item_cond_and *item1;
             Item_cond_and *item3;
-            if (is_cond_and((yyvsp[(1) - (3)].item)))
+            if (is_cond_and((yyvsp[-2].item)))
             {
-              item1= (Item_cond_and*) (yyvsp[(1) - (3)].item);
-              if (is_cond_and((yyvsp[(3) - (3)].item)))
+              item1= (Item_cond_and*) (yyvsp[-2].item);
+              if (is_cond_and((yyvsp[0].item)))
               {
-                item3= (Item_cond_and*) (yyvsp[(3) - (3)].item);
+                item3= (Item_cond_and*) (yyvsp[0].item);
                 /*
                   (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2)
                 */
                 item3->add_at_head(item1->argument_list());
-                (yyval.item) = (yyvsp[(3) - (3)].item);
+                (yyval.item) = (yyvsp[0].item);
               }
               else
               {
                 /*
                   (X1 AND X2) AND Y ==> AND (X1, X2, Y)
                 */
-                item1->add((yyvsp[(3) - (3)].item));
-                (yyval.item) = (yyvsp[(1) - (3)].item);
+                item1->add((yyvsp[0].item));
+                (yyval.item) = (yyvsp[-2].item);
               }
             }
-            else if (is_cond_and((yyvsp[(3) - (3)].item)))
+            else if (is_cond_and((yyvsp[0].item)))
             {
-              item3= (Item_cond_and*) (yyvsp[(3) - (3)].item);
+              item3= (Item_cond_and*) (yyvsp[0].item);
               /*
                 X AND (Y1 AND Y2) ==> AND (X, Y1, Y2)
               */
-              item3->add_at_head((yyvsp[(1) - (3)].item));
-              (yyval.item) = (yyvsp[(3) - (3)].item);
+              item3->add_at_head((yyvsp[-2].item));
+              (yyval.item) = (yyvsp[0].item);
             }
             else
             {
               /* X AND Y */
-              (yyval.item) = new (thd->mem_root) Item_cond_and((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
+              (yyval.item) = new (thd->mem_root) Item_cond_and((yyvsp[-2].item), (yyvsp[0].item));
               if ((yyval.item) == NULL)
                 MYSQL_YYABORT;
             }
           }
+#line 25426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1121:
-
-/* Line 1455 of yacc.c  */
-#line 7886 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= negate_expression(thd, (yyvsp[(2) - (2)].item));
+            (yyval.item)= negate_expression(thd, (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1122:
-
-/* Line 1455 of yacc.c  */
-#line 7892 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7892 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_istrue((yyvsp[(1) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_istrue((yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1123:
-
-/* Line 1455 of yacc.c  */
-#line 7898 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7898 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isnottrue((yyvsp[(1) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isnottrue((yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1124:
-
-/* Line 1455 of yacc.c  */
-#line 7904 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7904 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isfalse((yyvsp[(1) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isfalse((yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1125:
-
-/* Line 1455 of yacc.c  */
-#line 7910 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isnotfalse((yyvsp[(1) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isnotfalse((yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1126:
-
-/* Line 1455 of yacc.c  */
-#line 7916 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[(1) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1127:
-
-/* Line 1455 of yacc.c  */
-#line 7922 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[(1) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1129:
-
-/* Line 1455 of yacc.c  */
-#line 7932 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[(1) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isnull((yyvsp[-2].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1130:
-
-/* Line 1455 of yacc.c  */
-#line 7938 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[(1) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_isnotnull((yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1131:
-
-/* Line 1455 of yacc.c  */
-#line 7944 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7944 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_equal((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_equal((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1132:
-
-/* Line 1455 of yacc.c  */
-#line 7950 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= (*(yyvsp[(2) - (3)].boolfunc2creator))(0)->create((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= (*(yyvsp[-1].boolfunc2creator))(0)->create((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1133:
-
-/* Line 1455 of yacc.c  */
-#line 7956 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7956 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= all_any_subquery_creator((yyvsp[(1) - (6)].item), (yyvsp[(2) - (6)].boolfunc2creator), (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].select_lex));
+            (yyval.item)= all_any_subquery_creator((yyvsp[-5].item), (yyvsp[-4].boolfunc2creator), (yyvsp[-3].num), (yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1135:
-
-/* Line 1455 of yacc.c  */
-#line 7966 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_in_subselect((yyvsp[(1) - (5)].item), (yyvsp[(4) - (5)].select_lex));
+            (yyval.item)= new (thd->mem_root) Item_in_subselect((yyvsp[-4].item), (yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1136:
-
-/* Line 1455 of yacc.c  */
-#line 7972 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7972 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *item= new (thd->mem_root) Item_in_subselect((yyvsp[(1) - (6)].item), (yyvsp[(5) - (6)].select_lex));
+            Item *item= new (thd->mem_root) Item_in_subselect((yyvsp[-5].item), (yyvsp[-1].select_lex));
             if (item == NULL)
               MYSQL_YYABORT;
             (yyval.item)= negate_expression(thd, item);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1137:
-
-/* Line 1455 of yacc.c  */
-#line 7981 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7981 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[(1) - (5)].item), true, (yyvsp[(4) - (5)].item));
+            (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-4].item), true, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1138:
-
-/* Line 1455 of yacc.c  */
-#line 7987 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
-            (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(4) - (7)].item));
-            (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(1) - (7)].item));
-            (yyval.item)= new (thd->mem_root) Item_func_in(*(yyvsp[(6) - (7)].item_list));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-6].item));
+            (yyval.item)= new (thd->mem_root) Item_func_in(*(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25591 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1139:
-
-/* Line 1455 of yacc.c  */
-#line 7995 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 7995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[(1) - (6)].item), false, (yyvsp[(5) - (6)].item));
+            (yyval.item)= handle_sql2003_note184_exception(thd, (yyvsp[-5].item), false, (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25601 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1140:
-
-/* Line 1455 of yacc.c  */
-#line 8001 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8001 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
-            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(1) - (8)].item));
-            Item_func_in *item = new (thd->mem_root) Item_func_in(*(yyvsp[(7) - (8)].item_list));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-7].item));
+            Item_func_in *item = new (thd->mem_root) Item_func_in(*(yyvsp[-1].item_list));
             if (item == NULL)
               MYSQL_YYABORT;
             item->negate();
             (yyval.item)= item;
           }
+#line 25615 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1141:
-
-/* Line 1455 of yacc.c  */
-#line 8011 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_between((yyvsp[(1) - (5)].item),(yyvsp[(3) - (5)].item),(yyvsp[(5) - (5)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_between((yyvsp[-4].item),(yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25625 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1142:
-
-/* Line 1455 of yacc.c  */
-#line 8017 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_func_between *item;
-            item= new (thd->mem_root) Item_func_between((yyvsp[(1) - (6)].item),(yyvsp[(4) - (6)].item),(yyvsp[(6) - (6)].item));
+            item= new (thd->mem_root) Item_func_between((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[0].item));
             if (item == NULL)
               MYSQL_YYABORT;
             item->negate();
             (yyval.item)= item;
           }
+#line 25638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1143:
-
-/* Line 1455 of yacc.c  */
-#line 8026 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *item1= new (thd->mem_root) Item_func_soundex((yyvsp[(1) - (4)].item));
-            Item *item4= new (thd->mem_root) Item_func_soundex((yyvsp[(4) - (4)].item));
+            Item *item1= new (thd->mem_root) Item_func_soundex((yyvsp[-3].item));
+            Item *item4= new (thd->mem_root) Item_func_soundex((yyvsp[0].item));
             if ((item1 == NULL) || (item4 == NULL))
               MYSQL_YYABORT;
             (yyval.item)= new (thd->mem_root) Item_func_eq(item1, item4);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1144:
-
-/* Line 1455 of yacc.c  */
-#line 8036 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_like((yyvsp[(1) - (4)].item),(yyvsp[(3) - (4)].item),(yyvsp[(4) - (4)].item),Lex->escape_used);
+            (yyval.item)= new (thd->mem_root) Item_func_like((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[0].item),Lex->escape_used);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1145:
-
-/* Line 1455 of yacc.c  */
-#line 8042 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *item= new (thd->mem_root) Item_func_like((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].item),
+            Item *item= new (thd->mem_root) Item_func_like((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].item),
                                                              Lex->escape_used);
             if (item == NULL)
               MYSQL_YYABORT;
@@ -27673,371 +25672,335 @@ yyreduce:
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1146:
-
-/* Line 1455 of yacc.c  */
-#line 8052 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_regex((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_regex((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1147:
-
-/* Line 1455 of yacc.c  */
-#line 8058 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *item= new (thd->mem_root) Item_func_regex((yyvsp[(1) - (4)].item),(yyvsp[(4) - (4)].item));
+            Item *item= new (thd->mem_root) Item_func_regex((yyvsp[-3].item),(yyvsp[0].item));
             if (item == NULL)
               MYSQL_YYABORT;
             (yyval.item)= negate_expression(thd, item);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25699 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1149:
-
-/* Line 1455 of yacc.c  */
-#line 8071 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_bit_or((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_bit_or((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25709 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1150:
-
-/* Line 1455 of yacc.c  */
-#line 8077 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_bit_and((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_bit_and((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1151:
-
-/* Line 1455 of yacc.c  */
-#line 8083 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_shift_left((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_shift_left((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1152:
-
-/* Line 1455 of yacc.c  */
-#line 8089 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_shift_right((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_shift_right((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1153:
-
-/* Line 1455 of yacc.c  */
-#line 8095 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_plus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_plus((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25749 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1154:
-
-/* Line 1455 of yacc.c  */
-#line 8101 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_minus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_minus((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1155:
-
-/* Line 1455 of yacc.c  */
-#line 8107 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),0);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].interval),0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1156:
-
-/* Line 1455 of yacc.c  */
-#line 8113 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),1);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-4].item),(yyvsp[-1].item),(yyvsp[0].interval),1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1157:
-
-/* Line 1455 of yacc.c  */
-#line 8119 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_mul((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_mul((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25789 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1158:
-
-/* Line 1455 of yacc.c  */
-#line 8125 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_div((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25799 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1159:
-
-/* Line 1455 of yacc.c  */
-#line 8131 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1160:
-
-/* Line 1455 of yacc.c  */
-#line 8137 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_int_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_int_div((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25819 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1161:
-
-/* Line 1455 of yacc.c  */
-#line 8143 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_mod((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1162:
-
-/* Line 1455 of yacc.c  */
-#line 8149 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_bit_xor((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_bit_xor((yyvsp[-2].item),(yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 25839 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1172:
-
-/* Line 1455 of yacc.c  */
-#line 8178 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_eq_creator; }
+#line 25845 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1173:
-
-/* Line 1455 of yacc.c  */
-#line 8179 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_ge_creator; }
+#line 25851 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1174:
-
-/* Line 1455 of yacc.c  */
-#line 8180 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_gt_creator; }
+#line 25857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1175:
-
-/* Line 1455 of yacc.c  */
-#line 8181 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_le_creator; }
+#line 25863 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1176:
-
-/* Line 1455 of yacc.c  */
-#line 8182 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_lt_creator; }
+#line 25869 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1177:
-
-/* Line 1455 of yacc.c  */
-#line 8183 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.boolfunc2creator) = &comp_ne_creator; }
+#line 25875 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1178:
-
-/* Line 1455 of yacc.c  */
-#line 8187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 1; }
+#line 25881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1179:
-
-/* Line 1455 of yacc.c  */
-#line 8188 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
+#line 25887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1180:
-
-/* Line 1455 of yacc.c  */
-#line 8193 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 	    (yyval.num)= DYN_COL_NULL; /* automatic type */
             lex->charset= NULL;
             lex->length= lex->dec= 0;
 	  }
+#line 25898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1181:
-
-/* Line 1455 of yacc.c  */
-#line 8199 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)= (yyvsp[(2) - (2)].num); }
+#line 8199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)= (yyvsp[0].num); }
+#line 25904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1182:
-
-/* Line 1455 of yacc.c  */
-#line 8204 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_INT;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
+#line 25915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1183:
-
-/* Line 1455 of yacc.c  */
-#line 8211 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_UINT;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
+#line 25926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1184:
-
-/* Line 1455 of yacc.c  */
-#line 8218 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DOUBLE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
+#line 25937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1185:
-
-/* Line 1455 of yacc.c  */
-#line 8225 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DOUBLE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
+#line 25948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1186:
-
-/* Line 1455 of yacc.c  */
-#line 8232 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DOUBLE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
+#line 25959 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1187:
-
-/* Line 1455 of yacc.c  */
-#line 8239 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= DYN_COL_DECIMAL;
             Lex->charset= NULL;
           }
+#line 25968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1188:
-
-/* Line 1455 of yacc.c  */
-#line 8244 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_STRING;
             lex->length= lex->dec= 0;
           }
+#line 25978 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1189:
-
-/* Line 1455 of yacc.c  */
-#line 8250 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_STRING;
             lex->charset= national_charset_info;
             lex->length= lex->dec= 0;
           }
+#line 25989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1190:
-
-/* Line 1455 of yacc.c  */
-#line 8257 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DATE;
             lex->charset= NULL;
             lex->length= lex->dec= 0;
           }
+#line 26000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1191:
-
-/* Line 1455 of yacc.c  */
-#line 8264 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_TIME;
@@ -28045,12 +26008,11 @@ yyreduce:
             lex->dec= lex->length;
             lex->length= 0;
           }
+#line 26012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1192:
-
-/* Line 1455 of yacc.c  */
-#line 8272 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             (yyval.num)= DYN_COL_DATETIME;
@@ -28058,21 +26020,20 @@ yyreduce:
             lex->dec= lex->length;
             lex->length= 0;
           }
+#line 26024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1193:
-
-/* Line 1455 of yacc.c  */
-#line 8283 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
      LEX *lex= Lex;
      (yyval.dyncol_def)= (DYNCALL_CREATE_DEF *)
        alloc_root(thd->mem_root, sizeof(DYNCALL_CREATE_DEF));
      if ((yyval.dyncol_def) == NULL)
        MYSQL_YYABORT;
-     (yyval.dyncol_def)->num= (yyvsp[(1) - (4)].item);
-     (yyval.dyncol_def)->value= (yyvsp[(3) - (4)].item);
-     (yyval.dyncol_def)->type= (DYNAMIC_COLUMN_TYPE)(yyvsp[(4) - (4)].num);
+     (yyval.dyncol_def)->num= (yyvsp[-3].item);
+     (yyval.dyncol_def)->value= (yyvsp[-1].item);
+     (yyval.dyncol_def)->type= (DYNAMIC_COLUMN_TYPE)(yyvsp[0].num);
      (yyval.dyncol_def)->cs= lex->charset;
      if (lex->length)
        (yyval.dyncol_def)->len= strtoul(lex->length, NULL, 10);
@@ -28083,300 +26044,274 @@ yyreduce:
      else
        (yyval.dyncol_def)->len= 0;
    }
+#line 26048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1194:
-
-/* Line 1455 of yacc.c  */
-#line 8305 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
          (yyval.dyncol_def_list)= new (thd->mem_root) List<DYNCALL_CREATE_DEF>;
          if ((yyval.dyncol_def_list) == NULL)
            MYSQL_YYABORT;
-         (yyval.dyncol_def_list)->push_back((yyvsp[(1) - (1)].dyncol_def));
+         (yyval.dyncol_def_list)->push_back((yyvsp[0].dyncol_def));
        }
+#line 26059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1195:
-
-/* Line 1455 of yacc.c  */
-#line 8312 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-         (yyvsp[(1) - (3)].dyncol_def_list)->push_back((yyvsp[(3) - (3)].dyncol_def));
-         (yyval.dyncol_def_list)= (yyvsp[(1) - (3)].dyncol_def_list);
+         (yyvsp[-2].dyncol_def_list)->push_back((yyvsp[0].dyncol_def));
+         (yyval.dyncol_def_list)= (yyvsp[-2].dyncol_def_list);
        }
+#line 26068 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1201:
-
-/* Line 1455 of yacc.c  */
-#line 8325 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *i1= new (thd->mem_root) Item_string((yyvsp[(3) - (3)].lex_str).str,
-                                                      (yyvsp[(3) - (3)].lex_str).length,
+            Item *i1= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str,
+                                                      (yyvsp[0].lex_str).length,
                                                       thd->charset());
             if (i1 == NULL)
               MYSQL_YYABORT;
-            (yyval.item)= new (thd->mem_root) Item_func_set_collation((yyvsp[(1) - (3)].item), i1);
+            (yyval.item)= new (thd->mem_root) Item_func_set_collation((yyvsp[-2].item), i1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26083 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1206:
-
-/* Line 1455 of yacc.c  */
-#line 8340 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_concat((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_concat((yyvsp[-2].item), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1207:
-
-/* Line 1455 of yacc.c  */
-#line 8346 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= (yyvsp[(2) - (2)].item);
+            (yyval.item)= (yyvsp[0].item);
           }
+#line 26101 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1208:
-
-/* Line 1455 of yacc.c  */
-#line 8350 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_neg((yyvsp[(2) - (2)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_neg((yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1209:
-
-/* Line 1455 of yacc.c  */
-#line 8356 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_bit_neg((yyvsp[(2) - (2)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_bit_neg((yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26121 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1210:
-
-/* Line 1455 of yacc.c  */
-#line 8362 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= negate_expression(thd, (yyvsp[(2) - (2)].item));
+            (yyval.item)= negate_expression(thd, (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1211:
-
-/* Line 1455 of yacc.c  */
-#line 8368 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
-            (yyval.item)= new (thd->mem_root) Item_singlerow_subselect((yyvsp[(2) - (3)].select_lex));
+            (yyval.item)= new (thd->mem_root) Item_singlerow_subselect((yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1212:
-
-/* Line 1455 of yacc.c  */
-#line 8374 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(2) - (3)].item); }
+#line 8374 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[-1].item); }
+#line 26147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1213:
-
-/* Line 1455 of yacc.c  */
-#line 8376 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(4) - (5)].item_list)->push_front((yyvsp[(2) - (5)].item));
-            (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[(4) - (5)].item_list));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
+            (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26158 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1214:
-
-/* Line 1455 of yacc.c  */
-#line 8383 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(5) - (6)].item_list)->push_front((yyvsp[(3) - (6)].item));
-            (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[(5) - (6)].item_list));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
+            (yyval.item)= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1215:
-
-/* Line 1455 of yacc.c  */
-#line 8390 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_exists_subselect((yyvsp[(3) - (4)].select_lex));
+            (yyval.item)= new (thd->mem_root) Item_exists_subselect((yyvsp[-1].select_lex));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1216:
-
-/* Line 1455 of yacc.c  */
-#line 8396 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(3) - (4)].item); }
+#line 8396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[-1].item); }
+#line 26185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1217:
-
-/* Line 1455 of yacc.c  */
-#line 8398 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(2) - (7)].item_list)->push_front((yyvsp[(5) - (7)].item));
-            Item_func_match *i1= new (thd->mem_root) Item_func_match(*(yyvsp[(2) - (7)].item_list), (yyvsp[(6) - (7)].num));
+            (yyvsp[-5].item_list)->push_front((yyvsp[-2].item));
+            Item_func_match *i1= new (thd->mem_root) Item_func_match(*(yyvsp[-5].item_list), (yyvsp[-1].num));
             if (i1 == NULL)
               MYSQL_YYABORT;
             Select->add_ftfunc_to_list(i1);
             (yyval.item)= i1;
           }
+#line 26198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1218:
-
-/* Line 1455 of yacc.c  */
-#line 8407 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= create_func_cast(thd, (yyvsp[(2) - (2)].item), ITEM_CAST_CHAR, NULL, NULL,
+            (yyval.item)= create_func_cast(thd, (yyvsp[0].item), ITEM_CAST_CHAR, NULL, NULL,
                                  &my_charset_bin);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1219:
-
-/* Line 1455 of yacc.c  */
-#line 8414 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8414 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            (yyval.item)= create_func_cast(thd, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), lex->length, lex->dec,
+            (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), lex->length, lex->dec,
                                  lex->charset);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1220:
-
-/* Line 1455 of yacc.c  */
-#line 8422 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_case(* (yyvsp[(3) - (5)].item_list), (yyvsp[(2) - (5)].item), (yyvsp[(4) - (5)].item) );
+            (yyval.item)= new (thd->mem_root) Item_func_case(* (yyvsp[-2].item_list), (yyvsp[-3].item), (yyvsp[-1].item) );
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1221:
-
-/* Line 1455 of yacc.c  */
-#line 8428 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8428 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= create_func_cast(thd, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex->length, Lex->dec,
+            (yyval.item)= create_func_cast(thd, (yyvsp[-3].item), (yyvsp[-1].cast_type), Lex->length, Lex->dec,
                                  Lex->charset);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26242 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1222:
-
-/* Line 1455 of yacc.c  */
-#line 8435 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8435 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_conv_charset((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].charset));
+            (yyval.item)= new (thd->mem_root) Item_func_conv_charset((yyvsp[-3].item),(yyvsp[-1].charset));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1223:
-
-/* Line 1455 of yacc.c  */
-#line 8441 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if ((yyvsp[(3) - (4)].item)->is_splocal())
+            if ((yyvsp[-1].item)->is_splocal())
             {
-              Item_splocal *il= static_cast<Item_splocal *>((yyvsp[(3) - (4)].item));
+              Item_splocal *il= static_cast<Item_splocal *>((yyvsp[-1].item));
 
               my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str);
               MYSQL_YYABORT;
             }
             (yyval.item)= new (thd->mem_root) Item_default_value(Lex->current_context(),
-                                                         (yyvsp[(3) - (4)].item));
+                                                         (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1224:
-
-/* Line 1455 of yacc.c  */
-#line 8455 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_insert_value(Lex->current_context(),
-                                                        (yyvsp[(3) - (4)].item));
+                                                        (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26281 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1225:
-
-/* Line 1455 of yacc.c  */
-#line 8463 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8463 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(5) - (5)].item),(yyvsp[(2) - (5)].item),(yyvsp[(3) - (5)].interval),0);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[0].item),(yyvsp[-3].item),(yyvsp[-2].interval),0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1226:
-
-/* Line 1455 of yacc.c  */
-#line 8478 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[(3) - (4)].item_list));
+            (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1227:
-
-/* Line 1455 of yacc.c  */
-#line 8484 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8484 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[(3) - (6)].item_list), (yyvsp[(5) - (6)].charset));
+            (yyval.item)= new (thd->mem_root) Item_func_char(*(yyvsp[-3].item_list), (yyvsp[-1].charset));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26311 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1228:
-
-/* Line 1455 of yacc.c  */
-#line 8490 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_current_user(Lex->current_context());
             if ((yyval.item) == NULL)
@@ -28384,62 +26319,57 @@ yyreduce:
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             Lex->safe_to_cache_query= 0;
           }
+#line 26323 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1229:
-
-/* Line 1455 of yacc.c  */
-#line 8498 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_typecast((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_date_typecast((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1230:
-
-/* Line 1455 of yacc.c  */
-#line 8504 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_dayofmonth((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_dayofmonth((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26343 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1231:
-
-/* Line 1455 of yacc.c  */
-#line 8510 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_hour((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_hour((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1232:
-
-/* Line 1455 of yacc.c  */
-#line 8516 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_insert((yyvsp[(3) - (10)].item),(yyvsp[(5) - (10)].item),(yyvsp[(7) - (10)].item),(yyvsp[(9) - (10)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_insert((yyvsp[-7].item),(yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1233:
-
-/* Line 1455 of yacc.c  */
-#line 8522 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8522 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             List<Item> *list= new (thd->mem_root) List<Item>;
             if (list == NULL)
               MYSQL_YYABORT;
-            list->push_front((yyvsp[(5) - (6)].item));
-            list->push_front((yyvsp[(3) - (6)].item));
+            list->push_front((yyvsp[-1].item));
+            list->push_front((yyvsp[-3].item));
             Item_row *item= new (thd->mem_root) Item_row(*list);
             if (item == NULL)
               MYSQL_YYABORT;
@@ -28447,204 +26377,186 @@ yyreduce:
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1234:
-
-/* Line 1455 of yacc.c  */
-#line 8536 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
-            (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(3) - (8)].item));
-            Item_row *item= new (thd->mem_root) Item_row(*(yyvsp[(7) - (8)].item_list));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-3].item));
+            (yyvsp[-1].item_list)->push_front((yyvsp[-5].item));
+            Item_row *item= new (thd->mem_root) Item_row(*(yyvsp[-1].item_list));
             if (item == NULL)
               MYSQL_YYABORT;
             (yyval.item)= new (thd->mem_root) Item_func_interval(item);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1235:
-
-/* Line 1455 of yacc.c  */
-#line 8547 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_left((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_left((yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1236:
-
-/* Line 1455 of yacc.c  */
-#line 8553 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_minute((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_minute((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1237:
-
-/* Line 1455 of yacc.c  */
-#line 8559 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8559 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_month((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_month((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1238:
-
-/* Line 1455 of yacc.c  */
-#line 8565 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_right((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_right((yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1239:
-
-/* Line 1455 of yacc.c  */
-#line 8571 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_second((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_second((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1240:
-
-/* Line 1455 of yacc.c  */
-#line 8577 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_time_typecast((yyvsp[(3) - (4)].item), AUTO_SEC_PART_DIGITS);
+            (yyval.item)= new (thd->mem_root) Item_time_typecast((yyvsp[-1].item), AUTO_SEC_PART_DIGITS);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1241:
-
-/* Line 1455 of yacc.c  */
-#line 8583 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8583 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_datetime_typecast((yyvsp[(3) - (4)].item), AUTO_SEC_PART_DIGITS);
+            (yyval.item)= new (thd->mem_root) Item_datetime_typecast((yyvsp[-1].item), AUTO_SEC_PART_DIGITS);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1242:
-
-/* Line 1455 of yacc.c  */
-#line 8589 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8589 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_add_time((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), 1, 0);
+            (yyval.item)= new (thd->mem_root) Item_func_add_time((yyvsp[-3].item), (yyvsp[-1].item), 1, 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1243:
-
-/* Line 1455 of yacc.c  */
-#line 8595 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1244:
-
-/* Line 1455 of yacc.c  */
-#line 8601 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8601 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[-1].item),(yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1245:
-
-/* Line 1455 of yacc.c  */
-#line 8607 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[-1].item),(yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1246:
-
-/* Line 1455 of yacc.c  */
-#line 8613 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1247:
-
-/* Line 1455 of yacc.c  */
-#line 8619 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_ltrim((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1248:
-
-/* Line 1455 of yacc.c  */
-#line 8625 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_rtrim((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1249:
-
-/* Line 1455 of yacc.c  */
-#line 8631 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1250:
-
-/* Line 1455 of yacc.c  */
-#line 8637 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_trim((yyvsp[-1].item),(yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1251:
-
-/* Line 1455 of yacc.c  */
-#line 8643 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_user();
             if ((yyval.item) == NULL)
@@ -28652,204 +26564,186 @@ yyreduce:
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             Lex->safe_to_cache_query=0;
           }
+#line 26568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1252:
-
-/* Line 1455 of yacc.c  */
-#line 8651 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8651 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_year((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_year((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1253:
-
-/* Line 1455 of yacc.c  */
-#line 8672 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8672 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item),
                                                              INTERVAL_DAY, 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1254:
-
-/* Line 1455 of yacc.c  */
-#line 8679 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8679 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 0);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26599 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1255:
-
-/* Line 1455 of yacc.c  */
-#line 8685 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8685 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_curdate_local();
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1256:
-
-/* Line 1455 of yacc.c  */
-#line 8692 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8692 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_curtime_local((yyvsp[(2) - (2)].num));
+            (yyval.item)= new (thd->mem_root) Item_func_curtime_local((yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1257:
-
-/* Line 1455 of yacc.c  */
-#line 8700 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),0);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[-1].interval),0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26631 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1258:
-
-/* Line 1455 of yacc.c  */
-#line 8707 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8707 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),1);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item),(yyvsp[-2].item),(yyvsp[-1].interval),1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26641 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1259:
-
-/* Line 1455 of yacc.c  */
-#line 8713 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8713 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)=new (thd->mem_root) Item_extract( (yyvsp[(3) - (6)].interval), (yyvsp[(5) - (6)].item));
+            (yyval.item)=new (thd->mem_root) Item_extract( (yyvsp[-3].interval), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26651 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1260:
-
-/* Line 1455 of yacc.c  */
-#line 8719 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_get_format((yyvsp[(3) - (6)].date_time_type), (yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_get_format((yyvsp[-3].date_time_type), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1261:
-
-/* Line 1455 of yacc.c  */
-#line 8725 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8725 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[(2) - (2)].num));
+            (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1262:
-
-/* Line 1455 of yacc.c  */
-#line 8732 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item) = new (thd->mem_root) Item_func_locate((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item));
+            (yyval.item) = new (thd->mem_root) Item_func_locate((yyvsp[-1].item),(yyvsp[-3].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1263:
-
-/* Line 1455 of yacc.c  */
-#line 8738 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-3].item), (yyvsp[-1].item),
                                                              INTERVAL_DAY, 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26693 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1264:
-
-/* Line 1455 of yacc.c  */
-#line 8745 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8745 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 1);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-5].item), (yyvsp[-2].item), (yyvsp[-1].interval), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1265:
-
-/* Line 1455 of yacc.c  */
-#line 8751 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1266:
-
-/* Line 1455 of yacc.c  */
-#line 8757 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8757 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1267:
-
-/* Line 1455 of yacc.c  */
-#line 8763 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1268:
-
-/* Line 1455 of yacc.c  */
-#line 8769 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_substr((yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26743 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1269:
-
-/* Line 1455 of yacc.c  */
-#line 8775 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Unlike other time-related functions, SYSDATE() is
@@ -28860,347 +26754,318 @@ yyreduce:
             */
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
             if (global_system_variables.sysdate_is_now == 0)
-              (yyval.item)= new (thd->mem_root) Item_func_sysdate_local((yyvsp[(2) - (2)].num));
+              (yyval.item)= new (thd->mem_root) Item_func_sysdate_local((yyvsp[0].num));
             else
-              (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[(2) - (2)].num));
+              (yyval.item)= new (thd->mem_root) Item_func_now_local((yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26765 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1270:
-
-/* Line 1455 of yacc.c  */
-#line 8793 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8793 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[(7) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(3) - (8)].interval_time_st),0);
+            (yyval.item)= new (thd->mem_root) Item_date_add_interval((yyvsp[-1].item),(yyvsp[-3].item),(yyvsp[-5].interval_time_st),0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1271:
-
-/* Line 1455 of yacc.c  */
-#line 8799 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8799 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff((yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item),(yyvsp[(3) - (8)].interval_time_st));
+            (yyval.item)= new (thd->mem_root) Item_func_timestamp_diff((yyvsp[-3].item),(yyvsp[-1].item),(yyvsp[-5].interval_time_st));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1272:
-
-/* Line 1455 of yacc.c  */
-#line 8805 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_curdate_utc();
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1273:
-
-/* Line 1455 of yacc.c  */
-#line 8812 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_curtime_utc((yyvsp[(2) - (2)].num));
+            (yyval.item)= new (thd->mem_root) Item_func_curtime_utc((yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1274:
-
-/* Line 1455 of yacc.c  */
-#line 8819 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8819 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_now_utc((yyvsp[(2) - (2)].num));
+            (yyval.item)= new (thd->mem_root) Item_func_now_utc((yyvsp[0].num));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1275:
-
-/* Line 1455 of yacc.c  */
-#line 8827 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= create_func_dyncol_add(thd, (yyvsp[(3) - (6)].item), *(yyvsp[(5) - (6)].dyncol_def_list));
+            (yyval.item)= create_func_dyncol_add(thd, (yyvsp[-3].item), *(yyvsp[-1].dyncol_def_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1276:
-
-/* Line 1455 of yacc.c  */
-#line 8834 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[(3) - (6)].item), *(yyvsp[(5) - (6)].item_list));
+            (yyval.item)= create_func_dyncol_delete(thd, (yyvsp[-3].item), *(yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1277:
-
-/* Line 1455 of yacc.c  */
-#line 8841 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8841 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_dyncol_exists((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_dyncol_exists((yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1278:
-
-/* Line 1455 of yacc.c  */
-#line 8848 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_dyncol_list((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_dyncol_list((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1279:
-
-/* Line 1455 of yacc.c  */
-#line 8855 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8855 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[(3) - (4)].dyncol_def_list));
+            (yyval.item)= create_func_dyncol_create(thd, *(yyvsp[-1].dyncol_def_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1280:
-
-/* Line 1455 of yacc.c  */
-#line 8862 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            (yyval.item)= create_func_dyncol_get(thd, (yyvsp[(3) - (8)].item), (yyvsp[(5) - (8)].item), (yyvsp[(7) - (8)].cast_type),
+            (yyval.item)= create_func_dyncol_get(thd, (yyvsp[-5].item), (yyvsp[-3].item), (yyvsp[-1].cast_type),
                                         lex->length, lex->dec,
                                         lex->charset);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26881 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1281:
-
-/* Line 1455 of yacc.c  */
-#line 8879 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_ascii((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_ascii((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1282:
-
-/* Line 1455 of yacc.c  */
-#line 8885 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8885 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_charset((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_charset((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1283:
-
-/* Line 1455 of yacc.c  */
-#line 8891 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8891 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_coalesce(* (yyvsp[(3) - (4)].item_list));
+            (yyval.item)= new (thd->mem_root) Item_func_coalesce(* (yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26911 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1284:
-
-/* Line 1455 of yacc.c  */
-#line 8897 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8897 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_collation((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_collation((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1285:
-
-/* Line 1455 of yacc.c  */
-#line 8903 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_func_database();
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             Lex->safe_to_cache_query=0;
           }
+#line 26932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1286:
-
-/* Line 1455 of yacc.c  */
-#line 8910 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8910 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_if((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_if((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1287:
-
-/* Line 1455 of yacc.c  */
-#line 8916 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8916 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_last_value(* (yyvsp[(3) - (4)].item_list));
+            (yyval.item)= new (thd->mem_root) Item_func_last_value(* (yyvsp[-1].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1288:
-
-/* Line 1455 of yacc.c  */
-#line 8922 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8922 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_microsecond((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_microsecond((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1289:
-
-/* Line 1455 of yacc.c  */
-#line 8928 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item) = new (thd->mem_root) Item_func_mod((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item));
+            (yyval.item) = new (thd->mem_root) Item_func_mod((yyvsp[-3].item), (yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26972 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1290:
-
-/* Line 1455 of yacc.c  */
-#line 8934 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)=  new (thd->mem_root) Item_func_old_password((yyvsp[(3) - (4)].item));
+            (yyval.item)=  new (thd->mem_root) Item_func_old_password((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 26982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1291:
-
-/* Line 1455 of yacc.c  */
-#line 8940 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item* i1;
             if (thd->variables.old_passwords)
-              i1= new (thd->mem_root) Item_func_old_password((yyvsp[(3) - (4)].item));
+              i1= new (thd->mem_root) Item_func_old_password((yyvsp[-1].item));
             else
-              i1= new (thd->mem_root) Item_func_password((yyvsp[(3) - (4)].item));
+              i1= new (thd->mem_root) Item_func_password((yyvsp[-1].item));
             if (i1 == NULL)
               MYSQL_YYABORT;
             (yyval.item)= i1;
           }
+#line 26997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1292:
-
-/* Line 1455 of yacc.c  */
-#line 8951 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item) = new (thd->mem_root) Item_func_quarter((yyvsp[(3) - (4)].item));
+            (yyval.item) = new (thd->mem_root) Item_func_quarter((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1293:
-
-/* Line 1455 of yacc.c  */
-#line 8957 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_repeat((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_repeat((yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1294:
-
-/* Line 1455 of yacc.c  */
-#line 8963 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8963 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_replace((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_replace((yyvsp[-5].item),(yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1295:
-
-/* Line 1455 of yacc.c  */
-#line 8969 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_round((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item),1);
+            (yyval.item)= new (thd->mem_root) Item_func_round((yyvsp[-3].item),(yyvsp[-1].item),1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27037 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1296:
-
-/* Line 1455 of yacc.c  */
-#line 8975 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *i1= new (thd->mem_root) Item_int((char*) "0",
                                            thd->variables.default_week_format,
                                                    1);
             if (i1 == NULL)
               MYSQL_YYABORT;
-            (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[(3) - (4)].item), i1);
+            (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[-1].item), i1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1297:
-
-/* Line 1455 of yacc.c  */
-#line 8986 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8986 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item));
+            (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[-3].item),(yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27062 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1298:
-
-/* Line 1455 of yacc.c  */
-#line 8992 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 8992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_SPATIAL
-            (yyval.item)= (yyvsp[(1) - (1)].item);
+            (yyval.item)= (yyvsp[0].item);
             /* $1 may be NULL, GEOM_NEW not tested for out of memory */
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
@@ -29210,110 +27075,101 @@ yyreduce:
             MYSQL_YYABORT;
 #endif
           }
+#line 27079 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1299:
-
-/* Line 1455 of yacc.c  */
-#line 9008 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_rel((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
+                         Item_func_spatial_rel((yyvsp[-3].item), (yyvsp[-1].item),
                                                Item_func::SP_CONTAINS_FUNC));
           }
+#line 27089 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1300:
-
-/* Line 1455 of yacc.c  */
-#line 9014 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list),
+                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
                            Geometry::wkb_geometrycollection,
                            Geometry::wkb_point));
           }
+#line 27100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1301:
-
-/* Line 1455 of yacc.c  */
-#line 9021 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list),
+                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
                            Geometry::wkb_linestring,
                            Geometry::wkb_point));
           }
+#line 27111 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1302:
-
-/* Line 1455 of yacc.c  */
-#line 9028 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list),
+                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
                            Geometry::wkb_multilinestring,
                            Geometry::wkb_linestring));
           }
+#line 27122 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1303:
-
-/* Line 1455 of yacc.c  */
-#line 9035 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list),
+                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
                            Geometry::wkb_multipoint,
                            Geometry::wkb_point));
           }
+#line 27133 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1304:
-
-/* Line 1455 of yacc.c  */
-#line 9042 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list),
+                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
                            Geometry::wkb_multipolygon,
                            Geometry::wkb_polygon));
           }
+#line 27144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1305:
-
-/* Line 1455 of yacc.c  */
-#line 9049 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= GEOM_NEW(thd, Item_func_point((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)));
+            (yyval.item)= GEOM_NEW(thd, Item_func_point((yyvsp[-3].item),(yyvsp[-1].item)));
           }
+#line 27152 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1306:
-
-/* Line 1455 of yacc.c  */
-#line 9053 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= GEOM_NEW(thd,
-                         Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list),
+                         Item_func_spatial_collection(* (yyvsp[-1].item_list),
                            Geometry::wkb_polygon,
                            Geometry::wkb_linestring));
           }
+#line 27163 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1307:
-
-/* Line 1455 of yacc.c  */
-#line 9072 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 #ifdef HAVE_DLOPEN
             udf_func *udf= 0;
             LEX *lex= Lex;
             if (using_udf_functions &&
-                (udf= find_udf((yyvsp[(1) - (2)].lex_str).str, (yyvsp[(1) - (2)].lex_str).length)) &&
+                (udf= find_udf((yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length)) &&
                 udf->type == UDFTYPE_AGGREGATE)
             {
               if (lex->current_select->inc_in_sum_expr())
@@ -29326,17 +27182,16 @@ yyreduce:
             (yyval.udf)= udf;
 #endif
           }
+#line 27186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1308:
-
-/* Line 1455 of yacc.c  */
-#line 9091 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Create_func *builder;
             Item *item= NULL;
 
-            if (check_routine_name(&(yyvsp[(1) - (5)].lex_str)))
+            if (check_routine_name(&(yyvsp[-4].lex_str)))
             {
               MYSQL_YYABORT;
             }
@@ -29350,16 +27205,16 @@ yyreduce:
 
               This will be revised with WL#2128 (SQL PATH)
             */
-            builder= find_native_function_builder(thd, (yyvsp[(1) - (5)].lex_str));
+            builder= find_native_function_builder(thd, (yyvsp[-4].lex_str));
             if (builder)
             {
-              item= builder->create_func(thd, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list));
+              item= builder->create_func(thd, (yyvsp[-4].lex_str), (yyvsp[-1].item_list));
             }
             else
             {
 #ifdef HAVE_DLOPEN
               /* Retrieving the result of find_udf */
-              udf_func *udf= (yyvsp[(3) - (5)].udf);
+              udf_func *udf= (yyvsp[-2].udf);
 
               if (udf)
               {
@@ -29368,14 +27223,14 @@ yyreduce:
                   Select->in_sum_expr--;
                 }
 
-                item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[(4) - (5)].item_list));
+                item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[-1].item_list));
               }
               else
 #endif
               {
                 builder= find_qualified_function_builder(thd);
                 DBUG_ASSERT(builder);
-                item= builder->create_func(thd, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list));
+                item= builder->create_func(thd, (yyvsp[-4].lex_str), (yyvsp[-1].item_list));
               }
             }
 
@@ -29384,12 +27239,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 27243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1309:
-
-/* Line 1455 of yacc.c  */
-#line 9144 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Create_qfunc *builder;
             Item *item= NULL;
@@ -29408,109 +27262,98 @@ yyreduce:
               version() (a vendor can specify any schema).
             */
 
-            if (!(yyvsp[(1) - (6)].lex_str).str || check_db_name(&(yyvsp[(1) - (6)].lex_str)))
+            if (!(yyvsp[-5].lex_str).str || check_db_name(&(yyvsp[-5].lex_str)))
             {
-              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (6)].lex_str).str);
+              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-5].lex_str).str);
               MYSQL_YYABORT;
             }
-            if (check_routine_name(&(yyvsp[(3) - (6)].lex_str)))
+            if (check_routine_name(&(yyvsp[-3].lex_str)))
             {
               MYSQL_YYABORT;
             }
 
             builder= find_qualified_function_builder(thd);
             DBUG_ASSERT(builder);
-            item= builder->create_with_db(thd, (yyvsp[(1) - (6)].lex_str), (yyvsp[(3) - (6)].lex_str), true, (yyvsp[(5) - (6)].item_list));
+            item= builder->create_with_db(thd, (yyvsp[-5].lex_str), (yyvsp[-3].lex_str), true, (yyvsp[-1].item_list));
 
             if (! ((yyval.item)= item))
             {
               MYSQL_YYABORT;
             }
           }
+#line 27285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1310:
-
-/* Line 1455 of yacc.c  */
-#line 9185 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.num)= (yyvsp[(1) - (2)].num) | (yyvsp[(2) - (2)].num); }
+#line 9185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.num)= (yyvsp[-1].num) | (yyvsp[0].num); }
+#line 27291 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1311:
-
-/* Line 1455 of yacc.c  */
-#line 9187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_BOOL; }
+#line 27297 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1312:
-
-/* Line 1455 of yacc.c  */
-#line 9191 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_NL; }
+#line 27303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1313:
-
-/* Line 1455 of yacc.c  */
-#line 9192 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_NL; }
+#line 27309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1314:
-
-/* Line 1455 of yacc.c  */
-#line 9196 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0;         }
+#line 27315 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1315:
-
-/* Line 1455 of yacc.c  */
-#line 9197 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= FT_EXPAND; }
+#line 27321 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1316:
-
-/* Line 1455 of yacc.c  */
-#line 9201 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= NULL; }
+#line 27327 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1317:
-
-/* Line 1455 of yacc.c  */
-#line 9202 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); }
+#line 9202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item_list)= (yyvsp[0].item_list); }
+#line 27333 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1318:
-
-/* Line 1455 of yacc.c  */
-#line 9207 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List<Item>;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
-            (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
+            (yyval.item_list)->push_back((yyvsp[0].item));
           }
+#line 27344 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1319:
-
-/* Line 1455 of yacc.c  */
-#line 9214 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
-            (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
+            (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
+            (yyval.item_list)= (yyvsp[-2].item_list);
           }
+#line 27353 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1320:
-
-/* Line 1455 of yacc.c  */
-#line 9222 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
              Use Item::name as a storage for the attribute value of user
@@ -29518,10 +27361,10 @@ yyreduce:
              because the syntax will not allow having an explicit name here.
              See WL#1017 re. udf attributes.
             */
-            if ((yyvsp[(4) - (4)].lex_str).str)
+            if ((yyvsp[0].lex_str).str)
             {
-              (yyvsp[(2) - (4)].item)->is_autogenerated_name= FALSE;
-              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info);
+              (yyvsp[-2].item)->is_autogenerated_name= FALSE;
+              (yyvsp[-2].item)->set_name((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, system_charset_info);
             }
             /* 
                A field has to have its proper name in order for name
@@ -29529,72 +27372,66 @@ yyreduce:
                parse it out. If we hijack the input stream with
                remember_name we may get quoted or escaped names.
             */
-            else if ((yyvsp[(2) - (4)].item)->type() != Item::FIELD_ITEM &&
-                     (yyvsp[(2) - (4)].item)->type() != Item::REF_ITEM /* For HAVING */ )
-              (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), thd->charset());
-            (yyval.item)= (yyvsp[(2) - (4)].item);
+            else if ((yyvsp[-2].item)->type() != Item::FIELD_ITEM &&
+                     (yyvsp[-2].item)->type() != Item::REF_ITEM /* For HAVING */ )
+              (yyvsp[-2].item)->set_name((yyvsp[-3].simple_string), (uint) ((yyvsp[-1].simple_string) - (yyvsp[-3].simple_string)), thd->charset());
+            (yyval.item)= (yyvsp[-2].item);
           }
+#line 27381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1321:
-
-/* Line 1455 of yacc.c  */
-#line 9249 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[(3) - (4)].item), FALSE);
+            (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[-1].item), FALSE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1322:
-
-/* Line 1455 of yacc.c  */
-#line 9255 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[(4) - (5)].item), TRUE);
+            (yyval.item)= new (thd->mem_root) Item_sum_avg((yyvsp[-1].item), TRUE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1323:
-
-/* Line 1455 of yacc.c  */
-#line 9261 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_and((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_and((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1324:
-
-/* Line 1455 of yacc.c  */
-#line 9267 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_or((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_or((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1325:
-
-/* Line 1455 of yacc.c  */
-#line 9273 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_xor((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_xor((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1326:
-
-/* Line 1455 of yacc.c  */
-#line 9279 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item *item= new (thd->mem_root) Item_int((int32) 0L,1);
             if (item == NULL)
@@ -29603,182 +27440,165 @@ yyreduce:
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1327:
-
-/* Line 1455 of yacc.c  */
-#line 9288 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_count((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_count((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1328:
-
-/* Line 1455 of yacc.c  */
-#line 9294 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->in_sum_expr++; }
+#line 27460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1329:
-
-/* Line 1455 of yacc.c  */
-#line 9296 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->in_sum_expr--; }
+#line 27466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1330:
-
-/* Line 1455 of yacc.c  */
-#line 9298 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_count(* (yyvsp[(5) - (7)].item_list));
+            (yyval.item)= new (thd->mem_root) Item_sum_count(* (yyvsp[-2].item_list));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1331:
-
-/* Line 1455 of yacc.c  */
-#line 9304 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1332:
-
-/* Line 1455 of yacc.c  */
-#line 9315 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[(4) - (5)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_min((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1333:
-
-/* Line 1455 of yacc.c  */
-#line 9321 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[(3) - (4)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27506 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1334:
-
-/* Line 1455 of yacc.c  */
-#line 9327 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[(4) - (5)].item));
+            (yyval.item)= new (thd->mem_root) Item_sum_max((yyvsp[-1].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1335:
-
-/* Line 1455 of yacc.c  */
-#line 9333 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[(3) - (4)].item), 0);
+            (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[-1].item), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1336:
-
-/* Line 1455 of yacc.c  */
-#line 9339 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[(3) - (4)].item), 0);
+            (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[-1].item), 0);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1337:
-
-/* Line 1455 of yacc.c  */
-#line 9345 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[(3) - (4)].item), 1);
+            (yyval.item)= new (thd->mem_root) Item_sum_std((yyvsp[-1].item), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1338:
-
-/* Line 1455 of yacc.c  */
-#line 9351 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[(3) - (4)].item), 1);
+            (yyval.item)= new (thd->mem_root) Item_sum_variance((yyvsp[-1].item), 1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1339:
-
-/* Line 1455 of yacc.c  */
-#line 9357 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[(3) - (4)].item), FALSE);
+            (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[-1].item), FALSE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27566 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1340:
-
-/* Line 1455 of yacc.c  */
-#line 9363 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[(4) - (5)].item), TRUE);
+            (yyval.item)= new (thd->mem_root) Item_sum_sum((yyvsp[-1].item), TRUE);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 27576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1341:
-
-/* Line 1455 of yacc.c  */
-#line 9369 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->in_sum_expr++; }
+#line 27582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1342:
-
-/* Line 1455 of yacc.c  */
-#line 9373 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->in_sum_expr--;
             (yyval.item)= new (thd->mem_root)
-                  Item_func_group_concat(Lex->current_context(), (yyvsp[(3) - (8)].num), (yyvsp[(5) - (8)].item_list),
-                                         sel->gorder_list, (yyvsp[(7) - (8)].string));
+                  Item_func_group_concat(Lex->current_context(), (yyvsp[-5].num), (yyvsp[-3].item_list),
+                                         sel->gorder_list, (yyvsp[-1].string));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
-            (yyvsp[(5) - (8)].item_list)->empty();
+            (yyvsp[-3].item_list)->empty();
             sel->gorder_list.empty();
           }
+#line 27598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1343:
-
-/* Line 1455 of yacc.c  */
-#line 9388 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (! Lex->parsing_options.allows_variable)
             {
@@ -29786,99 +27606,90 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 27610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1344:
-
-/* Line 1455 of yacc.c  */
-#line 9396 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= (yyvsp[(3) - (3)].item);
+            (yyval.item)= (yyvsp[0].item);
           }
+#line 27618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1345:
-
-/* Line 1455 of yacc.c  */
-#line 9403 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_func_set_user_var *item;
-            (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].item));
+            (yyval.item)= item= new (thd->mem_root) Item_func_set_user_var((yyvsp[-2].lex_str), (yyvsp[0].item));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             LEX *lex= Lex;
             lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
             lex->set_var_list.push_back(item);
           }
+#line 27632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1346:
-
-/* Line 1455 of yacc.c  */
-#line 9413 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_func_get_user_var((yyvsp[(1) - (1)].lex_str));
+            (yyval.item)= new (thd->mem_root) Item_func_get_user_var((yyvsp[0].lex_str));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             LEX *lex= Lex;
             lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
           }
+#line 27644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1347:
-
-/* Line 1455 of yacc.c  */
-#line 9421 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* disallow "SELECT @@global.global.variable" */
-            if ((yyvsp[(3) - (4)].lex_str).str && (yyvsp[(4) - (4)].lex_str).str && check_reserved_words(&(yyvsp[(3) - (4)].lex_str)))
+            if ((yyvsp[-1].lex_str).str && (yyvsp[0].lex_str).str && check_reserved_words(&(yyvsp[-1].lex_str)))
             {
               my_parse_error(ER(ER_SYNTAX_ERROR));
               MYSQL_YYABORT;
             }
-            if (!((yyval.item)= get_system_var(thd, (yyvsp[(2) - (4)].var_type), (yyvsp[(3) - (4)].lex_str), (yyvsp[(4) - (4)].lex_str))))
+            if (!((yyval.item)= get_system_var(thd, (yyvsp[-2].var_type), (yyvsp[-1].lex_str), (yyvsp[0].lex_str))))
               MYSQL_YYABORT;
             if (!((Item_func_get_system_var*) (yyval.item))->is_written_to_binlog())
               Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_VARIABLE);
           }
+#line 27661 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1348:
-
-/* Line 1455 of yacc.c  */
-#line 9436 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 0; }
+#line 27667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1349:
-
-/* Line 1455 of yacc.c  */
-#line 9437 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) = 1; }
+#line 27673 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1350:
-
-/* Line 1455 of yacc.c  */
-#line 9442 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9442 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.string)= new (thd->mem_root) String(",", 1, &my_charset_latin1);
             if ((yyval.string) == NULL)
               MYSQL_YYABORT;
           }
+#line 27683 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1351:
-
-/* Line 1455 of yacc.c  */
-#line 9447 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.string) = (yyvsp[(2) - (2)].string); }
+#line 9447 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.string) = (yyvsp[0].string); }
+#line 27689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1353:
-
-/* Line 1455 of yacc.c  */
-#line 9453 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9453 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -29891,26 +27702,23 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 27706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1355:
-
-/* Line 1455 of yacc.c  */
-#line 9470 "/home/buildbot/git/sql/sql_yacc.yy"
-    { if (add_gorder_to_list(thd, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; }
+#line 9470 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
+#line 27712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1356:
-
-/* Line 1455 of yacc.c  */
-#line 9472 "/home/buildbot/git/sql/sql_yacc.yy"
-    { if (add_gorder_to_list(thd, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; }
+#line 9472 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { if (add_gorder_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
+#line 27718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1357:
-
-/* Line 1455 of yacc.c  */
-#line 9477 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9477 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->current_select->inc_in_sum_expr())
@@ -29919,259 +27727,228 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 27731 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1358:
-
-/* Line 1455 of yacc.c  */
-#line 9486 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9486 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->in_sum_expr--;
-            (yyval.item)= (yyvsp[(3) - (3)].item);
+            (yyval.item)= (yyvsp[0].item);
           }
+#line 27740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1359:
-
-/* Line 1455 of yacc.c  */
-#line 9494 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; }
+#line 27746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1360:
-
-/* Line 1455 of yacc.c  */
-#line 9496 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; }
+#line 27752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1361:
-
-/* Line 1455 of yacc.c  */
-#line 9498 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; }
+#line 27758 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1362:
-
-/* Line 1455 of yacc.c  */
-#line 9500 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
+#line 27764 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1363:
-
-/* Line 1455 of yacc.c  */
-#line 9502 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
+#line 27770 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1364:
-
-/* Line 1455 of yacc.c  */
-#line 9504 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
+#line 27776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1365:
-
-/* Line 1455 of yacc.c  */
-#line 9506 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9506 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
+#line 27782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1366:
-
-/* Line 1455 of yacc.c  */
-#line 9508 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
+#line 27788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1367:
-
-/* Line 1455 of yacc.c  */
-#line 9510 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9510 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
+#line 27794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1368:
-
-/* Line 1455 of yacc.c  */
-#line 9512 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.cast_type)=ITEM_CAST_TIME;
             LEX *lex= Lex;
             lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
            }
+#line 27804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1369:
-
-/* Line 1455 of yacc.c  */
-#line 9518 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9518 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.cast_type)=ITEM_CAST_DATETIME;
             LEX *lex= Lex;
             lex->charset= NULL; lex->dec= lex->length; lex->length= (char*)0;
            }
+#line 27814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1370:
-
-/* Line 1455 of yacc.c  */
-#line 9524 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9524 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; }
+#line 27820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1371:
-
-/* Line 1455 of yacc.c  */
-#line 9526 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9526 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->charset= NULL; Lex->length= Lex->dec= 0;}
+#line 27826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1372:
-
-/* Line 1455 of yacc.c  */
-#line 9528 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9528 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.cast_type)=ITEM_CAST_DOUBLE; }
+#line 27832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1373:
-
-/* Line 1455 of yacc.c  */
-#line 9531 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item_list)= NULL; }
+#line 27838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1374:
-
-/* Line 1455 of yacc.c  */
-#line 9532 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item_list)= (yyvsp[(1) - (1)].item_list);}
+#line 9532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item_list)= (yyvsp[0].item_list);}
+#line 27844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1375:
-
-/* Line 1455 of yacc.c  */
-#line 9537 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List<Item>;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
-            (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
+            (yyval.item_list)->push_back((yyvsp[0].item));
           }
+#line 27855 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1376:
-
-/* Line 1455 of yacc.c  */
-#line 9544 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
-            (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
+            (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
+            (yyval.item_list)= (yyvsp[-2].item_list);
           }
+#line 27864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1377:
-
-/* Line 1455 of yacc.c  */
-#line 9551 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); }
+#line 9551 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item_list)= (yyvsp[0].item_list); }
+#line 27870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1378:
-
-/* Line 1455 of yacc.c  */
-#line 9552 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item_list)= (yyvsp[(2) - (3)].item_list); }
+#line 9552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item_list)= (yyvsp[-1].item_list); }
+#line 27876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1379:
-
-/* Line 1455 of yacc.c  */
-#line 9557 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new (thd->mem_root) List<Item>;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
-            (yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
+            (yyval.item_list)->push_back((yyvsp[0].item));
           }
+#line 27887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1380:
-
-/* Line 1455 of yacc.c  */
-#line 9564 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
-            (yyval.item_list)= (yyvsp[(1) - (3)].item_list);
+            (yyvsp[-2].item_list)->push_back((yyvsp[0].item));
+            (yyval.item_list)= (yyvsp[-2].item_list);
           }
+#line 27896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1381:
-
-/* Line 1455 of yacc.c  */
-#line 9571 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= NULL; }
+#line 27902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1382:
-
-/* Line 1455 of yacc.c  */
-#line 9572 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(1) - (1)].item); }
+#line 9572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item); }
+#line 27908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1383:
-
-/* Line 1455 of yacc.c  */
-#line 9576 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9576 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)= NULL; }
+#line 27914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1384:
-
-/* Line 1455 of yacc.c  */
-#line 9577 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(2) - (2)].item); }
+#line 9577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item); }
+#line 27920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1385:
-
-/* Line 1455 of yacc.c  */
-#line 9582 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item_list)= new List<Item>;
             if ((yyval.item_list) == NULL)
               MYSQL_YYABORT;
-            (yyval.item_list)->push_back((yyvsp[(2) - (4)].item));
-            (yyval.item_list)->push_back((yyvsp[(4) - (4)].item));
+            (yyval.item_list)->push_back((yyvsp[-2].item));
+            (yyval.item_list)->push_back((yyvsp[0].item));
           }
+#line 27932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1386:
-
-/* Line 1455 of yacc.c  */
-#line 9590 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9590 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(3) - (5)].item));
-            (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(5) - (5)].item));
-            (yyval.item_list)= (yyvsp[(1) - (5)].item_list);
+            (yyvsp[-4].item_list)->push_back((yyvsp[-2].item));
+            (yyvsp[-4].item_list)->push_back((yyvsp[0].item));
+            (yyval.item_list)= (yyvsp[-4].item_list);
           }
+#line 27942 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1387:
-
-/* Line 1455 of yacc.c  */
-#line 9600 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
+#line 9600 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.table_list)=(yyvsp[0].table_list); }
+#line 27948 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1388:
-
-/* Line 1455 of yacc.c  */
-#line 9602 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->thd)))
@@ -30180,290 +27957,261 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 27961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1389:
-
-/* Line 1455 of yacc.c  */
-#line 9613 "/home/buildbot/git/sql/sql_yacc.yy"
-    { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[(1) - (1)].table_list)); }
+#line 9613 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[0].table_list)); }
+#line 27967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1390:
-
-/* Line 1455 of yacc.c  */
-#line 9624 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
+#line 9624 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.table_list)=(yyvsp[0].table_list); }
+#line 27973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1391:
-
-/* Line 1455 of yacc.c  */
-#line 9625 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.table_list)=(yyvsp[(3) - (4)].table_list); }
+#line 9625 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.table_list)=(yyvsp[-1].table_list); }
+#line 27979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1392:
-
-/* Line 1455 of yacc.c  */
-#line 9631 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
+#line 9631 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.table_list)=(yyvsp[0].table_list); }
+#line 27985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1393:
-
-/* Line 1455 of yacc.c  */
-#line 9633 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9633 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list)));
+            MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
           }
+#line 27993 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1394:
-
-/* Line 1455 of yacc.c  */
-#line 9653 "/home/buildbot/git/sql/sql_yacc.yy"
-    { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); }
+#line 9653 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); }
+#line 27999 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1395:
-
-/* Line 1455 of yacc.c  */
-#line 9655 "/home/buildbot/git/sql/sql_yacc.yy"
-    { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); (yyvsp[(3) - (3)].table_list)->straight=1; }
+#line 9655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { MYSQL_YYABORT_UNLESS((yyvsp[-2].table_list) && ((yyval.table_list)=(yyvsp[0].table_list))); (yyvsp[0].table_list)->straight=1; }
+#line 28005 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1396:
-
-/* Line 1455 of yacc.c  */
-#line 9658 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9658 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
-            if (push_new_name_resolution_context(thd, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list)))
+            if (push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
+#line 28017 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1397:
-
-/* Line 1455 of yacc.c  */
-#line 9666 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9666 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
+            add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
             Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
+#line 28027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1398:
-
-/* Line 1455 of yacc.c  */
-#line 9673 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9673 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
-            if (push_new_name_resolution_context(thd, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list)))
+            if (push_new_name_resolution_context(thd, (yyvsp[-3].table_list), (yyvsp[-1].table_list)))
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
+#line 28039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1399:
-
-/* Line 1455 of yacc.c  */
-#line 9681 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9681 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(3) - (6)].table_list)->straight=1;
-            add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
+            (yyvsp[-3].table_list)->straight=1;
+            add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
             Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
+#line 28050 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1400:
-
-/* Line 1455 of yacc.c  */
-#line 9689 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && (yyvsp[-1].table_list));
           }
+#line 28058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1401:
-
-/* Line 1455 of yacc.c  */
-#line 9693 "/home/buildbot/git/sql/sql_yacc.yy"
-    { add_join_natural((yyvsp[(1) - (8)].table_list),(yyvsp[(3) - (8)].table_list),(yyvsp[(7) - (8)].string_list),Select); (yyval.table_list)=(yyvsp[(3) - (8)].table_list); }
+#line 9693 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { add_join_natural((yyvsp[-7].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); (yyval.table_list)=(yyvsp[-5].table_list); }
+#line 28064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1402:
-
-/* Line 1455 of yacc.c  */
-#line 9695 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9695 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && ((yyval.table_list)=(yyvsp[(4) - (4)].table_list)));
-            add_join_natural((yyvsp[(1) - (4)].table_list),(yyvsp[(4) - (4)].table_list),NULL,Select);
+            MYSQL_YYABORT_UNLESS((yyvsp[-3].table_list) && ((yyval.table_list)=(yyvsp[0].table_list)));
+            add_join_natural((yyvsp[-3].table_list),(yyvsp[0].table_list),NULL,Select);
           }
+#line 28073 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1403:
-
-/* Line 1455 of yacc.c  */
-#line 9703 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9703 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
-            if (push_new_name_resolution_context(thd, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list)))
+            if (push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
+#line 28085 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1404:
-
-/* Line 1455 of yacc.c  */
-#line 9711 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            add_join_on((yyvsp[(5) - (8)].table_list),(yyvsp[(8) - (8)].item));
+            add_join_on((yyvsp[-3].table_list),(yyvsp[0].item));
             Lex->pop_context();
-            (yyvsp[(5) - (8)].table_list)->outer_join|=JOIN_TYPE_LEFT;
-            (yyval.table_list)=(yyvsp[(5) - (8)].table_list);
+            (yyvsp[-3].table_list)->outer_join|=JOIN_TYPE_LEFT;
+            (yyval.table_list)=(yyvsp[-3].table_list);
             Select->parsing_place= NO_MATTER;
           }
+#line 28097 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1405:
-
-/* Line 1455 of yacc.c  */
-#line 9719 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9719 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
           }
+#line 28105 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1406:
-
-/* Line 1455 of yacc.c  */
-#line 9723 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
-            add_join_natural((yyvsp[(1) - (10)].table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Select); 
-            (yyvsp[(5) - (10)].table_list)->outer_join|=JOIN_TYPE_LEFT; 
-            (yyval.table_list)=(yyvsp[(5) - (10)].table_list); 
+            add_join_natural((yyvsp[-9].table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select); 
+            (yyvsp[-5].table_list)->outer_join|=JOIN_TYPE_LEFT; 
+            (yyval.table_list)=(yyvsp[-5].table_list); 
           }
+#line 28115 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1407:
-
-/* Line 1455 of yacc.c  */
-#line 9729 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9729 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
-            add_join_natural((yyvsp[(1) - (6)].table_list),(yyvsp[(6) - (6)].table_list),NULL,Select);
-            (yyvsp[(6) - (6)].table_list)->outer_join|=JOIN_TYPE_LEFT;
-            (yyval.table_list)=(yyvsp[(6) - (6)].table_list);
+            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
+            add_join_natural((yyvsp[-5].table_list),(yyvsp[0].table_list),NULL,Select);
+            (yyvsp[0].table_list)->outer_join|=JOIN_TYPE_LEFT;
+            (yyval.table_list)=(yyvsp[0].table_list);
           }
+#line 28126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1408:
-
-/* Line 1455 of yacc.c  */
-#line 9739 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9739 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[-1].table_list));
             /* Change the current name resolution context to a local context. */
-            if (push_new_name_resolution_context(thd, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list)))
+            if (push_new_name_resolution_context(thd, (yyvsp[-5].table_list), (yyvsp[-1].table_list)))
               MYSQL_YYABORT;
             Select->parsing_place= IN_ON;
           }
+#line 28138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1409:
-
-/* Line 1455 of yacc.c  */
-#line 9747 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9747 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
-            add_join_on((yyval.table_list), (yyvsp[(8) - (8)].item));
+            add_join_on((yyval.table_list), (yyvsp[0].item));
             Lex->pop_context();
             Select->parsing_place= NO_MATTER;
           }
+#line 28151 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1410:
-
-/* Line 1455 of yacc.c  */
-#line 9756 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9756 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
+            MYSQL_YYABORT_UNLESS((yyvsp[-4].table_list) && (yyvsp[0].table_list));
           }
+#line 28159 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1411:
-
-/* Line 1455 of yacc.c  */
-#line 9760 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
-            add_join_natural((yyval.table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Select);
+            add_join_natural((yyval.table_list),(yyvsp[-5].table_list),(yyvsp[-1].string_list),Select);
           }
+#line 28170 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1412:
-
-/* Line 1455 of yacc.c  */
-#line 9767 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9767 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
-            add_join_natural((yyvsp[(6) - (6)].table_list),(yyvsp[(1) - (6)].table_list),NULL,Select);
+            MYSQL_YYABORT_UNLESS((yyvsp[-5].table_list) && (yyvsp[0].table_list));
+            add_join_natural((yyvsp[0].table_list),(yyvsp[-5].table_list),NULL,Select);
             LEX *lex= Lex;
             if (!((yyval.table_list)= lex->current_select->convert_right_join()))
               MYSQL_YYABORT;
           }
+#line 28182 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1413:
-
-/* Line 1455 of yacc.c  */
-#line 9777 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28188 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1414:
-
-/* Line 1455 of yacc.c  */
-#line 9778 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1415:
-
-/* Line 1455 of yacc.c  */
-#line 9779 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1416:
-
-/* Line 1455 of yacc.c  */
-#line 9791 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             sel->table_join_options= 0;
           }
+#line 28209 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1417:
-
-/* Line 1455 of yacc.c  */
-#line 9796 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[(2) - (4)].table), (yyvsp[(3) - (4)].lex_str_ptr),
+            if (!((yyval.table_list)= Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr),
                                                 Select->get_table_join_options(),
                                                 YYPS->m_lock_type,
                                                 YYPS->m_mdl_type,
@@ -30471,16 +28219,15 @@ yyreduce:
               MYSQL_YYABORT;
             Select->add_joined_table((yyval.table_list));
           }
+#line 28223 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1418:
-
-/* Line 1455 of yacc.c  */
-#line 9806 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
-            if ((yyvsp[(1) - (3)].num))
+            if ((yyvsp[-2].num))
             {
               if (sel->set_braces(1))
               {
@@ -30492,23 +28239,22 @@ yyreduce:
                 sel->master_unit()->global_parameters=
                    sel->master_unit()->fake_select_lex;
             }
-            if ((yyvsp[(2) - (3)].select_lex)->init_nested_join(lex->thd))
+            if ((yyvsp[-1].select_lex)->init_nested_join(lex->thd))
               MYSQL_YYABORT;
             (yyval.table_list)= 0;
             /* incomplete derived tables return NULL, we must be
                nested in select_derived rule to be here. */
           }
+#line 28249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1419:
-
-/* Line 1455 of yacc.c  */
-#line 9846 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9846 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Use $2 instead of Lex->current_select as derived table will
                alter value of Lex->current_select. */
-            if (!((yyvsp[(3) - (5)].table_list) || (yyvsp[(5) - (5)].lex_str_ptr)) && (yyvsp[(2) - (5)].select_lex)->embedding &&
-                !(yyvsp[(2) - (5)].select_lex)->embedding->nested_join->join_list.elements)
+            if (!((yyvsp[-2].table_list) || (yyvsp[0].lex_str_ptr)) && (yyvsp[-3].select_lex)->embedding &&
+                !(yyvsp[-3].select_lex)->embedding->nested_join->join_list.elements)
             {
               /* we have a derived table ($3 == NULL) but no alias,
                  Since we are nested in further parentheses so we
@@ -30516,7 +28262,7 @@ yyreduce:
                  Permits parsing of "((((select ...))) as xyz)" */
               (yyval.table_list)= 0;
             }
-            else if (!(yyvsp[(3) - (5)].table_list))
+            else if (!(yyvsp[-2].table_list))
             {
               /* Handle case of derived table, alias may be NULL if there
                  are no outer parentheses, add_table_to_list() will throw
@@ -30529,7 +28275,7 @@ yyreduce:
               if (ti == NULL)
                 MYSQL_YYABORT;
               if (!((yyval.table_list)= sel->add_table_to_list(lex->thd,
-                                               new Table_ident(unit), (yyvsp[(5) - (5)].lex_str_ptr), 0,
+                                               new Table_ident(unit), (yyvsp[0].lex_str_ptr), 0,
                                                TL_READ, MDL_SHARED_READ)))
 
                 MYSQL_YYABORT;
@@ -30541,7 +28287,7 @@ yyreduce:
                       $3->select_lex->master_unit()->is_union() &&
                       ($3->select_lex->master_unit()->first_select() ==
                        $3->select_lex || !$3->lifted)) || $5)*/
-            else if ((yyvsp[(5) - (5)].lex_str_ptr) != NULL)
+            else if ((yyvsp[0].lex_str_ptr) != NULL)
             {
               /*
                 Tables with or without joins within parentheses cannot
@@ -30554,7 +28300,7 @@ yyreduce:
             {
               /* nested join: FROM (t1 JOIN t2 ...),
                  nest_level is the same as in the outer query */
-              (yyval.table_list)= (yyvsp[(3) - (5)].table_list);
+              (yyval.table_list)= (yyvsp[-2].table_list);
             }
             /*
               Fields in derived table can be used in upper select in
@@ -30566,35 +28312,32 @@ yyreduce:
                 !(yyval.table_list)->derived->first_select()->next_select())
               (yyval.table_list)->select_lex->add_where_field((yyval.table_list)->derived->first_select());
           }
+#line 28316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1420:
-
-/* Line 1455 of yacc.c  */
-#line 9931 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if ((yyvsp[(1) - (2)].table_list) && (yyvsp[(2) - (2)].is_not_empty))
+            if ((yyvsp[-1].table_list) && (yyvsp[0].is_not_empty))
             {
               my_parse_error(ER(ER_SYNTAX_ERROR));
               MYSQL_YYABORT;
             }
           }
+#line 28328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1421:
-
-/* Line 1455 of yacc.c  */
-#line 9941 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9941 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num), FALSE))
+            if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
               MYSQL_YYABORT;
           }
+#line 28337 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1422:
-
-/* Line 1455 of yacc.c  */
-#line 9946 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9946 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Remove from the name resolution context stack the context of the
@@ -30602,25 +28345,23 @@ yyreduce:
              */
             Lex->pop_context();
           }
+#line 28349 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1423:
-
-/* Line 1455 of yacc.c  */
-#line 9954 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9954 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if ((yyvsp[(1) - (7)].table_list) != NULL)
+            if ((yyvsp[-6].table_list) != NULL)
             {
               my_parse_error(ER(ER_SYNTAX_ERROR));
               MYSQL_YYABORT;
             }
           }
+#line 28361 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1424:
-
-/* Line 1455 of yacc.c  */
-#line 9966 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX * sel= lex->current_select;
@@ -30636,12 +28377,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 28381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1425:
-
-/* Line 1455 of yacc.c  */
-#line 9985 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -30649,51 +28389,47 @@ yyreduce:
               mysql_init_select(lex);
             lex->current_select->parsing_place= SELECT_LIST;
           }
+#line 28393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1426:
-
-/* Line 1455 of yacc.c  */
-#line 9993 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 9993 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
+#line 28401 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1428:
-
-/* Line 1455 of yacc.c  */
-#line 10002 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10002 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            if ((yyvsp[(1) - (1)].select_lex)->init_nested_join(lex->thd))
+            if ((yyvsp[0].select_lex)->init_nested_join(lex->thd))
               MYSQL_YYABORT;
           }
+#line 28411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1429:
-
-/* Line 1455 of yacc.c  */
-#line 10008 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10008 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             /* for normal joins, $3 != NULL and end_nested_join() != NULL,
                for derived tables, both must equal NULL */
 
-            if (!((yyval.table_list)= (yyvsp[(1) - (3)].select_lex)->end_nested_join(lex->thd)) && (yyvsp[(3) - (3)].table_list))
+            if (!((yyval.table_list)= (yyvsp[-2].select_lex)->end_nested_join(lex->thd)) && (yyvsp[0].table_list))
               MYSQL_YYABORT;
-            if (!(yyvsp[(3) - (3)].table_list) && (yyval.table_list))
+            if (!(yyvsp[0].table_list) && (yyval.table_list))
             {
               my_parse_error(ER(ER_SYNTAX_ERROR));
               MYSQL_YYABORT;
             }
           }
+#line 28429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1430:
-
-/* Line 1455 of yacc.c  */
-#line 10024 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->derived_tables|= DERIVED_SUBQUERY;
@@ -30710,28 +28446,25 @@ yyreduce:
             lex->current_select->linkage= DERIVED_TABLE_TYPE;
             lex->current_select->parsing_place= SELECT_LIST;
           }
+#line 28450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1431:
-
-/* Line 1455 of yacc.c  */
-#line 10041 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
+#line 28458 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1433:
-
-/* Line 1455 of yacc.c  */
-#line 10048 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.select_lex)= Select; }
+#line 28464 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1434:
-
-/* Line 1455 of yacc.c  */
-#line 10053 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -30754,415 +28487,363 @@ yyreduce:
                 !embedding->nested_join->join_list.elements;
             /* return true if we are deeply nested */
           }
+#line 28491 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1435:
-
-/* Line 1455 of yacc.c  */
-#line 10078 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28497 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1436:
-
-/* Line 1455 of yacc.c  */
-#line 10079 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28503 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1437:
-
-/* Line 1455 of yacc.c  */
-#line 10084 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= thd->variables.old_mode ?  INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; 
           }
+#line 28511 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1438:
-
-/* Line 1455 of yacc.c  */
-#line 10087 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= INDEX_HINT_MASK_JOIN;  }
+#line 28517 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1439:
-
-/* Line 1455 of yacc.c  */
-#line 10088 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= INDEX_HINT_MASK_ORDER; }
+#line 28523 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1440:
-
-/* Line 1455 of yacc.c  */
-#line 10089 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= INDEX_HINT_MASK_GROUP; }
+#line 28529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1441:
-
-/* Line 1455 of yacc.c  */
-#line 10093 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.index_hint)= INDEX_HINT_FORCE; }
+#line 28535 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1442:
-
-/* Line 1455 of yacc.c  */
-#line 10094 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.index_hint)= INDEX_HINT_IGNORE; }
+#line 28541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1443:
-
-/* Line 1455 of yacc.c  */
-#line 10099 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Select->set_index_hint_type((yyvsp[(1) - (3)].index_hint), (yyvsp[(3) - (3)].num));
+            Select->set_index_hint_type((yyvsp[-2].index_hint), (yyvsp[0].num));
           }
+#line 28549 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1445:
-
-/* Line 1455 of yacc.c  */
-#line 10104 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[(3) - (3)].num));
+            Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[0].num));
           }
+#line 28557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1450:
-
-/* Line 1455 of yacc.c  */
-#line 10117 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->alloc_index_hints(thd); }
+#line 28563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1452:
-
-/* Line 1455 of yacc.c  */
-#line 10121 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {  Select->clear_index_hints(); }
+#line 28569 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1454:
-
-/* Line 1455 of yacc.c  */
-#line 10126 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->add_index_hint(thd, NULL, 0); }
+#line 28575 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1455:
-
-/* Line 1455 of yacc.c  */
-#line 10127 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1456:
-
-/* Line 1455 of yacc.c  */
-#line 10132 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Select->add_index_hint(thd, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
+#line 10132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Select->add_index_hint(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length); }
+#line 28587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1457:
-
-/* Line 1455 of yacc.c  */
-#line 10134 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->add_index_hint(thd, (char *)"PRIMARY", 7); }
+#line 28593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1460:
-
-/* Line 1455 of yacc.c  */
-#line 10144 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.string_list)= new List<String>))
               MYSQL_YYABORT;
-            String *s= new (thd->mem_root) String((const char *) (yyvsp[(1) - (1)].lex_str).str,
-                                                    (yyvsp[(1) - (1)].lex_str).length,
+            String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
+                                                    (yyvsp[0].lex_str).length,
                                                     system_charset_info);
             if (s == NULL)
               MYSQL_YYABORT;
             (yyval.string_list)->push_back(s);
           }
+#line 28608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1461:
-
-/* Line 1455 of yacc.c  */
-#line 10155 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            String *s= new (thd->mem_root) String((const char *) (yyvsp[(3) - (3)].lex_str).str,
-                                                    (yyvsp[(3) - (3)].lex_str).length,
+            String *s= new (thd->mem_root) String((const char *) (yyvsp[0].lex_str).str,
+                                                    (yyvsp[0].lex_str).length,
                                                     system_charset_info);
             if (s == NULL)
               MYSQL_YYABORT;
-            (yyvsp[(1) - (3)].string_list)->push_back(s);
-            (yyval.string_list)= (yyvsp[(1) - (3)].string_list);
+            (yyvsp[-2].string_list)->push_back(s);
+            (yyval.string_list)= (yyvsp[-2].string_list);
           }
+#line 28622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1462:
-
-/* Line 1455 of yacc.c  */
-#line 10167 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1463:
-
-/* Line 1455 of yacc.c  */
-#line 10168 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_HOUR; }
+#line 28634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1464:
-
-/* Line 1455 of yacc.c  */
-#line 10169 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
+#line 28640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1465:
-
-/* Line 1455 of yacc.c  */
-#line 10170 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_MINUTE; }
+#line 28646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1466:
-
-/* Line 1455 of yacc.c  */
-#line 10171 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_DAY_SECOND; }
+#line 28652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1467:
-
-/* Line 1455 of yacc.c  */
-#line 10172 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
+#line 28658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1468:
-
-/* Line 1455 of yacc.c  */
-#line 10173 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_HOUR_MINUTE; }
+#line 28664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1469:
-
-/* Line 1455 of yacc.c  */
-#line 10174 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_HOUR_SECOND; }
+#line 28670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1470:
-
-/* Line 1455 of yacc.c  */
-#line 10175 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
+#line 28676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1471:
-
-/* Line 1455 of yacc.c  */
-#line 10176 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_MINUTE_SECOND; }
+#line 28682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1472:
-
-/* Line 1455 of yacc.c  */
-#line 10177 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
+#line 28688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1473:
-
-/* Line 1455 of yacc.c  */
-#line 10178 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval)=INTERVAL_YEAR_MONTH; }
+#line 28694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1474:
-
-/* Line 1455 of yacc.c  */
-#line 10182 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_DAY; }
+#line 28700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1475:
-
-/* Line 1455 of yacc.c  */
-#line 10183 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_WEEK; }
+#line 28706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1476:
-
-/* Line 1455 of yacc.c  */
-#line 10184 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_HOUR; }
+#line 28712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1477:
-
-/* Line 1455 of yacc.c  */
-#line 10185 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_MINUTE; }
+#line 28718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1478:
-
-/* Line 1455 of yacc.c  */
-#line 10186 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_MONTH; }
+#line 28724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1479:
-
-/* Line 1455 of yacc.c  */
-#line 10187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_QUARTER; }
+#line 28730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1480:
-
-/* Line 1455 of yacc.c  */
-#line 10188 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_SECOND; }
+#line 28736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1481:
-
-/* Line 1455 of yacc.c  */
-#line 10189 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
+#line 28742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1482:
-
-/* Line 1455 of yacc.c  */
-#line 10190 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.interval_time_st)=INTERVAL_YEAR; }
+#line 28748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1483:
-
-/* Line 1455 of yacc.c  */
-#line 10194 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;}
+#line 28754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1484:
-
-/* Line 1455 of yacc.c  */
-#line 10195 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;}
+#line 28760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1485:
-
-/* Line 1455 of yacc.c  */
-#line 10196 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
+#line 28766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1486:
-
-/* Line 1455 of yacc.c  */
-#line 10197 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;}
+#line 28772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1490:
-
-/* Line 1455 of yacc.c  */
-#line 10207 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lex_str_ptr)=0; }
+#line 28778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1491:
-
-/* Line 1455 of yacc.c  */
-#line 10209 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[(2) - (2)].lex_str),sizeof(LEX_STRING));
+            (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[0].lex_str),sizeof(LEX_STRING));
             if ((yyval.lex_str_ptr) == NULL)
               MYSQL_YYABORT;
           }
+#line 28788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1494:
-
-/* Line 1455 of yacc.c  */
-#line 10222 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->where= 0; }
+#line 28794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1495:
-
-/* Line 1455 of yacc.c  */
-#line 10224 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= IN_WHERE;
           }
+#line 28802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1496:
-
-/* Line 1455 of yacc.c  */
-#line 10228 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *select= Select;
-            select->where= normalize_cond((yyvsp[(3) - (3)].item));
+            select->where= normalize_cond((yyvsp[0].item));
             select->parsing_place= NO_MATTER;
-            if ((yyvsp[(3) - (3)].item))
-              (yyvsp[(3) - (3)].item)->top_level_item();
+            if ((yyvsp[0].item))
+              (yyvsp[0].item)->top_level_item();
           }
+#line 28814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1498:
-
-/* Line 1455 of yacc.c  */
-#line 10240 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= IN_HAVING;
           }
+#line 28822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1499:
-
-/* Line 1455 of yacc.c  */
-#line 10244 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
-            sel->having= normalize_cond((yyvsp[(3) - (3)].item));
+            sel->having= normalize_cond((yyvsp[0].item));
             sel->parsing_place= NO_MATTER;
-            if ((yyvsp[(3) - (3)].item))
-              (yyvsp[(3) - (3)].item)->top_level_item();
+            if ((yyvsp[0].item))
+              (yyvsp[0].item)->top_level_item();
           }
+#line 28834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1500:
-
-/* Line 1455 of yacc.c  */
-#line 10255 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->escape_used= TRUE;
-            (yyval.item)= (yyvsp[(2) - (2)].item);
+            (yyval.item)= (yyvsp[0].item);
           }
+#line 28843 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1501:
-
-/* Line 1455 of yacc.c  */
-#line 10260 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->escape_used= FALSE;
             (yyval.item)= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ?
@@ -31171,33 +28852,29 @@ yyreduce:
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 28856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1504:
-
-/* Line 1455 of yacc.c  */
-#line 10281 "/home/buildbot/git/sql/sql_yacc.yy"
-    { if (add_group_to_list(thd, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; }
+#line 10281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
+#line 28862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1505:
-
-/* Line 1455 of yacc.c  */
-#line 10283 "/home/buildbot/git/sql/sql_yacc.yy"
-    { if (add_group_to_list(thd, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; }
+#line 10283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { if (add_group_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
+#line 28868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1506:
-
-/* Line 1455 of yacc.c  */
-#line 10287 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 28874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1507:
-
-/* Line 1455 of yacc.c  */
-#line 10289 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               'WITH CUBE' is reserved in the MySQL syntax, but not implemented,
@@ -31217,12 +28894,11 @@ yyreduce:
             my_error(ER_NOT_SUPPORTED_YET, MYF(0), "CUBE");
             MYSQL_YYABORT;
           }
+#line 28898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1508:
-
-/* Line 1455 of yacc.c  */
-#line 10309 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               'WITH ROLLUP' is needed for backward compatibility,
@@ -31240,23 +28916,21 @@ yyreduce:
             }
             lex->current_select->olap= ROLLUP_TYPE;
           }
+#line 28920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1512:
-
-/* Line 1455 of yacc.c  */
-#line 10343 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            bool ascending= ((yyvsp[(2) - (2)].num) == 1) ? true : false;
-            if (add_order_to_list(thd, (yyvsp[(1) - (2)].item), ascending))
+            bool ascending= ((yyvsp[0].num) == 1) ? true : false;
+            if (add_order_to_list(thd, (yyvsp[-1].item), ascending))
               MYSQL_YYABORT;
           }
+#line 28930 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1515:
-
-/* Line 1455 of yacc.c  */
-#line 10361 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -31287,47 +28961,41 @@ yyreduce:
                 MYSQL_YYABORT;
             }
           }
+#line 28965 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1517:
-
-/* Line 1455 of yacc.c  */
-#line 10396 "/home/buildbot/git/sql/sql_yacc.yy"
-    { if (add_order_to_list(thd, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; }
+#line 10396 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
+#line 28971 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1518:
-
-/* Line 1455 of yacc.c  */
-#line 10398 "/home/buildbot/git/sql/sql_yacc.yy"
-    { if (add_order_to_list(thd, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; }
+#line 10398 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { if (add_order_to_list(thd, (yyvsp[-1].item),(bool) (yyvsp[0].num))) MYSQL_YYABORT; }
+#line 28977 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1519:
-
-/* Line 1455 of yacc.c  */
-#line 10402 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10402 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) =  1; }
+#line 28983 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1520:
-
-/* Line 1455 of yacc.c  */
-#line 10403 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10403 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) =1; }
+#line 28989 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1521:
-
-/* Line 1455 of yacc.c  */
-#line 10404 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10404 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num) =0; }
+#line 28995 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1522:
-
-/* Line 1455 of yacc.c  */
-#line 10409 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10409 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             SELECT_LEX *sel= lex->current_select;
@@ -31335,106 +29003,96 @@ yyreduce:
             sel->select_limit= 0;
 	    lex->limit_rows_examined= 0;
           }
+#line 29007 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1523:
-
-/* Line 1455 of yacc.c  */
-#line 10416 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10416 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29013 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1524:
-
-/* Line 1455 of yacc.c  */
-#line 10420 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10420 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29019 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1525:
-
-/* Line 1455 of yacc.c  */
-#line 10421 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29025 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1526:
-
-/* Line 1455 of yacc.c  */
-#line 10426 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10426 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
           }
+#line 29033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1527:
-
-/* Line 1455 of yacc.c  */
-#line 10430 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
           }
+#line 29041 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1528:
-
-/* Line 1455 of yacc.c  */
-#line 10434 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10434 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
           }
+#line 29049 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1529:
-
-/* Line 1455 of yacc.c  */
-#line 10441 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10441 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
-            sel->select_limit= (yyvsp[(1) - (1)].item);
+            sel->select_limit= (yyvsp[0].item);
             sel->offset_limit= 0;
             sel->explicit_limit= 1;
           }
+#line 29060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1530:
-
-/* Line 1455 of yacc.c  */
-#line 10448 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10448 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
-            sel->select_limit= (yyvsp[(3) - (3)].item);
-            sel->offset_limit= (yyvsp[(1) - (3)].item);
+            sel->select_limit= (yyvsp[0].item);
+            sel->offset_limit= (yyvsp[-2].item);
             sel->explicit_limit= 1;
           }
+#line 29071 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1531:
-
-/* Line 1455 of yacc.c  */
-#line 10455 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10455 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
-            sel->select_limit= (yyvsp[(1) - (3)].item);
-            sel->offset_limit= (yyvsp[(3) - (3)].item);
+            sel->select_limit= (yyvsp[-2].item);
+            sel->offset_limit= (yyvsp[0].item);
             sel->explicit_limit= 1;
           }
+#line 29082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1532:
-
-/* Line 1455 of yacc.c  */
-#line 10465 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10465 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Item_splocal *splocal;
           LEX *lex= thd->lex;
           Lex_input_stream *lip= & thd->m_parser_state->m_lip;
           sp_variable_t *spv;
           sp_pcontext *spc = lex->spcont;
-          if (spc && (spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str))))
+          if (spc && (spv = spc->find_variable(&(yyvsp[0].lex_str))))
           {
             splocal= new (thd->mem_root)
-              Item_splocal((yyvsp[(1) - (1)].lex_str), spv->offset, spv->type,
+              Item_splocal((yyvsp[0].lex_str), spv->offset, spv->type,
                   lip->get_tok_start() - lex->sphead->m_tmp_query,
                   lip->get_ptr() - lip->get_tok_start());
             if (splocal == NULL)
@@ -31446,7 +29104,7 @@ yyreduce:
           }
           else
           {
-            my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+            my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
             MYSQL_YYABORT;
           }
           if (splocal->type() != Item::INT_ITEM)
@@ -31457,289 +29115,252 @@ yyreduce:
           splocal->limit_clause_param= TRUE;
           (yyval.item)= splocal;
         }
+#line 29119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1533:
-
-/* Line 1455 of yacc.c  */
-#line 10498 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10498 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-          ((Item_param *) (yyvsp[(1) - (1)].item))->limit_clause_param= TRUE;
+          ((Item_param *) (yyvsp[0].item))->limit_clause_param= TRUE;
         }
+#line 29127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1534:
-
-/* Line 1455 of yacc.c  */
-#line 10502 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 29137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1535:
-
-/* Line 1455 of yacc.c  */
-#line 10508 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10508 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 29147 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1536:
-
-/* Line 1455 of yacc.c  */
-#line 10514 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 29157 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1537:
-
-/* Line 1455 of yacc.c  */
-#line 10523 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10523 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex=Lex;
-            lex->limit_rows_examined= (yyvsp[(1) - (1)].item);
+            lex->limit_rows_examined= (yyvsp[0].item);
           }
+#line 29166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1538:
-
-/* Line 1455 of yacc.c  */
-#line 10530 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->current_select->select_limit= 0;
           }
+#line 29175 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1539:
-
-/* Line 1455 of yacc.c  */
-#line 10535 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10535 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
-            sel->select_limit= (yyvsp[(2) - (2)].item);
+            sel->select_limit= (yyvsp[0].item);
             Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT);
             sel->explicit_limit= 1;
           }
+#line 29186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1540:
-
-/* Line 1455 of yacc.c  */
-#line 10541 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; }
+#line 29192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1541:
-
-/* Line 1455 of yacc.c  */
-#line 10542 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10542 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; }
+#line 29198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1542:
-
-/* Line 1455 of yacc.c  */
-#line 10546 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.num)= (int) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.num)= (int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1543:
-
-/* Line 1455 of yacc.c  */
-#line 10547 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[(2) - (2)].lex_str).str, (char**) 0, &error); }
+#line 10547 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1544:
-
-/* Line 1455 of yacc.c  */
-#line 10548 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[(2) - (2)].lex_str).str, (char**) 0, &error); }
+#line 10548 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.num)= -(int) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1545:
-
-/* Line 1455 of yacc.c  */
-#line 10552 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10552 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1546:
-
-/* Line 1455 of yacc.c  */
-#line 10553 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); }
+#line 10553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
+#line 29228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1547:
-
-/* Line 1455 of yacc.c  */
-#line 10554 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10554 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1548:
-
-/* Line 1455 of yacc.c  */
-#line 10555 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1549:
-
-/* Line 1455 of yacc.c  */
-#line 10556 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1550:
-
-/* Line 1455 of yacc.c  */
-#line 10557 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10557 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1551:
-
-/* Line 1455 of yacc.c  */
-#line 10561 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10561 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1552:
-
-/* Line 1455 of yacc.c  */
-#line 10562 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); }
+#line 10562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.ulong_num)= (ulong) strtol((yyvsp[0].lex_str).str, (char**) 0, 16); }
+#line 29264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1553:
-
-/* Line 1455 of yacc.c  */
-#line 10563 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10563 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1554:
-
-/* Line 1455 of yacc.c  */
-#line 10564 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1555:
-
-/* Line 1455 of yacc.c  */
-#line 10565 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10565 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { MYSQL_YYABORT; }
+#line 29282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1556:
-
-/* Line 1455 of yacc.c  */
-#line 10569 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1557:
-
-/* Line 1455 of yacc.c  */
-#line 10570 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1558:
-
-/* Line 1455 of yacc.c  */
-#line 10571 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1559:
-
-/* Line 1455 of yacc.c  */
-#line 10572 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1560:
-
-/* Line 1455 of yacc.c  */
-#line 10573 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10573 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1561:
-
-/* Line 1455 of yacc.c  */
-#line 10577 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1562:
-
-/* Line 1455 of yacc.c  */
-#line 10578 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10578 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1563:
-
-/* Line 1455 of yacc.c  */
-#line 10579 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.ulonglong_number)= strtoull((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); }
+#line 10579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.ulonglong_number)= strtoull((yyvsp[0].lex_str).str, (char**) 0, 16); }
+#line 29330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1564:
-
-/* Line 1455 of yacc.c  */
-#line 10580 "/home/buildbot/git/sql/sql_yacc.yy"
-    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
+#line 10580 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[0].lex_str).str, (char**) 0, &error); }
+#line 29336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1565:
-
-/* Line 1455 of yacc.c  */
-#line 10581 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10581 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { MYSQL_YYABORT; }
+#line 29342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1566:
-
-/* Line 1455 of yacc.c  */
-#line 10586 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10586 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { my_parse_error(ER(ER_ONLY_INTEGERS_ALLOWED)); }
+#line 29348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1569:
-
-/* Line 1455 of yacc.c  */
-#line 10595 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.choice)= (yyvsp[(1) - (1)].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; }
+#line 10595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.choice)= (yyvsp[0].ulong_num) != 0 ? HA_CHOICE_YES : HA_CHOICE_NO; }
+#line 29354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1570:
-
-/* Line 1455 of yacc.c  */
-#line 10596 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10596 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.choice)= HA_CHOICE_UNDEF; }
+#line 29360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1572:
-
-/* Line 1455 of yacc.c  */
-#line 10602 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -31759,7 +29380,7 @@ yyreduce:
             lex->proc_list.next= &lex->proc_list.first;
             Item_field *item= new (thd->mem_root)
                                 Item_field(&lex->current_select->context,
-                                           NULL, NULL, (yyvsp[(2) - (2)].lex_str).str);
+                                           NULL, NULL, (yyvsp[0].lex_str).str);
             if (item == NULL)
               MYSQL_YYABORT;
             if (add_proc_to_list(lex->thd, item))
@@ -31774,78 +29395,70 @@ yyreduce:
             */
             Lex->expr_allows_subselect= false;
           }
+#line 29399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1573:
-
-/* Line 1455 of yacc.c  */
-#line 10637 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10637 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* Subqueries are allowed from now.*/
             Lex->expr_allows_subselect= true;
           }
+#line 29408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1574:
-
-/* Line 1455 of yacc.c  */
-#line 10644 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10644 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1575:
-
-/* Line 1455 of yacc.c  */
-#line 10645 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10645 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1578:
-
-/* Line 1455 of yacc.c  */
-#line 10655 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10655 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_proc_to_list(thd, (yyvsp[(2) - (3)].item)))
+            if (add_proc_to_list(thd, (yyvsp[-1].item)))
               MYSQL_YYABORT;
-            if (!(yyvsp[(2) - (3)].item)->name)
-              (yyvsp[(2) - (3)].item)->set_name((yyvsp[(1) - (3)].simple_string), (uint) ((yyvsp[(3) - (3)].simple_string) - (yyvsp[(1) - (3)].simple_string)), thd->charset());
+            if (!(yyvsp[-1].item)->name)
+              (yyvsp[-1].item)->set_name((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
           }
+#line 29431 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1579:
-
-/* Line 1455 of yacc.c  */
-#line 10664 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10664 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->describe && (!(lex->result= new select_dumpvar())))
               MYSQL_YYABORT;
           }
+#line 29441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1580:
-
-/* Line 1455 of yacc.c  */
-#line 10670 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1582:
-
-/* Line 1455 of yacc.c  */
-#line 10675 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1583:
-
-/* Line 1455 of yacc.c  */
-#line 10680 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->result) 
             {
-              my_var *var= new my_var((yyvsp[(2) - (2)].lex_str),0,0,(enum_field_types)0);
+              my_var *var= new my_var((yyvsp[0].lex_str),0,0,(enum_field_types)0);
               if (var == NULL)
                 MYSQL_YYABORT;
               ((select_dumpvar *)lex->result)->var_list.push_back(var);
@@ -31859,24 +29472,23 @@ yyreduce:
               DBUG_ASSERT(lex->describe);
             }
           }
+#line 29476 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1584:
-
-/* Line 1455 of yacc.c  */
-#line 10699 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10699 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             sp_variable_t *t;
 
-            if (!lex->spcont || !(t=lex->spcont->find_variable(&(yyvsp[(1) - (1)].lex_str))))
+            if (!lex->spcont || !(t=lex->spcont->find_variable(&(yyvsp[0].lex_str))))
             {
-              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
+              my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[0].lex_str).str);
               MYSQL_YYABORT;
             }
             if (lex->result)
             {
-              my_var *var= new my_var((yyvsp[(1) - (1)].lex_str),1,t->offset,t->type);
+              my_var *var= new my_var((yyvsp[0].lex_str),1,t->offset,t->type);
               if (var == NULL)
                 MYSQL_YYABORT;
               ((select_dumpvar *)lex->result)->var_list.push_back(var);
@@ -31893,12 +29505,11 @@ yyreduce:
               DBUG_ASSERT(lex->describe);
             }
           }
+#line 29509 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1585:
-
-/* Line 1455 of yacc.c  */
-#line 10731 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10731 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (! Lex->parsing_options.allows_select_into)
             {
@@ -31906,145 +29517,133 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 29521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1587:
-
-/* Line 1455 of yacc.c  */
-#line 10743 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10743 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
-            if (!(lex->exchange= new sql_exchange((yyvsp[(2) - (2)].lex_str).str, 0)) ||
+            if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0)) ||
                 !(lex->result= new select_export(lex->exchange)))
               MYSQL_YYABORT;
           }
+#line 29533 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1588:
-
-/* Line 1455 of yacc.c  */
-#line 10751 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->exchange->cs= (yyvsp[(4) - (4)].charset); }
+#line 10751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->exchange->cs= (yyvsp[0].charset); }
+#line 29539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1590:
-
-/* Line 1455 of yacc.c  */
-#line 10754 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->describe)
             {
               lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
-              if (!(lex->exchange= new sql_exchange((yyvsp[(2) - (2)].lex_str).str,1)))
+              if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str,1)))
                 MYSQL_YYABORT;
               if (!(lex->result= new select_dump(lex->exchange)))
                 MYSQL_YYABORT;
             }
           }
+#line 29555 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1591:
-
-/* Line 1455 of yacc.c  */
-#line 10766 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
           }
+#line 29563 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1592:
-
-/* Line 1455 of yacc.c  */
-#line 10777 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10777 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_DO;
             mysql_init_select(lex);
           }
+#line 29573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1593:
-
-/* Line 1455 of yacc.c  */
-#line 10783 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10783 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->insert_list= (yyvsp[(3) - (3)].item_list);
+            Lex->insert_list= (yyvsp[0].item_list);
           }
+#line 29581 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1594:
-
-/* Line 1455 of yacc.c  */
-#line 10794 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_DROP_TABLE;
-            lex->drop_temporary= (yyvsp[(2) - (4)].num);
-            lex->drop_if_exists= (yyvsp[(4) - (4)].num);
+            lex->drop_temporary= (yyvsp[-2].num);
+            lex->drop_if_exists= (yyvsp[0].num);
             YYPS->m_lock_type= TL_UNLOCK;
             YYPS->m_mdl_type= MDL_EXCLUSIVE;
           }
+#line 29594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1595:
-
-/* Line 1455 of yacc.c  */
-#line 10803 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10803 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1596:
-
-/* Line 1455 of yacc.c  */
-#line 10804 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10804 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1597:
-
-/* Line 1455 of yacc.c  */
-#line 10805 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10805 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[(3) - (6)].lex_str).str);
+            Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[-3].lex_str).str);
             if (ad == NULL)
               MYSQL_YYABORT;
             lex->sql_command= SQLCOM_DROP_INDEX;
             lex->alter_info.reset();
             lex->alter_info.flags= ALTER_DROP_INDEX;
             lex->alter_info.drop_list.push_back(ad);
-            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(5) - (6)].table), NULL,
+            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), NULL,
                                                         TL_OPTION_UPDATING,
                                                         TL_READ_NO_INSERT,
                                                         MDL_SHARED_NO_WRITE))
               MYSQL_YYABORT;
           }
+#line 29626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1598:
-
-/* Line 1455 of yacc.c  */
-#line 10821 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10821 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_DROP_DB;
-            lex->drop_if_exists=(yyvsp[(3) - (4)].num);
-            lex->name= (yyvsp[(4) - (4)].lex_str);
+            lex->drop_if_exists=(yyvsp[-1].num);
+            lex->name= (yyvsp[0].lex_str);
           }
+#line 29637 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1599:
-
-/* Line 1455 of yacc.c  */
-#line 10828 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             sp_name *spname;
-            if ((yyvsp[(4) - (6)].lex_str).str && check_db_name(&(yyvsp[(4) - (6)].lex_str)))
+            if ((yyvsp[-2].lex_str).str && check_db_name(&(yyvsp[-2].lex_str)))
             {
-               my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(4) - (6)].lex_str).str);
+               my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-2].lex_str).str);
                MYSQL_YYABORT;
             }
             if (lex->sphead)
@@ -32053,19 +29652,18 @@ yyreduce:
               MYSQL_YYABORT;
             }
             lex->sql_command = SQLCOM_DROP_FUNCTION;
-            lex->drop_if_exists= (yyvsp[(3) - (6)].num);
-            spname= new sp_name((yyvsp[(4) - (6)].lex_str), (yyvsp[(6) - (6)].lex_str), true);
+            lex->drop_if_exists= (yyvsp[-3].num);
+            spname= new sp_name((yyvsp[-2].lex_str), (yyvsp[0].lex_str), true);
             if (spname == NULL)
               MYSQL_YYABORT;
             spname->init_qname(thd);
             lex->spname= spname;
           }
+#line 29663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1600:
-
-/* Line 1455 of yacc.c  */
-#line 10850 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             LEX_STRING db= {0, 0};
@@ -32078,19 +29676,18 @@ yyreduce:
             if (thd->db && lex->copy_db_to(&db.str, &db.length))
               MYSQL_YYABORT;
             lex->sql_command = SQLCOM_DROP_FUNCTION;
-            lex->drop_if_exists= (yyvsp[(3) - (4)].num);
-            spname= new sp_name(db, (yyvsp[(4) - (4)].lex_str), false);
+            lex->drop_if_exists= (yyvsp[-1].num);
+            spname= new sp_name(db, (yyvsp[0].lex_str), false);
             if (spname == NULL)
               MYSQL_YYABORT;
             spname->init_qname(thd);
             lex->spname= spname;
           }
+#line 29687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1601:
-
-/* Line 1455 of yacc.c  */
-#line 10870 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->sphead)
@@ -32099,211 +29696,190 @@ yyreduce:
               MYSQL_YYABORT;
             }
             lex->sql_command = SQLCOM_DROP_PROCEDURE;
-            lex->drop_if_exists= (yyvsp[(3) - (4)].num);
-            lex->spname= (yyvsp[(4) - (4)].spname);
+            lex->drop_if_exists= (yyvsp[-1].num);
+            lex->spname= (yyvsp[0].spname);
           }
+#line 29703 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1602:
-
-/* Line 1455 of yacc.c  */
-#line 10882 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10882 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_DROP_USER;
           }
+#line 29711 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1603:
-
-/* Line 1455 of yacc.c  */
-#line 10886 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10886 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_DROP_VIEW;
-            lex->drop_if_exists= (yyvsp[(3) - (3)].num);
+            lex->drop_if_exists= (yyvsp[0].num);
             YYPS->m_lock_type= TL_UNLOCK;
             YYPS->m_mdl_type= MDL_EXCLUSIVE;
           }
+#line 29723 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1604:
-
-/* Line 1455 of yacc.c  */
-#line 10894 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29729 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1605:
-
-/* Line 1455 of yacc.c  */
-#line 10896 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10896 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->drop_if_exists= (yyvsp[(3) - (4)].num);
-            Lex->spname= (yyvsp[(4) - (4)].spname);
+            Lex->drop_if_exists= (yyvsp[-1].num);
+            Lex->spname= (yyvsp[0].spname);
             Lex->sql_command = SQLCOM_DROP_EVENT;
           }
+#line 29739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1606:
-
-/* Line 1455 of yacc.c  */
-#line 10902 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_DROP_TRIGGER;
-            lex->drop_if_exists= (yyvsp[(3) - (4)].num);
-            lex->spname= (yyvsp[(4) - (4)].spname);
+            lex->drop_if_exists= (yyvsp[-1].num);
+            lex->spname= (yyvsp[0].spname);
           }
+#line 29750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1607:
-
-/* Line 1455 of yacc.c  */
-#line 10909 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE;
           }
+#line 29759 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1608:
-
-/* Line 1455 of yacc.c  */
-#line 10914 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP;
           }
+#line 29768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1609:
-
-/* Line 1455 of yacc.c  */
-#line 10919 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_DROP_SERVER;
-            Lex->drop_if_exists= (yyvsp[(3) - (4)].num);
-            Lex->server_options.server_name= (yyvsp[(4) - (4)].lex_str).str;
-            Lex->server_options.server_name_length= (yyvsp[(4) - (4)].lex_str).length;
+            Lex->drop_if_exists= (yyvsp[-1].num);
+            Lex->server_options.server_name= (yyvsp[0].lex_str).str;
+            Lex->server_options.server_name_length= (yyvsp[0].lex_str).length;
           }
+#line 29779 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1612:
-
-/* Line 1455 of yacc.c  */
-#line 10934 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (1)].table), NULL,
+            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
                                            TL_OPTION_UPDATING,
                                            YYPS->m_lock_type,
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
+#line 29791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1615:
-
-/* Line 1455 of yacc.c  */
-#line 10950 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10950 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (1)].table), NULL,
+            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL,
                                            TL_OPTION_UPDATING | TL_OPTION_ALIAS,
                                            YYPS->m_lock_type,
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
+#line 29803 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1616:
-
-/* Line 1455 of yacc.c  */
-#line 10960 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 29809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1617:
-
-/* Line 1455 of yacc.c  */
-#line 10961 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10961 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 29815 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1618:
-
-/* Line 1455 of yacc.c  */
-#line 10965 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10965 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 29821 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1619:
-
-/* Line 1455 of yacc.c  */
-#line 10966 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 29827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1620:
-
-/* Line 1455 of yacc.c  */
-#line 10974 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_INSERT;
             lex->duplicates= DUP_ERROR; 
             mysql_init_select(lex);
           }
+#line 29838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1621:
-
-/* Line 1455 of yacc.c  */
-#line 10982 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10982 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Select->set_lock_for_tables((yyvsp[(3) - (5)].lock_type));
+            Select->set_lock_for_tables((yyvsp[-2].lock_type));
             Lex->current_select= &Lex->select_lex;
           }
+#line 29847 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1622:
-
-/* Line 1455 of yacc.c  */
-#line 10987 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10987 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29853 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1623:
-
-/* Line 1455 of yacc.c  */
-#line 10992 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10992 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_REPLACE;
             lex->duplicates= DUP_REPLACE;
             mysql_init_select(lex);
           }
+#line 29864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1624:
-
-/* Line 1455 of yacc.c  */
-#line 10999 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 10999 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Select->set_lock_for_tables((yyvsp[(3) - (4)].lock_type));
+            Select->set_lock_for_tables((yyvsp[-1].lock_type));
             Lex->current_select= &Lex->select_lex;
           }
+#line 29873 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1625:
-
-/* Line 1455 of yacc.c  */
-#line 11004 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11004 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1626:
-
-/* Line 1455 of yacc.c  */
-#line 11009 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               If it is SP we do not allow insert optimisation when result of
@@ -32312,19 +29888,17 @@ yyreduce:
             */
             (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
           }
+#line 29892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1627:
-
-/* Line 1455 of yacc.c  */
-#line 11017 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
+#line 29898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1628:
-
-/* Line 1455 of yacc.c  */
-#line 11019 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
                                                     thd->query());
@@ -32332,26 +29906,23 @@ yyreduce:
                                            YYLIP->yyLength() + 1;
           (yyval.lock_type)= TL_WRITE_DELAYED;
         }
+#line 29910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1629:
-
-/* Line 1455 of yacc.c  */
-#line 11026 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE; }
+#line 29916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1630:
-
-/* Line 1455 of yacc.c  */
-#line 11030 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lock_type)= (yyvsp[(1) - (1)].lock_type); }
+#line 11030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lock_type)= (yyvsp[0].lock_type); }
+#line 29922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1631:
-
-/* Line 1455 of yacc.c  */
-#line 11032 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() -
                                                     thd->query());
@@ -32359,252 +29930,222 @@ yyreduce:
                                            YYLIP->yyLength() + 1;
           (yyval.lock_type)= TL_WRITE_DELAYED;
         }
+#line 29934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1632:
-
-/* Line 1455 of yacc.c  */
-#line 11042 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1633:
-
-/* Line 1455 of yacc.c  */
-#line 11043 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1634:
-
-/* Line 1455 of yacc.c  */
-#line 11048 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->field_list.empty();
             lex->many_values.empty();
             lex->insert_list=0;
           }
+#line 29957 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1635:
-
-/* Line 1455 of yacc.c  */
-#line 11056 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29963 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1636:
-
-/* Line 1455 of yacc.c  */
-#line 11057 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29969 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1637:
-
-/* Line 1455 of yacc.c  */
-#line 11058 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 29975 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1638:
-
-/* Line 1455 of yacc.c  */
-#line 11060 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!(lex->insert_list = new List_item) ||
                 lex->many_values.push_back(lex->insert_list))
               MYSQL_YYABORT;
           }
+#line 29986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1640:
-
-/* Line 1455 of yacc.c  */
-#line 11070 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); }
+#line 11070 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->field_list.push_back((yyvsp[0].item)); }
+#line 29992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1641:
-
-/* Line 1455 of yacc.c  */
-#line 11071 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); }
+#line 11071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->field_list.push_back((yyvsp[0].item)); }
+#line 29998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1642:
-
-/* Line 1455 of yacc.c  */
-#line 11075 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11075 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1643:
-
-/* Line 1455 of yacc.c  */
-#line 11076 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11076 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1644:
-
-/* Line 1455 of yacc.c  */
-#line 11078 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(0);}
+#line 30016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1645:
-
-/* Line 1455 of yacc.c  */
-#line 11079 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1646:
-
-/* Line 1455 of yacc.c  */
-#line 11081 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->set_braces(1);}
+#line 30028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1647:
-
-/* Line 1455 of yacc.c  */
-#line 11082 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1652:
-
-/* Line 1455 of yacc.c  */
-#line 11097 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            if (lex->field_list.push_back((yyvsp[(1) - (3)].item)) ||
-                lex->insert_list->push_back((yyvsp[(3) - (3)].item)))
+            if (lex->field_list.push_back((yyvsp[-2].item)) ||
+                lex->insert_list->push_back((yyvsp[0].item)))
               MYSQL_YYABORT;
           }
+#line 30045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1653:
-
-/* Line 1455 of yacc.c  */
-#line 11106 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1654:
-
-/* Line 1455 of yacc.c  */
-#line 11107 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1655:
-
-/* Line 1455 of yacc.c  */
-#line 11111 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1656:
-
-/* Line 1455 of yacc.c  */
-#line 11112 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1657:
-
-/* Line 1455 of yacc.c  */
-#line 11117 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
               if (!(Lex->insert_list = new List_item))
                 MYSQL_YYABORT;
           }
+#line 30078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1658:
-
-/* Line 1455 of yacc.c  */
-#line 11122 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->many_values.push_back(lex->insert_list))
               MYSQL_YYABORT;
           }
+#line 30088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1659:
-
-/* Line 1455 of yacc.c  */
-#line 11130 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1661:
-
-/* Line 1455 of yacc.c  */
-#line 11136 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->insert_list->push_back((yyvsp[(3) - (3)].item)))
+            if (Lex->insert_list->push_back((yyvsp[0].item)))
               MYSQL_YYABORT;
           }
+#line 30103 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1662:
-
-/* Line 1455 of yacc.c  */
-#line 11141 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->insert_list->push_back((yyvsp[(1) - (1)].item)))
+            if (Lex->insert_list->push_back((yyvsp[0].item)))
               MYSQL_YYABORT;
           }
+#line 30112 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1663:
-
-/* Line 1455 of yacc.c  */
-#line 11148 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(1) - (1)].item);}
+#line 11148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item);}
+#line 30118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1664:
-
-/* Line 1455 of yacc.c  */
-#line 11150 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_default_value(Lex->current_context());
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 30128 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1666:
-
-/* Line 1455 of yacc.c  */
-#line 11159 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->duplicates= DUP_UPDATE; }
+#line 30134 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1668:
-
-/* Line 1455 of yacc.c  */
-#line 11167 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             mysql_init_select(lex);
             lex->sql_command= SQLCOM_UPDATE;
             lex->duplicates= DUP_ERROR; 
           }
+#line 30145 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1669:
-
-/* Line 1455 of yacc.c  */
-#line 11175 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->select_lex.table_list.elements > 1)
@@ -32621,57 +30162,51 @@ yyreduce:
               be too pessimistic. We will decrease lock level if possible in
               mysql_multi_update().
             */
-            Select->set_lock_for_tables((yyvsp[(3) - (7)].lock_type));
+            Select->set_lock_for_tables((yyvsp[-4].lock_type));
           }
+#line 30168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1670:
-
-/* Line 1455 of yacc.c  */
-#line 11193 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1673:
-
-/* Line 1455 of yacc.c  */
-#line 11203 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_item_to_list(thd, (yyvsp[(1) - (3)].item)) || add_value_to_list(thd, (yyvsp[(3) - (3)].item)))
+            if (add_item_to_list(thd, (yyvsp[-2].item)) || add_value_to_list(thd, (yyvsp[0].item)))
               MYSQL_YYABORT;
           }
+#line 30183 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1676:
-
-/* Line 1455 of yacc.c  */
-#line 11216 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           LEX *lex= Lex;
-          if (lex->update_list.push_back((yyvsp[(1) - (3)].item)) || 
-              lex->value_list.push_back((yyvsp[(3) - (3)].item)))
+          if (lex->update_list.push_back((yyvsp[-2].item)) || 
+              lex->value_list.push_back((yyvsp[0].item)))
               MYSQL_YYABORT;
           }
+#line 30194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1677:
-
-/* Line 1455 of yacc.c  */
-#line 11225 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_DEFAULT; }
+#line 30200 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1678:
-
-/* Line 1455 of yacc.c  */
-#line 11226 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
+#line 30206 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1679:
-
-/* Line 1455 of yacc.c  */
-#line 11233 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_DELETE;
@@ -32682,77 +30217,70 @@ yyreduce:
             lex->ignore= 0;
             lex->select_lex.init_order();
           }
+#line 30221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1681:
-
-/* Line 1455 of yacc.c  */
-#line 11248 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (!Select->add_table_to_list(thd, (yyvsp[(2) - (2)].table), NULL, TL_OPTION_UPDATING,
+            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
                                            YYPS->m_lock_type,
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
             YYPS->m_lock_type= TL_READ_DEFAULT;
             YYPS->m_mdl_type= MDL_SHARED_READ;
           }
+#line 30234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1682:
-
-/* Line 1455 of yacc.c  */
-#line 11257 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1683:
-
-/* Line 1455 of yacc.c  */
-#line 11259 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             mysql_init_multi_delete(Lex);
             YYPS->m_lock_type= TL_READ_DEFAULT;
             YYPS->m_mdl_type= MDL_SHARED_READ;
           }
+#line 30250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1684:
-
-/* Line 1455 of yacc.c  */
-#line 11265 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (multi_delete_set_locks_and_link_aux_tables(Lex))
               MYSQL_YYABORT;
           }
+#line 30259 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1685:
-
-/* Line 1455 of yacc.c  */
-#line 11270 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             mysql_init_multi_delete(Lex);
             YYPS->m_lock_type= TL_READ_DEFAULT;
             YYPS->m_mdl_type= MDL_SHARED_READ;
           }
+#line 30269 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1686:
-
-/* Line 1455 of yacc.c  */
-#line 11276 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (multi_delete_set_locks_and_link_aux_tables(Lex))
               MYSQL_YYABORT;
           }
+#line 30278 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1689:
-
-/* Line 1455 of yacc.c  */
-#line 11289 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Table_ident *ti= new Table_ident((yyvsp[(1) - (2)].lex_str));
+            Table_ident *ti= new Table_ident((yyvsp[-1].lex_str));
             if (ti == NULL)
               MYSQL_YYABORT;
             if (!Select->add_table_to_list(thd,
@@ -32763,14 +30291,13 @@ yyreduce:
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
+#line 30295 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1690:
-
-/* Line 1455 of yacc.c  */
-#line 11302 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Table_ident *ti= new Table_ident(thd, (yyvsp[(1) - (4)].lex_str), (yyvsp[(3) - (4)].lex_str), 0);
+            Table_ident *ti= new Table_ident(thd, (yyvsp[-3].lex_str), (yyvsp[-1].lex_str), 0);
             if (ti == NULL)
               MYSQL_YYABORT;
             if (!Select->add_table_to_list(thd,
@@ -32781,61 +30308,53 @@ yyreduce:
                                            YYPS->m_mdl_type))
               MYSQL_YYABORT;
           }
+#line 30312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1691:
-
-/* Line 1455 of yacc.c  */
-#line 11317 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1692:
-
-/* Line 1455 of yacc.c  */
-#line 11318 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1693:
-
-/* Line 1455 of yacc.c  */
-#line 11322 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1694:
-
-/* Line 1455 of yacc.c  */
-#line 11323 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 30336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1695:
-
-/* Line 1455 of yacc.c  */
-#line 11327 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= OPTION_QUICK; }
+#line 30342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1696:
-
-/* Line 1455 of yacc.c  */
-#line 11328 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; }
+#line 30348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1697:
-
-/* Line 1455 of yacc.c  */
-#line 11329 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1; }
+#line 30354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1698:
-
-/* Line 1455 of yacc.c  */
-#line 11334 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= Lex;
             lex->sql_command= SQLCOM_TRUNCATE;
@@ -32846,12 +30365,11 @@ yyreduce:
             YYPS->m_lock_type= TL_WRITE;
             YYPS->m_mdl_type= MDL_EXCLUSIVE;
           }
+#line 30369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1699:
-
-/* Line 1455 of yacc.c  */
-#line 11345 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX* lex= thd->lex;
             DBUG_ASSERT(!lex->m_stmt);
@@ -32859,111 +30377,99 @@ yyreduce:
             if (lex->m_stmt == NULL)
               MYSQL_YYABORT;
           }
+#line 30381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1706:
-
-/* Line 1455 of yacc.c  */
-#line 11369 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_CPU;
     }
+#line 30389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1707:
-
-/* Line 1455 of yacc.c  */
-#line 11373 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11373 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_MEMORY;
     }
+#line 30397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1708:
-
-/* Line 1455 of yacc.c  */
-#line 11377 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11377 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_BLOCK_IO;
     }
+#line 30405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1709:
-
-/* Line 1455 of yacc.c  */
-#line 11381 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_CONTEXT;
     }
+#line 30413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1710:
-
-/* Line 1455 of yacc.c  */
-#line 11385 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11385 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_PAGE_FAULTS;
     }
+#line 30421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1711:
-
-/* Line 1455 of yacc.c  */
-#line 11389 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_IPC;
     }
+#line 30429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1712:
-
-/* Line 1455 of yacc.c  */
-#line 11393 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_SWAPS;
     }
+#line 30437 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1713:
-
-/* Line 1455 of yacc.c  */
-#line 11397 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11397 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_SOURCE;
     }
+#line 30445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1714:
-
-/* Line 1455 of yacc.c  */
-#line 11401 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_options|= PROFILE_ALL;
     }
+#line 30453 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1715:
-
-/* Line 1455 of yacc.c  */
-#line 11408 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11408 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
       Lex->profile_query_id= 0;
     }
+#line 30461 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1716:
-
-/* Line 1455 of yacc.c  */
-#line 11412 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11412 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-      Lex->profile_query_id= atoi((yyvsp[(3) - (3)].lex_str).str);
+      Lex->profile_query_id= atoi((yyvsp[0].lex_str).str);
     }
+#line 30469 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1717:
-
-/* Line 1455 of yacc.c  */
-#line 11421 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11421 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->wild=0;
@@ -32971,202 +30477,184 @@ yyreduce:
             lex->current_select->parsing_place= SELECT_LIST;
             bzero((char*) &lex->create_info,sizeof(lex->create_info));
           }
+#line 30481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1718:
-
-/* Line 1455 of yacc.c  */
-#line 11429 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11429 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
+#line 30489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1719:
-
-/* Line 1455 of yacc.c  */
-#line 11436 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11436 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_DATABASES;
              if (prepare_schema_table(thd, lex, 0, SCH_SCHEMATA))
                MYSQL_YYABORT;
            }
+#line 30500 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1720:
-
-/* Line 1455 of yacc.c  */
-#line 11443 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11443 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TABLES;
-             lex->select_lex.db= (yyvsp[(3) - (4)].simple_string);
+             lex->select_lex.db= (yyvsp[-1].simple_string);
              if (prepare_schema_table(thd, lex, 0, SCH_TABLE_NAMES))
                MYSQL_YYABORT;
            }
+#line 30512 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1721:
-
-/* Line 1455 of yacc.c  */
-#line 11451 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TRIGGERS;
-             lex->select_lex.db= (yyvsp[(3) - (4)].simple_string);
+             lex->select_lex.db= (yyvsp[-1].simple_string);
              if (prepare_schema_table(thd, lex, 0, SCH_TRIGGERS))
                MYSQL_YYABORT;
            }
+#line 30524 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1722:
-
-/* Line 1455 of yacc.c  */
-#line 11459 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11459 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_EVENTS;
-             lex->select_lex.db= (yyvsp[(2) - (3)].simple_string);
+             lex->select_lex.db= (yyvsp[-1].simple_string);
              if (prepare_schema_table(thd, lex, 0, SCH_EVENTS))
                MYSQL_YYABORT;
            }
+#line 30536 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1723:
-
-/* Line 1455 of yacc.c  */
-#line 11467 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11467 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TABLE_STATUS;
-             lex->select_lex.db= (yyvsp[(3) - (4)].simple_string);
+             lex->select_lex.db= (yyvsp[-1].simple_string);
              if (prepare_schema_table(thd, lex, 0, SCH_TABLES))
                MYSQL_YYABORT;
            }
+#line 30548 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1724:
-
-/* Line 1455 of yacc.c  */
-#line 11475 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11475 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_OPEN_TABLES;
-            lex->select_lex.db= (yyvsp[(3) - (4)].simple_string);
+            lex->select_lex.db= (yyvsp[-1].simple_string);
             if (prepare_schema_table(thd, lex, 0, SCH_OPEN_TABLES))
               MYSQL_YYABORT;
           }
+#line 30560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1725:
-
-/* Line 1455 of yacc.c  */
-#line 11483 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_PLUGINS;
             if (prepare_schema_table(thd, lex, 0, SCH_PLUGINS))
               MYSQL_YYABORT;
           }
+#line 30571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1726:
-
-/* Line 1455 of yacc.c  */
-#line 11490 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->create_info.db_type= (yyvsp[(2) - (3)].db_type); }
+#line 11490 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->create_info.db_type= (yyvsp[-1].db_type); }
+#line 30577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1727:
-
-/* Line 1455 of yacc.c  */
-#line 11492 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_info.db_type= NULL; }
+#line 30583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1728:
-
-/* Line 1455 of yacc.c  */
-#line 11494 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_FIELDS;
-            if ((yyvsp[(5) - (6)].simple_string))
-              (yyvsp[(4) - (6)].table)->change_db((yyvsp[(5) - (6)].simple_string));
-            if (prepare_schema_table(thd, lex, (yyvsp[(4) - (6)].table), SCH_COLUMNS))
+            if ((yyvsp[-1].simple_string))
+              (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
+            if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_COLUMNS))
               MYSQL_YYABORT;
           }
+#line 30596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1729:
-
-/* Line 1455 of yacc.c  */
-#line 11503 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11503 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_BINLOGS;
           }
+#line 30604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1730:
-
-/* Line 1455 of yacc.c  */
-#line 11507 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11507 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS;
           }
+#line 30612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1731:
-
-/* Line 1455 of yacc.c  */
-#line 11511 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11511 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
           }
+#line 30621 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1733:
-
-/* Line 1455 of yacc.c  */
-#line 11516 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11516 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS;
           }
+#line 30630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1735:
-
-/* Line 1455 of yacc.c  */
-#line 11521 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11521 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_KEYS;
-            if ((yyvsp[(4) - (5)].simple_string))
-              (yyvsp[(3) - (5)].table)->change_db((yyvsp[(4) - (5)].simple_string));
-            if (prepare_schema_table(thd, lex, (yyvsp[(3) - (5)].table), SCH_STATISTICS))
+            if ((yyvsp[-1].simple_string))
+              (yyvsp[-2].table)->change_db((yyvsp[-1].simple_string));
+            if (prepare_schema_table(thd, lex, (yyvsp[-2].table), SCH_STATISTICS))
               MYSQL_YYABORT;
           }
+#line 30643 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1736:
-
-/* Line 1455 of yacc.c  */
-#line 11530 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES;
             if (prepare_schema_table(thd, lex, 0, SCH_ENGINES))
               MYSQL_YYABORT;
           }
+#line 30654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1737:
-
-/* Line 1455 of yacc.c  */
-#line 11537 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_AUTHORS;
@@ -33175,12 +30663,11 @@ yyreduce:
                                 ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
                                 "SHOW AUTHORS");
           }
+#line 30667 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1738:
-
-/* Line 1455 of yacc.c  */
-#line 11546 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11546 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS;
@@ -33189,126 +30676,113 @@ yyreduce:
                                 ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT),
                                 "SHOW CONTRIBUTORS");
           }
+#line 30680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1739:
-
-/* Line 1455 of yacc.c  */
-#line 11555 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11555 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_PRIVILEGES;
           }
+#line 30689 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1740:
-
-/* Line 1455 of yacc.c  */
-#line 11560 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11560 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (void) create_select_for_variable("warning_count"); }
+#line 30695 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1741:
-
-/* Line 1455 of yacc.c  */
-#line 11562 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11562 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (void) create_select_for_variable("error_count"); }
+#line 30701 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1742:
-
-/* Line 1455 of yacc.c  */
-#line 11564 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11564 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command = SQLCOM_SHOW_WARNS;}
+#line 30707 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1743:
-
-/* Line 1455 of yacc.c  */
-#line 11566 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11566 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command = SQLCOM_SHOW_ERRORS;}
+#line 30713 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1744:
-
-/* Line 1455 of yacc.c  */
-#line 11568 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command = SQLCOM_SHOW_PROFILES; }
+#line 30719 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1745:
-
-/* Line 1455 of yacc.c  */
-#line 11570 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_PROFILE;
             if (prepare_schema_table(thd, lex, NULL, SCH_PROFILES) != 0)
               YYABORT;
           }
+#line 30730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1746:
-
-/* Line 1455 of yacc.c  */
-#line 11577 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_STATUS;
-            lex->option_type= (yyvsp[(1) - (3)].var_type);
+            lex->option_type= (yyvsp[-2].var_type);
             if (prepare_schema_table(thd, lex, 0, SCH_STATUS))
               MYSQL_YYABORT;
           }
+#line 30742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1747:
-
-/* Line 1455 of yacc.c  */
-#line 11585 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11585 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;}
+#line 30748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1748:
-
-/* Line 1455 of yacc.c  */
-#line 11587 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11587 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_VARIABLES;
-            lex->option_type= (yyvsp[(1) - (3)].var_type);
+            lex->option_type= (yyvsp[-2].var_type);
             if (prepare_schema_table(thd, lex, 0, SCH_VARIABLES))
               MYSQL_YYABORT;
           }
+#line 30760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1749:
-
-/* Line 1455 of yacc.c  */
-#line 11595 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11595 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_CHARSETS;
             if (prepare_schema_table(thd, lex, 0, SCH_CHARSETS))
               MYSQL_YYABORT;
           }
+#line 30771 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1750:
-
-/* Line 1455 of yacc.c  */
-#line 11602 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11602 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_COLLATIONS;
             if (prepare_schema_table(thd, lex, 0, SCH_COLLATIONS))
               MYSQL_YYABORT;
           }
+#line 30782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1751:
-
-/* Line 1455 of yacc.c  */
-#line 11609 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_GRANTS;
@@ -33318,316 +30792,284 @@ yyreduce:
             bzero(curr_user, sizeof(st_lex_user));
             lex->grant_user= curr_user;
           }
+#line 30796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1752:
-
-/* Line 1455 of yacc.c  */
-#line 11619 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11619 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SHOW_GRANTS;
-            lex->grant_user=(yyvsp[(3) - (3)].lex_user);
+            lex->grant_user=(yyvsp[0].lex_user);
             lex->grant_user->password=null_lex_str;
           }
+#line 30807 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1753:
-
-/* Line 1455 of yacc.c  */
-#line 11626 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11626 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
-            Lex->create_info.options=(yyvsp[(3) - (4)].num);
-            Lex->name= (yyvsp[(4) - (4)].lex_str);
+            Lex->create_info.options=(yyvsp[-1].num);
+            Lex->name= (yyvsp[0].lex_str);
           }
+#line 30817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1754:
-
-/* Line 1455 of yacc.c  */
-#line 11632 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11632 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command = SQLCOM_SHOW_CREATE;
-            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(3) - (3)].table), NULL,0))
+            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,0))
               MYSQL_YYABORT;
             lex->create_info.storage_media= HA_SM_DEFAULT;
           }
+#line 30829 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1755:
-
-/* Line 1455 of yacc.c  */
-#line 11640 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11640 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command = SQLCOM_SHOW_CREATE;
-            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(3) - (3)].table), NULL, 0))
+            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL, 0))
               MYSQL_YYABORT;
             lex->only_view= 1;
           }
+#line 30841 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1756:
-
-/* Line 1455 of yacc.c  */
-#line 11648 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
           }
+#line 30849 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1757:
-
-/* Line 1455 of yacc.c  */
-#line 11652 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11652 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
           }
+#line 30857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1758:
-
-/* Line 1455 of yacc.c  */
-#line 11656 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11656 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
            LEX *lex= Lex;
            lex->sql_command= SQLCOM_SHOW_CLIENT_STATS;
            if (prepare_schema_table(thd, lex, 0, SCH_CLIENT_STATS))
              MYSQL_YYABORT;
           }
+#line 30868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1759:
-
-/* Line 1455 of yacc.c  */
-#line 11663 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11663 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_USER_STATS;
              if (prepare_schema_table(thd, lex, 0, SCH_USER_STATS))
                MYSQL_YYABORT;
           }
+#line 30879 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1760:
-
-/* Line 1455 of yacc.c  */
-#line 11670 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11670 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_TABLE_STATS;
              if (prepare_schema_table(thd, lex, 0, SCH_TABLE_STATS))
                MYSQL_YYABORT;
           }
+#line 30890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1761:
-
-/* Line 1455 of yacc.c  */
-#line 11677 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11677 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
              LEX *lex= Lex;
              lex->sql_command= SQLCOM_SHOW_INDEX_STATS;
              if (prepare_schema_table(thd, lex, 0, SCH_INDEX_STATS))
                MYSQL_YYABORT;
           }
+#line 30901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1762:
-
-/* Line 1455 of yacc.c  */
-#line 11684 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sql_command = SQLCOM_SHOW_CREATE_PROC;
-            lex->spname= (yyvsp[(3) - (3)].spname);
+            lex->spname= (yyvsp[0].spname);
           }
+#line 30912 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1763:
-
-/* Line 1455 of yacc.c  */
-#line 11691 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11691 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
             lex->sql_command = SQLCOM_SHOW_CREATE_FUNC;
-            lex->spname= (yyvsp[(3) - (3)].spname);
+            lex->spname= (yyvsp[0].spname);
           }
+#line 30923 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1764:
-
-/* Line 1455 of yacc.c  */
-#line 11698 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11698 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER;
-            lex->spname= (yyvsp[(3) - (3)].spname);
+            lex->spname= (yyvsp[0].spname);
           }
+#line 30933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1765:
-
-/* Line 1455 of yacc.c  */
-#line 11704 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_STATUS_PROC;
             if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
               MYSQL_YYABORT;
           }
+#line 30944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1766:
-
-/* Line 1455 of yacc.c  */
-#line 11711 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11711 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_SHOW_STATUS_FUNC;
             if (prepare_schema_table(thd, lex, 0, SCH_PROCEDURES))
               MYSQL_YYABORT;
           }
+#line 30955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1767:
-
-/* Line 1455 of yacc.c  */
-#line 11718 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11718 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_PROC_CODE;
-            Lex->spname= (yyvsp[(3) - (3)].spname);
+            Lex->spname= (yyvsp[0].spname);
           }
+#line 30964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1768:
-
-/* Line 1455 of yacc.c  */
-#line 11723 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11723 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command= SQLCOM_SHOW_FUNC_CODE;
-            Lex->spname= (yyvsp[(3) - (3)].spname);
+            Lex->spname= (yyvsp[0].spname);
           }
+#line 30973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1769:
-
-/* Line 1455 of yacc.c  */
-#line 11728 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11728 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->spname= (yyvsp[(3) - (3)].spname);
+            Lex->spname= (yyvsp[0].spname);
             Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT;
           }
+#line 30982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1770:
-
-/* Line 1455 of yacc.c  */
-#line 11736 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11736 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; }
+#line 30988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1771:
-
-/* Line 1455 of yacc.c  */
-#line 11738 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11738 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; }
+#line 30994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1772:
-
-/* Line 1455 of yacc.c  */
-#line 11740 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11740 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; }
+#line 31000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1777:
-
-/* Line 1455 of yacc.c  */
-#line 11754 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11754 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.simple_string)= 0; }
+#line 31006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1778:
-
-/* Line 1455 of yacc.c  */
-#line 11755 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.simple_string)= (yyvsp[(2) - (2)].lex_str).str; }
+#line 11755 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.simple_string)= (yyvsp[0].lex_str).str; }
+#line 31012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1779:
-
-/* Line 1455 of yacc.c  */
-#line 11759 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11759 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->verbose=0; }
+#line 31018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1780:
-
-/* Line 1455 of yacc.c  */
-#line 11760 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11760 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->verbose=1; }
+#line 31024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1783:
-
-/* Line 1455 of yacc.c  */
-#line 11769 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->mi.log_file_name = 0; }
+#line 31030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1784:
-
-/* Line 1455 of yacc.c  */
-#line 11770 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->mi.log_file_name = (yyvsp[(2) - (2)].lex_str).str; }
+#line 11770 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->mi.log_file_name = (yyvsp[0].lex_str).str; }
+#line 31036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1785:
-
-/* Line 1455 of yacc.c  */
-#line 11774 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11774 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->mi.pos = 4; /* skip magic number */ }
+#line 31042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1786:
-
-/* Line 1455 of yacc.c  */
-#line 11775 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->mi.pos = (yyvsp[(2) - (2)].ulonglong_number); }
+#line 11775 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->mi.pos = (yyvsp[0].ulonglong_number); }
+#line 31048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1788:
-
-/* Line 1455 of yacc.c  */
-#line 11781 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->wild= new (thd->mem_root) String((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length,
+            Lex->wild= new (thd->mem_root) String((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
                                                     system_charset_info);
             if (Lex->wild == NULL)
               MYSQL_YYABORT;
           }
+#line 31059 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1789:
-
-/* Line 1455 of yacc.c  */
-#line 11788 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11788 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Select->where= normalize_cond((yyvsp[(2) - (2)].item));
-            if ((yyvsp[(2) - (2)].item))
-              (yyvsp[(2) - (2)].item)->top_level_item();
+            Select->where= normalize_cond((yyvsp[0].item));
+            if ((yyvsp[0].item))
+              (yyvsp[0].item)->top_level_item();
           }
+#line 31069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1790:
-
-/* Line 1455 of yacc.c  */
-#line 11798 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11798 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             mysql_init_select(lex);
@@ -33635,108 +31077,96 @@ yyreduce:
             lex->sql_command= SQLCOM_SHOW_FIELDS;
             lex->select_lex.db= 0;
             lex->verbose= 0;
-            if (prepare_schema_table(thd, lex, (yyvsp[(2) - (2)].table), SCH_COLUMNS))
+            if (prepare_schema_table(thd, lex, (yyvsp[0].table), SCH_COLUMNS))
               MYSQL_YYABORT;
           }
+#line 31084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1791:
-
-/* Line 1455 of yacc.c  */
-#line 11809 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11809 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Select->parsing_place= NO_MATTER;
           }
+#line 31092 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1792:
-
-/* Line 1455 of yacc.c  */
-#line 11813 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11813 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->describe|= DESCRIBE_NORMAL; }
+#line 31098 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1793:
-
-/* Line 1455 of yacc.c  */
-#line 11815 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11815 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->select_lex.options|= SELECT_DESCRIBE;
           }
+#line 31107 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1796:
-
-/* Line 1455 of yacc.c  */
-#line 11827 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11827 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1797:
-
-/* Line 1455 of yacc.c  */
-#line 11828 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->describe|= DESCRIBE_EXTENDED; }
+#line 31119 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1798:
-
-/* Line 1455 of yacc.c  */
-#line 11829 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11829 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->describe|= DESCRIBE_PARTITIONS; }
+#line 31125 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1799:
-
-/* Line 1455 of yacc.c  */
-#line 11833 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31131 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1800:
-
-/* Line 1455 of yacc.c  */
-#line 11834 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->wild= (yyvsp[(1) - (1)].string); }
+#line 11834 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->wild= (yyvsp[0].string); }
+#line 31137 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1801:
-
-/* Line 1455 of yacc.c  */
-#line 11836 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11836 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str,
-                                                    (yyvsp[(1) - (1)].lex_str).length,
+            Lex->wild= new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,
+                                                    (yyvsp[0].lex_str).length,
                                                     system_charset_info);
             if (Lex->wild == NULL)
               MYSQL_YYABORT;
           }
+#line 31149 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1802:
-
-/* Line 1455 of yacc.c  */
-#line 11850 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11850 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_FLUSH;
             lex->type= 0;
-            lex->no_write_to_binlog= (yyvsp[(2) - (2)].num);
+            lex->no_write_to_binlog= (yyvsp[0].num);
           }
+#line 31160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1803:
-
-/* Line 1455 of yacc.c  */
-#line 11857 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1804:
-
-/* Line 1455 of yacc.c  */
-#line 11862 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->type|= REFRESH_TABLES;
             /*
@@ -33746,36 +31176,32 @@ yyreduce:
             YYPS->m_lock_type= TL_READ_NO_INSERT;
             YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO;
           }
+#line 31180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1805:
-
-/* Line 1455 of yacc.c  */
-#line 11871 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11871 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1806:
-
-/* Line 1455 of yacc.c  */
-#line 11872 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11872 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1808:
-
-/* Line 1455 of yacc.c  */
-#line 11877 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11877 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1809:
-
-/* Line 1455 of yacc.c  */
-#line 11879 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11879 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *tables= Lex->query_tables;
-            Lex->type|= REFRESH_READ_LOCK | (yyvsp[(4) - (4)].num);
+            Lex->type|= REFRESH_READ_LOCK | (yyvsp[0].num);
             for (; tables; tables= tables->next_global)
             {
               tables->mdl_request.set_type(MDL_SHARED_NO_WRITE);
@@ -33783,470 +31209,412 @@ yyreduce:
               tables->open_type= OT_BASE_ONLY;      /* Ignore temporary tables. */
             }
           }
+#line 31213 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1811:
-
-/* Line 1455 of yacc.c  */
-#line 11894 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31219 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1812:
-
-/* Line 1455 of yacc.c  */
-#line 11899 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11899 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_ERROR_LOG; }
+#line 31225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1813:
-
-/* Line 1455 of yacc.c  */
-#line 11901 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_ENGINE_LOG; }
+#line 31231 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1814:
-
-/* Line 1455 of yacc.c  */
-#line 11903 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11903 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_GENERAL_LOG; }
+#line 31237 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1815:
-
-/* Line 1455 of yacc.c  */
-#line 11905 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11905 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_SLOW_LOG; }
+#line 31243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1816:
-
-/* Line 1455 of yacc.c  */
-#line 11907 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11907 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_BINARY_LOG; }
+#line 31249 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1817:
-
-/* Line 1455 of yacc.c  */
-#line 11909 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11909 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_RELAY_LOG; }
+#line 31255 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1818:
-
-/* Line 1455 of yacc.c  */
-#line 11911 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11911 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_QUERY_CACHE_FREE; }
+#line 31261 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1819:
-
-/* Line 1455 of yacc.c  */
-#line 11913 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11913 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_HOSTS; }
+#line 31267 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1820:
-
-/* Line 1455 of yacc.c  */
-#line 11915 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_GRANT; }
+#line 31273 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1821:
-
-/* Line 1455 of yacc.c  */
-#line 11917 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11917 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_LOG; }
+#line 31279 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1822:
-
-/* Line 1455 of yacc.c  */
-#line 11919 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11919 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_STATUS; }
+#line 31285 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1823:
-
-/* Line 1455 of yacc.c  */
-#line 11921 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11921 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->type|= REFRESH_SLAVE;
             Lex->reset_slave_info.all= false;
           }
+#line 31294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1824:
-
-/* Line 1455 of yacc.c  */
-#line 11926 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11926 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_CLIENT_STATS; }
+#line 31300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1825:
-
-/* Line 1455 of yacc.c  */
-#line 11928 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11928 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_USER_STATS; }
+#line 31306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1826:
-
-/* Line 1455 of yacc.c  */
-#line 11930 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11930 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_TABLE_STATS; }
+#line 31312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1827:
-
-/* Line 1455 of yacc.c  */
-#line 11932 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11932 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_INDEX_STATS; }
+#line 31318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1828:
-
-/* Line 1455 of yacc.c  */
-#line 11934 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_MASTER; }
+#line 31324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1829:
-
-/* Line 1455 of yacc.c  */
-#line 11936 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11936 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_DES_KEY_FILE; }
+#line 31330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1830:
-
-/* Line 1455 of yacc.c  */
-#line 11938 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11938 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_USER_RESOURCES; }
+#line 31336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1831:
-
-/* Line 1455 of yacc.c  */
-#line 11942 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1832:
-
-/* Line 1455 of yacc.c  */
-#line 11943 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11943 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1833:
-
-/* Line 1455 of yacc.c  */
-#line 11947 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num)= 0;}
+#line 31354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1834:
-
-/* Line 1455 of yacc.c  */
-#line 11948 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {(yyval.num)= REFRESH_CHECKPOINT; }
+#line 31360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1835:
-
-/* Line 1455 of yacc.c  */
-#line 11952 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_RESET; lex->type=0;
           }
+#line 31369 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1836:
-
-/* Line 1455 of yacc.c  */
-#line 11957 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31375 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1839:
-
-/* Line 1455 of yacc.c  */
-#line 11966 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11966 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_SLAVE; }
+#line 31381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1840:
-
-/* Line 1455 of yacc.c  */
-#line 11967 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11967 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 31387 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1841:
-
-/* Line 1455 of yacc.c  */
-#line 11968 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11968 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_MASTER; }
+#line 31393 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1842:
-
-/* Line 1455 of yacc.c  */
-#line 11969 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11969 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->type|= REFRESH_QUERY_CACHE;}
+#line 31399 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1843:
-
-/* Line 1455 of yacc.c  */
-#line 11973 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11973 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->reset_slave_info.all= false; }
+#line 31405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1844:
-
-/* Line 1455 of yacc.c  */
-#line 11974 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->reset_slave_info.all= true; }
+#line 31411 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1845:
-
-/* Line 1455 of yacc.c  */
-#line 11979 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11979 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->type=0;
             lex->sql_command = SQLCOM_PURGE;
           }
+#line 31421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1846:
-
-/* Line 1455 of yacc.c  */
-#line 11985 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31427 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1848:
-
-/* Line 1455 of yacc.c  */
-#line 11994 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11994 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->to_log = (yyvsp[(2) - (2)].lex_str).str;
+            Lex->to_log = (yyvsp[0].lex_str).str;
           }
+#line 31435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1849:
-
-/* Line 1455 of yacc.c  */
-#line 11998 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 11998 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->value_list.empty();
-            lex->value_list.push_front((yyvsp[(2) - (2)].item));
+            lex->value_list.push_front((yyvsp[0].item));
             lex->sql_command= SQLCOM_PURGE_BEFORE;
           }
+#line 31446 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1850:
-
-/* Line 1455 of yacc.c  */
-#line 12010 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->value_list.empty();
             lex->users_list.empty();
             lex->sql_command= SQLCOM_KILL;
           }
+#line 31457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1851:
-
-/* Line 1455 of yacc.c  */
-#line 12017 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->kill_signal= (killed_state) ((yyvsp[(3) - (5)].num) | (yyvsp[(4) - (5)].num));
+            Lex->kill_signal= (killed_state) ((yyvsp[-2].num) | (yyvsp[-1].num));
           }
+#line 31465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1852:
-
-/* Line 1455 of yacc.c  */
-#line 12023 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_HARD_BIT; }
+#line 31471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1853:
-
-/* Line 1455 of yacc.c  */
-#line 12024 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_HARD_BIT; }
+#line 31477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1854:
-
-/* Line 1455 of yacc.c  */
-#line 12025 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 31483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1855:
-
-/* Line 1455 of yacc.c  */
-#line 12028 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_CONNECTION; }
+#line 31489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1856:
-
-/* Line 1455 of yacc.c  */
-#line 12029 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_CONNECTION; }
+#line 31495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1857:
-
-/* Line 1455 of yacc.c  */
-#line 12030 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= (int) KILL_QUERY; }
+#line 31501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1858:
-
-/* Line 1455 of yacc.c  */
-#line 12035 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
           Lex->value_list.push_front((yyval.item));
           Lex->kill_type= KILL_TYPE_ID;
          }
+#line 31510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1859:
-
-/* Line 1455 of yacc.c  */
-#line 12040 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Lex->users_list.push_back((yyvsp[(2) - (2)].lex_user));
+            Lex->users_list.push_back((yyvsp[0].lex_user));
             Lex->kill_type= KILL_TYPE_USER;
           }
+#line 31519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1860:
-
-/* Line 1455 of yacc.c  */
-#line 12050 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command=SQLCOM_CHANGE_DB;
-            lex->select_lex.db= (yyvsp[(2) - (2)].lex_str).str;
+            lex->select_lex.db= (yyvsp[0].lex_str).str;
           }
+#line 31529 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1861:
-
-/* Line 1455 of yacc.c  */
-#line 12061 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
             if (lex->sphead)
             {
               my_error(ER_SP_BADSTATEMENT, MYF(0), 
-                       (yyvsp[(2) - (2)].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML");
+                       (yyvsp[0].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML");
               MYSQL_YYABORT;
             }
           }
+#line 31544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1862:
-
-/* Line 1455 of yacc.c  */
-#line 12072 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12072 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_LOAD;
-            lex->local_file=  (yyvsp[(5) - (7)].num);
+            lex->local_file=  (yyvsp[-2].num);
             lex->duplicates= DUP_ERROR;
             lex->ignore= 0;
-            if (!(lex->exchange= new sql_exchange((yyvsp[(7) - (7)].lex_str).str, 0, (yyvsp[(2) - (7)].filetype))))
+            if (!(lex->exchange= new sql_exchange((yyvsp[0].lex_str).str, 0, (yyvsp[-5].filetype))))
               MYSQL_YYABORT;
           }
+#line 31558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1863:
-
-/* Line 1455 of yacc.c  */
-#line 12082 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            if (!Select->add_table_to_list(thd, (yyvsp[(12) - (12)].table), NULL, TL_OPTION_UPDATING,
-                                           (yyvsp[(4) - (12)].lock_type), MDL_SHARED_WRITE))
+            if (!Select->add_table_to_list(thd, (yyvsp[0].table), NULL, TL_OPTION_UPDATING,
+                                           (yyvsp[-8].lock_type), MDL_SHARED_WRITE))
               MYSQL_YYABORT;
             lex->field_list.empty();
             lex->update_list.empty();
             lex->value_list.empty();
           }
+#line 31572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1864:
-
-/* Line 1455 of yacc.c  */
-#line 12092 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->exchange->cs= (yyvsp[(14) - (14)].charset); }
+#line 12092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->exchange->cs= (yyvsp[0].charset); }
+#line 31578 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1865:
-
-/* Line 1455 of yacc.c  */
-#line 12096 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31584 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1866:
-
-/* Line 1455 of yacc.c  */
-#line 12100 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.filetype)= FILETYPE_CSV; }
+#line 31590 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1867:
-
-/* Line 1455 of yacc.c  */
-#line 12101 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.filetype)= FILETYPE_XML; }
+#line 31596 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1868:
-
-/* Line 1455 of yacc.c  */
-#line 12105 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=0;}
+#line 31602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1869:
-
-/* Line 1455 of yacc.c  */
-#line 12106 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=1;}
+#line 31608 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1870:
-
-/* Line 1455 of yacc.c  */
-#line 12110 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_DEFAULT; }
+#line 31614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1871:
-
-/* Line 1455 of yacc.c  */
-#line 12112 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Ignore this option in SP to avoid problem with query cache and
@@ -34254,220 +31622,194 @@ yyreduce:
             */
             (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
           }
+#line 31626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1872:
-
-/* Line 1455 of yacc.c  */
-#line 12119 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; }
+#line 31632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1873:
-
-/* Line 1455 of yacc.c  */
-#line 12123 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->duplicates=DUP_ERROR; }
+#line 31638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1874:
-
-/* Line 1455 of yacc.c  */
-#line 12124 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->duplicates=DUP_REPLACE; }
+#line 31644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1875:
-
-/* Line 1455 of yacc.c  */
-#line 12125 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ignore= 1; }
+#line 31650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1880:
-
-/* Line 1455 of yacc.c  */
-#line 12140 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
-            Lex->exchange->field_term= (yyvsp[(3) - (3)].string);
+            Lex->exchange->field_term= (yyvsp[0].string);
           }
+#line 31659 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1881:
-
-/* Line 1455 of yacc.c  */
-#line 12145 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             DBUG_ASSERT(lex->exchange != 0);
-            lex->exchange->enclosed= (yyvsp[(4) - (4)].string);
+            lex->exchange->enclosed= (yyvsp[0].string);
             lex->exchange->opt_enclosed= 1;
           }
+#line 31670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1882:
-
-/* Line 1455 of yacc.c  */
-#line 12152 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
-            Lex->exchange->enclosed= (yyvsp[(3) - (3)].string);
+            Lex->exchange->enclosed= (yyvsp[0].string);
           }
+#line 31679 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1883:
-
-/* Line 1455 of yacc.c  */
-#line 12157 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
-            Lex->exchange->escaped= (yyvsp[(3) - (3)].string);
+            Lex->exchange->escaped= (yyvsp[0].string);
           }
+#line 31688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1888:
-
-/* Line 1455 of yacc.c  */
-#line 12175 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
-            Lex->exchange->line_term= (yyvsp[(3) - (3)].string);
+            Lex->exchange->line_term= (yyvsp[0].string);
           }
+#line 31697 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1889:
-
-/* Line 1455 of yacc.c  */
-#line 12180 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
-            Lex->exchange->line_start= (yyvsp[(3) - (3)].string);
+            Lex->exchange->line_start= (yyvsp[0].string);
           }
+#line 31706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1890:
-
-/* Line 1455 of yacc.c  */
-#line 12187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 31712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1891:
-
-/* Line 1455 of yacc.c  */
-#line 12189 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->exchange->line_term = (yyvsp[(4) - (4)].string); }
+#line 12189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->exchange->line_term = (yyvsp[0].string); }
+#line 31718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1893:
-
-/* Line 1455 of yacc.c  */
-#line 12194 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             DBUG_ASSERT(Lex->exchange != 0);
-            Lex->exchange->skip_lines= atol((yyvsp[(2) - (3)].lex_str).str);
+            Lex->exchange->skip_lines= atol((yyvsp[-1].lex_str).str);
           }
+#line 31727 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1894:
-
-/* Line 1455 of yacc.c  */
-#line 12201 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 31733 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1895:
-
-/* Line 1455 of yacc.c  */
-#line 12203 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 31739 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1896:
-
-/* Line 1455 of yacc.c  */
-#line 12207 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31745 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1897:
-
-/* Line 1455 of yacc.c  */
-#line 12208 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31751 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1898:
-
-/* Line 1455 of yacc.c  */
-#line 12209 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31757 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1899:
-
-/* Line 1455 of yacc.c  */
-#line 12214 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); }
+#line 12214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->field_list.push_back((yyvsp[0].item)); }
+#line 31763 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1900:
-
-/* Line 1455 of yacc.c  */
-#line 12216 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); }
+#line 12216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->field_list.push_back((yyvsp[0].item)); }
+#line 31769 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1901:
-
-/* Line 1455 of yacc.c  */
-#line 12220 "/home/buildbot/git/sql/sql_yacc.yy"
-    {(yyval.item)= (yyvsp[(1) - (1)].item);}
+#line 12220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    {(yyval.item)= (yyvsp[0].item);}
+#line 31775 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1902:
-
-/* Line 1455 of yacc.c  */
-#line 12222 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param((yyvsp[(2) - (2)].lex_str));
+            (yyval.item)= new (thd->mem_root) Item_user_var_as_out_param((yyvsp[0].lex_str));
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 31785 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1903:
-
-/* Line 1455 of yacc.c  */
-#line 12230 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31791 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1904:
-
-/* Line 1455 of yacc.c  */
-#line 12231 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 31797 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1907:
-
-/* Line 1455 of yacc.c  */
-#line 12241 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            if (lex->update_list.push_back((yyvsp[(1) - (5)].item)) || 
-                lex->value_list.push_back((yyvsp[(4) - (5)].item)))
+            if (lex->update_list.push_back((yyvsp[-4].item)) || 
+                lex->value_list.push_back((yyvsp[-1].item)))
                 MYSQL_YYABORT;
-            (yyvsp[(4) - (5)].item)->set_name_no_truncate((yyvsp[(3) - (5)].simple_string), (uint) ((yyvsp[(5) - (5)].simple_string) - (yyvsp[(3) - (5)].simple_string)), thd->charset());
+            (yyvsp[-1].item)->set_name_no_truncate((yyvsp[-2].simple_string), (uint) ((yyvsp[0].simple_string) - (yyvsp[-2].simple_string)), thd->charset());
           }
+#line 31809 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1908:
-
-/* Line 1455 of yacc.c  */
-#line 12254 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX_STRING tmp;
             CHARSET_INFO *cs_con= thd->variables.collation_connection;
@@ -34478,10 +31820,10 @@ yyreduce:
             if (thd->charset_is_collation_connection ||
                 (repertoire == MY_REPERTOIRE_ASCII &&
                  my_charset_is_ascii_based(cs_con)))
-              tmp= (yyvsp[(1) - (1)].lex_str);
+              tmp= (yyvsp[0].lex_str);
             else
             {
-              if (thd->convert_string(&tmp, cs_con, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, cs_cli))
+              if (thd->convert_string(&tmp, cs_con, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, cs_cli))
                 MYSQL_YYABORT;
             }
             (yyval.item)= new (thd->mem_root) Item_string(tmp.str, tmp.length, cs_con,
@@ -34490,32 +31832,30 @@ yyreduce:
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 31836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1909:
-
-/* Line 1455 of yacc.c  */
-#line 12277 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             uint repertoire= Lex->text_string_is_7bit ?
                              MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30;
             DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info));
-            (yyval.item)= new (thd->mem_root) Item_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length,
+            (yyval.item)= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
                                                   national_charset_info,
                                                   DERIVATION_COERCIBLE,
                                                   repertoire);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 31852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1910:
-
-/* Line 1455 of yacc.c  */
-#line 12289 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item_string *str= new (thd->mem_root) Item_string((yyvsp[(2) - (2)].lex_str).str,
-                                                                (yyvsp[(2) - (2)].lex_str).length, (yyvsp[(1) - (2)].charset));
+            Item_string *str= new (thd->mem_root) Item_string((yyvsp[0].lex_str).str,
+                                                                (yyvsp[0].lex_str).length, (yyvsp[-1].charset));
             if (str == NULL)
               MYSQL_YYABORT;
             str->set_repertoire_from_value();
@@ -34523,15 +31863,14 @@ yyreduce:
 
             (yyval.item)= str;
           }
+#line 31867 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1911:
-
-/* Line 1455 of yacc.c  */
-#line 12300 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item_string* item= (Item_string*) (yyvsp[(1) - (2)].item);
-            item->append((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length);
+            Item_string* item= (Item_string*) (yyvsp[-1].item);
+            item->append((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (!(item->collation.repertoire & MY_REPERTOIRE_EXTENDED))
             {
               /*
@@ -34540,31 +31879,29 @@ yyreduce:
               */
               CHARSET_INFO *cs= thd->variables.collation_connection;
               item->collation.repertoire|= my_string_repertoire(cs,
-                                                                (yyvsp[(2) - (2)].lex_str).str,
-                                                                (yyvsp[(2) - (2)].lex_str).length);
+                                                                (yyvsp[0].lex_str).str,
+                                                                (yyvsp[0].lex_str).length);
             }
           }
+#line 31887 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1912:
-
-/* Line 1455 of yacc.c  */
-#line 12319 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.string)= new (thd->mem_root) String((yyvsp[(1) - (1)].lex_str).str,
-                                             (yyvsp[(1) - (1)].lex_str).length,
+            (yyval.string)= new (thd->mem_root) String((yyvsp[0].lex_str).str,
+                                             (yyvsp[0].lex_str).length,
                                              thd->variables.collation_connection);
             if ((yyval.string) == NULL)
               MYSQL_YYABORT;
           }
+#line 31899 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1913:
-
-/* Line 1455 of yacc.c  */
-#line 12327 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *tmp= new (thd->mem_root) Item_hex_hybrid((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            Item *tmp= new (thd->mem_root) Item_hex_hybrid((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (tmp == NULL)
               MYSQL_YYABORT;
             /*
@@ -34574,27 +31911,25 @@ yyreduce:
             tmp->quick_fix_field();
             (yyval.string)= tmp->val_str((String*) 0);
           }
+#line 31915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1914:
-
-/* Line 1455 of yacc.c  */
-#line 12339 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (tmp == NULL)
               MYSQL_YYABORT;
             tmp->quick_fix_field();
             (yyval.string)= tmp->val_str((String*) 0);
           }
+#line 31927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1915:
-
-/* Line 1455 of yacc.c  */
-#line 12347 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (tmp == NULL)
               MYSQL_YYABORT;
             /*
@@ -34604,12 +31939,11 @@ yyreduce:
             tmp->quick_fix_field();
             (yyval.string)= tmp->val_str((String*) 0);
           }
+#line 31943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1916:
-
-/* Line 1455 of yacc.c  */
-#line 12362 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -34626,119 +31960,107 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 31964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1917:
-
-/* Line 1455 of yacc.c  */
-#line 12381 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(1) - (1)].item); }
+#line 12381 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item); }
+#line 31970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1918:
-
-/* Line 1455 of yacc.c  */
-#line 12382 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(2) - (2)].item_num); }
+#line 12382 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item_num); }
+#line 31976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1919:
-
-/* Line 1455 of yacc.c  */
-#line 12384 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyvsp[(2) - (2)].item_num)->max_length++;
-            (yyval.item)= (yyvsp[(2) - (2)].item_num)->neg();
+            (yyvsp[0].item_num)->max_length++;
+            (yyval.item)= (yyvsp[0].item_num)->neg();
           }
+#line 31985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1920:
-
-/* Line 1455 of yacc.c  */
-#line 12391 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(1) - (1)].item); }
+#line 12391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item); }
+#line 31991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1921:
-
-/* Line 1455 of yacc.c  */
-#line 12392 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(1) - (1)].item_num); }
+#line 12392 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item_num); }
+#line 31997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1922:
-
-/* Line 1455 of yacc.c  */
-#line 12394 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12394 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item) = new (thd->mem_root) Item_null();
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT;
           }
+#line 32008 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1923:
-
-/* Line 1455 of yacc.c  */
-#line 12401 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_int((char*) "FALSE",0,1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1924:
-
-/* Line 1455 of yacc.c  */
-#line 12407 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)= new (thd->mem_root) Item_int((char*) "TRUE",1,1);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1925:
-
-/* Line 1455 of yacc.c  */
-#line 12413 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item) = new (thd->mem_root) Item_hex_hybrid((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item) = new (thd->mem_root) Item_hex_hybrid((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32038 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1926:
-
-/* Line 1455 of yacc.c  */
-#line 12419 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12419 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item) = new (thd->mem_root) Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item) = new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1927:
-
-/* Line 1455 of yacc.c  */
-#line 12425 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12425 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item)= new (thd->mem_root) Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item)= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1928:
-
-/* Line 1455 of yacc.c  */
-#line 12431 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length);
+            Item *tmp= new (thd->mem_root) Item_hex_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (tmp == NULL)
               MYSQL_YYABORT;
             /*
@@ -34753,7 +32075,7 @@ yyreduce:
                         Item_string(NULL, /* name will be set in select_item */
                                     str ? str->ptr() : "",
                                     str ? str->length() : 0,
-                                    (yyvsp[(1) - (2)].charset));
+                                    (yyvsp[-1].charset));
             if (!item_str ||
                 !item_str->check_well_formed_result(&item_str->str_value, TRUE))
             {
@@ -34765,14 +32087,13 @@ yyreduce:
 
             (yyval.item)= item_str;
           }
+#line 32091 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1929:
-
-/* Line 1455 of yacc.c  */
-#line 12460 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12460 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length);
+            Item *tmp= new (thd->mem_root) Item_bin_string((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (tmp == NULL)
               MYSQL_YYABORT;
             /*
@@ -34787,7 +32108,7 @@ yyreduce:
                         Item_string(NULL, /* name will be set in select_item */
                                     str ? str->ptr() : "",
                                     str ? str->length() : 0,
-                                    (yyvsp[(1) - (2)].charset));
+                                    (yyvsp[-1].charset));
             if (!item_str ||
                 !item_str->check_well_formed_result(&item_str->str_value, TRUE))
             {
@@ -34798,159 +32119,145 @@ yyreduce:
 
             (yyval.item)= item_str;
           }
+#line 32123 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1930:
-
-/* Line 1455 of yacc.c  */
-#line 12487 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(2) - (2)].item); }
+#line 12487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item); }
+#line 32129 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1931:
-
-/* Line 1455 of yacc.c  */
-#line 12488 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(2) - (2)].item); }
+#line 12488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item); }
+#line 32135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1932:
-
-/* Line 1455 of yacc.c  */
-#line 12489 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item) = (yyvsp[(2) - (2)].item); }
+#line 12489 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item) = (yyvsp[0].item); }
+#line 32141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1933:
-
-/* Line 1455 of yacc.c  */
-#line 12494 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             int error;
             (yyval.item_num)= new (thd->mem_root)
-                  Item_int((yyvsp[(1) - (1)].lex_str).str,
-                           (longlong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error),
-                           (yyvsp[(1) - (1)].lex_str).length);
+                  Item_int((yyvsp[0].lex_str).str,
+                           (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error),
+                           (yyvsp[0].lex_str).length);
             if ((yyval.item_num) == NULL)
               MYSQL_YYABORT;
           }
+#line 32155 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1934:
-
-/* Line 1455 of yacc.c  */
-#line 12504 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12504 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             int error;
             (yyval.item_num)= new (thd->mem_root)
-                  Item_int((yyvsp[(1) - (1)].lex_str).str,
-                           (longlong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error),
-                           (yyvsp[(1) - (1)].lex_str).length);
+                  Item_int((yyvsp[0].lex_str).str,
+                           (longlong) my_strtoll10((yyvsp[0].lex_str).str, NULL, &error),
+                           (yyvsp[0].lex_str).length);
             if ((yyval.item_num) == NULL)
               MYSQL_YYABORT;
           }
+#line 32169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1935:
-
-/* Line 1455 of yacc.c  */
-#line 12514 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12514 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item_num)= new (thd->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item_num)= new (thd->mem_root) Item_uint((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if ((yyval.item_num) == NULL)
               MYSQL_YYABORT;
           }
+#line 32179 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1936:
-
-/* Line 1455 of yacc.c  */
-#line 12520 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item_num)= new (thd->mem_root) Item_decimal((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length,
+            (yyval.item_num)= new (thd->mem_root) Item_decimal((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length,
                                                    thd->charset());
             if (((yyval.item_num) == NULL) || (thd->is_error()))
             {
               MYSQL_YYABORT;
             }
           }
+#line 32192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1937:
-
-/* Line 1455 of yacc.c  */
-#line 12529 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12529 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.item_num)= new (thd->mem_root) Item_float((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
+            (yyval.item_num)= new (thd->mem_root) Item_float((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (((yyval.item_num) == NULL) || (thd->is_error()))
             {
               MYSQL_YYABORT;
             }
           }
+#line 32204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1938:
-
-/* Line 1455 of yacc.c  */
-#line 12543 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)=(yyvsp[(1) - (1)].item); }
+#line 12543 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)=(yyvsp[0].item); }
+#line 32210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1939:
-
-/* Line 1455 of yacc.c  */
-#line 12544 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)=(yyvsp[(1) - (1)].item); }
+#line 12544 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)=(yyvsp[0].item); }
+#line 32216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1940:
-
-/* Line 1455 of yacc.c  */
-#line 12549 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12549 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
-                                                 NullS, (yyvsp[(1) - (3)].lex_str).str, "*");
+                                                 NullS, (yyvsp[-2].lex_str).str, "*");
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             sel->with_wild++;
           }
+#line 32229 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1941:
-
-/* Line 1455 of yacc.c  */
-#line 12558 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12558 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel= Select;
             const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ?
-                                  NullS : (yyvsp[(1) - (5)].lex_str).str;
+                                  NullS : (yyvsp[-4].lex_str).str;
             (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
                                                schema,
-                                               (yyvsp[(3) - (5)].lex_str).str,"*");
+                                               (yyvsp[-2].lex_str).str,"*");
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
             sel->with_wild++;
           }
+#line 32245 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1942:
-
-/* Line 1455 of yacc.c  */
-#line 12572 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)=(yyvsp[(1) - (1)].item); }
+#line 12572 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)=(yyvsp[0].item); }
+#line 32251 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1943:
-
-/* Line 1455 of yacc.c  */
-#line 12577 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12577 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
             sp_variable_t *spv;
             sp_pcontext *spc = lex->spcont;
-            if (spc && (spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str))))
+            if (spc && (spv = spc->find_variable(&(yyvsp[0].lex_str))))
             {
               /* We're compiling a stored procedure and found a variable */
               if (! lex->parsing_options.allows_variable)
@@ -34961,7 +32268,7 @@ yyreduce:
 
               Item_splocal *splocal;
               splocal= new (thd->mem_root)
-                         Item_splocal((yyvsp[(1) - (1)].lex_str), spv->offset, spv->type,
+                         Item_splocal((yyvsp[0].lex_str), spv->offset, spv->type,
                                       lip->get_tok_start_prev() - lex->sphead->m_tmp_query,
                                       lip->get_tok_end() - lip->get_tok_start_prev());
               if (splocal == NULL)
@@ -34979,59 +32286,55 @@ yyreduce:
                   (sel->get_in_sum_expr() > 0))
               {
                 (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
-                                                   NullS, NullS, (yyvsp[(1) - (1)].lex_str).str);
+                                                   NullS, NullS, (yyvsp[0].lex_str).str);
               }
               else
               {
                 (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
-                                                 NullS, NullS, (yyvsp[(1) - (1)].lex_str).str);
+                                                 NullS, NullS, (yyvsp[0].lex_str).str);
               }
               if ((yyval.item) == NULL)
                 MYSQL_YYABORT;
             }
           }
+#line 32301 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1944:
-
-/* Line 1455 of yacc.c  */
-#line 12622 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(1) - (1)].item); }
+#line 12622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item); }
+#line 32307 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1945:
-
-/* Line 1455 of yacc.c  */
-#line 12627 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12627 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             SELECT_LEX *sel=Select;
             if ((sel->parsing_place != IN_HAVING) ||
                 (sel->get_in_sum_expr() > 0))
             {
               (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
-                                                 NullS, NullS, (yyvsp[(1) - (1)].lex_str).str);
+                                                 NullS, NullS, (yyvsp[0].lex_str).str);
             }
             else
             {
               (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
-                                               NullS, NullS, (yyvsp[(1) - (1)].lex_str).str);
+                                               NullS, NullS, (yyvsp[0].lex_str).str);
             }
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1946:
-
-/* Line 1455 of yacc.c  */
-#line 12643 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)= (yyvsp[(1) - (1)].item); }
+#line 12643 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)= (yyvsp[0].item); }
+#line 32334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1947:
-
-/* Line 1455 of yacc.c  */
-#line 12648 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12648 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
@@ -35041,11 +32344,11 @@ yyreduce:
               should be changed in future.
             */
             if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER &&
-                (!my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "NEW") ||
-                 !my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "OLD")))
+                (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "NEW") ||
+                 !my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "OLD")))
             {
               Item_trigger_field *trg_fld;
-              bool new_row= ((yyvsp[(1) - (3)].lex_str).str[0]=='N' || (yyvsp[(1) - (3)].lex_str).str[0]=='n');
+              bool new_row= ((yyvsp[-2].lex_str).str[0]=='N' || (yyvsp[-2].lex_str).str[0]=='n');
 
               if (lex->trg_chistics.event == TRG_EVENT_INSERT &&
                   !new_row)
@@ -35071,7 +32374,7 @@ yyreduce:
                                             new_row ?
                                               Item_trigger_field::NEW_ROW:
                                               Item_trigger_field::OLD_ROW,
-                                            (yyvsp[(3) - (3)].lex_str).str,
+                                            (yyvsp[0].lex_str).str,
                                             SELECT_ACL,
                                             read_only);
               if (trg_fld == NULL)
@@ -35092,357 +32395,332 @@ yyreduce:
               if (sel->no_table_names_allowed)
               {
                 my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
-                         MYF(0), (yyvsp[(1) - (3)].lex_str).str, thd->where);
+                         MYF(0), (yyvsp[-2].lex_str).str, thd->where);
               }
               if ((sel->parsing_place != IN_HAVING) ||
                   (sel->get_in_sum_expr() > 0))
               {
                 (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
-                                                   NullS, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str);
+                                                   NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
               }
               else
               {
                 (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
-                                                 NullS, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str);
+                                                 NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
               }
               if ((yyval.item) == NULL)
                 MYSQL_YYABORT;
             }
           }
+#line 32416 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1948:
-
-/* Line 1455 of yacc.c  */
-#line 12726 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12726 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             SELECT_LEX *sel= lex->current_select;
             if (sel->no_table_names_allowed)
             {
               my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
-                       MYF(0), (yyvsp[(2) - (4)].lex_str).str, thd->where);
+                       MYF(0), (yyvsp[-2].lex_str).str, thd->where);
             }
             if ((sel->parsing_place != IN_HAVING) ||
                 (sel->get_in_sum_expr() > 0))
             {
               (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
-                                                 NullS, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str);
+                                                 NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
 
             }
             else
             {
               (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
-                                               NullS, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str);
+                                               NullS, (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
             }
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1949:
-
-/* Line 1455 of yacc.c  */
-#line 12750 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12750 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             SELECT_LEX *sel= lex->current_select;
             const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ?
-                                 NullS : (yyvsp[(1) - (5)].lex_str).str);
+                                 NullS : (yyvsp[-4].lex_str).str);
             if (sel->no_table_names_allowed)
             {
               my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
-                       MYF(0), (yyvsp[(3) - (5)].lex_str).str, thd->where);
+                       MYF(0), (yyvsp[-2].lex_str).str, thd->where);
             }
             if ((sel->parsing_place != IN_HAVING) ||
                 (sel->get_in_sum_expr() > 0))
             {
               (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(),
                                                  schema,
-                                                 (yyvsp[(3) - (5)].lex_str).str, (yyvsp[(5) - (5)].lex_str).str);
+                                                 (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
             }
             else
             {
               (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(),
                                                schema,
-                                               (yyvsp[(3) - (5)].lex_str).str, (yyvsp[(5) - (5)].lex_str).str);
+                                               (yyvsp[-2].lex_str).str, (yyvsp[0].lex_str).str);
             }
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 32475 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1950:
-
-/* Line 1455 of yacc.c  */
-#line 12779 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
+#line 12779 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str);}
+#line 32481 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1951:
-
-/* Line 1455 of yacc.c  */
-#line 12781 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12781 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *table= Select->table_list.first;
-            if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (5)].lex_str).str, table->db))
+            if (my_strcasecmp(table_alias_charset, (yyvsp[-4].lex_str).str, table->db))
             {
-              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (5)].lex_str).str);
+              my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[-4].lex_str).str);
               MYSQL_YYABORT;
             }
-            if (my_strcasecmp(table_alias_charset, (yyvsp[(3) - (5)].lex_str).str,
+            if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str,
                               table->table_name))
             {
-              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (5)].lex_str).str);
+              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str);
               MYSQL_YYABORT;
             }
-            (yyval.lex_str)=(yyvsp[(5) - (5)].lex_str);
+            (yyval.lex_str)=(yyvsp[0].lex_str);
           }
+#line 32501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1952:
-
-/* Line 1455 of yacc.c  */
-#line 12797 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12797 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             TABLE_LIST *table= Select->table_list.first;
-            if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (3)].lex_str).str, table->alias))
+            if (my_strcasecmp(table_alias_charset, (yyvsp[-2].lex_str).str, table->alias))
             {
-              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(1) - (3)].lex_str).str);
+              my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[-2].lex_str).str);
               MYSQL_YYABORT;
             }
-            (yyval.lex_str)=(yyvsp[(3) - (3)].lex_str);
+            (yyval.lex_str)=(yyvsp[0].lex_str);
           }
+#line 32515 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1953:
-
-/* Line 1455 of yacc.c  */
-#line 12806 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str);}
+#line 12806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str);}
+#line 32521 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1954:
-
-/* Line 1455 of yacc.c  */
-#line 12811 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12811 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.table)= new Table_ident((yyvsp[(1) - (1)].lex_str));
+            (yyval.table)= new Table_ident((yyvsp[0].lex_str));
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
+#line 32531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1955:
-
-/* Line 1455 of yacc.c  */
-#line 12817 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.table)= new Table_ident(thd, (yyvsp[(1) - (3)].lex_str),(yyvsp[(3) - (3)].lex_str),0);
+            (yyval.table)= new Table_ident(thd, (yyvsp[-2].lex_str),(yyvsp[0].lex_str),0);
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
+#line 32541 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1956:
-
-/* Line 1455 of yacc.c  */
-#line 12823 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /* For Delphi */
-            (yyval.table)= new Table_ident((yyvsp[(2) - (2)].lex_str));
+            (yyval.table)= new Table_ident((yyvsp[0].lex_str));
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
+#line 32552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1957:
-
-/* Line 1455 of yacc.c  */
-#line 12833 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.table)= new Table_ident((yyvsp[(1) - (2)].lex_str));
+            (yyval.table)= new Table_ident((yyvsp[-1].lex_str));
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
+#line 32562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1958:
-
-/* Line 1455 of yacc.c  */
-#line 12839 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.table)= new Table_ident(thd, (yyvsp[(1) - (4)].lex_str),(yyvsp[(3) - (4)].lex_str),0);
+            (yyval.table)= new Table_ident(thd, (yyvsp[-3].lex_str),(yyvsp[-1].lex_str),0);
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
+#line 32572 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1959:
-
-/* Line 1455 of yacc.c  */
-#line 12848 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12848 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX_STRING db={(char*) any_db,3};
-            (yyval.table)= new Table_ident(thd, db,(yyvsp[(1) - (1)].lex_str),0);
+            (yyval.table)= new Table_ident(thd, db,(yyvsp[0].lex_str),0);
             if ((yyval.table) == NULL)
               MYSQL_YYABORT;
           }
+#line 32583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1960:
-
-/* Line 1455 of yacc.c  */
-#line 12857 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
+#line 12857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)= (yyvsp[0].lex_str); }
+#line 32589 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1961:
-
-/* Line 1455 of yacc.c  */
-#line 12859 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12859 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_system_charset)
             {
               CHARSET_INFO *cs= system_charset_info;
               int dummy_error;
-              uint wlen= cs->cset->well_formed_len(cs, (yyvsp[(1) - (1)].lex_str).str,
-                                                   (yyvsp[(1) - (1)].lex_str).str+(yyvsp[(1) - (1)].lex_str).length,
-                                                   (yyvsp[(1) - (1)].lex_str).length, &dummy_error);
-              if (wlen < (yyvsp[(1) - (1)].lex_str).length)
+              uint wlen= cs->cset->well_formed_len(cs, (yyvsp[0].lex_str).str,
+                                                   (yyvsp[0].lex_str).str+(yyvsp[0].lex_str).length,
+                                                   (yyvsp[0].lex_str).length, &dummy_error);
+              if (wlen < (yyvsp[0].lex_str).length)
               {
-                ErrConvString err((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, &my_charset_bin);
+                ErrConvString err((yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, &my_charset_bin);
                 my_error(ER_INVALID_CHARACTER_STRING, MYF(0),
                          cs->csname, err.ptr());
                 MYSQL_YYABORT;
               }
-              (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
+              (yyval.lex_str)= (yyvsp[0].lex_str);
             }
             else
             {
               if (thd->convert_string(&(yyval.lex_str), system_charset_info,
-                                  (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset()))
+                                  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
                 MYSQL_YYABORT;
             }
           }
+#line 32618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1962:
-
-/* Line 1455 of yacc.c  */
-#line 12887 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12887 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_system_charset)
-              (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
+              (yyval.lex_str)= (yyvsp[0].lex_str);
             else
             {
               if (thd->convert_string(&(yyval.lex_str), system_charset_info,
-                                  (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset()))
+                                  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
                 MYSQL_YYABORT;
             }
           }
+#line 32633 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1963:
-
-/* Line 1455 of yacc.c  */
-#line 12901 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12901 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_collation_connection)
-              (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
+              (yyval.lex_str)= (yyvsp[0].lex_str);
             else
             {
               if (thd->convert_string(&(yyval.lex_str), thd->variables.collation_connection,
-                                  (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset()))
+                                  (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
                 MYSQL_YYABORT;
             } 
           }
+#line 32648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1964:
-
-/* Line 1455 of yacc.c  */
-#line 12915 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12915 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (thd->charset_is_character_set_filesystem)
-              (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
+              (yyval.lex_str)= (yyvsp[0].lex_str);
             else
             {
               if (thd->convert_string(&(yyval.lex_str),
                                       thd->variables.character_set_filesystem,
-                                      (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset()))
+                                      (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length, thd->charset()))
                 MYSQL_YYABORT;
             }
           }
+#line 32664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1965:
-
-/* Line 1455 of yacc.c  */
-#line 12929 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
+#line 12929 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 32670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1966:
-
-/* Line 1455 of yacc.c  */
-#line 12931 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12931 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_str).str= thd->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length);
+            (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
             if ((yyval.lex_str).str == NULL)
               MYSQL_YYABORT;
-            (yyval.lex_str).length= (yyvsp[(1) - (1)].symbol).length;
+            (yyval.lex_str).length= (yyvsp[0].symbol).length;
           }
+#line 32681 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1967:
-
-/* Line 1455 of yacc.c  */
-#line 12940 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
+#line 12940 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str); }
+#line 32687 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1968:
-
-/* Line 1455 of yacc.c  */
-#line 12942 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12942 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_str).str= thd->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length);
+            (yyval.lex_str).str= thd->strmake((yyvsp[0].symbol).str, (yyvsp[0].symbol).length);
             if ((yyval.lex_str).str == NULL)
               MYSQL_YYABORT;
-            (yyval.lex_str).length= (yyvsp[(1) - (1)].symbol).length;
+            (yyval.lex_str).length= (yyvsp[0].symbol).length;
           }
+#line 32698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1969:
-
-/* Line 1455 of yacc.c  */
-#line 12951 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
+#line 12951 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str);}
+#line 32704 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1970:
-
-/* Line 1455 of yacc.c  */
-#line 12952 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
+#line 12952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str);}
+#line 32710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1971:
-
-/* Line 1455 of yacc.c  */
-#line 12953 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
+#line 12953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_str)=(yyvsp[0].lex_str);}
+#line 32716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1972:
-
-/* Line 1455 of yacc.c  */
-#line 12958 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
               MYSQL_YYABORT;
-            (yyval.lex_user)->user = (yyvsp[(1) - (1)].lex_str);
+            (yyval.lex_user)->user = (yyvsp[0].lex_str);
             (yyval.lex_user)->host.str= (char *) "%";
             (yyval.lex_user)->host.length= 1;
             (yyval.lex_user)->password= null_lex_str; 
@@ -35454,16 +32732,15 @@ yyreduce:
                                          system_charset_info, 0))
               MYSQL_YYABORT;
           }
+#line 32736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1973:
-
-/* Line 1455 of yacc.c  */
-#line 12974 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
               MYSQL_YYABORT;
-            (yyval.lex_user)->user = (yyvsp[(1) - (3)].lex_str); (yyval.lex_user)->host=(yyvsp[(3) - (3)].lex_str);
+            (yyval.lex_user)->user = (yyvsp[-2].lex_str); (yyval.lex_user)->host=(yyvsp[0].lex_str);
             (yyval.lex_user)->password= null_lex_str; 
             (yyval.lex_user)->plugin= empty_lex_str;
             (yyval.lex_user)->auth= empty_lex_str;
@@ -35480,12 +32757,11 @@ yyreduce:
             */
             my_casedn_str(system_charset_info, (yyval.lex_user)->host.str);
           }
+#line 32761 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1974:
-
-/* Line 1455 of yacc.c  */
-#line 12995 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 12995 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user))))
               MYSQL_YYABORT;
@@ -35496,2476 +32772,2123 @@ yyreduce:
             */
             bzero((yyval.lex_user), sizeof(LEX_USER));
           }
+#line 32776 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1975:
-
-/* Line 1455 of yacc.c  */
-#line 13009 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13009 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1976:
-
-/* Line 1455 of yacc.c  */
-#line 13010 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13010 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1977:
-
-/* Line 1455 of yacc.c  */
-#line 13011 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13011 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32794 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1978:
-
-/* Line 1455 of yacc.c  */
-#line 13012 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13012 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1979:
-
-/* Line 1455 of yacc.c  */
-#line 13013 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13013 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1980:
-
-/* Line 1455 of yacc.c  */
-#line 13014 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13014 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1981:
-
-/* Line 1455 of yacc.c  */
-#line 13015 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13015 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1982:
-
-/* Line 1455 of yacc.c  */
-#line 13016 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13016 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32824 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1983:
-
-/* Line 1455 of yacc.c  */
-#line 13017 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13017 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32830 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1984:
-
-/* Line 1455 of yacc.c  */
-#line 13018 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32836 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1985:
-
-/* Line 1455 of yacc.c  */
-#line 13019 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13019 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1986:
-
-/* Line 1455 of yacc.c  */
-#line 13020 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13020 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32848 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1987:
-
-/* Line 1455 of yacc.c  */
-#line 13021 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13021 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32854 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1988:
-
-/* Line 1455 of yacc.c  */
-#line 13022 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32860 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1989:
-
-/* Line 1455 of yacc.c  */
-#line 13023 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13023 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32866 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1990:
-
-/* Line 1455 of yacc.c  */
-#line 13024 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13024 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32872 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1991:
-
-/* Line 1455 of yacc.c  */
-#line 13025 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13025 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32878 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1992:
-
-/* Line 1455 of yacc.c  */
-#line 13026 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13026 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32884 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1993:
-
-/* Line 1455 of yacc.c  */
-#line 13027 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32890 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1994:
-
-/* Line 1455 of yacc.c  */
-#line 13028 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13028 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32896 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1995:
-
-/* Line 1455 of yacc.c  */
-#line 13029 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13029 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1996:
-
-/* Line 1455 of yacc.c  */
-#line 13030 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13030 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1997:
-
-/* Line 1455 of yacc.c  */
-#line 13031 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1998:
-
-/* Line 1455 of yacc.c  */
-#line 13032 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 1999:
-
-/* Line 1455 of yacc.c  */
-#line 13033 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13033 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32926 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2000:
-
-/* Line 1455 of yacc.c  */
-#line 13034 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13034 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32932 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2001:
-
-/* Line 1455 of yacc.c  */
-#line 13035 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13035 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32938 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2002:
-
-/* Line 1455 of yacc.c  */
-#line 13036 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13036 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32944 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2003:
-
-/* Line 1455 of yacc.c  */
-#line 13037 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13037 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32950 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2004:
-
-/* Line 1455 of yacc.c  */
-#line 13038 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32956 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2005:
-
-/* Line 1455 of yacc.c  */
-#line 13039 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13039 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32962 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2006:
-
-/* Line 1455 of yacc.c  */
-#line 13040 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32968 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2007:
-
-/* Line 1455 of yacc.c  */
-#line 13041 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13041 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32974 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2008:
-
-/* Line 1455 of yacc.c  */
-#line 13042 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13042 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32980 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2009:
-
-/* Line 1455 of yacc.c  */
-#line 13043 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13043 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32986 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2010:
-
-/* Line 1455 of yacc.c  */
-#line 13044 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13044 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32992 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2011:
-
-/* Line 1455 of yacc.c  */
-#line 13045 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 32998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2012:
-
-/* Line 1455 of yacc.c  */
-#line 13046 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13046 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33004 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2013:
-
-/* Line 1455 of yacc.c  */
-#line 13047 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13047 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33010 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2014:
-
-/* Line 1455 of yacc.c  */
-#line 13048 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13048 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33016 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2015:
-
-/* Line 1455 of yacc.c  */
-#line 13049 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13049 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33022 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2016:
-
-/* Line 1455 of yacc.c  */
-#line 13050 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13050 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33028 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2017:
-
-/* Line 1455 of yacc.c  */
-#line 13051 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13051 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33034 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2018:
-
-/* Line 1455 of yacc.c  */
-#line 13052 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13052 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33040 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2019:
-
-/* Line 1455 of yacc.c  */
-#line 13053 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13053 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33046 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2020:
-
-/* Line 1455 of yacc.c  */
-#line 13054 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13054 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33052 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2021:
-
-/* Line 1455 of yacc.c  */
-#line 13055 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13055 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33058 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2022:
-
-/* Line 1455 of yacc.c  */
-#line 13056 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13056 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33064 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2023:
-
-/* Line 1455 of yacc.c  */
-#line 13057 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33070 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2024:
-
-/* Line 1455 of yacc.c  */
-#line 13058 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13058 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33076 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2025:
-
-/* Line 1455 of yacc.c  */
-#line 13059 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13059 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33082 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2026:
-
-/* Line 1455 of yacc.c  */
-#line 13060 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13060 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2027:
-
-/* Line 1455 of yacc.c  */
-#line 13061 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13061 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33094 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2028:
-
-/* Line 1455 of yacc.c  */
-#line 13062 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13062 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33100 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2029:
-
-/* Line 1455 of yacc.c  */
-#line 13063 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33106 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2030:
-
-/* Line 1455 of yacc.c  */
-#line 13064 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13064 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33112 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2031:
-
-/* Line 1455 of yacc.c  */
-#line 13065 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13065 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33118 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2032:
-
-/* Line 1455 of yacc.c  */
-#line 13066 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13066 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33124 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2033:
-
-/* Line 1455 of yacc.c  */
-#line 13067 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13067 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33130 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2034:
-
-/* Line 1455 of yacc.c  */
-#line 13077 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13077 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2035:
-
-/* Line 1455 of yacc.c  */
-#line 13078 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13078 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33142 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2036:
-
-/* Line 1455 of yacc.c  */
-#line 13079 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13079 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33148 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2037:
-
-/* Line 1455 of yacc.c  */
-#line 13080 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13080 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2038:
-
-/* Line 1455 of yacc.c  */
-#line 13081 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13081 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2039:
-
-/* Line 1455 of yacc.c  */
-#line 13082 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33166 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2040:
-
-/* Line 1455 of yacc.c  */
-#line 13083 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13083 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33172 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2041:
-
-/* Line 1455 of yacc.c  */
-#line 13084 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33178 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2042:
-
-/* Line 1455 of yacc.c  */
-#line 13085 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13085 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33184 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2043:
-
-/* Line 1455 of yacc.c  */
-#line 13086 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13086 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2044:
-
-/* Line 1455 of yacc.c  */
-#line 13087 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13087 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33196 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2045:
-
-/* Line 1455 of yacc.c  */
-#line 13088 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13088 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2046:
-
-/* Line 1455 of yacc.c  */
-#line 13089 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13089 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33208 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2047:
-
-/* Line 1455 of yacc.c  */
-#line 13090 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13090 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33214 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2048:
-
-/* Line 1455 of yacc.c  */
-#line 13091 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13091 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33220 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2049:
-
-/* Line 1455 of yacc.c  */
-#line 13092 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13092 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33226 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2050:
-
-/* Line 1455 of yacc.c  */
-#line 13093 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13093 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33232 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2051:
-
-/* Line 1455 of yacc.c  */
-#line 13094 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13094 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2052:
-
-/* Line 1455 of yacc.c  */
-#line 13095 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13095 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2053:
-
-/* Line 1455 of yacc.c  */
-#line 13096 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13096 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2054:
-
-/* Line 1455 of yacc.c  */
-#line 13097 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13097 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33256 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2055:
-
-/* Line 1455 of yacc.c  */
-#line 13098 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13098 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33262 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2056:
-
-/* Line 1455 of yacc.c  */
-#line 13099 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13099 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33268 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2057:
-
-/* Line 1455 of yacc.c  */
-#line 13100 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13100 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2058:
-
-/* Line 1455 of yacc.c  */
-#line 13101 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13101 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33280 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2059:
-
-/* Line 1455 of yacc.c  */
-#line 13102 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33286 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2060:
-
-/* Line 1455 of yacc.c  */
-#line 13103 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33292 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2061:
-
-/* Line 1455 of yacc.c  */
-#line 13104 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13104 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33298 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2062:
-
-/* Line 1455 of yacc.c  */
-#line 13105 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33304 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2063:
-
-/* Line 1455 of yacc.c  */
-#line 13106 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33310 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2064:
-
-/* Line 1455 of yacc.c  */
-#line 13107 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13107 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33316 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2065:
-
-/* Line 1455 of yacc.c  */
-#line 13108 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33322 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2066:
-
-/* Line 1455 of yacc.c  */
-#line 13109 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33328 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2067:
-
-/* Line 1455 of yacc.c  */
-#line 13110 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13110 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2068:
-
-/* Line 1455 of yacc.c  */
-#line 13111 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33340 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2069:
-
-/* Line 1455 of yacc.c  */
-#line 13112 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2070:
-
-/* Line 1455 of yacc.c  */
-#line 13113 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33352 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2071:
-
-/* Line 1455 of yacc.c  */
-#line 13114 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33358 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2072:
-
-/* Line 1455 of yacc.c  */
-#line 13115 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33364 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2073:
-
-/* Line 1455 of yacc.c  */
-#line 13116 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33370 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2074:
-
-/* Line 1455 of yacc.c  */
-#line 13117 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33376 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2075:
-
-/* Line 1455 of yacc.c  */
-#line 13118 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33382 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2076:
-
-/* Line 1455 of yacc.c  */
-#line 13119 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33388 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2077:
-
-/* Line 1455 of yacc.c  */
-#line 13120 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33394 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2078:
-
-/* Line 1455 of yacc.c  */
-#line 13121 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33400 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2079:
-
-/* Line 1455 of yacc.c  */
-#line 13122 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33406 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2080:
-
-/* Line 1455 of yacc.c  */
-#line 13123 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33412 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2081:
-
-/* Line 1455 of yacc.c  */
-#line 13124 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33418 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2082:
-
-/* Line 1455 of yacc.c  */
-#line 13125 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33424 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2083:
-
-/* Line 1455 of yacc.c  */
-#line 13126 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33430 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2084:
-
-/* Line 1455 of yacc.c  */
-#line 13127 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33436 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2085:
-
-/* Line 1455 of yacc.c  */
-#line 13128 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33442 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2086:
-
-/* Line 1455 of yacc.c  */
-#line 13129 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33448 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2087:
-
-/* Line 1455 of yacc.c  */
-#line 13130 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33454 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2088:
-
-/* Line 1455 of yacc.c  */
-#line 13131 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33460 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2089:
-
-/* Line 1455 of yacc.c  */
-#line 13132 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33466 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2090:
-
-/* Line 1455 of yacc.c  */
-#line 13133 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33472 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2091:
-
-/* Line 1455 of yacc.c  */
-#line 13134 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33478 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2092:
-
-/* Line 1455 of yacc.c  */
-#line 13135 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33484 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2093:
-
-/* Line 1455 of yacc.c  */
-#line 13136 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33490 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2094:
-
-/* Line 1455 of yacc.c  */
-#line 13137 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33496 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2095:
-
-/* Line 1455 of yacc.c  */
-#line 13138 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33502 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2096:
-
-/* Line 1455 of yacc.c  */
-#line 13139 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13139 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33508 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2097:
-
-/* Line 1455 of yacc.c  */
-#line 13140 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13140 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33514 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2098:
-
-/* Line 1455 of yacc.c  */
-#line 13141 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13141 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33520 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2099:
-
-/* Line 1455 of yacc.c  */
-#line 13142 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2100:
-
-/* Line 1455 of yacc.c  */
-#line 13143 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2101:
-
-/* Line 1455 of yacc.c  */
-#line 13144 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13144 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2102:
-
-/* Line 1455 of yacc.c  */
-#line 13145 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13145 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2103:
-
-/* Line 1455 of yacc.c  */
-#line 13146 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13146 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2104:
-
-/* Line 1455 of yacc.c  */
-#line 13147 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13147 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33556 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2105:
-
-/* Line 1455 of yacc.c  */
-#line 13148 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13148 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33562 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2106:
-
-/* Line 1455 of yacc.c  */
-#line 13149 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13149 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33568 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2107:
-
-/* Line 1455 of yacc.c  */
-#line 13150 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33574 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2108:
-
-/* Line 1455 of yacc.c  */
-#line 13151 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13151 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33580 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2109:
-
-/* Line 1455 of yacc.c  */
-#line 13152 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13152 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33586 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2110:
-
-/* Line 1455 of yacc.c  */
-#line 13153 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33592 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2111:
-
-/* Line 1455 of yacc.c  */
-#line 13154 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13154 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33598 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2112:
-
-/* Line 1455 of yacc.c  */
-#line 13155 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13155 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33604 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2113:
-
-/* Line 1455 of yacc.c  */
-#line 13156 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13156 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33610 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2114:
-
-/* Line 1455 of yacc.c  */
-#line 13157 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13157 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33616 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2115:
-
-/* Line 1455 of yacc.c  */
-#line 13158 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13158 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33622 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2116:
-
-/* Line 1455 of yacc.c  */
-#line 13159 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33628 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2117:
-
-/* Line 1455 of yacc.c  */
-#line 13160 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13160 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33634 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2118:
-
-/* Line 1455 of yacc.c  */
-#line 13161 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13161 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33640 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2119:
-
-/* Line 1455 of yacc.c  */
-#line 13162 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13162 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33646 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2120:
-
-/* Line 1455 of yacc.c  */
-#line 13163 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33652 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2121:
-
-/* Line 1455 of yacc.c  */
-#line 13164 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13164 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33658 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2122:
-
-/* Line 1455 of yacc.c  */
-#line 13165 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13165 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33664 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2123:
-
-/* Line 1455 of yacc.c  */
-#line 13166 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33670 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2124:
-
-/* Line 1455 of yacc.c  */
-#line 13167 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13167 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33676 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2125:
-
-/* Line 1455 of yacc.c  */
-#line 13168 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13168 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33682 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2126:
-
-/* Line 1455 of yacc.c  */
-#line 13169 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13169 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33688 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2127:
-
-/* Line 1455 of yacc.c  */
-#line 13170 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13170 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33694 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2128:
-
-/* Line 1455 of yacc.c  */
-#line 13171 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13171 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33700 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2129:
-
-/* Line 1455 of yacc.c  */
-#line 13172 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13172 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2130:
-
-/* Line 1455 of yacc.c  */
-#line 13173 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33712 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2131:
-
-/* Line 1455 of yacc.c  */
-#line 13174 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13174 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33718 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2132:
-
-/* Line 1455 of yacc.c  */
-#line 13175 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13175 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2133:
-
-/* Line 1455 of yacc.c  */
-#line 13176 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13176 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33730 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2134:
-
-/* Line 1455 of yacc.c  */
-#line 13177 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13177 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33736 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2135:
-
-/* Line 1455 of yacc.c  */
-#line 13178 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13178 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33742 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2136:
-
-/* Line 1455 of yacc.c  */
-#line 13179 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13179 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33748 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2137:
-
-/* Line 1455 of yacc.c  */
-#line 13180 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13180 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33754 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2138:
-
-/* Line 1455 of yacc.c  */
-#line 13181 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13181 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33760 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2139:
-
-/* Line 1455 of yacc.c  */
-#line 13182 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13182 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33766 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2140:
-
-/* Line 1455 of yacc.c  */
-#line 13183 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13183 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33772 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2141:
-
-/* Line 1455 of yacc.c  */
-#line 13184 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13184 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33778 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2142:
-
-/* Line 1455 of yacc.c  */
-#line 13185 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13185 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33784 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2143:
-
-/* Line 1455 of yacc.c  */
-#line 13186 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33790 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2144:
-
-/* Line 1455 of yacc.c  */
-#line 13187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33796 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2145:
-
-/* Line 1455 of yacc.c  */
-#line 13188 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13188 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33802 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2146:
-
-/* Line 1455 of yacc.c  */
-#line 13189 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13189 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33808 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2147:
-
-/* Line 1455 of yacc.c  */
-#line 13190 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13190 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33814 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2148:
-
-/* Line 1455 of yacc.c  */
-#line 13191 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33820 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2149:
-
-/* Line 1455 of yacc.c  */
-#line 13192 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13192 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33826 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2150:
-
-/* Line 1455 of yacc.c  */
-#line 13193 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13193 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33832 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2151:
-
-/* Line 1455 of yacc.c  */
-#line 13194 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13194 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2152:
-
-/* Line 1455 of yacc.c  */
-#line 13195 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2153:
-
-/* Line 1455 of yacc.c  */
-#line 13196 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13196 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2154:
-
-/* Line 1455 of yacc.c  */
-#line 13197 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13197 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2155:
-
-/* Line 1455 of yacc.c  */
-#line 13198 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13198 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2156:
-
-/* Line 1455 of yacc.c  */
-#line 13199 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2157:
-
-/* Line 1455 of yacc.c  */
-#line 13200 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13200 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2158:
-
-/* Line 1455 of yacc.c  */
-#line 13201 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33880 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2159:
-
-/* Line 1455 of yacc.c  */
-#line 13202 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13202 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33886 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2160:
-
-/* Line 1455 of yacc.c  */
-#line 13203 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33892 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2161:
-
-/* Line 1455 of yacc.c  */
-#line 13204 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13204 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33898 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2162:
-
-/* Line 1455 of yacc.c  */
-#line 13205 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13205 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33904 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2163:
-
-/* Line 1455 of yacc.c  */
-#line 13206 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13206 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33910 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2164:
-
-/* Line 1455 of yacc.c  */
-#line 13207 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33916 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2165:
-
-/* Line 1455 of yacc.c  */
-#line 13208 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13208 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33922 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2166:
-
-/* Line 1455 of yacc.c  */
-#line 13209 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13209 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2167:
-
-/* Line 1455 of yacc.c  */
-#line 13210 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13210 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33934 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2168:
-
-/* Line 1455 of yacc.c  */
-#line 13211 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13211 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33940 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2169:
-
-/* Line 1455 of yacc.c  */
-#line 13212 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13212 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33946 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2170:
-
-/* Line 1455 of yacc.c  */
-#line 13213 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13213 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33952 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2171:
-
-/* Line 1455 of yacc.c  */
-#line 13214 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33958 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2172:
-
-/* Line 1455 of yacc.c  */
-#line 13215 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13215 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33964 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2173:
-
-/* Line 1455 of yacc.c  */
-#line 13216 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13216 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33970 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2174:
-
-/* Line 1455 of yacc.c  */
-#line 13217 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13217 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2175:
-
-/* Line 1455 of yacc.c  */
-#line 13218 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13218 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33982 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2176:
-
-/* Line 1455 of yacc.c  */
-#line 13219 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13219 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33988 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2177:
-
-/* Line 1455 of yacc.c  */
-#line 13220 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13220 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 33994 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2178:
-
-/* Line 1455 of yacc.c  */
-#line 13221 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34000 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2179:
-
-/* Line 1455 of yacc.c  */
-#line 13222 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13222 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2180:
-
-/* Line 1455 of yacc.c  */
-#line 13223 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13223 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2181:
-
-/* Line 1455 of yacc.c  */
-#line 13224 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13224 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2182:
-
-/* Line 1455 of yacc.c  */
-#line 13225 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13225 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2183:
-
-/* Line 1455 of yacc.c  */
-#line 13226 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13226 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2184:
-
-/* Line 1455 of yacc.c  */
-#line 13227 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2185:
-
-/* Line 1455 of yacc.c  */
-#line 13228 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2186:
-
-/* Line 1455 of yacc.c  */
-#line 13229 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13229 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2187:
-
-/* Line 1455 of yacc.c  */
-#line 13230 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13230 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2188:
-
-/* Line 1455 of yacc.c  */
-#line 13231 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13231 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2189:
-
-/* Line 1455 of yacc.c  */
-#line 13232 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13232 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2190:
-
-/* Line 1455 of yacc.c  */
-#line 13233 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13233 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2191:
-
-/* Line 1455 of yacc.c  */
-#line 13234 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13234 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2192:
-
-/* Line 1455 of yacc.c  */
-#line 13235 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13235 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2193:
-
-/* Line 1455 of yacc.c  */
-#line 13236 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13236 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2194:
-
-/* Line 1455 of yacc.c  */
-#line 13237 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34096 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2195:
-
-/* Line 1455 of yacc.c  */
-#line 13238 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34102 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2196:
-
-/* Line 1455 of yacc.c  */
-#line 13239 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34108 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2197:
-
-/* Line 1455 of yacc.c  */
-#line 13240 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13240 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34114 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2198:
-
-/* Line 1455 of yacc.c  */
-#line 13241 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13241 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34120 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2199:
-
-/* Line 1455 of yacc.c  */
-#line 13242 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34126 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2200:
-
-/* Line 1455 of yacc.c  */
-#line 13243 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34132 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2201:
-
-/* Line 1455 of yacc.c  */
-#line 13244 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34138 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2202:
-
-/* Line 1455 of yacc.c  */
-#line 13245 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13245 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34144 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2203:
-
-/* Line 1455 of yacc.c  */
-#line 13246 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13246 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34150 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2204:
-
-/* Line 1455 of yacc.c  */
-#line 13247 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13247 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2205:
-
-/* Line 1455 of yacc.c  */
-#line 13248 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34162 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2206:
-
-/* Line 1455 of yacc.c  */
-#line 13249 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34168 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2207:
-
-/* Line 1455 of yacc.c  */
-#line 13250 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13250 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34174 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2208:
-
-/* Line 1455 of yacc.c  */
-#line 13251 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13251 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34180 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2209:
-
-/* Line 1455 of yacc.c  */
-#line 13252 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34186 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2210:
-
-/* Line 1455 of yacc.c  */
-#line 13253 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13253 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34192 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2211:
-
-/* Line 1455 of yacc.c  */
-#line 13254 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2212:
-
-/* Line 1455 of yacc.c  */
-#line 13255 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13255 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34204 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2213:
-
-/* Line 1455 of yacc.c  */
-#line 13256 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34210 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2214:
-
-/* Line 1455 of yacc.c  */
-#line 13257 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2215:
-
-/* Line 1455 of yacc.c  */
-#line 13258 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13258 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34222 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2216:
-
-/* Line 1455 of yacc.c  */
-#line 13259 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13259 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34228 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2217:
-
-/* Line 1455 of yacc.c  */
-#line 13260 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13260 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2218:
-
-/* Line 1455 of yacc.c  */
-#line 13261 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34240 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2219:
-
-/* Line 1455 of yacc.c  */
-#line 13262 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34246 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2220:
-
-/* Line 1455 of yacc.c  */
-#line 13263 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13263 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34252 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2221:
-
-/* Line 1455 of yacc.c  */
-#line 13264 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13264 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34258 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2222:
-
-/* Line 1455 of yacc.c  */
-#line 13265 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13265 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34264 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2223:
-
-/* Line 1455 of yacc.c  */
-#line 13266 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13266 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34270 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2224:
-
-/* Line 1455 of yacc.c  */
-#line 13267 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34276 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2225:
-
-/* Line 1455 of yacc.c  */
-#line 13268 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34282 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2226:
-
-/* Line 1455 of yacc.c  */
-#line 13269 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13269 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2227:
-
-/* Line 1455 of yacc.c  */
-#line 13270 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13270 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34294 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2228:
-
-/* Line 1455 of yacc.c  */
-#line 13271 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13271 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34300 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2229:
-
-/* Line 1455 of yacc.c  */
-#line 13272 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13272 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2230:
-
-/* Line 1455 of yacc.c  */
-#line 13273 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13273 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34312 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2231:
-
-/* Line 1455 of yacc.c  */
-#line 13274 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2232:
-
-/* Line 1455 of yacc.c  */
-#line 13275 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13275 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34324 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2233:
-
-/* Line 1455 of yacc.c  */
-#line 13276 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13276 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34330 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2234:
-
-/* Line 1455 of yacc.c  */
-#line 13277 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13277 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34336 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2235:
-
-/* Line 1455 of yacc.c  */
-#line 13278 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13278 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34342 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2236:
-
-/* Line 1455 of yacc.c  */
-#line 13279 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13279 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34348 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2237:
-
-/* Line 1455 of yacc.c  */
-#line 13280 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13280 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34354 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2238:
-
-/* Line 1455 of yacc.c  */
-#line 13281 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13281 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34360 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2239:
-
-/* Line 1455 of yacc.c  */
-#line 13282 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13282 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34366 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2240:
-
-/* Line 1455 of yacc.c  */
-#line 13283 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13283 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34372 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2241:
-
-/* Line 1455 of yacc.c  */
-#line 13284 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34378 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2242:
-
-/* Line 1455 of yacc.c  */
-#line 13285 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13285 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34384 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2243:
-
-/* Line 1455 of yacc.c  */
-#line 13286 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13286 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34390 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2244:
-
-/* Line 1455 of yacc.c  */
-#line 13287 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13287 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34396 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2245:
-
-/* Line 1455 of yacc.c  */
-#line 13288 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13288 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34402 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2246:
-
-/* Line 1455 of yacc.c  */
-#line 13289 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13289 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34408 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2247:
-
-/* Line 1455 of yacc.c  */
-#line 13290 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34414 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2248:
-
-/* Line 1455 of yacc.c  */
-#line 13291 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13291 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34420 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2249:
-
-/* Line 1455 of yacc.c  */
-#line 13292 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13292 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34426 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2250:
-
-/* Line 1455 of yacc.c  */
-#line 13293 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13293 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34432 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2251:
-
-/* Line 1455 of yacc.c  */
-#line 13294 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13294 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34438 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2252:
-
-/* Line 1455 of yacc.c  */
-#line 13295 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34444 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2253:
-
-/* Line 1455 of yacc.c  */
-#line 13296 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13296 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34450 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2254:
-
-/* Line 1455 of yacc.c  */
-#line 13297 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13297 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34456 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2255:
-
-/* Line 1455 of yacc.c  */
-#line 13298 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13298 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2256:
-
-/* Line 1455 of yacc.c  */
-#line 13299 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13299 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2257:
-
-/* Line 1455 of yacc.c  */
-#line 13300 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2258:
-
-/* Line 1455 of yacc.c  */
-#line 13301 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2259:
-
-/* Line 1455 of yacc.c  */
-#line 13302 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13302 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2260:
-
-/* Line 1455 of yacc.c  */
-#line 13303 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13303 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2261:
-
-/* Line 1455 of yacc.c  */
-#line 13304 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13304 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2262:
-
-/* Line 1455 of yacc.c  */
-#line 13305 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13305 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2263:
-
-/* Line 1455 of yacc.c  */
-#line 13306 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2264:
-
-/* Line 1455 of yacc.c  */
-#line 13307 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13307 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2265:
-
-/* Line 1455 of yacc.c  */
-#line 13308 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13308 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2266:
-
-/* Line 1455 of yacc.c  */
-#line 13309 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13309 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2267:
-
-/* Line 1455 of yacc.c  */
-#line 13310 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13310 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34534 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2268:
-
-/* Line 1455 of yacc.c  */
-#line 13311 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13311 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34540 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2269:
-
-/* Line 1455 of yacc.c  */
-#line 13312 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2270:
-
-/* Line 1455 of yacc.c  */
-#line 13313 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13313 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2271:
-
-/* Line 1455 of yacc.c  */
-#line 13314 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13314 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2272:
-
-/* Line 1455 of yacc.c  */
-#line 13315 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13315 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34564 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2273:
-
-/* Line 1455 of yacc.c  */
-#line 13316 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13316 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34570 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2274:
-
-/* Line 1455 of yacc.c  */
-#line 13317 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34576 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2275:
-
-/* Line 1455 of yacc.c  */
-#line 13318 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13318 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34582 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2276:
-
-/* Line 1455 of yacc.c  */
-#line 13319 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13319 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34588 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2277:
-
-/* Line 1455 of yacc.c  */
-#line 13320 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13320 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34594 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2278:
-
-/* Line 1455 of yacc.c  */
-#line 13321 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13321 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34600 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2279:
-
-/* Line 1455 of yacc.c  */
-#line 13322 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13322 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34606 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2280:
-
-/* Line 1455 of yacc.c  */
-#line 13323 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13323 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34612 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2281:
-
-/* Line 1455 of yacc.c  */
-#line 13324 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13324 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34618 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2282:
-
-/* Line 1455 of yacc.c  */
-#line 13325 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13325 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34624 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2283:
-
-/* Line 1455 of yacc.c  */
-#line 13326 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13326 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34630 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2284:
-
-/* Line 1455 of yacc.c  */
-#line 13327 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13327 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34636 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2285:
-
-/* Line 1455 of yacc.c  */
-#line 13328 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13328 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34642 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2286:
-
-/* Line 1455 of yacc.c  */
-#line 13329 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13329 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34648 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2287:
-
-/* Line 1455 of yacc.c  */
-#line 13330 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13330 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34654 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2288:
-
-/* Line 1455 of yacc.c  */
-#line 13331 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34660 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2289:
-
-/* Line 1455 of yacc.c  */
-#line 13332 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13332 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34666 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2290:
-
-/* Line 1455 of yacc.c  */
-#line 13333 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13333 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2291:
-
-/* Line 1455 of yacc.c  */
-#line 13334 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13334 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2292:
-
-/* Line 1455 of yacc.c  */
-#line 13335 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13335 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2293:
-
-/* Line 1455 of yacc.c  */
-#line 13336 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13336 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2294:
-
-/* Line 1455 of yacc.c  */
-#line 13337 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13337 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34696 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2295:
-
-/* Line 1455 of yacc.c  */
-#line 13338 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13338 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34702 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2296:
-
-/* Line 1455 of yacc.c  */
-#line 13339 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13339 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34708 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2297:
-
-/* Line 1455 of yacc.c  */
-#line 13340 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13340 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34714 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2298:
-
-/* Line 1455 of yacc.c  */
-#line 13341 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13341 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34720 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2299:
-
-/* Line 1455 of yacc.c  */
-#line 13342 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13342 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34726 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2300:
-
-/* Line 1455 of yacc.c  */
-#line 13343 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13343 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2301:
-
-/* Line 1455 of yacc.c  */
-#line 13344 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13344 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34738 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2302:
-
-/* Line 1455 of yacc.c  */
-#line 13345 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13345 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34744 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2303:
-
-/* Line 1455 of yacc.c  */
-#line 13346 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13346 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34750 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2304:
-
-/* Line 1455 of yacc.c  */
-#line 13347 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13347 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34756 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2305:
-
-/* Line 1455 of yacc.c  */
-#line 13348 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13348 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2306:
-
-/* Line 1455 of yacc.c  */
-#line 13349 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13349 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34768 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2307:
-
-/* Line 1455 of yacc.c  */
-#line 13350 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13350 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34774 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2308:
-
-/* Line 1455 of yacc.c  */
-#line 13351 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13351 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34780 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2309:
-
-/* Line 1455 of yacc.c  */
-#line 13352 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13352 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34786 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2310:
-
-/* Line 1455 of yacc.c  */
-#line 13353 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13353 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2311:
-
-/* Line 1455 of yacc.c  */
-#line 13354 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13354 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34798 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2312:
-
-/* Line 1455 of yacc.c  */
-#line 13355 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13355 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34804 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2313:
-
-/* Line 1455 of yacc.c  */
-#line 13356 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13356 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34810 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2314:
-
-/* Line 1455 of yacc.c  */
-#line 13357 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13357 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34816 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2315:
-
-/* Line 1455 of yacc.c  */
-#line 13358 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13358 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34822 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2316:
-
-/* Line 1455 of yacc.c  */
-#line 13359 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13359 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2317:
-
-/* Line 1455 of yacc.c  */
-#line 13360 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34834 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2318:
-
-/* Line 1455 of yacc.c  */
-#line 13361 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13361 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34840 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2319:
-
-/* Line 1455 of yacc.c  */
-#line 13362 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13362 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34846 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2320:
-
-/* Line 1455 of yacc.c  */
-#line 13363 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13363 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34852 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2321:
-
-/* Line 1455 of yacc.c  */
-#line 13364 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34858 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2322:
-
-/* Line 1455 of yacc.c  */
-#line 13365 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13365 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34864 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2323:
-
-/* Line 1455 of yacc.c  */
-#line 13366 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13366 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34870 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2324:
-
-/* Line 1455 of yacc.c  */
-#line 13367 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13367 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34876 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2325:
-
-/* Line 1455 of yacc.c  */
-#line 13368 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34882 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2326:
-
-/* Line 1455 of yacc.c  */
-#line 13369 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13369 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34888 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2327:
-
-/* Line 1455 of yacc.c  */
-#line 13376 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13376 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SET_OPTION;
@@ -37975,33 +34898,29 @@ yyreduce:
             lex->one_shot_set= 0;
             lex->autocommit= 0;
           }
+#line 34902 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2328:
-
-/* Line 1455 of yacc.c  */
-#line 13386 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13386 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34908 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2329:
-
-/* Line 1455 of yacc.c  */
-#line 13390 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13390 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34914 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2330:
-
-/* Line 1455 of yacc.c  */
-#line 13391 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13391 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 34920 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2333:
-
-/* Line 1455 of yacc.c  */
-#line 13400 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13400 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -38031,12 +34950,11 @@ yyreduce:
               lex->sphead->m_tmp_query= lip->get_tok_start();
             }
           }
+#line 34954 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2334:
-
-/* Line 1455 of yacc.c  */
-#line 13430 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13430 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -38084,132 +35002,117 @@ yyreduce:
                 MYSQL_YYABORT;
             }
           }
+#line 35006 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2335:
-
-/* Line 1455 of yacc.c  */
-#line 13480 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13480 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35012 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2336:
-
-/* Line 1455 of yacc.c  */
-#line 13481 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13481 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_GLOBAL; }
+#line 35018 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2337:
-
-/* Line 1455 of yacc.c  */
-#line 13482 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13482 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35024 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2338:
-
-/* Line 1455 of yacc.c  */
-#line 13483 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13483 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35030 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2339:
-
-/* Line 1455 of yacc.c  */
-#line 13487 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= OPT_DEFAULT; }
+#line 35036 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2340:
-
-/* Line 1455 of yacc.c  */
-#line 13488 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13488 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->one_shot_set= 1; (yyval.num)= OPT_SESSION; }
+#line 35042 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2341:
-
-/* Line 1455 of yacc.c  */
-#line 13492 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13492 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35048 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2342:
-
-/* Line 1455 of yacc.c  */
-#line 13493 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13493 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_GLOBAL; }
+#line 35054 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2343:
-
-/* Line 1455 of yacc.c  */
-#line 13494 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13494 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35060 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2344:
-
-/* Line 1455 of yacc.c  */
-#line 13495 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13495 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35066 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2345:
-
-/* Line 1455 of yacc.c  */
-#line 13499 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13499 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_DEFAULT; }
+#line 35072 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2346:
-
-/* Line 1455 of yacc.c  */
-#line 13500 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13500 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_GLOBAL; }
+#line 35078 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2347:
-
-/* Line 1455 of yacc.c  */
-#line 13501 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13501 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35084 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2348:
-
-/* Line 1455 of yacc.c  */
-#line 13502 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13502 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.var_type)=OPT_SESSION; }
+#line 35090 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2351:
-
-/* Line 1455 of yacc.c  */
-#line 13512 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13512 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            LEX_STRING *name= &(yyvsp[(2) - (4)].variable).base_name;
+            LEX_STRING *name= &(yyvsp[-2].variable).base_name;
 
-            if ((yyvsp[(2) - (4)].variable).var == trg_new_row_fake_var)
+            if ((yyvsp[-2].variable).var == trg_new_row_fake_var)
             {
               /* We are in trigger and assigning value to field of new row */
-              if ((yyvsp[(1) - (4)].var_type))
+              if ((yyvsp[-3].var_type))
               {
                 my_parse_error(ER(ER_SYNTAX_ERROR));
                 MYSQL_YYABORT;
               }
-              if (set_trigger_new_row(thd, name, (yyvsp[(4) - (4)].item)))
+              if (set_trigger_new_row(thd, name, (yyvsp[0].item)))
                 MYSQL_YYABORT;
             }
-            else if ((yyvsp[(2) - (4)].variable).var)
+            else if ((yyvsp[-2].variable).var)
             {
-              if ((yyvsp[(1) - (4)].var_type))
-                lex->option_type= (yyvsp[(1) - (4)].var_type);
+              if ((yyvsp[-3].var_type))
+                lex->option_type= (yyvsp[-3].var_type);
 
               /* It is a system variable. */
-              if (set_system_variable(thd, &(yyvsp[(2) - (4)].variable), lex->option_type, (yyvsp[(4) - (4)].item)))
+              if (set_system_variable(thd, &(yyvsp[-2].variable), lex->option_type, (yyvsp[0].item)))
                 MYSQL_YYABORT;
             }
             else
@@ -38217,27 +35120,26 @@ yyreduce:
               sp_pcontext *spc= lex->spcont;
               sp_variable_t *spv= spc->find_variable(name);
 
-              if ((yyvsp[(1) - (4)].var_type))
+              if ((yyvsp[-3].var_type))
               {
                 my_parse_error(ER(ER_SYNTAX_ERROR));
                 MYSQL_YYABORT;
               }
 
               /* It is a local variable. */
-              if (set_local_variable(thd, spv, (yyvsp[(4) - (4)].item)))
+              if (set_local_variable(thd, spv, (yyvsp[0].item)))
                 MYSQL_YYABORT;
             }
           }
+#line 35135 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2352:
-
-/* Line 1455 of yacc.c  */
-#line 13553 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13553 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->option_type= (yyvsp[(1) - (5)].var_type);
-            Item *item= new (thd->mem_root) Item_int((int32) (yyvsp[(5) - (5)].tx_isolation));
+            lex->option_type= (yyvsp[-4].var_type);
+            Item *item= new (thd->mem_root) Item_int((int32) (yyvsp[0].tx_isolation));
             if (item == NULL)
               MYSQL_YYABORT;
             set_var *var= new set_var(lex->option_type,
@@ -38248,15 +35150,14 @@ yyreduce:
               MYSQL_YYABORT;
             lex->var_list.push_back(var);
           }
+#line 35154 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2353:
-
-/* Line 1455 of yacc.c  */
-#line 13571 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13571 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Item_func_set_user_var *item;
-            item= new (thd->mem_root) Item_func_set_user_var((yyvsp[(2) - (4)].lex_str), (yyvsp[(4) - (4)].item));
+            item= new (thd->mem_root) Item_func_set_user_var((yyvsp[-2].lex_str), (yyvsp[0].item));
             if (item == NULL)
               MYSQL_YYABORT;
             set_var_user *var= new set_var_user(item);
@@ -38264,33 +35165,31 @@ yyreduce:
               MYSQL_YYABORT;
             Lex->var_list.push_back(var);
           }
+#line 35169 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2354:
-
-/* Line 1455 of yacc.c  */
-#line 13582 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13582 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            struct sys_var_with_base tmp= (yyvsp[(4) - (6)].variable);
+            struct sys_var_with_base tmp= (yyvsp[-2].variable);
             /* Lookup if necessary: must be a system variable. */
             if (tmp.var == NULL)
             {
               if (find_sys_var_null_base(thd, &tmp))
                 MYSQL_YYABORT;
             }
-            if (set_system_variable(thd, &tmp, (yyvsp[(3) - (6)].var_type), (yyvsp[(6) - (6)].item)))
+            if (set_system_variable(thd, &tmp, (yyvsp[-3].var_type), (yyvsp[0].item)))
               MYSQL_YYABORT;
           }
+#line 35185 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2355:
-
-/* Line 1455 of yacc.c  */
-#line 13594 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             CHARSET_INFO *cs2;
-            cs2= (yyvsp[(2) - (2)].charset) ? (yyvsp[(2) - (2)].charset): global_system_variables.character_set_client;
+            cs2= (yyvsp[0].charset) ? (yyvsp[0].charset): global_system_variables.character_set_client;
             set_var_collation_client *var;
             var= new set_var_collation_client(cs2,
                                               thd->variables.collation_database,
@@ -38299,12 +35198,11 @@ yyreduce:
               MYSQL_YYABORT;
             lex->var_list.push_back(var);
           }
+#line 35202 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2356:
-
-/* Line 1455 of yacc.c  */
-#line 13607 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13607 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_pcontext *spc= lex->spcont;
@@ -38319,18 +35217,17 @@ yyreduce:
 
             MYSQL_YYABORT;
           }
+#line 35221 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2357:
-
-/* Line 1455 of yacc.c  */
-#line 13622 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13622 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             CHARSET_INFO *cs2;
             CHARSET_INFO *cs3;
-            cs2= (yyvsp[(2) - (3)].charset) ? (yyvsp[(2) - (3)].charset) : global_system_variables.character_set_client;
-            cs3= (yyvsp[(3) - (3)].charset) ? (yyvsp[(3) - (3)].charset) : cs2;
+            cs2= (yyvsp[-1].charset) ? (yyvsp[-1].charset) : global_system_variables.character_set_client;
+            cs3= (yyvsp[0].charset) ? (yyvsp[0].charset) : cs2;
             if (!my_charset_same(cs2, cs3))
             {
               my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
@@ -38343,12 +35240,11 @@ yyreduce:
               MYSQL_YYABORT;
             lex->var_list.push_back(var);
           }
+#line 35244 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2358:
-
-/* Line 1455 of yacc.c  */
-#line 13641 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13641 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             LEX_USER *user;
@@ -38366,7 +35262,7 @@ yyreduce:
               MYSQL_YYABORT;
             user->host=null_lex_str;
             user->user.str=thd->security_ctx->user;
-            set_var_password *var= new set_var_password(user, (yyvsp[(3) - (3)].simple_string));
+            set_var_password *var= new set_var_password(user, (yyvsp[0].simple_string));
             if (var == NULL)
               MYSQL_YYABORT;
             thd->lex->var_list.push_back(var);
@@ -38374,14 +35270,13 @@ yyreduce:
             if (lex->sphead)
               lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
           }
+#line 35274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2359:
-
-/* Line 1455 of yacc.c  */
-#line 13667 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            set_var_password *var= new set_var_password((yyvsp[(3) - (5)].lex_user),(yyvsp[(5) - (5)].simple_string));
+            set_var_password *var= new set_var_password((yyvsp[-2].lex_user),(yyvsp[0].simple_string));
             if (var == NULL)
               MYSQL_YYABORT;
             Lex->var_list.push_back(var);
@@ -38389,20 +35284,19 @@ yyreduce:
             if (Lex->sphead)
               Lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
           }
+#line 35288 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2360:
-
-/* Line 1455 of yacc.c  */
-#line 13680 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13680 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             sp_pcontext *spc= thd->lex->spcont;
             sp_variable_t *spv;
 
             /* Best effort lookup for system variable. */
-            if (!spc || !(spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str))))
+            if (!spc || !(spv = spc->find_variable(&(yyvsp[0].lex_str))))
             {
-              struct sys_var_with_base tmp= {NULL, (yyvsp[(1) - (1)].lex_str)};
+              struct sys_var_with_base tmp= {NULL, (yyvsp[0].lex_str)};
 
               /* Not an SP local variable */
               if (find_sys_var_null_base(thd, &tmp))
@@ -38417,27 +35311,26 @@ yyreduce:
                 Will depend on the context of the SET statement.
               */
               (yyval.variable).var= NULL;
-              (yyval.variable).base_name= (yyvsp[(1) - (1)].lex_str);
+              (yyval.variable).base_name= (yyvsp[0].lex_str);
             }
           }
+#line 35318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2361:
-
-/* Line 1455 of yacc.c  */
-#line 13706 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13706 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            if (check_reserved_words(&(yyvsp[(1) - (3)].lex_str)))
+            if (check_reserved_words(&(yyvsp[-2].lex_str)))
             {
               my_parse_error(ER(ER_SYNTAX_ERROR));
               MYSQL_YYABORT;
             }
             if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER &&
-                (!my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "NEW") || 
-                 !my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "OLD")))
+                (!my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "NEW") || 
+                 !my_strcasecmp(system_charset_info, (yyvsp[-2].lex_str).str, "OLD")))
             {
-              if ((yyvsp[(1) - (3)].lex_str).str[0]=='O' || (yyvsp[(1) - (3)].lex_str).str[0]=='o')
+              if ((yyvsp[-2].lex_str).str[0]=='O' || (yyvsp[-2].lex_str).str[0]=='o')
               {
                 my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "OLD", "");
                 MYSQL_YYABORT;
@@ -38455,150 +35348,136 @@ yyreduce:
               }
               /* This special combination will denote field of NEW row */
               (yyval.variable).var= trg_new_row_fake_var;
-              (yyval.variable).base_name= (yyvsp[(3) - (3)].lex_str);
+              (yyval.variable).base_name= (yyvsp[0].lex_str);
             }
             else
             {
-              sys_var *tmp=find_sys_var(thd, (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length);
+              sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
               if (!tmp)
                 MYSQL_YYABORT;
               if (!tmp->is_struct())
-                my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[(3) - (3)].lex_str).str);
+                my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[0].lex_str).str);
               (yyval.variable).var= tmp;
-              (yyval.variable).base_name= (yyvsp[(1) - (3)].lex_str);
+              (yyval.variable).base_name= (yyvsp[-2].lex_str);
             }
           }
+#line 35365 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2362:
-
-/* Line 1455 of yacc.c  */
-#line 13749 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13749 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            sys_var *tmp=find_sys_var(thd, (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length);
+            sys_var *tmp=find_sys_var(thd, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
             if (!tmp)
               MYSQL_YYABORT;
             if (!tmp->is_struct())
-              my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[(3) - (3)].lex_str).str);
+              my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[0].lex_str).str);
             (yyval.variable).var= tmp;
             (yyval.variable).base_name.str=    (char*) "default";
             (yyval.variable).base_name.length= 7;
           }
+#line 35380 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2363:
-
-/* Line 1455 of yacc.c  */
-#line 13762 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13762 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
+#line 35386 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2364:
-
-/* Line 1455 of yacc.c  */
-#line 13763 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13763 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_READ_COMMITTED; }
+#line 35392 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2365:
-
-/* Line 1455 of yacc.c  */
-#line 13764 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
+#line 35398 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2366:
-
-/* Line 1455 of yacc.c  */
-#line 13765 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13765 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.tx_isolation)= ISO_SERIALIZABLE; }
+#line 35404 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2367:
-
-/* Line 1455 of yacc.c  */
-#line 13769 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.simple_string)=(yyvsp[(1) - (1)].lex_str).str;}
+#line 13769 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.simple_string)=(yyvsp[0].lex_str).str;}
+#line 35410 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2368:
-
-/* Line 1455 of yacc.c  */
-#line 13771 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13771 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.simple_string)= (yyvsp[(3) - (4)].lex_str).length ? thd->variables.old_passwords ?
-              Item_func_old_password::alloc(thd, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) :
-              Item_func_password::alloc(thd, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) :
-              (yyvsp[(3) - (4)].lex_str).str;
+            (yyval.simple_string)= (yyvsp[-1].lex_str).length ? thd->variables.old_passwords ?
+              Item_func_old_password::alloc(thd, (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length) :
+              Item_func_password::alloc(thd, (yyvsp[-1].lex_str).str, (yyvsp[-1].lex_str).length) :
+              (yyvsp[-1].lex_str).str;
             if ((yyval.simple_string) == NULL)
               MYSQL_YYABORT;
           }
+#line 35423 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2369:
-
-/* Line 1455 of yacc.c  */
-#line 13780 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.simple_string)= (yyvsp[(3) - (4)].lex_str).length ? Item_func_old_password::alloc(thd, (yyvsp[(3) - (4)].lex_str).str,
-                                                          (yyvsp[(3) - (4)].lex_str).length) :
-              (yyvsp[(3) - (4)].lex_str).str;
+            (yyval.simple_string)= (yyvsp[-1].lex_str).length ? Item_func_old_password::alloc(thd, (yyvsp[-1].lex_str).str,
+                                                          (yyvsp[-1].lex_str).length) :
+              (yyvsp[-1].lex_str).str;
             if ((yyval.simple_string) == NULL)
               MYSQL_YYABORT;
           }
+#line 35435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2370:
-
-/* Line 1455 of yacc.c  */
-#line 13791 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.item)=(yyvsp[(1) - (1)].item); }
+#line 13791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.item)=(yyvsp[0].item); }
+#line 35441 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2371:
-
-/* Line 1455 of yacc.c  */
-#line 13792 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13792 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.item)=0; }
+#line 35447 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2372:
-
-/* Line 1455 of yacc.c  */
-#line 13794 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13794 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_string("ON",  2, system_charset_info);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 35457 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2373:
-
-/* Line 1455 of yacc.c  */
-#line 13800 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13800 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_string("ALL", 3, system_charset_info);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 35467 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2374:
-
-/* Line 1455 of yacc.c  */
-#line 13806 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13806 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.item)=new (thd->mem_root) Item_string("binary", 6, system_charset_info);
             if ((yyval.item) == NULL)
               MYSQL_YYABORT;
           }
+#line 35477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2375:
-
-/* Line 1455 of yacc.c  */
-#line 13817 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13817 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -38609,37 +35488,33 @@ yyreduce:
             }
             lex->sql_command= SQLCOM_LOCK_TABLES;
           }
+#line 35492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2376:
-
-/* Line 1455 of yacc.c  */
-#line 13828 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13828 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2377:
-
-/* Line 1455 of yacc.c  */
-#line 13832 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13832 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 35504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2378:
-
-/* Line 1455 of yacc.c  */
-#line 13833 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13833 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { }
+#line 35510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2381:
-
-/* Line 1455 of yacc.c  */
-#line 13843 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13843 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            thr_lock_type lock_type= (thr_lock_type) (yyvsp[(3) - (3)].num);
+            thr_lock_type lock_type= (thr_lock_type) (yyvsp[0].num);
             bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE);
-            if (!Select->add_table_to_list(thd, (yyvsp[(1) - (3)].table), (yyvsp[(2) - (3)].lex_str_ptr), 0, lock_type,
+            if (!Select->add_table_to_list(thd, (yyvsp[-2].table), (yyvsp[-1].lex_str_ptr), 0, lock_type,
                                            (lock_for_write ?
                                             lock_type == TL_WRITE_CONCURRENT_INSERT ?
                                             MDL_SHARED_WRITE :
@@ -38647,49 +35522,43 @@ yyreduce:
                                             MDL_SHARED_READ)))
               MYSQL_YYABORT;
           }
+#line 35526 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2382:
-
-/* Line 1455 of yacc.c  */
-#line 13857 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13857 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_READ_NO_INSERT; }
+#line 35532 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2383:
-
-/* Line 1455 of yacc.c  */
-#line 13858 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13858 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_WRITE_DEFAULT; }
+#line 35538 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2384:
-
-/* Line 1455 of yacc.c  */
-#line 13860 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.num)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT);
           }
+#line 35546 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2385:
-
-/* Line 1455 of yacc.c  */
-#line 13864 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_WRITE_LOW_PRIORITY; }
+#line 35552 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2386:
-
-/* Line 1455 of yacc.c  */
-#line 13865 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13865 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= TL_READ; }
+#line 35558 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2387:
-
-/* Line 1455 of yacc.c  */
-#line 13870 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13870 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
 
@@ -38700,19 +35569,17 @@ yyreduce:
             }
             lex->sql_command= SQLCOM_UNLOCK_TABLES;
           }
+#line 35573 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2388:
-
-/* Line 1455 of yacc.c  */
-#line 13881 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13881 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2389:
-
-/* Line 1455 of yacc.c  */
-#line 13890 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13890 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->sphead)
@@ -38721,15 +35588,14 @@ yyreduce:
               MYSQL_YYABORT;
             }
             lex->sql_command = SQLCOM_HA_OPEN;
-            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(2) - (4)].table), (yyvsp[(4) - (4)].lex_str_ptr), 0))
+            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-2].table), (yyvsp[0].lex_str_ptr), 0))
               MYSQL_YYABORT;
           }
+#line 35595 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2390:
-
-/* Line 1455 of yacc.c  */
-#line 13902 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13902 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->sphead)
@@ -38738,15 +35604,14 @@ yyreduce:
               MYSQL_YYABORT;
             }
             lex->sql_command = SQLCOM_HA_CLOSE;
-            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(2) - (3)].table), 0, 0))
+            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
               MYSQL_YYABORT;
           }
+#line 35611 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2391:
-
-/* Line 1455 of yacc.c  */
-#line 13914 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13914 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->sphead)
@@ -38763,15 +35628,14 @@ yyreduce:
             lex->current_select->select_limit= one;
             lex->current_select->offset_limit= 0;
             lex->limit_rows_examined= 0;
-            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(2) - (3)].table), 0, 0))
+            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[-1].table), 0, 0))
               MYSQL_YYABORT;
           }
+#line 35635 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2392:
-
-/* Line 1455 of yacc.c  */
-#line 13934 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13934 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->expr_allows_subselect= TRUE;
             /* Stored functions are not supported for HANDLER READ. */
@@ -38782,141 +35646,123 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 35650 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2393:
-
-/* Line 1455 of yacc.c  */
-#line 13947 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13947 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ident= null_lex_str; }
+#line 35656 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2394:
-
-/* Line 1455 of yacc.c  */
-#line 13948 "/home/buildbot/git/sql/sql_yacc.yy"
-    { Lex->ident= (yyvsp[(1) - (2)].lex_str); }
+#line 13948 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { Lex->ident= (yyvsp[-1].lex_str); }
+#line 35662 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2395:
-
-/* Line 1455 of yacc.c  */
-#line 13952 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13952 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RFIRST; }
+#line 35668 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2396:
-
-/* Line 1455 of yacc.c  */
-#line 13953 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13953 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RNEXT;  }
+#line 35674 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2397:
-
-/* Line 1455 of yacc.c  */
-#line 13957 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RFIRST; }
+#line 35680 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2398:
-
-/* Line 1455 of yacc.c  */
-#line 13958 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13958 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RNEXT;  }
+#line 35686 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2399:
-
-/* Line 1455 of yacc.c  */
-#line 13959 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13959 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RPREV;  }
+#line 35692 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2400:
-
-/* Line 1455 of yacc.c  */
-#line 13960 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13960 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->ha_read_mode = RLAST;  }
+#line 35698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2401:
-
-/* Line 1455 of yacc.c  */
-#line 13962 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13962 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->ha_read_mode = RKEY;
-            lex->ha_rkey_mode=(yyvsp[(1) - (1)].ha_rkey_mode);
+            lex->ha_rkey_mode=(yyvsp[0].ha_rkey_mode);
             if (!(lex->insert_list = new List_item))
               MYSQL_YYABORT;
           }
+#line 35710 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2402:
-
-/* Line 1455 of yacc.c  */
-#line 13970 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13970 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35716 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2403:
-
-/* Line 1455 of yacc.c  */
-#line 13974 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT;   }
+#line 35722 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2404:
-
-/* Line 1455 of yacc.c  */
-#line 13975 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13975 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; }
+#line 35728 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2405:
-
-/* Line 1455 of yacc.c  */
-#line 13976 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13976 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; }
+#line 35734 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2406:
-
-/* Line 1455 of yacc.c  */
-#line 13977 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13977 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY;   }
+#line 35740 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2407:
-
-/* Line 1455 of yacc.c  */
-#line 13978 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13978 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY;  }
+#line 35746 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2408:
-
-/* Line 1455 of yacc.c  */
-#line 13985 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13985 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35752 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2409:
-
-/* Line 1455 of yacc.c  */
-#line 13990 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13990 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= 0;
           }
+#line 35762 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2410:
-
-/* Line 1455 of yacc.c  */
-#line 13996 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 13996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -38927,12 +35773,11 @@ yyreduce:
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= TYPE_ENUM_FUNCTION;
           }
+#line 35777 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2411:
-
-/* Line 1455 of yacc.c  */
-#line 14007 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14007 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -38943,51 +35788,46 @@ yyreduce:
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= TYPE_ENUM_PROCEDURE;
           }
+#line 35792 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2412:
-
-/* Line 1455 of yacc.c  */
-#line 14018 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14018 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_REVOKE_ALL;
           }
+#line 35800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2413:
-
-/* Line 1455 of yacc.c  */
-#line 14022 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14022 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->users_list.push_front ((yyvsp[(3) - (5)].lex_user));
+            lex->users_list.push_front ((yyvsp[-2].lex_user));
             lex->sql_command= SQLCOM_REVOKE;
             lex->type= TYPE_ENUM_PROXY;
           }
+#line 35811 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2414:
-
-/* Line 1455 of yacc.c  */
-#line 14032 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14032 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35817 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2415:
-
-/* Line 1455 of yacc.c  */
-#line 14038 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14038 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_GRANT;
             lex->type= 0;
           }
+#line 35827 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2416:
-
-/* Line 1455 of yacc.c  */
-#line 14045 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14045 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -38998,12 +35838,11 @@ yyreduce:
             lex->sql_command= SQLCOM_GRANT;
             lex->type= TYPE_ENUM_FUNCTION;
           }
+#line 35842 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2417:
-
-/* Line 1455 of yacc.c  */
-#line 14057 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14057 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             if (lex->columns.elements)
@@ -39014,293 +35853,253 @@ yyreduce:
             lex->sql_command= SQLCOM_GRANT;
             lex->type= TYPE_ENUM_PROCEDURE;
           }
+#line 35857 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2418:
-
-/* Line 1455 of yacc.c  */
-#line 14068 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14068 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->users_list.push_front ((yyvsp[(3) - (6)].lex_user));
+            lex->users_list.push_front ((yyvsp[-3].lex_user));
             lex->sql_command= SQLCOM_GRANT;
             lex->type= TYPE_ENUM_PROXY;
           }
+#line 35868 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2421:
-
-/* Line 1455 of yacc.c  */
-#line 14082 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14082 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35874 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2422:
-
-/* Line 1455 of yacc.c  */
-#line 14084 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14084 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             Lex->all_privileges= 1; 
             Lex->grant= GLOBAL_ACLS;
           }
+#line 35883 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2427:
-
-/* Line 1455 of yacc.c  */
-#line 14102 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14102 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = SELECT_ACL;}
+#line 35889 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2428:
-
-/* Line 1455 of yacc.c  */
-#line 14103 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14103 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35895 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2429:
-
-/* Line 1455 of yacc.c  */
-#line 14105 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14105 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = INSERT_ACL;}
+#line 35901 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2430:
-
-/* Line 1455 of yacc.c  */
-#line 14106 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14106 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35907 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2431:
-
-/* Line 1455 of yacc.c  */
-#line 14108 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14108 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = UPDATE_ACL; }
+#line 35913 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2432:
-
-/* Line 1455 of yacc.c  */
-#line 14109 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14109 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35919 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2433:
-
-/* Line 1455 of yacc.c  */
-#line 14111 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14111 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->which_columns = REFERENCES_ACL;}
+#line 35925 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2434:
-
-/* Line 1455 of yacc.c  */
-#line 14112 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14112 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35931 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2435:
-
-/* Line 1455 of yacc.c  */
-#line 14113 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14113 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= DELETE_ACL;}
+#line 35937 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2436:
-
-/* Line 1455 of yacc.c  */
-#line 14114 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14114 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 35943 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2437:
-
-/* Line 1455 of yacc.c  */
-#line 14115 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14115 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= INDEX_ACL;}
+#line 35949 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2438:
-
-/* Line 1455 of yacc.c  */
-#line 14116 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14116 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= ALTER_ACL;}
+#line 35955 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2439:
-
-/* Line 1455 of yacc.c  */
-#line 14117 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14117 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_ACL;}
+#line 35961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2440:
-
-/* Line 1455 of yacc.c  */
-#line 14118 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14118 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= DROP_ACL;}
+#line 35967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2441:
-
-/* Line 1455 of yacc.c  */
-#line 14119 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14119 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= EXECUTE_ACL;}
+#line 35973 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2442:
-
-/* Line 1455 of yacc.c  */
-#line 14120 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14120 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= RELOAD_ACL;}
+#line 35979 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2443:
-
-/* Line 1455 of yacc.c  */
-#line 14121 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14121 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SHUTDOWN_ACL;}
+#line 35985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2444:
-
-/* Line 1455 of yacc.c  */
-#line 14122 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14122 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= PROCESS_ACL;}
+#line 35991 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2445:
-
-/* Line 1455 of yacc.c  */
-#line 14123 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14123 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= FILE_ACL;}
+#line 35997 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2446:
-
-/* Line 1455 of yacc.c  */
-#line 14124 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14124 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= GRANT_ACL;}
+#line 36003 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2447:
-
-/* Line 1455 of yacc.c  */
-#line 14125 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14125 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SHOW_DB_ACL;}
+#line 36009 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2448:
-
-/* Line 1455 of yacc.c  */
-#line 14126 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SUPER_ACL;}
+#line 36015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2449:
-
-/* Line 1455 of yacc.c  */
-#line 14127 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14127 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_TMP_ACL;}
+#line 36021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2450:
-
-/* Line 1455 of yacc.c  */
-#line 14128 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14128 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= LOCK_TABLES_ACL; }
+#line 36027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2451:
-
-/* Line 1455 of yacc.c  */
-#line 14129 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14129 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= REPL_SLAVE_ACL; }
+#line 36033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2452:
-
-/* Line 1455 of yacc.c  */
-#line 14130 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14130 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= REPL_CLIENT_ACL; }
+#line 36039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2453:
-
-/* Line 1455 of yacc.c  */
-#line 14131 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14131 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_VIEW_ACL; }
+#line 36045 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2454:
-
-/* Line 1455 of yacc.c  */
-#line 14132 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14132 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= SHOW_VIEW_ACL; }
+#line 36051 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2455:
-
-/* Line 1455 of yacc.c  */
-#line 14133 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14133 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_PROC_ACL; }
+#line 36057 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2456:
-
-/* Line 1455 of yacc.c  */
-#line 14134 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14134 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= ALTER_PROC_ACL; }
+#line 36063 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2457:
-
-/* Line 1455 of yacc.c  */
-#line 14135 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14135 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_USER_ACL; }
+#line 36069 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2458:
-
-/* Line 1455 of yacc.c  */
-#line 14136 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14136 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= EVENT_ACL;}
+#line 36075 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2459:
-
-/* Line 1455 of yacc.c  */
-#line 14137 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14137 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= TRIGGER_ACL; }
+#line 36081 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2460:
-
-/* Line 1455 of yacc.c  */
-#line 14138 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14138 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= CREATE_TABLESPACE_ACL; }
+#line 36087 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2461:
-
-/* Line 1455 of yacc.c  */
-#line 14142 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14142 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36093 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2462:
-
-/* Line 1455 of yacc.c  */
-#line 14143 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14143 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36099 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2465:
-
-/* Line 1455 of yacc.c  */
-#line 14153 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14153 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->x509_subject)
@@ -39308,14 +36107,13 @@ yyreduce:
               my_error(ER_DUP_ARGUMENT, MYF(0), "SUBJECT");
               MYSQL_YYABORT;
             }
-            lex->x509_subject=(yyvsp[(2) - (2)].lex_str).str;
+            lex->x509_subject=(yyvsp[0].lex_str).str;
           }
+#line 36113 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2466:
-
-/* Line 1455 of yacc.c  */
-#line 14163 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14163 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->x509_issuer)
@@ -39323,14 +36121,13 @@ yyreduce:
               my_error(ER_DUP_ARGUMENT, MYF(0), "ISSUER");
               MYSQL_YYABORT;
             }
-            lex->x509_issuer=(yyvsp[(2) - (2)].lex_str).str;
+            lex->x509_issuer=(yyvsp[0].lex_str).str;
           }
+#line 36127 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2467:
-
-/* Line 1455 of yacc.c  */
-#line 14173 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (lex->ssl_cipher)
@@ -39338,14 +36135,13 @@ yyreduce:
               my_error(ER_DUP_ARGUMENT, MYF(0), "CIPHER");
               MYSQL_YYABORT;
             }
-            lex->ssl_cipher=(yyvsp[(2) - (2)].lex_str).str;
+            lex->ssl_cipher=(yyvsp[0].lex_str).str;
           }
+#line 36141 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2468:
-
-/* Line 1455 of yacc.c  */
-#line 14186 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14186 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             size_t dummy;
@@ -39360,15 +36156,14 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 36160 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2469:
-
-/* Line 1455 of yacc.c  */
-#line 14201 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14201 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
-            lex->current_select->db = (yyvsp[(1) - (3)].lex_str).str;
+            lex->current_select->db = (yyvsp[-2].lex_str).str;
             if (lex->grant == GLOBAL_ACLS)
               lex->grant = DB_ACLS & ~GRANT_ACL;
             else if (lex->columns.elements)
@@ -39378,12 +36173,11 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 36177 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2470:
-
-/* Line 1455 of yacc.c  */
-#line 14214 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->current_select->db = NULL;
@@ -39396,69 +36190,63 @@ yyreduce:
               MYSQL_YYABORT;
             }
           }
+#line 36194 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2471:
-
-/* Line 1455 of yacc.c  */
-#line 14227 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14227 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(1) - (1)].table),NULL,
+            if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[0].table),NULL,
                                                         TL_OPTION_UPDATING))
               MYSQL_YYABORT;
             if (lex->grant == GLOBAL_ACLS)
               lex->grant =  TABLE_ACLS & ~GRANT_ACL;
           }
+#line 36207 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2472:
-
-/* Line 1455 of yacc.c  */
-#line 14239 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14239 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->users_list.push_back((yyvsp[(1) - (1)].lex_user)))
+            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
               MYSQL_YYABORT;
           }
+#line 36216 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2473:
-
-/* Line 1455 of yacc.c  */
-#line 14244 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user)))
+            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
               MYSQL_YYABORT;
           }
+#line 36225 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2474:
-
-/* Line 1455 of yacc.c  */
-#line 14252 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14252 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->users_list.push_back((yyvsp[(1) - (1)].lex_user)))
+            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
               MYSQL_YYABORT;
           }
+#line 36234 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2475:
-
-/* Line 1455 of yacc.c  */
-#line 14257 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14257 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user)))
+            if (Lex->users_list.push_back((yyvsp[0].lex_user)))
               MYSQL_YYABORT;
           }
+#line 36243 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2480:
-
-/* Line 1455 of yacc.c  */
-#line 14268 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14268 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_user)=(yyvsp[(1) - (4)].lex_user); (yyvsp[(1) - (4)].lex_user)->password=(yyvsp[(4) - (4)].lex_str);
-            if ((yyvsp[(4) - (4)].lex_str).length)
+            (yyval.lex_user)=(yyvsp[-3].lex_user); (yyvsp[-3].lex_user)->password=(yyvsp[0].lex_str);
+            if ((yyvsp[0].lex_str).length)
             {
               if (thd->variables.old_passwords)
               {
@@ -39466,9 +36254,9 @@ yyreduce:
                   (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1);
                 if (buff == NULL)
                   MYSQL_YYABORT;
-                my_make_scrambled_password_323(buff, (yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length);
-                (yyvsp[(1) - (4)].lex_user)->password.str= buff;
-                (yyvsp[(1) - (4)].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323;
+                my_make_scrambled_password_323(buff, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
+                (yyvsp[-3].lex_user)->password.str= buff;
+                (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323;
               }
               else
               {
@@ -39476,69 +36264,63 @@ yyreduce:
                   (char *) thd->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1);
                 if (buff == NULL)
                   MYSQL_YYABORT;
-                my_make_scrambled_password(buff, (yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length);
-                (yyvsp[(1) - (4)].lex_user)->password.str= buff;
-                (yyvsp[(1) - (4)].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH;
+                my_make_scrambled_password(buff, (yyvsp[0].lex_str).str, (yyvsp[0].lex_str).length);
+                (yyvsp[-3].lex_user)->password.str= buff;
+                (yyvsp[-3].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH;
               }
             }
           }
+#line 36274 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2481:
-
-/* Line 1455 of yacc.c  */
-#line 14295 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14295 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
-            (yyval.lex_user)= (yyvsp[(1) - (5)].lex_user); 
-            (yyvsp[(1) - (5)].lex_user)->password= (yyvsp[(5) - (5)].lex_str); 
+            (yyval.lex_user)= (yyvsp[-4].lex_user); 
+            (yyvsp[-4].lex_user)->password= (yyvsp[0].lex_str); 
           }
+#line 36283 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2482:
-
-/* Line 1455 of yacc.c  */
-#line 14300 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14300 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_user)= (yyvsp[(1) - (4)].lex_user);
-            (yyvsp[(1) - (4)].lex_user)->plugin= (yyvsp[(4) - (4)].lex_str);
-            (yyvsp[(1) - (4)].lex_user)->auth= empty_lex_str;
+            (yyval.lex_user)= (yyvsp[-3].lex_user);
+            (yyvsp[-3].lex_user)->plugin= (yyvsp[0].lex_str);
+            (yyvsp[-3].lex_user)->auth= empty_lex_str;
           }
+#line 36293 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2483:
-
-/* Line 1455 of yacc.c  */
-#line 14306 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14306 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            (yyval.lex_user)= (yyvsp[(1) - (6)].lex_user);
-            (yyvsp[(1) - (6)].lex_user)->plugin= (yyvsp[(4) - (6)].lex_str);
-            (yyvsp[(1) - (6)].lex_user)->auth= (yyvsp[(6) - (6)].lex_str);
+            (yyval.lex_user)= (yyvsp[-5].lex_user);
+            (yyvsp[-5].lex_user)->plugin= (yyvsp[-2].lex_str);
+            (yyvsp[-5].lex_user)->auth= (yyvsp[0].lex_str);
           }
+#line 36303 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2484:
-
-/* Line 1455 of yacc.c  */
-#line 14312 "/home/buildbot/git/sql/sql_yacc.yy"
-    { (yyval.lex_user)= (yyvsp[(1) - (1)].lex_user); (yyvsp[(1) - (1)].lex_user)->password= null_lex_str; }
+#line 14312 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
+    { (yyval.lex_user)= (yyvsp[0].lex_user); (yyvsp[0].lex_user)->password= null_lex_str; }
+#line 36309 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2485:
-
-/* Line 1455 of yacc.c  */
-#line 14317 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14317 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->grant |= lex->which_columns;
           }
+#line 36318 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2489:
-
-/* Line 1455 of yacc.c  */
-#line 14331 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14331 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            String *new_str = new (thd->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str,(yyvsp[(1) - (1)].lex_str).length,system_charset_info);
+            String *new_str = new (thd->mem_root) String((const char*) (yyvsp[0].lex_str).str,(yyvsp[0].lex_str).length,system_charset_info);
             if (new_str == NULL)
               MYSQL_YYABORT;
             List_iterator <LEX_COLUMN> iter(Lex->columns);
@@ -39561,300 +36343,266 @@ yyreduce:
               lex->columns.push_back(col);
             }
           }
+#line 36347 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2491:
-
-/* Line 1455 of yacc.c  */
-#line 14360 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14360 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_SPECIFIED;
           }
+#line 36355 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2492:
-
-/* Line 1455 of yacc.c  */
-#line 14364 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14364 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_ANY;
           }
+#line 36363 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2493:
-
-/* Line 1455 of yacc.c  */
-#line 14368 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14368 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_X509;
           }
+#line 36371 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2494:
-
-/* Line 1455 of yacc.c  */
-#line 14372 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14372 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->ssl_type=SSL_TYPE_NONE;
           }
+#line 36379 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2495:
-
-/* Line 1455 of yacc.c  */
-#line 14378 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14378 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36385 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2497:
-
-/* Line 1455 of yacc.c  */
-#line 14383 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14383 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36391 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2498:
-
-/* Line 1455 of yacc.c  */
-#line 14384 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14384 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= GRANT_ACL;}
+#line 36397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2499:
-
-/* Line 1455 of yacc.c  */
-#line 14388 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14388 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36403 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2500:
-
-/* Line 1455 of yacc.c  */
-#line 14389 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14389 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36409 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2501:
-
-/* Line 1455 of yacc.c  */
-#line 14393 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14393 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->grant |= GRANT_ACL;}
+#line 36415 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2502:
-
-/* Line 1455 of yacc.c  */
-#line 14395 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14395 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->mqh.questions=(yyvsp[(2) - (2)].ulong_num);
+            lex->mqh.questions=(yyvsp[0].ulong_num);
             lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR;
           }
+#line 36425 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2503:
-
-/* Line 1455 of yacc.c  */
-#line 14401 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14401 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->mqh.updates=(yyvsp[(2) - (2)].ulong_num);
+            lex->mqh.updates=(yyvsp[0].ulong_num);
             lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR;
           }
+#line 36435 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2504:
-
-/* Line 1455 of yacc.c  */
-#line 14407 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14407 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->mqh.conn_per_hour= (yyvsp[(2) - (2)].ulong_num);
+            lex->mqh.conn_per_hour= (yyvsp[0].ulong_num);
             lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR;
           }
+#line 36445 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2505:
-
-/* Line 1455 of yacc.c  */
-#line 14413 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14413 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
-            lex->mqh.user_conn= (yyvsp[(2) - (2)].num);
+            lex->mqh.user_conn= (yyvsp[0].num);
             lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS;
           }
+#line 36455 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2506:
-
-/* Line 1455 of yacc.c  */
-#line 14422 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14422 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command = SQLCOM_BEGIN;
             lex->start_transaction_opt= 0;
           }
+#line 36465 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2507:
-
-/* Line 1455 of yacc.c  */
-#line 14427 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14427 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36471 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2508:
-
-/* Line 1455 of yacc.c  */
-#line 14431 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14431 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36477 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2509:
-
-/* Line 1455 of yacc.c  */
-#line 14432 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14432 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36483 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2510:
-
-/* Line 1455 of yacc.c  */
-#line 14437 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14437 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
+#line 36489 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2511:
-
-/* Line 1455 of yacc.c  */
-#line 14438 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14438 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_NO; }
+#line 36495 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2512:
-
-/* Line 1455 of yacc.c  */
-#line 14439 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14439 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_YES; }
+#line 36501 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2513:
-
-/* Line 1455 of yacc.c  */
-#line 14444 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14444 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_UNKNOWN; }
+#line 36507 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2514:
-
-/* Line 1455 of yacc.c  */
-#line 14445 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14445 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_YES; }
+#line 36513 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2515:
-
-/* Line 1455 of yacc.c  */
-#line 14446 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14446 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.m_yes_no_unk)= TVL_NO; }
+#line 36519 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2516:
-
-/* Line 1455 of yacc.c  */
-#line 14450 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14450 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36525 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2517:
-
-/* Line 1455 of yacc.c  */
-#line 14451 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14451 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36531 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2518:
-
-/* Line 1455 of yacc.c  */
-#line 14456 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14456 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_COMMIT;
             /* Don't allow AND CHAIN RELEASE. */
-            MYSQL_YYABORT_UNLESS((yyvsp[(3) - (4)].m_yes_no_unk) != TVL_YES || (yyvsp[(4) - (4)].m_yes_no_unk) != TVL_YES);
-            lex->tx_chain= (yyvsp[(3) - (4)].m_yes_no_unk);
-            lex->tx_release= (yyvsp[(4) - (4)].m_yes_no_unk);
+            MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
+            lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
+            lex->tx_release= (yyvsp[0].m_yes_no_unk);
           }
+#line 36544 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2519:
-
-/* Line 1455 of yacc.c  */
-#line 14468 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14468 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_ROLLBACK;
             /* Don't allow AND CHAIN RELEASE. */
-            MYSQL_YYABORT_UNLESS((yyvsp[(3) - (4)].m_yes_no_unk) != TVL_YES || (yyvsp[(4) - (4)].m_yes_no_unk) != TVL_YES);
-            lex->tx_chain= (yyvsp[(3) - (4)].m_yes_no_unk);
-            lex->tx_release= (yyvsp[(4) - (4)].m_yes_no_unk);
+            MYSQL_YYABORT_UNLESS((yyvsp[-1].m_yes_no_unk) != TVL_YES || (yyvsp[0].m_yes_no_unk) != TVL_YES);
+            lex->tx_chain= (yyvsp[-1].m_yes_no_unk);
+            lex->tx_release= (yyvsp[0].m_yes_no_unk);
           }
+#line 36557 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2520:
-
-/* Line 1455 of yacc.c  */
-#line 14478 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14478 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
-            lex->ident= (yyvsp[(5) - (5)].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 36567 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2521:
-
-/* Line 1455 of yacc.c  */
-#line 14487 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14487 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_SAVEPOINT;
-            lex->ident= (yyvsp[(2) - (2)].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 36577 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2522:
-
-/* Line 1455 of yacc.c  */
-#line 14496 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14496 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
-            lex->ident= (yyvsp[(3) - (3)].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 36587 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2523:
-
-/* Line 1455 of yacc.c  */
-#line 14509 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14509 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36593 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2525:
-
-/* Line 1455 of yacc.c  */
-#line 14515 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14515 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_select_to_union_list(Lex, (bool)(yyvsp[(2) - (2)].num), TRUE))
+            if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), TRUE))
               MYSQL_YYABORT;
           }
+#line 36602 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2526:
-
-/* Line 1455 of yacc.c  */
-#line 14520 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14520 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               Remove from the name resolution context stack the context of the
@@ -39862,47 +36610,41 @@ yyreduce:
             */
             Lex->pop_context();
           }
+#line 36614 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2527:
-
-/* Line 1455 of yacc.c  */
-#line 14530 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14530 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 0; }
+#line 36620 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2528:
-
-/* Line 1455 of yacc.c  */
-#line 14531 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14531 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 36626 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2529:
-
-/* Line 1455 of yacc.c  */
-#line 14532 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14532 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)= 1; }
+#line 36632 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2530:
-
-/* Line 1455 of yacc.c  */
-#line 14536 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14536 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.is_not_empty)= false; }
+#line 36638 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2531:
-
-/* Line 1455 of yacc.c  */
-#line 14537 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14537 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.is_not_empty)= true; }
+#line 36644 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2532:
-
-/* Line 1455 of yacc.c  */
-#line 14541 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14541 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
@@ -39917,90 +36659,80 @@ yyreduce:
             }
             thd->where= "global ORDER clause";
           }
+#line 36663 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2533:
-
-/* Line 1455 of yacc.c  */
-#line 14556 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14556 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             thd->lex->current_select->no_table_names_allowed= 0;
             thd->where= "";
           }
+#line 36672 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2536:
-
-/* Line 1455 of yacc.c  */
-#line 14568 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14568 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=1; }
+#line 36678 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2537:
-
-/* Line 1455 of yacc.c  */
-#line 14569 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14569 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=1; }
+#line 36684 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2538:
-
-/* Line 1455 of yacc.c  */
-#line 14570 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14570 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { (yyval.num)=0; }
+#line 36690 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2539:
-
-/* Line 1455 of yacc.c  */
-#line 14575 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14575 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
             (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
           }
+#line 36698 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2540:
-
-/* Line 1455 of yacc.c  */
-#line 14579 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14579 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             (yyval.select_lex)= Lex->current_select->master_unit()->first_select();
           }
+#line 36706 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2542:
-
-/* Line 1455 of yacc.c  */
-#line 14588 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14588 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num), FALSE))
+            if (add_select_to_union_list(Lex, (bool)(yyvsp[0].num), FALSE))
               MYSQL_YYABORT;
           }
+#line 36715 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2543:
-
-/* Line 1455 of yacc.c  */
-#line 14594 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14594 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->pop_context();
-            (yyval.select_lex)= (yyvsp[(1) - (6)].select_lex);
+            (yyval.select_lex)= (yyvsp[-5].select_lex);
           }
+#line 36724 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2544:
-
-/* Line 1455 of yacc.c  */
-#line 14603 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14603 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { 
-            (yyval.select_lex)= (yyvsp[(2) - (3)].select_lex);
+            (yyval.select_lex)= (yyvsp[-1].select_lex);
           }
+#line 36732 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2545:
-
-/* Line 1455 of yacc.c  */
-#line 14609 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14609 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
             if (!lex->expr_allows_subselect ||
@@ -40019,12 +36751,11 @@ yyreduce:
             if (mysql_new_select(Lex, 1))
               MYSQL_YYABORT;
           }
+#line 36755 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2546:
-
-/* Line 1455 of yacc.c  */
-#line 14630 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14630 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex=Lex;
 
@@ -40047,19 +36778,17 @@ yyreduce:
             lex->current_select->select_n_having_items+=
             child->select_n_having_items;
           }
+#line 36782 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2551:
-
-/* Line 1455 of yacc.c  */
-#line 14665 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14665 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_STRAIGHT_JOIN; }
+#line 36788 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2552:
-
-/* Line 1455 of yacc.c  */
-#line 14667 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14667 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_simple_select())
               MYSQL_YYABORT;
@@ -40067,83 +36796,73 @@ yyreduce:
             YYPS->m_mdl_type= MDL_SHARED_READ;
             Select->options|= SELECT_HIGH_PRIORITY;
           }
+#line 36800 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2553:
-
-/* Line 1455 of yacc.c  */
-#line 14674 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14674 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_DISTINCT; }
+#line 36806 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2554:
-
-/* Line 1455 of yacc.c  */
-#line 14675 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14675 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_SMALL_RESULT; }
+#line 36812 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2555:
-
-/* Line 1455 of yacc.c  */
-#line 14676 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14676 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_BIG_RESULT; }
+#line 36818 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2556:
-
-/* Line 1455 of yacc.c  */
-#line 14678 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14678 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_simple_select())
               MYSQL_YYABORT;
             Select->options|= OPTION_BUFFER_RESULT;
           }
+#line 36828 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2557:
-
-/* Line 1455 of yacc.c  */
-#line 14684 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14684 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             if (check_simple_select())
               MYSQL_YYABORT;
             Select->options|= OPTION_FOUND_ROWS;
           }
+#line 36838 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2558:
-
-/* Line 1455 of yacc.c  */
-#line 14689 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14689 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Select->options|= SELECT_ALL; }
+#line 36844 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2559:
-
-/* Line 1455 of yacc.c  */
-#line 14700 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14700 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36850 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2560:
-
-/* Line 1455 of yacc.c  */
-#line 14702 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14702 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36856 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2561:
-
-/* Line 1455 of yacc.c  */
-#line 14704 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14704 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36862 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2575:
-
-/* Line 1455 of yacc.c  */
-#line 14737 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14737 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             /*
               We have to distinguish missing DEFINER-clause from case when
@@ -40154,135 +36873,119 @@ yyreduce:
             */
             thd->lex->definer= 0;
           }
+#line 36877 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2576:
-
-/* Line 1455 of yacc.c  */
-#line 14751 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14751 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            thd->lex->definer= get_current_user(thd, (yyvsp[(3) - (3)].lex_user));
+            thd->lex->definer= get_current_user(thd, (yyvsp[0].lex_user));
           }
+#line 36885 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2577:
-
-/* Line 1455 of yacc.c  */
-#line 14764 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14764 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36891 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2578:
-
-/* Line 1455 of yacc.c  */
-#line 14766 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14766 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36897 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2579:
-
-/* Line 1455 of yacc.c  */
-#line 14768 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14768 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36903 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2580:
-
-/* Line 1455 of yacc.c  */
-#line 14773 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14773 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; }
+#line 36909 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2581:
-
-/* Line 1455 of yacc.c  */
-#line 14778 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14778 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_algorithm= DTYPE_ALGORITHM_UNDEFINED; }
+#line 36915 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2582:
-
-/* Line 1455 of yacc.c  */
-#line 14780 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14780 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; }
+#line 36921 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2583:
-
-/* Line 1455 of yacc.c  */
-#line 14782 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14782 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; }
+#line 36927 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2584:
-
-/* Line 1455 of yacc.c  */
-#line 14787 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14787 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_suid= VIEW_SUID_DEFAULT; }
+#line 36933 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2585:
-
-/* Line 1455 of yacc.c  */
-#line 14789 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14789 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_suid= VIEW_SUID_DEFINER; }
+#line 36939 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2586:
-
-/* Line 1455 of yacc.c  */
-#line 14791 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14791 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_suid= VIEW_SUID_INVOKER; }
+#line 36945 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2587:
-
-/* Line 1455 of yacc.c  */
-#line 14796 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14796 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             lex->sql_command= SQLCOM_CREATE_VIEW;
             /* first table in list is target VIEW name */
-            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(3) - (3)].table), NULL,
+            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[0].table), NULL,
                                                    TL_OPTION_UPDATING,
                                                    TL_IGNORE,
                                                    MDL_EXCLUSIVE))
               MYSQL_YYABORT;
             lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB;
           }
+#line 36961 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2589:
-
-/* Line 1455 of yacc.c  */
-#line 14812 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14812 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 36967 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2591:
-
-/* Line 1455 of yacc.c  */
-#line 14818 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14818 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
               Lex->view_list.push_back((LEX_STRING*)
-              sql_memdup(&(yyvsp[(1) - (1)].lex_str), sizeof(LEX_STRING)));
+              sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
             }
+#line 36976 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2592:
-
-/* Line 1455 of yacc.c  */
-#line 14823 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14823 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
               Lex->view_list.push_back((LEX_STRING*)
-              sql_memdup(&(yyvsp[(3) - (3)].lex_str), sizeof(LEX_STRING)));
+              sql_memdup(&(yyvsp[0].lex_str), sizeof(LEX_STRING)));
             }
+#line 36985 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2593:
-
-/* Line 1455 of yacc.c  */
-#line 14830 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14830 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->parsing_options.allows_variable= FALSE;
@@ -40291,12 +36994,11 @@ yyreduce:
             lex->parsing_options.allows_derived= FALSE;
             lex->create_view_select.str= (char *) YYLIP->get_cpp_ptr();
           }
+#line 36998 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2594:
-
-/* Line 1455 of yacc.c  */
-#line 14839 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14839 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str;
@@ -40309,58 +37011,51 @@ yyreduce:
             lex->parsing_options.allows_select_procedure= TRUE;
             lex->parsing_options.allows_derived= TRUE;
           }
+#line 37015 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2597:
-
-/* Line 1455 of yacc.c  */
-#line 14860 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14860 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_NONE; }
+#line 37021 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2598:
-
-/* Line 1455 of yacc.c  */
-#line 14862 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14862 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_CASCADED; }
+#line 37027 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2599:
-
-/* Line 1455 of yacc.c  */
-#line 14864 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14864 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_CASCADED; }
+#line 37033 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2600:
-
-/* Line 1455 of yacc.c  */
-#line 14866 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14866 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->create_view_check= VIEW_CHECK_LOCAL; }
+#line 37039 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2601:
-
-/* Line 1455 of yacc.c  */
-#line 14883 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14883 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $8 */
             Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start();
           }
+#line 37047 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2602:
-
-/* Line 1455 of yacc.c  */
-#line 14889 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14889 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $12 */
             Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start();
           }
+#line 37055 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2603:
-
-/* Line 1455 of yacc.c  */
-#line 14894 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14894 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $15 */
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -40377,24 +37072,23 @@ yyreduce:
             sp->reset_thd_mem_root(thd);
             sp->init(lex);
             sp->m_type= TYPE_ENUM_TRIGGER;
-            sp->init_sp_name(thd, (yyvsp[(3) - (14)].spname));
-            lex->stmt_definition_begin= (yyvsp[(2) - (14)].simple_string);
-            lex->ident.str= (yyvsp[(7) - (14)].simple_string);
-            lex->ident.length= (yyvsp[(11) - (14)].simple_string) - (yyvsp[(7) - (14)].simple_string);
+            sp->init_sp_name(thd, (yyvsp[-11].spname));
+            lex->stmt_definition_begin= (yyvsp[-12].simple_string);
+            lex->ident.str= (yyvsp[-7].simple_string);
+            lex->ident.length= (yyvsp[-3].simple_string) - (yyvsp[-7].simple_string);
 
             lex->sphead= sp;
-            lex->spname= (yyvsp[(3) - (14)].spname);
+            lex->spname= (yyvsp[-11].spname);
 
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
             lex->sphead->m_chistics= &lex->sp_chistics;
             lex->sphead->set_body_start(thd, lip->get_cpp_ptr());
           }
+#line 37088 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2604:
-
-/* Line 1455 of yacc.c  */
-#line 14923 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14923 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $17 */
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -40411,69 +37105,66 @@ yyreduce:
               sp_proc_stmt alternatives are not saving/restoring LEX, so
               lex->query_tables can be wiped out.
             */
-            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(9) - (16)].table),
+            if (!lex->select_lex.add_table_to_list(thd, (yyvsp[-7].table),
                                                    (LEX_STRING*) 0,
                                                    TL_OPTION_UPDATING,
                                                    TL_READ_NO_INSERT,
                                                    MDL_SHARED_NO_WRITE))
               MYSQL_YYABORT;
           }
+#line 37116 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2605:
-
-/* Line 1455 of yacc.c  */
-#line 14957 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14957 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            if (is_native_function(thd, & (yyvsp[(4) - (8)].lex_str)))
+            if (is_native_function(thd, & (yyvsp[-4].lex_str)))
             {
               my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
-                       (yyvsp[(4) - (8)].lex_str).str);
+                       (yyvsp[-4].lex_str).str);
               MYSQL_YYABORT;
             }
             lex->sql_command = SQLCOM_CREATE_FUNCTION;
             lex->udf.type= UDFTYPE_AGGREGATE;
-            lex->stmt_definition_begin= (yyvsp[(2) - (8)].simple_string);
-            lex->udf.name = (yyvsp[(4) - (8)].lex_str);
-            lex->udf.returns=(Item_result) (yyvsp[(6) - (8)].num);
-            lex->udf.dl=(yyvsp[(8) - (8)].lex_str).str;
+            lex->stmt_definition_begin= (yyvsp[-6].simple_string);
+            lex->udf.name = (yyvsp[-4].lex_str);
+            lex->udf.returns=(Item_result) (yyvsp[-2].num);
+            lex->udf.dl=(yyvsp[0].lex_str).str;
           }
+#line 37136 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2606:
-
-/* Line 1455 of yacc.c  */
-#line 14974 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14974 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
-            if (is_native_function(thd, & (yyvsp[(3) - (7)].lex_str)))
+            if (is_native_function(thd, & (yyvsp[-4].lex_str)))
             {
               my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0),
-                       (yyvsp[(3) - (7)].lex_str).str);
+                       (yyvsp[-4].lex_str).str);
               MYSQL_YYABORT;
             }
             lex->sql_command = SQLCOM_CREATE_FUNCTION;
             lex->udf.type= UDFTYPE_FUNCTION;
-            lex->stmt_definition_begin= (yyvsp[(1) - (7)].simple_string);
-            lex->udf.name = (yyvsp[(3) - (7)].lex_str);
-            lex->udf.returns=(Item_result) (yyvsp[(5) - (7)].num);
-            lex->udf.dl=(yyvsp[(7) - (7)].lex_str).str;
+            lex->stmt_definition_begin= (yyvsp[-6].simple_string);
+            lex->udf.name = (yyvsp[-4].lex_str);
+            lex->udf.returns=(Item_result) (yyvsp[-2].num);
+            lex->udf.dl=(yyvsp[0].lex_str).str;
           }
+#line 37156 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2607:
-
-/* Line 1455 of yacc.c  */
-#line 14996 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 14996 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $5 */
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
             sp_head *sp;
             const char* tmp_param_begin;
 
-            lex->stmt_definition_begin= (yyvsp[(1) - (4)].simple_string);
-            lex->spname= (yyvsp[(3) - (4)].spname);
+            lex->stmt_definition_begin= (yyvsp[-3].simple_string);
+            lex->spname= (yyvsp[-1].spname);
 
             if (lex->sphead)
             {
@@ -40495,21 +37186,19 @@ yyreduce:
             tmp_param_begin++;
             lex->sphead->m_param_begin= tmp_param_begin;
           }
+#line 37190 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2608:
-
-/* Line 1455 of yacc.c  */
-#line 15027 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15027 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $8 */
             Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
           }
+#line 37198 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2609:
-
-/* Line 1455 of yacc.c  */
-#line 15031 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15031 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $10 */
             LEX *lex= Lex;
             lex->charset= NULL;
@@ -40518,12 +37207,11 @@ yyreduce:
             lex->type= 0;
             lex->vcol_info= 0;
           }
+#line 37211 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2610:
-
-/* Line 1455 of yacc.c  */
-#line 15040 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15040 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $12 */
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -40532,7 +37220,7 @@ yyreduce:
               When collation support in SP is implemented, then this test
               should be removed.
             */
-            if (((yyvsp[(11) - (11)].num) == MYSQL_TYPE_STRING || (yyvsp[(11) - (11)].num) == MYSQL_TYPE_VARCHAR)
+            if (((yyvsp[0].num) == MYSQL_TYPE_STRING || (yyvsp[0].num) == MYSQL_TYPE_VARCHAR)
                 && (lex->type & BINCMP_FLAG))
             {
               my_error(ER_NOT_SUPPORTED_YET, MYF(0), "return value collation");
@@ -40540,18 +37228,17 @@ yyreduce:
             }
 
             if (sp->fill_field_definition(thd, lex,
-                                          (enum enum_field_types) (yyvsp[(11) - (11)].num),
+                                          (enum enum_field_types) (yyvsp[0].num),
                                           &sp->m_return_field_def))
               MYSQL_YYABORT;
 
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
           }
+#line 37238 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2611:
-
-/* Line 1455 of yacc.c  */
-#line 15063 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15063 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { /* $14 */
             LEX *lex= thd->lex;
             Lex_input_stream *lip= YYLIP;
@@ -40559,12 +37246,11 @@ yyreduce:
             lex->sphead->m_chistics= &lex->sp_chistics;
             lex->sphead->set_body_start(thd, lip->get_cpp_tok_start());
           }
+#line 37250 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2612:
-
-/* Line 1455 of yacc.c  */
-#line 15071 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15071 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
             sp_head *sp= lex->sphead;
@@ -40616,12 +37302,11 @@ yyreduce:
             }
             sp->restore_thd_mem_root(thd);
           }
+#line 37306 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2613:
-
-/* Line 1455 of yacc.c  */
-#line 15126 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15126 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp;
@@ -40632,7 +37317,7 @@ yyreduce:
               MYSQL_YYABORT;
             }
 
-            lex->stmt_definition_begin= (yyvsp[(2) - (3)].simple_string);
+            lex->stmt_definition_begin= (yyvsp[-1].simple_string);
 
             /* Order is important here: new - reset - init */
             sp= new sp_head();
@@ -40641,16 +37326,15 @@ yyreduce:
             sp->reset_thd_mem_root(thd);
             sp->init(lex);
             sp->m_type= TYPE_ENUM_PROCEDURE;
-            sp->init_sp_name(thd, (yyvsp[(3) - (3)].spname));
+            sp->init_sp_name(thd, (yyvsp[0].spname));
 
             lex->sphead= sp;
           }
+#line 37334 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2614:
-
-/* Line 1455 of yacc.c  */
-#line 15150 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15150 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             const char* tmp_param_begin;
 
@@ -40658,36 +37342,33 @@ yyreduce:
             tmp_param_begin++;
             Lex->sphead->m_param_begin= tmp_param_begin;
           }
+#line 37346 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2615:
-
-/* Line 1455 of yacc.c  */
-#line 15159 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15159 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
             lex->sphead->m_param_end= YYLIP->get_cpp_tok_start();
             bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics));
           }
+#line 37357 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2616:
-
-/* Line 1455 of yacc.c  */
-#line 15166 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15166 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= thd->lex;
 
             lex->sphead->m_chistics= &lex->sp_chistics;
             lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start());
           }
+#line 37368 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2617:
-
-/* Line 1455 of yacc.c  */
-#line 15173 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15173 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             sp_head *sp= lex->sphead;
@@ -40696,237 +37377,222 @@ yyreduce:
             lex->sql_command= SQLCOM_CREATE_PROCEDURE;
             sp->restore_thd_mem_root(thd);
           }
+#line 37381 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2618:
-
-/* Line 1455 of yacc.c  */
-#line 15187 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15187 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_START;
           }
+#line 37389 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2619:
-
-/* Line 1455 of yacc.c  */
-#line 15191 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15191 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_END;
           }
+#line 37397 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2620:
-
-/* Line 1455 of yacc.c  */
-#line 15195 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15195 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_PREPARE;
           }
+#line 37405 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2621:
-
-/* Line 1455 of yacc.c  */
-#line 15199 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15199 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_COMMIT;
           }
+#line 37413 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2622:
-
-/* Line 1455 of yacc.c  */
-#line 15203 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15203 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_ROLLBACK;
           }
+#line 37421 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2623:
-
-/* Line 1455 of yacc.c  */
-#line 15207 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15207 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             Lex->sql_command = SQLCOM_XA_RECOVER;
           }
+#line 37429 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2624:
-
-/* Line 1455 of yacc.c  */
-#line 15214 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15214 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (1)].string)->length() <= MAXGTRIDSIZE);
+            MYSQL_YYABORT_UNLESS((yyvsp[0].string)->length() <= MAXGTRIDSIZE);
             if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
               MYSQL_YYABORT;
-            Lex->xid->set(1L, (yyvsp[(1) - (1)].string)->ptr(), (yyvsp[(1) - (1)].string)->length(), 0, 0);
+            Lex->xid->set(1L, (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length(), 0, 0);
           }
+#line 37440 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2625:
-
-/* Line 1455 of yacc.c  */
-#line 15221 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15221 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].string)->length() <= MAXGTRIDSIZE && (yyvsp[(3) - (3)].string)->length() <= MAXBQUALSIZE);
+            MYSQL_YYABORT_UNLESS((yyvsp[-2].string)->length() <= MAXGTRIDSIZE && (yyvsp[0].string)->length() <= MAXBQUALSIZE);
             if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
               MYSQL_YYABORT;
-            Lex->xid->set(1L, (yyvsp[(1) - (3)].string)->ptr(), (yyvsp[(1) - (3)].string)->length(), (yyvsp[(3) - (3)].string)->ptr(), (yyvsp[(3) - (3)].string)->length());
+            Lex->xid->set(1L, (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length(), (yyvsp[0].string)->ptr(), (yyvsp[0].string)->length());
           }
+#line 37451 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2626:
-
-/* Line 1455 of yacc.c  */
-#line 15228 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15228 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
-            MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].string)->length() <= MAXGTRIDSIZE && (yyvsp[(3) - (5)].string)->length() <= MAXBQUALSIZE);
+            MYSQL_YYABORT_UNLESS((yyvsp[-4].string)->length() <= MAXGTRIDSIZE && (yyvsp[-2].string)->length() <= MAXBQUALSIZE);
             if (!(Lex->xid=(XID *)thd->alloc(sizeof(XID))))
               MYSQL_YYABORT;
-            Lex->xid->set((yyvsp[(5) - (5)].ulong_num), (yyvsp[(1) - (5)].string)->ptr(), (yyvsp[(1) - (5)].string)->length(), (yyvsp[(3) - (5)].string)->ptr(), (yyvsp[(3) - (5)].string)->length());
+            Lex->xid->set((yyvsp[0].ulong_num), (yyvsp[-4].string)->ptr(), (yyvsp[-4].string)->length(), (yyvsp[-2].string)->ptr(), (yyvsp[-2].string)->length());
           }
+#line 37462 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2627:
-
-/* Line 1455 of yacc.c  */
-#line 15237 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15237 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 37468 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2628:
-
-/* Line 1455 of yacc.c  */
-#line 15238 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15238 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 37474 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2629:
-
-/* Line 1455 of yacc.c  */
-#line 15242 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15242 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_NONE;        }
+#line 37480 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2630:
-
-/* Line 1455 of yacc.c  */
-#line 15243 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15243 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_JOIN;        }
+#line 37486 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2631:
-
-/* Line 1455 of yacc.c  */
-#line 15244 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15244 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_RESUME;      }
+#line 37492 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2632:
-
-/* Line 1455 of yacc.c  */
-#line 15248 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15248 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_NONE;        }
+#line 37498 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2633:
-
-/* Line 1455 of yacc.c  */
-#line 15249 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15249 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_ONE_PHASE;   }
+#line 37504 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2634:
-
-/* Line 1455 of yacc.c  */
-#line 15254 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15254 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_NONE;        }
+#line 37510 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2635:
-
-/* Line 1455 of yacc.c  */
-#line 15256 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15256 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_SUSPEND;     }
+#line 37516 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2637:
-
-/* Line 1455 of yacc.c  */
-#line 15261 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15261 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {}
+#line 37522 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2638:
-
-/* Line 1455 of yacc.c  */
-#line 15262 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15262 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     { Lex->xa_opt=XA_FOR_MIGRATE; }
+#line 37528 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2639:
-
-/* Line 1455 of yacc.c  */
-#line 15267 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15267 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_INSTALL_PLUGIN;
-            lex->comment= (yyvsp[(3) - (5)].lex_str);
-            lex->ident= (yyvsp[(5) - (5)].lex_str);
+            lex->comment= (yyvsp[-2].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 37539 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2640:
-
-/* Line 1455 of yacc.c  */
-#line 15274 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15274 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_INSTALL_PLUGIN;
             lex->comment= null_lex_str;
-            lex->ident= (yyvsp[(3) - (3)].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 37550 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2641:
-
-/* Line 1455 of yacc.c  */
-#line 15284 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15284 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
-            lex->comment= (yyvsp[(3) - (3)].lex_str);
+            lex->comment= (yyvsp[0].lex_str);
           }
+#line 37560 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2642:
-
-/* Line 1455 of yacc.c  */
-#line 15290 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15290 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
             LEX *lex= Lex;
             lex->sql_command= SQLCOM_UNINSTALL_PLUGIN;
             lex->comment= null_lex_str;
-            lex->ident= (yyvsp[(3) - (3)].lex_str);
+            lex->ident= (yyvsp[0].lex_str);
           }
+#line 37571 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
   case 2643:
-
-/* Line 1455 of yacc.c  */
-#line 15301 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 15301 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1646  */
     {
 	  YYERROR;
 	}
+#line 37579 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
     break;
 
 
-
-/* Line 1455 of yacc.c  */
-#line 40928 "/home/buildbot/git/mkdist/sql/sql_yacc.cc"
+#line 37583 "/home/buildbot/git/mkdist/sql/sql_yacc.cc" /* yacc.c:1646  */
       default: break;
     }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
 
   YYPOPSTACK (yylen);
@@ -40935,7 +37601,7 @@ yyreduce:
 
   *++yyvsp = yyval;
 
-  /* Now `shift' the result of the reduction.  Determine what state
+  /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
 
@@ -40950,10 +37616,14 @@ yyreduce:
   goto yynewstate;
 
 
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error.  |
+`--------------------------------------*/
 yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
   /* If not already recovering from an error, report this error.  */
   if (!yyerrstatus)
     {
@@ -40961,37 +37631,36 @@ yyerrlab:
 #if ! YYERROR_VERBOSE
       yyerror (thd, YY_("syntax error"));
 #else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+                                        yyssp, yytoken)
       {
-	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
-	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
-	  {
-	    YYSIZE_T yyalloc = 2 * yysize;
-	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
-	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
-	    if (yymsg != yymsgbuf)
-	      YYSTACK_FREE (yymsg);
-	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
-	    if (yymsg)
-	      yymsg_alloc = yyalloc;
-	    else
-	      {
-		yymsg = yymsgbuf;
-		yymsg_alloc = sizeof yymsgbuf;
-	      }
-	  }
-
-	if (0 < yysize && yysize <= yymsg_alloc)
-	  {
-	    (void) yysyntax_error (yymsg, yystate, yychar);
-	    yyerror (thd, yymsg);
-	  }
-	else
-	  {
-	    yyerror (thd, YY_("syntax error"));
-	    if (yysize != 0)
-	      goto yyexhaustedlab;
-	  }
+        char const *yymsgp = YY_("syntax error");
+        int yysyntax_error_status;
+        yysyntax_error_status = YYSYNTAX_ERROR;
+        if (yysyntax_error_status == 0)
+          yymsgp = yymsg;
+        else if (yysyntax_error_status == 1)
+          {
+            if (yymsg != yymsgbuf)
+              YYSTACK_FREE (yymsg);
+            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+            if (!yymsg)
+              {
+                yymsg = yymsgbuf;
+                yymsg_alloc = sizeof yymsgbuf;
+                yysyntax_error_status = 2;
+              }
+            else
+              {
+                yysyntax_error_status = YYSYNTAX_ERROR;
+                yymsgp = yymsg;
+              }
+          }
+        yyerror (thd, yymsgp);
+        if (yysyntax_error_status == 2)
+          goto yyexhaustedlab;
       }
+# undef YYSYNTAX_ERROR
 #endif
     }
 
@@ -41000,20 +37669,20 @@ yyerrlab:
   if (yyerrstatus == 3)
     {
       /* If just tried and failed to reuse lookahead token after an
-	 error, discard it.  */
+         error, discard it.  */
 
       if (yychar <= YYEOF)
-	{
-	  /* Return failure if at end of input.  */
-	  if (yychar == YYEOF)
-	    YYABORT;
-	}
+        {
+          /* Return failure if at end of input.  */
+          if (yychar == YYEOF)
+            YYABORT;
+        }
       else
-	{
-	  yydestruct ("Error: discarding",
-		      yytoken, &yylval, thd);
-	  yychar = YYEMPTY;
-	}
+        {
+          yydestruct ("Error: discarding",
+                      yytoken, &yylval, thd);
+          yychar = YYEMPTY;
+        }
     }
 
   /* Else will try to reuse lookahead token after shifting the error
@@ -41032,7 +37701,7 @@ yyerrorlab:
   if (/*CONSTCOND*/ 0)
      goto yyerrorlab;
 
-  /* Do not reclaim the symbols of the rule which action triggered
+  /* Do not reclaim the symbols of the rule whose action triggered
      this YYERROR.  */
   YYPOPSTACK (yylen);
   yylen = 0;
@@ -41045,35 +37714,37 @@ yyerrorlab:
 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
 `-------------------------------------------------------------*/
 yyerrlab1:
-  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
 
   for (;;)
     {
       yyn = yypact[yystate];
-      if (yyn != YYPACT_NINF)
-	{
-	  yyn += YYTERROR;
-	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
-	    {
-	      yyn = yytable[yyn];
-	      if (0 < yyn)
-		break;
-	    }
-	}
+      if (!yypact_value_is_default (yyn))
+        {
+          yyn += YYTERROR;
+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+            {
+              yyn = yytable[yyn];
+              if (0 < yyn)
+                break;
+            }
+        }
 
       /* Pop the current state because it cannot handle the error token.  */
       if (yyssp == yyss)
-	YYABORT;
+        YYABORT;
 
 
       yydestruct ("Error: popping",
-		  yystos[yystate], yyvsp, thd);
+                  yystos[yystate], yyvsp, thd);
       YYPOPSTACK (1);
       yystate = *yyssp;
       YY_STACK_PRINT (yyss, yyssp);
     }
 
+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   *++yyvsp = yylval;
+  YY_IGNORE_MAYBE_UNINITIALIZED_END
 
 
   /* Shift the error token.  */
@@ -41097,7 +37768,7 @@ yyabortlab:
   yyresult = 1;
   goto yyreturn;
 
-#if !defined(yyoverflow) || YYERROR_VERBOSE
+#if !defined yyoverflow || YYERROR_VERBOSE
 /*-------------------------------------------------.
 | yyexhaustedlab -- memory exhaustion comes here.  |
 `-------------------------------------------------*/
@@ -41109,16 +37780,21 @@ yyexhaustedlab:
 
 yyreturn:
   if (yychar != YYEMPTY)
-     yydestruct ("Cleanup: discarding lookahead",
-		 yytoken, &yylval, thd);
-  /* Do not reclaim the symbols of the rule which action triggered
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval, thd);
+    }
+  /* Do not reclaim the symbols of the rule whose action triggered
      this YYABORT or YYACCEPT.  */
   YYPOPSTACK (yylen);
   YY_STACK_PRINT (yyss, yyssp);
   while (yyssp != yyss)
     {
       yydestruct ("Cleanup: popping",
-		  yystos[*yyssp], yyvsp, thd);
+                  yystos[*yyssp], yyvsp, thd);
       YYPOPSTACK (1);
     }
 #ifndef yyoverflow
@@ -41129,9 +37805,5 @@ yyreturn:
   if (yymsg != yymsgbuf)
     YYSTACK_FREE (yymsg);
 #endif
-  /* Make sure YYID is used.  */
-  return YYID (yyresult);
+  return yyresult;
 }
-
-
-
diff --git a/sql/sql_yacc.h b/sql/sql_yacc.h
index 916cef6..75959ac 100644
--- a/sql/sql_yacc.h
+++ b/sql/sql_yacc.h
@@ -1,21 +1,19 @@
+/* A Bison parser, made by GNU Bison 3.0.2.  */
 
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* Bison interface for Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
 
-/* Skeleton interface for Bison's Yacc-like parsers in C
-   
-      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-   
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
@@ -28,632 +26,640 @@
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-   
+
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
+#ifndef YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
+# define YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int MYSQLdebug;
+#endif
 
-/* Tokens.  */
+/* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-   /* Put the tokens into the symbol table, so that GDB and other debuggers
-      know about them.  */
-   enum yytokentype {
-     ABORT_SYM = 258,
-     ACCESSIBLE_SYM = 259,
-     ACTION = 260,
-     ADD = 261,
-     ADDDATE_SYM = 262,
-     AFTER_SYM = 263,
-     AGAINST = 264,
-     AGGREGATE_SYM = 265,
-     ALGORITHM_SYM = 266,
-     ALL = 267,
-     ALTER = 268,
-     ALWAYS_SYM = 269,
-     ANALYZE_SYM = 270,
-     AND_AND_SYM = 271,
-     AND_SYM = 272,
-     ANY_SYM = 273,
-     AS = 274,
-     ASC = 275,
-     ASCII_SYM = 276,
-     ASENSITIVE_SYM = 277,
-     AT_SYM = 278,
-     AUTHORS_SYM = 279,
-     AUTOEXTEND_SIZE_SYM = 280,
-     AUTO_INC = 281,
-     AVG_ROW_LENGTH = 282,
-     AVG_SYM = 283,
-     BACKUP_SYM = 284,
-     BEFORE_SYM = 285,
-     BEGIN_SYM = 286,
-     BETWEEN_SYM = 287,
-     BIGINT = 288,
-     BINARY = 289,
-     BINLOG_SYM = 290,
-     BIN_NUM = 291,
-     BIT_AND = 292,
-     BIT_OR = 293,
-     BIT_SYM = 294,
-     BIT_XOR = 295,
-     BLOB_SYM = 296,
-     BLOCK_SYM = 297,
-     BOOLEAN_SYM = 298,
-     BOOL_SYM = 299,
-     BOTH = 300,
-     BTREE_SYM = 301,
-     BY = 302,
-     BYTE_SYM = 303,
-     CACHE_SYM = 304,
-     CALL_SYM = 305,
-     CASCADE = 306,
-     CASCADED = 307,
-     CASE_SYM = 308,
-     CAST_SYM = 309,
-     CATALOG_NAME_SYM = 310,
-     CHAIN_SYM = 311,
-     CHANGE = 312,
-     CHANGED = 313,
-     CHARSET = 314,
-     CHAR_SYM = 315,
-     CHECKPOINT_SYM = 316,
-     CHECKSUM_SYM = 317,
-     CHECK_SYM = 318,
-     CIPHER_SYM = 319,
-     CLASS_ORIGIN_SYM = 320,
-     CLIENT_SYM = 321,
-     CLIENT_STATS_SYM = 322,
-     CLOSE_SYM = 323,
-     COALESCE = 324,
-     CODE_SYM = 325,
-     COLLATE_SYM = 326,
-     COLLATION_SYM = 327,
-     COLUMNS = 328,
-     COLUMN_ADD_SYM = 329,
-     COLUMN_CREATE_SYM = 330,
-     COLUMN_DELETE_SYM = 331,
-     COLUMN_EXISTS_SYM = 332,
-     COLUMN_GET_SYM = 333,
-     COLUMN_LIST_SYM = 334,
-     COLUMN_SYM = 335,
-     COLUMN_NAME_SYM = 336,
-     COMMENT_SYM = 337,
-     COMMITTED_SYM = 338,
-     COMMIT_SYM = 339,
-     COMPACT_SYM = 340,
-     COMPLETION_SYM = 341,
-     COMPRESSED_SYM = 342,
-     CONCURRENT = 343,
-     CONDITION_SYM = 344,
-     CONNECTION_SYM = 345,
-     CONSISTENT_SYM = 346,
-     CONSTRAINT = 347,
-     CONSTRAINT_CATALOG_SYM = 348,
-     CONSTRAINT_NAME_SYM = 349,
-     CONSTRAINT_SCHEMA_SYM = 350,
-     CONTAINS_SYM = 351,
-     CONTEXT_SYM = 352,
-     CONTINUE_SYM = 353,
-     CONTRIBUTORS_SYM = 354,
-     CONVERT_SYM = 355,
-     COUNT_SYM = 356,
-     CPU_SYM = 357,
-     CREATE = 358,
-     CROSS = 359,
-     CUBE_SYM = 360,
-     CURDATE = 361,
-     CURRENT_USER = 362,
-     CURSOR_SYM = 363,
-     CURSOR_NAME_SYM = 364,
-     CURTIME = 365,
-     DATABASE = 366,
-     DATABASES = 367,
-     DATAFILE_SYM = 368,
-     DATA_SYM = 369,
-     DATETIME = 370,
-     DATE_ADD_INTERVAL = 371,
-     DATE_SUB_INTERVAL = 372,
-     DATE_SYM = 373,
-     DAY_HOUR_SYM = 374,
-     DAY_MICROSECOND_SYM = 375,
-     DAY_MINUTE_SYM = 376,
-     DAY_SECOND_SYM = 377,
-     DAY_SYM = 378,
-     DEALLOCATE_SYM = 379,
-     DECIMAL_NUM = 380,
-     DECIMAL_SYM = 381,
-     DECLARE_SYM = 382,
-     DEFAULT = 383,
-     DEFINER_SYM = 384,
-     DELAYED_SYM = 385,
-     DELAY_KEY_WRITE_SYM = 386,
-     DELETE_SYM = 387,
-     DESC = 388,
-     DESCRIBE = 389,
-     DES_KEY_FILE = 390,
-     DETERMINISTIC_SYM = 391,
-     DIRECTORY_SYM = 392,
-     DISABLE_SYM = 393,
-     DISCARD = 394,
-     DISK_SYM = 395,
-     DISTINCT = 396,
-     DIV_SYM = 397,
-     DOUBLE_SYM = 398,
-     DO_SYM = 399,
-     DROP = 400,
-     DUAL_SYM = 401,
-     DUMPFILE = 402,
-     DUPLICATE_SYM = 403,
-     DYNAMIC_SYM = 404,
-     EACH_SYM = 405,
-     ELSE = 406,
-     ELSEIF_SYM = 407,
-     ENABLE_SYM = 408,
-     ENCLOSED = 409,
-     END = 410,
-     ENDS_SYM = 411,
-     END_OF_INPUT = 412,
-     ENGINES_SYM = 413,
-     ENGINE_SYM = 414,
-     ENUM = 415,
-     EQUAL_SYM = 416,
-     ERROR_SYM = 417,
-     ERRORS = 418,
-     ESCAPED = 419,
-     ESCAPE_SYM = 420,
-     EVENTS_SYM = 421,
-     EVENT_SYM = 422,
-     EVERY_SYM = 423,
-     EXAMINED_SYM = 424,
-     EXECUTE_SYM = 425,
-     EXISTS = 426,
-     EXIT_SYM = 427,
-     EXPANSION_SYM = 428,
-     EXTENDED_SYM = 429,
-     EXTENT_SIZE_SYM = 430,
-     EXTRACT_SYM = 431,
-     FALSE_SYM = 432,
-     FAST_SYM = 433,
-     FAULTS_SYM = 434,
-     FETCH_SYM = 435,
-     FILE_SYM = 436,
-     FIRST_SYM = 437,
-     FIXED_SYM = 438,
-     FLOAT_NUM = 439,
-     FLOAT_SYM = 440,
-     FLUSH_SYM = 441,
-     FORCE_SYM = 442,
-     FOREIGN = 443,
-     FOR_SYM = 444,
-     FOUND_SYM = 445,
-     FROM = 446,
-     FULL = 447,
-     FULLTEXT_SYM = 448,
-     FUNCTION_SYM = 449,
-     GE = 450,
-     GENERAL = 451,
-     GENERATED_SYM = 452,
-     GEOMETRYCOLLECTION = 453,
-     GEOMETRY_SYM = 454,
-     GET_FORMAT = 455,
-     GLOBAL_SYM = 456,
-     GRANT = 457,
-     GRANTS = 458,
-     GROUP_SYM = 459,
-     GROUP_CONCAT_SYM = 460,
-     HANDLER_SYM = 461,
-     HARD_SYM = 462,
-     HASH_SYM = 463,
-     HAVING = 464,
-     HELP_SYM = 465,
-     HEX_NUM = 466,
-     HEX_STRING = 467,
-     HIGH_PRIORITY = 468,
-     HOST_SYM = 469,
-     HOSTS_SYM = 470,
-     HOUR_MICROSECOND_SYM = 471,
-     HOUR_MINUTE_SYM = 472,
-     HOUR_SECOND_SYM = 473,
-     HOUR_SYM = 474,
-     IDENT = 475,
-     IDENTIFIED_SYM = 476,
-     IDENT_QUOTED = 477,
-     IF = 478,
-     IGNORE_SYM = 479,
-     IGNORE_SERVER_IDS_SYM = 480,
-     IMPORT = 481,
-     INDEXES = 482,
-     INDEX_SYM = 483,
-     INDEX_STATS_SYM = 484,
-     INFILE = 485,
-     INITIAL_SIZE_SYM = 486,
-     INNER_SYM = 487,
-     INOUT_SYM = 488,
-     INSENSITIVE_SYM = 489,
-     INSERT = 490,
-     INSERT_METHOD = 491,
-     INSTALL_SYM = 492,
-     INTERVAL_SYM = 493,
-     INTO = 494,
-     INT_SYM = 495,
-     INVOKER_SYM = 496,
-     IN_SYM = 497,
-     IO_SYM = 498,
-     IPC_SYM = 499,
-     IS = 500,
-     ISOLATION = 501,
-     ISSUER_SYM = 502,
-     ITERATE_SYM = 503,
-     JOIN_SYM = 504,
-     KEYS = 505,
-     KEY_BLOCK_SIZE = 506,
-     KEY_SYM = 507,
-     KILL_SYM = 508,
-     LANGUAGE_SYM = 509,
-     LAST_SYM = 510,
-     LAST_VALUE = 511,
-     LE = 512,
-     LEADING = 513,
-     LEAVES = 514,
-     LEAVE_SYM = 515,
-     LEFT = 516,
-     LESS_SYM = 517,
-     LEVEL_SYM = 518,
-     LEX_HOSTNAME = 519,
-     LIKE = 520,
-     LIMIT = 521,
-     LINEAR_SYM = 522,
-     LINES = 523,
-     LINESTRING = 524,
-     LIST_SYM = 525,
-     LOAD = 526,
-     LOCAL_SYM = 527,
-     LOCATOR_SYM = 528,
-     LOCKS_SYM = 529,
-     LOCK_SYM = 530,
-     LOGFILE_SYM = 531,
-     LOGS_SYM = 532,
-     LONGBLOB = 533,
-     LONGTEXT = 534,
-     LONG_NUM = 535,
-     LONG_SYM = 536,
-     LOOP_SYM = 537,
-     LOW_PRIORITY = 538,
-     MASTER_CONNECT_RETRY_SYM = 539,
-     MASTER_HOST_SYM = 540,
-     MASTER_LOG_FILE_SYM = 541,
-     MASTER_LOG_POS_SYM = 542,
-     MASTER_PASSWORD_SYM = 543,
-     MASTER_PORT_SYM = 544,
-     MASTER_SERVER_ID_SYM = 545,
-     MASTER_SSL_CAPATH_SYM = 546,
-     MASTER_SSL_CA_SYM = 547,
-     MASTER_SSL_CERT_SYM = 548,
-     MASTER_SSL_CIPHER_SYM = 549,
-     MASTER_SSL_KEY_SYM = 550,
-     MASTER_SSL_SYM = 551,
-     MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
-     MASTER_SYM = 553,
-     MASTER_USER_SYM = 554,
-     MASTER_HEARTBEAT_PERIOD_SYM = 555,
-     MATCH = 556,
-     MAX_CONNECTIONS_PER_HOUR = 557,
-     MAX_QUERIES_PER_HOUR = 558,
-     MAX_ROWS = 559,
-     MAX_SIZE_SYM = 560,
-     MAX_SYM = 561,
-     MAX_UPDATES_PER_HOUR = 562,
-     MAX_USER_CONNECTIONS_SYM = 563,
-     MAX_VALUE_SYM = 564,
-     MEDIUMBLOB = 565,
-     MEDIUMINT = 566,
-     MEDIUMTEXT = 567,
-     MEDIUM_SYM = 568,
-     MEMORY_SYM = 569,
-     MERGE_SYM = 570,
-     MESSAGE_TEXT_SYM = 571,
-     MICROSECOND_SYM = 572,
-     MIGRATE_SYM = 573,
-     MINUTE_MICROSECOND_SYM = 574,
-     MINUTE_SECOND_SYM = 575,
-     MINUTE_SYM = 576,
-     MIN_ROWS = 577,
-     MIN_SYM = 578,
-     MODE_SYM = 579,
-     MODIFIES_SYM = 580,
-     MODIFY_SYM = 581,
-     MOD_SYM = 582,
-     MONTH_SYM = 583,
-     MULTILINESTRING = 584,
-     MULTIPOINT = 585,
-     MULTIPOLYGON = 586,
-     MUTEX_SYM = 587,
-     MYSQL_SYM = 588,
-     MYSQL_ERRNO_SYM = 589,
-     NAMES_SYM = 590,
-     NAME_SYM = 591,
-     NATIONAL_SYM = 592,
-     NATURAL = 593,
-     NCHAR_STRING = 594,
-     NCHAR_SYM = 595,
-     NDBCLUSTER_SYM = 596,
-     NE = 597,
-     NEG = 598,
-     NEW_SYM = 599,
-     NEXT_SYM = 600,
-     NODEGROUP_SYM = 601,
-     NONE_SYM = 602,
-     NOT2_SYM = 603,
-     NOT_SYM = 604,
-     NOW_SYM = 605,
-     NO_SYM = 606,
-     NO_WAIT_SYM = 607,
-     NO_WRITE_TO_BINLOG = 608,
-     NULL_SYM = 609,
-     NUM = 610,
-     NUMERIC_SYM = 611,
-     NVARCHAR_SYM = 612,
-     OFFSET_SYM = 613,
-     OLD_PASSWORD = 614,
-     ON = 615,
-     ONE_SHOT_SYM = 616,
-     ONE_SYM = 617,
-     ONLINE_SYM = 618,
-     OPEN_SYM = 619,
-     OPTIMIZE = 620,
-     OPTIONS_SYM = 621,
-     OPTION = 622,
-     OPTIONALLY = 623,
-     OR2_SYM = 624,
-     ORDER_SYM = 625,
-     OR_OR_SYM = 626,
-     OR_SYM = 627,
-     OUTER = 628,
-     OUTFILE = 629,
-     OUT_SYM = 630,
-     OWNER_SYM = 631,
-     PACK_KEYS_SYM = 632,
-     PAGE_SYM = 633,
-     PAGE_CHECKSUM_SYM = 634,
-     PARAM_MARKER = 635,
-     PARSER_SYM = 636,
-     PARSE_VCOL_EXPR_SYM = 637,
-     PARTIAL = 638,
-     PARTITIONING_SYM = 639,
-     PARTITIONS_SYM = 640,
-     PARTITION_SYM = 641,
-     PASSWORD = 642,
-     PERSISTENT_SYM = 643,
-     PHASE_SYM = 644,
-     PLUGINS_SYM = 645,
-     PLUGIN_SYM = 646,
-     POINT_SYM = 647,
-     POLYGON = 648,
-     PORT_SYM = 649,
-     POSITION_SYM = 650,
-     PRECISION = 651,
-     PREPARE_SYM = 652,
-     PRESERVE_SYM = 653,
-     PREV_SYM = 654,
-     PRIMARY_SYM = 655,
-     PRIVILEGES = 656,
-     PROCEDURE_SYM = 657,
-     PROCESS = 658,
-     PROCESSLIST_SYM = 659,
-     PROFILE_SYM = 660,
-     PROFILES_SYM = 661,
-     PROXY_SYM = 662,
-     PURGE = 663,
-     QUARTER_SYM = 664,
-     QUERY_SYM = 665,
-     QUICK = 666,
-     RANGE_SYM = 667,
-     READS_SYM = 668,
-     READ_ONLY_SYM = 669,
-     READ_SYM = 670,
-     READ_WRITE_SYM = 671,
-     REAL = 672,
-     REBUILD_SYM = 673,
-     RECOVER_SYM = 674,
-     REDOFILE_SYM = 675,
-     REDO_BUFFER_SIZE_SYM = 676,
-     REDUNDANT_SYM = 677,
-     REFERENCES = 678,
-     REGEXP = 679,
-     RELAY = 680,
-     RELAYLOG_SYM = 681,
-     RELAY_LOG_FILE_SYM = 682,
-     RELAY_LOG_POS_SYM = 683,
-     RELAY_THREAD = 684,
-     RELEASE_SYM = 685,
-     RELOAD = 686,
-     REMOVE_SYM = 687,
-     RENAME = 688,
-     REORGANIZE_SYM = 689,
-     REPAIR = 690,
-     REPEATABLE_SYM = 691,
-     REPEAT_SYM = 692,
-     REPLACE = 693,
-     REPLICATION = 694,
-     REQUIRE_SYM = 695,
-     RESET_SYM = 696,
-     RESIGNAL_SYM = 697,
-     RESOURCES = 698,
-     RESTORE_SYM = 699,
-     RESTRICT = 700,
-     RESUME_SYM = 701,
-     RETURNS_SYM = 702,
-     RETURN_SYM = 703,
-     REVOKE = 704,
-     RIGHT = 705,
-     ROLLBACK_SYM = 706,
-     ROLLUP_SYM = 707,
-     ROUTINE_SYM = 708,
-     ROWS_SYM = 709,
-     ROW_FORMAT_SYM = 710,
-     ROW_SYM = 711,
-     RTREE_SYM = 712,
-     SAVEPOINT_SYM = 713,
-     SCHEDULE_SYM = 714,
-     SCHEMA_NAME_SYM = 715,
-     SECOND_MICROSECOND_SYM = 716,
-     SECOND_SYM = 717,
-     SECURITY_SYM = 718,
-     SELECT_SYM = 719,
-     SENSITIVE_SYM = 720,
-     SEPARATOR_SYM = 721,
-     SERIALIZABLE_SYM = 722,
-     SERIAL_SYM = 723,
-     SESSION_SYM = 724,
-     SERVER_SYM = 725,
-     SERVER_OPTIONS = 726,
-     SET = 727,
-     SET_VAR = 728,
-     SHARE_SYM = 729,
-     SHIFT_LEFT = 730,
-     SHIFT_RIGHT = 731,
-     SHOW = 732,
-     SHUTDOWN = 733,
-     SIGNAL_SYM = 734,
-     SIGNED_SYM = 735,
-     SIMPLE_SYM = 736,
-     SLAVE = 737,
-     SLOW = 738,
-     SMALLINT = 739,
-     SNAPSHOT_SYM = 740,
-     SOCKET_SYM = 741,
-     SOFT_SYM = 742,
-     SONAME_SYM = 743,
-     SOUNDS_SYM = 744,
-     SOURCE_SYM = 745,
-     SPATIAL_SYM = 746,
-     SPECIFIC_SYM = 747,
-     SQLEXCEPTION_SYM = 748,
-     SQLSTATE_SYM = 749,
-     SQLWARNING_SYM = 750,
-     SQL_BIG_RESULT = 751,
-     SQL_BUFFER_RESULT = 752,
-     SQL_CACHE_SYM = 753,
-     SQL_CALC_FOUND_ROWS = 754,
-     SQL_NO_CACHE_SYM = 755,
-     SQL_SMALL_RESULT = 756,
-     SQL_SYM = 757,
-     SQL_THREAD = 758,
-     SSL_SYM = 759,
-     STARTING = 760,
-     STARTS_SYM = 761,
-     START_SYM = 762,
-     STATUS_SYM = 763,
-     STDDEV_SAMP_SYM = 764,
-     STD_SYM = 765,
-     STOP_SYM = 766,
-     STORAGE_SYM = 767,
-     STRAIGHT_JOIN = 768,
-     STRING_SYM = 769,
-     SUBCLASS_ORIGIN_SYM = 770,
-     SUBDATE_SYM = 771,
-     SUBJECT_SYM = 772,
-     SUBPARTITIONS_SYM = 773,
-     SUBPARTITION_SYM = 774,
-     SUBSTRING = 775,
-     SUM_SYM = 776,
-     SUPER_SYM = 777,
-     SUSPEND_SYM = 778,
-     SWAPS_SYM = 779,
-     SWITCHES_SYM = 780,
-     SYSDATE = 781,
-     TABLES = 782,
-     TABLESPACE = 783,
-     TABLE_REF_PRIORITY = 784,
-     TABLE_STATS_SYM = 785,
-     TABLE_SYM = 786,
-     TABLE_CHECKSUM_SYM = 787,
-     TABLE_NAME_SYM = 788,
-     TEMPORARY = 789,
-     TEMPTABLE_SYM = 790,
-     TERMINATED = 791,
-     TEXT_STRING = 792,
-     TEXT_SYM = 793,
-     THAN_SYM = 794,
-     THEN_SYM = 795,
-     TIMESTAMP = 796,
-     TIMESTAMP_ADD = 797,
-     TIMESTAMP_DIFF = 798,
-     TIME_SYM = 799,
-     TINYBLOB = 800,
-     TINYINT = 801,
-     TINYTEXT = 802,
-     TO_SYM = 803,
-     TRAILING = 804,
-     TRANSACTION_SYM = 805,
-     TRANSACTIONAL_SYM = 806,
-     TRIGGERS_SYM = 807,
-     TRIGGER_SYM = 808,
-     TRIM = 809,
-     TRUE_SYM = 810,
-     TRUNCATE_SYM = 811,
-     TYPES_SYM = 812,
-     TYPE_SYM = 813,
-     UDF_RETURNS_SYM = 814,
-     ULONGLONG_NUM = 815,
-     UNCOMMITTED_SYM = 816,
-     UNDEFINED_SYM = 817,
-     UNDERSCORE_CHARSET = 818,
-     UNDOFILE_SYM = 819,
-     UNDO_BUFFER_SIZE_SYM = 820,
-     UNDO_SYM = 821,
-     UNICODE_SYM = 822,
-     UNINSTALL_SYM = 823,
-     UNION_SYM = 824,
-     UNIQUE_SYM = 825,
-     UNKNOWN_SYM = 826,
-     UNLOCK_SYM = 827,
-     UNSIGNED = 828,
-     UNTIL_SYM = 829,
-     UPDATE_SYM = 830,
-     UPGRADE_SYM = 831,
-     USAGE = 832,
-     USER = 833,
-     USER_STATS_SYM = 834,
-     USE_FRM = 835,
-     USE_SYM = 836,
-     USING = 837,
-     UTC_DATE_SYM = 838,
-     UTC_TIMESTAMP_SYM = 839,
-     UTC_TIME_SYM = 840,
-     VALUES = 841,
-     VALUE_SYM = 842,
-     VARBINARY = 843,
-     VARCHAR = 844,
-     VARIABLES = 845,
-     VARIANCE_SYM = 846,
-     VARYING = 847,
-     VAR_SAMP_SYM = 848,
-     VIA_SYM = 849,
-     VIEW_SYM = 850,
-     VIRTUAL_SYM = 851,
-     WAIT_SYM = 852,
-     WARNINGS = 853,
-     WEEK_SYM = 854,
-     WHEN_SYM = 855,
-     WHERE = 856,
-     WHILE_SYM = 857,
-     WITH = 858,
-     WITH_CUBE_SYM = 859,
-     WITH_ROLLUP_SYM = 860,
-     WORK_SYM = 861,
-     WRAPPER_SYM = 862,
-     WRITE_SYM = 863,
-     X509_SYM = 864,
-     XA_SYM = 865,
-     XML_SYM = 866,
-     XOR = 867,
-     YEAR_MONTH_SYM = 868,
-     YEAR_SYM = 869,
-     ZEROFILL = 870,
-     IMPOSSIBLE_ACTION = 871
-   };
+  enum yytokentype
+  {
+    ABORT_SYM = 258,
+    ACCESSIBLE_SYM = 259,
+    ACTION = 260,
+    ADD = 261,
+    ADDDATE_SYM = 262,
+    AFTER_SYM = 263,
+    AGAINST = 264,
+    AGGREGATE_SYM = 265,
+    ALGORITHM_SYM = 266,
+    ALL = 267,
+    ALTER = 268,
+    ALWAYS_SYM = 269,
+    ANALYZE_SYM = 270,
+    AND_AND_SYM = 271,
+    AND_SYM = 272,
+    ANY_SYM = 273,
+    AS = 274,
+    ASC = 275,
+    ASCII_SYM = 276,
+    ASENSITIVE_SYM = 277,
+    AT_SYM = 278,
+    AUTHORS_SYM = 279,
+    AUTOEXTEND_SIZE_SYM = 280,
+    AUTO_INC = 281,
+    AVG_ROW_LENGTH = 282,
+    AVG_SYM = 283,
+    BACKUP_SYM = 284,
+    BEFORE_SYM = 285,
+    BEGIN_SYM = 286,
+    BETWEEN_SYM = 287,
+    BIGINT = 288,
+    BINARY = 289,
+    BINLOG_SYM = 290,
+    BIN_NUM = 291,
+    BIT_AND = 292,
+    BIT_OR = 293,
+    BIT_SYM = 294,
+    BIT_XOR = 295,
+    BLOB_SYM = 296,
+    BLOCK_SYM = 297,
+    BOOLEAN_SYM = 298,
+    BOOL_SYM = 299,
+    BOTH = 300,
+    BTREE_SYM = 301,
+    BY = 302,
+    BYTE_SYM = 303,
+    CACHE_SYM = 304,
+    CALL_SYM = 305,
+    CASCADE = 306,
+    CASCADED = 307,
+    CASE_SYM = 308,
+    CAST_SYM = 309,
+    CATALOG_NAME_SYM = 310,
+    CHAIN_SYM = 311,
+    CHANGE = 312,
+    CHANGED = 313,
+    CHARSET = 314,
+    CHAR_SYM = 315,
+    CHECKPOINT_SYM = 316,
+    CHECKSUM_SYM = 317,
+    CHECK_SYM = 318,
+    CIPHER_SYM = 319,
+    CLASS_ORIGIN_SYM = 320,
+    CLIENT_SYM = 321,
+    CLIENT_STATS_SYM = 322,
+    CLOSE_SYM = 323,
+    COALESCE = 324,
+    CODE_SYM = 325,
+    COLLATE_SYM = 326,
+    COLLATION_SYM = 327,
+    COLUMNS = 328,
+    COLUMN_ADD_SYM = 329,
+    COLUMN_CREATE_SYM = 330,
+    COLUMN_DELETE_SYM = 331,
+    COLUMN_EXISTS_SYM = 332,
+    COLUMN_GET_SYM = 333,
+    COLUMN_LIST_SYM = 334,
+    COLUMN_SYM = 335,
+    COLUMN_NAME_SYM = 336,
+    COMMENT_SYM = 337,
+    COMMITTED_SYM = 338,
+    COMMIT_SYM = 339,
+    COMPACT_SYM = 340,
+    COMPLETION_SYM = 341,
+    COMPRESSED_SYM = 342,
+    CONCURRENT = 343,
+    CONDITION_SYM = 344,
+    CONNECTION_SYM = 345,
+    CONSISTENT_SYM = 346,
+    CONSTRAINT = 347,
+    CONSTRAINT_CATALOG_SYM = 348,
+    CONSTRAINT_NAME_SYM = 349,
+    CONSTRAINT_SCHEMA_SYM = 350,
+    CONTAINS_SYM = 351,
+    CONTEXT_SYM = 352,
+    CONTINUE_SYM = 353,
+    CONTRIBUTORS_SYM = 354,
+    CONVERT_SYM = 355,
+    COUNT_SYM = 356,
+    CPU_SYM = 357,
+    CREATE = 358,
+    CROSS = 359,
+    CUBE_SYM = 360,
+    CURDATE = 361,
+    CURRENT_USER = 362,
+    CURSOR_SYM = 363,
+    CURSOR_NAME_SYM = 364,
+    CURTIME = 365,
+    DATABASE = 366,
+    DATABASES = 367,
+    DATAFILE_SYM = 368,
+    DATA_SYM = 369,
+    DATETIME = 370,
+    DATE_ADD_INTERVAL = 371,
+    DATE_SUB_INTERVAL = 372,
+    DATE_SYM = 373,
+    DAY_HOUR_SYM = 374,
+    DAY_MICROSECOND_SYM = 375,
+    DAY_MINUTE_SYM = 376,
+    DAY_SECOND_SYM = 377,
+    DAY_SYM = 378,
+    DEALLOCATE_SYM = 379,
+    DECIMAL_NUM = 380,
+    DECIMAL_SYM = 381,
+    DECLARE_SYM = 382,
+    DEFAULT = 383,
+    DEFINER_SYM = 384,
+    DELAYED_SYM = 385,
+    DELAY_KEY_WRITE_SYM = 386,
+    DELETE_SYM = 387,
+    DESC = 388,
+    DESCRIBE = 389,
+    DES_KEY_FILE = 390,
+    DETERMINISTIC_SYM = 391,
+    DIRECTORY_SYM = 392,
+    DISABLE_SYM = 393,
+    DISCARD = 394,
+    DISK_SYM = 395,
+    DISTINCT = 396,
+    DIV_SYM = 397,
+    DOUBLE_SYM = 398,
+    DO_SYM = 399,
+    DROP = 400,
+    DUAL_SYM = 401,
+    DUMPFILE = 402,
+    DUPLICATE_SYM = 403,
+    DYNAMIC_SYM = 404,
+    EACH_SYM = 405,
+    ELSE = 406,
+    ELSEIF_SYM = 407,
+    ENABLE_SYM = 408,
+    ENCLOSED = 409,
+    END = 410,
+    ENDS_SYM = 411,
+    END_OF_INPUT = 412,
+    ENGINES_SYM = 413,
+    ENGINE_SYM = 414,
+    ENUM = 415,
+    EQUAL_SYM = 416,
+    ERROR_SYM = 417,
+    ERRORS = 418,
+    ESCAPED = 419,
+    ESCAPE_SYM = 420,
+    EVENTS_SYM = 421,
+    EVENT_SYM = 422,
+    EVERY_SYM = 423,
+    EXAMINED_SYM = 424,
+    EXECUTE_SYM = 425,
+    EXISTS = 426,
+    EXIT_SYM = 427,
+    EXPANSION_SYM = 428,
+    EXTENDED_SYM = 429,
+    EXTENT_SIZE_SYM = 430,
+    EXTRACT_SYM = 431,
+    FALSE_SYM = 432,
+    FAST_SYM = 433,
+    FAULTS_SYM = 434,
+    FETCH_SYM = 435,
+    FILE_SYM = 436,
+    FIRST_SYM = 437,
+    FIXED_SYM = 438,
+    FLOAT_NUM = 439,
+    FLOAT_SYM = 440,
+    FLUSH_SYM = 441,
+    FORCE_SYM = 442,
+    FOREIGN = 443,
+    FOR_SYM = 444,
+    FOUND_SYM = 445,
+    FROM = 446,
+    FULL = 447,
+    FULLTEXT_SYM = 448,
+    FUNCTION_SYM = 449,
+    GE = 450,
+    GENERAL = 451,
+    GENERATED_SYM = 452,
+    GEOMETRYCOLLECTION = 453,
+    GEOMETRY_SYM = 454,
+    GET_FORMAT = 455,
+    GLOBAL_SYM = 456,
+    GRANT = 457,
+    GRANTS = 458,
+    GROUP_SYM = 459,
+    GROUP_CONCAT_SYM = 460,
+    HANDLER_SYM = 461,
+    HARD_SYM = 462,
+    HASH_SYM = 463,
+    HAVING = 464,
+    HELP_SYM = 465,
+    HEX_NUM = 466,
+    HEX_STRING = 467,
+    HIGH_PRIORITY = 468,
+    HOST_SYM = 469,
+    HOSTS_SYM = 470,
+    HOUR_MICROSECOND_SYM = 471,
+    HOUR_MINUTE_SYM = 472,
+    HOUR_SECOND_SYM = 473,
+    HOUR_SYM = 474,
+    IDENT = 475,
+    IDENTIFIED_SYM = 476,
+    IDENT_QUOTED = 477,
+    IF = 478,
+    IGNORE_SYM = 479,
+    IGNORE_SERVER_IDS_SYM = 480,
+    IMPORT = 481,
+    INDEXES = 482,
+    INDEX_SYM = 483,
+    INDEX_STATS_SYM = 484,
+    INFILE = 485,
+    INITIAL_SIZE_SYM = 486,
+    INNER_SYM = 487,
+    INOUT_SYM = 488,
+    INSENSITIVE_SYM = 489,
+    INSERT = 490,
+    INSERT_METHOD = 491,
+    INSTALL_SYM = 492,
+    INTERVAL_SYM = 493,
+    INTO = 494,
+    INT_SYM = 495,
+    INVOKER_SYM = 496,
+    IN_SYM = 497,
+    IO_SYM = 498,
+    IPC_SYM = 499,
+    IS = 500,
+    ISOLATION = 501,
+    ISSUER_SYM = 502,
+    ITERATE_SYM = 503,
+    JOIN_SYM = 504,
+    KEYS = 505,
+    KEY_BLOCK_SIZE = 506,
+    KEY_SYM = 507,
+    KILL_SYM = 508,
+    LANGUAGE_SYM = 509,
+    LAST_SYM = 510,
+    LAST_VALUE = 511,
+    LE = 512,
+    LEADING = 513,
+    LEAVES = 514,
+    LEAVE_SYM = 515,
+    LEFT = 516,
+    LESS_SYM = 517,
+    LEVEL_SYM = 518,
+    LEX_HOSTNAME = 519,
+    LIKE = 520,
+    LIMIT = 521,
+    LINEAR_SYM = 522,
+    LINES = 523,
+    LINESTRING = 524,
+    LIST_SYM = 525,
+    LOAD = 526,
+    LOCAL_SYM = 527,
+    LOCATOR_SYM = 528,
+    LOCKS_SYM = 529,
+    LOCK_SYM = 530,
+    LOGFILE_SYM = 531,
+    LOGS_SYM = 532,
+    LONGBLOB = 533,
+    LONGTEXT = 534,
+    LONG_NUM = 535,
+    LONG_SYM = 536,
+    LOOP_SYM = 537,
+    LOW_PRIORITY = 538,
+    MASTER_CONNECT_RETRY_SYM = 539,
+    MASTER_HOST_SYM = 540,
+    MASTER_LOG_FILE_SYM = 541,
+    MASTER_LOG_POS_SYM = 542,
+    MASTER_PASSWORD_SYM = 543,
+    MASTER_PORT_SYM = 544,
+    MASTER_SERVER_ID_SYM = 545,
+    MASTER_SSL_CAPATH_SYM = 546,
+    MASTER_SSL_CA_SYM = 547,
+    MASTER_SSL_CERT_SYM = 548,
+    MASTER_SSL_CIPHER_SYM = 549,
+    MASTER_SSL_KEY_SYM = 550,
+    MASTER_SSL_SYM = 551,
+    MASTER_SSL_VERIFY_SERVER_CERT_SYM = 552,
+    MASTER_SYM = 553,
+    MASTER_USER_SYM = 554,
+    MASTER_HEARTBEAT_PERIOD_SYM = 555,
+    MATCH = 556,
+    MAX_CONNECTIONS_PER_HOUR = 557,
+    MAX_QUERIES_PER_HOUR = 558,
+    MAX_ROWS = 559,
+    MAX_SIZE_SYM = 560,
+    MAX_SYM = 561,
+    MAX_UPDATES_PER_HOUR = 562,
+    MAX_USER_CONNECTIONS_SYM = 563,
+    MAX_VALUE_SYM = 564,
+    MEDIUMBLOB = 565,
+    MEDIUMINT = 566,
+    MEDIUMTEXT = 567,
+    MEDIUM_SYM = 568,
+    MEMORY_SYM = 569,
+    MERGE_SYM = 570,
+    MESSAGE_TEXT_SYM = 571,
+    MICROSECOND_SYM = 572,
+    MIGRATE_SYM = 573,
+    MINUTE_MICROSECOND_SYM = 574,
+    MINUTE_SECOND_SYM = 575,
+    MINUTE_SYM = 576,
+    MIN_ROWS = 577,
+    MIN_SYM = 578,
+    MODE_SYM = 579,
+    MODIFIES_SYM = 580,
+    MODIFY_SYM = 581,
+    MOD_SYM = 582,
+    MONTH_SYM = 583,
+    MULTILINESTRING = 584,
+    MULTIPOINT = 585,
+    MULTIPOLYGON = 586,
+    MUTEX_SYM = 587,
+    MYSQL_SYM = 588,
+    MYSQL_ERRNO_SYM = 589,
+    NAMES_SYM = 590,
+    NAME_SYM = 591,
+    NATIONAL_SYM = 592,
+    NATURAL = 593,
+    NCHAR_STRING = 594,
+    NCHAR_SYM = 595,
+    NDBCLUSTER_SYM = 596,
+    NE = 597,
+    NEG = 598,
+    NEW_SYM = 599,
+    NEXT_SYM = 600,
+    NODEGROUP_SYM = 601,
+    NONE_SYM = 602,
+    NOT2_SYM = 603,
+    NOT_SYM = 604,
+    NOW_SYM = 605,
+    NO_SYM = 606,
+    NO_WAIT_SYM = 607,
+    NO_WRITE_TO_BINLOG = 608,
+    NULL_SYM = 609,
+    NUM = 610,
+    NUMERIC_SYM = 611,
+    NVARCHAR_SYM = 612,
+    OFFSET_SYM = 613,
+    OLD_PASSWORD = 614,
+    ON = 615,
+    ONE_SHOT_SYM = 616,
+    ONE_SYM = 617,
+    ONLINE_SYM = 618,
+    OPEN_SYM = 619,
+    OPTIMIZE = 620,
+    OPTIONS_SYM = 621,
+    OPTION = 622,
+    OPTIONALLY = 623,
+    OR2_SYM = 624,
+    ORDER_SYM = 625,
+    OR_OR_SYM = 626,
+    OR_SYM = 627,
+    OUTER = 628,
+    OUTFILE = 629,
+    OUT_SYM = 630,
+    OWNER_SYM = 631,
+    PACK_KEYS_SYM = 632,
+    PAGE_SYM = 633,
+    PAGE_CHECKSUM_SYM = 634,
+    PARAM_MARKER = 635,
+    PARSER_SYM = 636,
+    PARSE_VCOL_EXPR_SYM = 637,
+    PARTIAL = 638,
+    PARTITIONING_SYM = 639,
+    PARTITIONS_SYM = 640,
+    PARTITION_SYM = 641,
+    PASSWORD = 642,
+    PERSISTENT_SYM = 643,
+    PHASE_SYM = 644,
+    PLUGINS_SYM = 645,
+    PLUGIN_SYM = 646,
+    POINT_SYM = 647,
+    POLYGON = 648,
+    PORT_SYM = 649,
+    POSITION_SYM = 650,
+    PRECISION = 651,
+    PREPARE_SYM = 652,
+    PRESERVE_SYM = 653,
+    PREV_SYM = 654,
+    PRIMARY_SYM = 655,
+    PRIVILEGES = 656,
+    PROCEDURE_SYM = 657,
+    PROCESS = 658,
+    PROCESSLIST_SYM = 659,
+    PROFILE_SYM = 660,
+    PROFILES_SYM = 661,
+    PROXY_SYM = 662,
+    PURGE = 663,
+    QUARTER_SYM = 664,
+    QUERY_SYM = 665,
+    QUICK = 666,
+    RANGE_SYM = 667,
+    READS_SYM = 668,
+    READ_ONLY_SYM = 669,
+    READ_SYM = 670,
+    READ_WRITE_SYM = 671,
+    REAL = 672,
+    REBUILD_SYM = 673,
+    RECOVER_SYM = 674,
+    REDOFILE_SYM = 675,
+    REDO_BUFFER_SIZE_SYM = 676,
+    REDUNDANT_SYM = 677,
+    REFERENCES = 678,
+    REGEXP = 679,
+    RELAY = 680,
+    RELAYLOG_SYM = 681,
+    RELAY_LOG_FILE_SYM = 682,
+    RELAY_LOG_POS_SYM = 683,
+    RELAY_THREAD = 684,
+    RELEASE_SYM = 685,
+    RELOAD = 686,
+    REMOVE_SYM = 687,
+    RENAME = 688,
+    REORGANIZE_SYM = 689,
+    REPAIR = 690,
+    REPEATABLE_SYM = 691,
+    REPEAT_SYM = 692,
+    REPLACE = 693,
+    REPLICATION = 694,
+    REQUIRE_SYM = 695,
+    RESET_SYM = 696,
+    RESIGNAL_SYM = 697,
+    RESOURCES = 698,
+    RESTORE_SYM = 699,
+    RESTRICT = 700,
+    RESUME_SYM = 701,
+    RETURNS_SYM = 702,
+    RETURN_SYM = 703,
+    REVOKE = 704,
+    RIGHT = 705,
+    ROLLBACK_SYM = 706,
+    ROLLUP_SYM = 707,
+    ROUTINE_SYM = 708,
+    ROWS_SYM = 709,
+    ROW_FORMAT_SYM = 710,
+    ROW_SYM = 711,
+    RTREE_SYM = 712,
+    SAVEPOINT_SYM = 713,
+    SCHEDULE_SYM = 714,
+    SCHEMA_NAME_SYM = 715,
+    SECOND_MICROSECOND_SYM = 716,
+    SECOND_SYM = 717,
+    SECURITY_SYM = 718,
+    SELECT_SYM = 719,
+    SENSITIVE_SYM = 720,
+    SEPARATOR_SYM = 721,
+    SERIALIZABLE_SYM = 722,
+    SERIAL_SYM = 723,
+    SESSION_SYM = 724,
+    SERVER_SYM = 725,
+    SERVER_OPTIONS = 726,
+    SET = 727,
+    SET_VAR = 728,
+    SHARE_SYM = 729,
+    SHIFT_LEFT = 730,
+    SHIFT_RIGHT = 731,
+    SHOW = 732,
+    SHUTDOWN = 733,
+    SIGNAL_SYM = 734,
+    SIGNED_SYM = 735,
+    SIMPLE_SYM = 736,
+    SLAVE = 737,
+    SLOW = 738,
+    SMALLINT = 739,
+    SNAPSHOT_SYM = 740,
+    SOCKET_SYM = 741,
+    SOFT_SYM = 742,
+    SONAME_SYM = 743,
+    SOUNDS_SYM = 744,
+    SOURCE_SYM = 745,
+    SPATIAL_SYM = 746,
+    SPECIFIC_SYM = 747,
+    SQLEXCEPTION_SYM = 748,
+    SQLSTATE_SYM = 749,
+    SQLWARNING_SYM = 750,
+    SQL_BIG_RESULT = 751,
+    SQL_BUFFER_RESULT = 752,
+    SQL_CACHE_SYM = 753,
+    SQL_CALC_FOUND_ROWS = 754,
+    SQL_NO_CACHE_SYM = 755,
+    SQL_SMALL_RESULT = 756,
+    SQL_SYM = 757,
+    SQL_THREAD = 758,
+    SSL_SYM = 759,
+    STARTING = 760,
+    STARTS_SYM = 761,
+    START_SYM = 762,
+    STATUS_SYM = 763,
+    STDDEV_SAMP_SYM = 764,
+    STD_SYM = 765,
+    STOP_SYM = 766,
+    STORAGE_SYM = 767,
+    STRAIGHT_JOIN = 768,
+    STRING_SYM = 769,
+    SUBCLASS_ORIGIN_SYM = 770,
+    SUBDATE_SYM = 771,
+    SUBJECT_SYM = 772,
+    SUBPARTITIONS_SYM = 773,
+    SUBPARTITION_SYM = 774,
+    SUBSTRING = 775,
+    SUM_SYM = 776,
+    SUPER_SYM = 777,
+    SUSPEND_SYM = 778,
+    SWAPS_SYM = 779,
+    SWITCHES_SYM = 780,
+    SYSDATE = 781,
+    TABLES = 782,
+    TABLESPACE = 783,
+    TABLE_REF_PRIORITY = 784,
+    TABLE_STATS_SYM = 785,
+    TABLE_SYM = 786,
+    TABLE_CHECKSUM_SYM = 787,
+    TABLE_NAME_SYM = 788,
+    TEMPORARY = 789,
+    TEMPTABLE_SYM = 790,
+    TERMINATED = 791,
+    TEXT_STRING = 792,
+    TEXT_SYM = 793,
+    THAN_SYM = 794,
+    THEN_SYM = 795,
+    TIMESTAMP = 796,
+    TIMESTAMP_ADD = 797,
+    TIMESTAMP_DIFF = 798,
+    TIME_SYM = 799,
+    TINYBLOB = 800,
+    TINYINT = 801,
+    TINYTEXT = 802,
+    TO_SYM = 803,
+    TRAILING = 804,
+    TRANSACTION_SYM = 805,
+    TRANSACTIONAL_SYM = 806,
+    TRIGGERS_SYM = 807,
+    TRIGGER_SYM = 808,
+    TRIM = 809,
+    TRUE_SYM = 810,
+    TRUNCATE_SYM = 811,
+    TYPES_SYM = 812,
+    TYPE_SYM = 813,
+    UDF_RETURNS_SYM = 814,
+    ULONGLONG_NUM = 815,
+    UNCOMMITTED_SYM = 816,
+    UNDEFINED_SYM = 817,
+    UNDERSCORE_CHARSET = 818,
+    UNDOFILE_SYM = 819,
+    UNDO_BUFFER_SIZE_SYM = 820,
+    UNDO_SYM = 821,
+    UNICODE_SYM = 822,
+    UNINSTALL_SYM = 823,
+    UNION_SYM = 824,
+    UNIQUE_SYM = 825,
+    UNKNOWN_SYM = 826,
+    UNLOCK_SYM = 827,
+    UNSIGNED = 828,
+    UNTIL_SYM = 829,
+    UPDATE_SYM = 830,
+    UPGRADE_SYM = 831,
+    USAGE = 832,
+    USER = 833,
+    USER_STATS_SYM = 834,
+    USE_FRM = 835,
+    USE_SYM = 836,
+    USING = 837,
+    UTC_DATE_SYM = 838,
+    UTC_TIMESTAMP_SYM = 839,
+    UTC_TIME_SYM = 840,
+    VALUES = 841,
+    VALUE_SYM = 842,
+    VARBINARY = 843,
+    VARCHAR = 844,
+    VARIABLES = 845,
+    VARIANCE_SYM = 846,
+    VARYING = 847,
+    VAR_SAMP_SYM = 848,
+    VIA_SYM = 849,
+    VIEW_SYM = 850,
+    VIRTUAL_SYM = 851,
+    WAIT_SYM = 852,
+    WARNINGS = 853,
+    WEEK_SYM = 854,
+    WHEN_SYM = 855,
+    WHERE = 856,
+    WHILE_SYM = 857,
+    WITH = 858,
+    WITH_CUBE_SYM = 859,
+    WITH_ROLLUP_SYM = 860,
+    WORK_SYM = 861,
+    WRAPPER_SYM = 862,
+    WRITE_SYM = 863,
+    X509_SYM = 864,
+    XA_SYM = 865,
+    XML_SYM = 866,
+    XOR = 867,
+    YEAR_MONTH_SYM = 868,
+    YEAR_SYM = 869,
+    ZEROFILL = 870,
+    IMPOSSIBLE_ACTION = 871
+  };
 #endif
 /* Tokens.  */
 #define ABORT_SYM 258
@@ -1271,15 +1277,12 @@
 #define ZEROFILL 870
 #define IMPOSSIBLE_ACTION 871
 
-
-
-
+/* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+typedef union YYSTYPE YYSTYPE;
+union YYSTYPE
 {
-
-/* Line 1676 of yacc.c  */
-#line 732 "/home/buildbot/git/sql/sql_yacc.yy"
+#line 732 "/home/buildbot/git/sql/sql_yacc.yy" /* yacc.c:1909  */
 
   int  num;
   ulong ulong_num;
@@ -1332,16 +1335,14 @@ typedef union YYSTYPE
   List<DYNCALL_CREATE_DEF> *dyncol_def_list;
   bool is_not_empty;
 
-
-
-/* Line 1676 of yacc.c  */
-#line 1339 "/home/buildbot/git/mkdist/sql/sql_yacc.h"
-} YYSTYPE;
+#line 1339 "/home/buildbot/git/mkdist/sql/sql_yacc.h" /* yacc.c:1909  */
+};
 # define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 #endif
 
 
 
+int MYSQLparse (THD *thd);
 
+#endif /* !YY_MYSQL_HOME_BUILDBOT_GIT_MKDIST_SQL_SQL_YACC_H_INCLUDED  */
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 3599752..ffe861d 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -2173,6 +2173,10 @@ static bool fix_sql_mode(sys_var *self, THD *thd, enum_var_type type)
       thd->server_status|= SERVER_STATUS_NO_BACKSLASH_ESCAPES;
     else
       thd->server_status&= ~SERVER_STATUS_NO_BACKSLASH_ESCAPES;
+    if (thd->variables.sql_mode & MODE_ANSI_QUOTES)
+      thd->server_status|= SERVER_STATUS_ANSI_QUOTES;
+    else
+      thd->server_status&= ~SERVER_STATUS_ANSI_QUOTES;
   }
   return false;
 }
diff --git a/sql/threadpool_unix.cc b/sql/threadpool_unix.cc
index 6075c75..0ffe08a 100644
--- a/sql/threadpool_unix.cc
+++ b/sql/threadpool_unix.cc
@@ -979,24 +979,26 @@ static void thread_group_close(thread_group_t *thread_group)
 
   if (pipe(thread_group->shutdown_pipe))
   {
-    DBUG_VOID_RETURN;
+    goto end;
   }
   
   /* Wake listener */
   if (io_poll_associate_fd(thread_group->pollfd, 
       thread_group->shutdown_pipe[0], NULL))
   {
-    DBUG_VOID_RETURN;
+    goto end;
+  }
+  {
+    char c= 0;
+    if (write(thread_group->shutdown_pipe[1], &c, 1) < 0)
+      goto end;
   }
-  char c= 0;
-  if (write(thread_group->shutdown_pipe[1], &c, 1) < 0)
-    DBUG_VOID_RETURN;
-
   /* Wake all workers. */
   while(wake_thread(thread_group) == 0) 
   { 
   }
   
+end:
   mysql_mutex_unlock(&thread_group->mutex);
 
   DBUG_VOID_RETURN;
diff --git a/sql/uniques.cc b/sql/uniques.cc
index fe3e329..8b7da7e 100644
--- a/sql/uniques.cc
+++ b/sql/uniques.cc
@@ -461,7 +461,7 @@ C_MODE_END
     <> 0  error
 */
 
-static bool merge_walk(uchar *merge_buffer, ulong merge_buffer_size,
+static bool merge_walk(uchar *merge_buffer, size_t merge_buffer_size,
                        uint key_length, BUFFPEK *begin, BUFFPEK *end,
                        tree_walk_action walk_action, void *walk_action_arg,
                        qsort_cmp2 compare, void *compare_arg,
@@ -470,7 +470,7 @@ static bool merge_walk(uchar *merge_buffer, ulong merge_buffer_size,
   BUFFPEK_COMPARE_CONTEXT compare_context = { compare, compare_arg };
   QUEUE queue;
   if (end <= begin ||
-      merge_buffer_size < (ulong) (key_length * (end - begin + 1)) ||
+      merge_buffer_size < (size_t) (key_length * (end - begin + 1)) ||
       init_queue(&queue, (uint) (end - begin), offsetof(BUFFPEK, key), 0,
                  buffpek_compare, &compare_context, 0, 0))
     return 1;
@@ -607,15 +607,19 @@ bool Unique::walk(TABLE *table, tree_walk_action action, void *walk_action_arg)
     return 1;
   if (flush_io_cache(&file) || reinit_io_cache(&file, READ_CACHE, 0L, 0, 0))
     return 1;
-  size_t buff_sz= (max_in_memory_size / full_size + 1) * full_size;
+  /*
+    merge_buffer must fit at least MERGEBUFF2 keys, because
+    merge_index() can merge that many BUFFPEKs at once.
+  */
+  size_t buff_sz= max(MERGEBUFF2, max_in_memory_size/full_size+1) * full_size;
   if (!(merge_buffer = (uchar *)my_malloc(buff_sz, MYF(MY_WME))))
     return 1;
   if (buff_sz < (ulong) (full_size * (file_ptrs.elements + 1)))
-    res= merge(table, merge_buffer, buff_sz >= full_size * MERGEBUFF2) ;
+    res= merge(table, merge_buffer, true) ;
   
   if (!res)
   {  
-    res= merge_walk(merge_buffer, (ulong) max_in_memory_size, full_size,
+    res= merge_walk(merge_buffer, buff_sz, full_size,
                     (BUFFPEK *) file_ptrs.buffer,
                     (BUFFPEK *) file_ptrs.buffer + file_ptrs.elements,
                     action, walk_action_arg,
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc
index 872373b..d39d118 100644
--- a/storage/archive/ha_archive.cc
+++ b/storage/archive/ha_archive.cc
@@ -1640,7 +1640,6 @@ int ha_archive::info(uint flag)
       stats.update_time= (ulong) file_stat.st_mtime;
     if (flag & HA_STATUS_CONST)
     {
-      stats.max_data_file_length= share->rows_recorded * stats.mean_rec_length;
       stats.max_data_file_length= MAX_FILE_SIZE;
       stats.create_time= (ulong) file_stat.st_ctime;
     }
diff --git a/storage/innobase/buf/buf0buf.c b/storage/innobase/buf/buf0buf.c
index a5e1c04..80a15ff 100644
--- a/storage/innobase/buf/buf0buf.c
+++ b/storage/innobase/buf/buf0buf.c
@@ -2560,14 +2560,8 @@ wait_until_unfixed:
 				}
 			}
 			buf_pool_mutex_exit(buf_pool);
-			fprintf(stderr,
-				"innodb_change_buffering_debug evict %u %u\n",
-				(unsigned) space, (unsigned) offset);
 			return(NULL);
 		} else if (buf_flush_page_try(buf_pool, block)) {
-			fprintf(stderr,
-				"innodb_change_buffering_debug flush %u %u\n",
-				(unsigned) space, (unsigned) offset);
 			guess = block;
 			goto loop;
 		}
diff --git a/storage/maria/ma_check.c b/storage/maria/ma_check.c
index fb35edc..198df72 100644
--- a/storage/maria/ma_check.c
+++ b/storage/maria/ma_check.c
@@ -4250,6 +4250,8 @@ int maria_repair_parallel(HA_CHECK *param, register MARIA_HA *info,
     }
   */
   DBUG_PRINT("info", ("is quick repair: %d", (int) rep_quick));
+  if (!rep_quick)
+    my_b_clear(&new_data_cache);
 
   /* Initialize pthread structures before goto err. */
   mysql_mutex_init(key_SORT_INFO_mutex, &sort_info.mutex, MY_MUTEX_INIT_FAST);
@@ -4608,7 +4610,7 @@ err:
     already or they were not yet started (if the error happend before
     creating the threads).
   */
-  if (!rep_quick)
+  if (!rep_quick && my_b_inited(&new_data_cache))
     end_io_cache(&new_data_cache);
   if (!got_error)
   {
diff --git a/storage/maria/ma_loghandler.c b/storage/maria/ma_loghandler.c
index bf2205f..e2e5254 100644
--- a/storage/maria/ma_loghandler.c
+++ b/storage/maria/ma_loghandler.c
@@ -1269,6 +1269,7 @@ static my_bool translog_set_lsn_for_files(uint32 from_file, uint32 to_file,
           mysql_file_close(fd, MYF(MY_WME))))
     {
       translog_stop_writing();
+      mysql_mutex_unlock(&log_descriptor.file_header_lock);
       DBUG_RETURN(1);
     }
   }
@@ -2291,10 +2292,11 @@ static void translog_set_only_in_buffers(TRANSLOG_ADDRESS in_buffers)
   if (cmp_translog_addr(in_buffers, log_descriptor.in_buffers_only) > 0)
   {
     if (translog_status != TRANSLOG_OK)
-      DBUG_VOID_RETURN;
+      goto end;
     log_descriptor.in_buffers_only= in_buffers;
     DBUG_PRINT("info", ("set new in_buffers_only"));
   }
+end:
   mysql_mutex_unlock(&log_descriptor.sent_to_disk_lock);
   DBUG_VOID_RETURN;
 }
@@ -7814,8 +7816,24 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
     translog_force_current_buffer_to_finish();
     translog_buffer_unlock(buffer);
   }
-  else if (log_descriptor.bc.buffer->prev_last_lsn != LSN_IMPOSSIBLE)
+  else
   {
+    if (log_descriptor.bc.buffer->last_lsn == LSN_IMPOSSIBLE)
+    {
+      /*
+        In this case both last_lsn & prev_last_lsn are LSN_IMPOSSIBLE
+        otherwise it will go in the first IF because LSN_IMPOSSIBLE less
+        then any real LSN and cmp_translog_addr(*lsn,
+        log_descriptor.bc.buffer->prev_last_lsn) will be TRUE
+      */
+      DBUG_ASSERT(log_descriptor.bc.buffer->prev_last_lsn ==
+                  LSN_IMPOSSIBLE);
+      DBUG_PRINT("info", ("There is no LSNs yet generated => do nothing"));
+      translog_unlock();
+      DBUG_VOID_RETURN;
+    }
+
+    DBUG_ASSERT(log_descriptor.bc.buffer->prev_last_lsn != LSN_IMPOSSIBLE);
     /* fix lsn if it was horizon */
     *lsn= log_descriptor.bc.buffer->prev_last_lsn;
     DBUG_PRINT("info", ("LSN to flush fixed to prev last lsn: (%lu,0x%lx)",
@@ -7824,13 +7842,6 @@ void translog_flush_buffers(TRANSLOG_ADDRESS *lsn,
                      TRANSLOG_BUFFERS_NO);
     translog_unlock();
   }
-  else if (log_descriptor.bc.buffer->last_lsn == LSN_IMPOSSIBLE)
-  {
-    DBUG_PRINT("info", ("There is no LSNs yet generated => do nothing"));
-    translog_unlock();
-    DBUG_VOID_RETURN;
-  }
-
   /* flush buffers */
   *sent_to_disk= translog_get_sent_to_disk();
   if (cmp_translog_addr(*lsn, *sent_to_disk) > 0)
diff --git a/storage/maria/ma_pagecache.c b/storage/maria/ma_pagecache.c
index 1a791d4..bb9f5a0 100644
--- a/storage/maria/ma_pagecache.c
+++ b/storage/maria/ma_pagecache.c
@@ -3474,6 +3474,7 @@ restart:
                             lock_to_read[lock].unlock_lock,
                             unlock_pin, FALSE))
       {
+        pagecache_pthread_mutex_unlock(&pagecache->cache_lock);
         DBUG_ASSERT(0);
         return (uchar*) 0;
       }
diff --git a/storage/maria/ma_recovery.c b/storage/maria/ma_recovery.c
index 5e42ebc..b2e8705 100644
--- a/storage/maria/ma_recovery.c
+++ b/storage/maria/ma_recovery.c
@@ -887,9 +887,7 @@ prototype_redo_exec_hook(REDO_CREATE_TABLE)
   if (create_database_if_not_exists(name))
     goto end;
   fn_format(filename, name, "", MARIA_NAME_IEXT,
-            (MY_UNPACK_FILENAME |
-             (flags & HA_DONT_TOUCH_DATA) ? MY_RETURN_REAL_PATH : 0) |
-            MY_APPEND_EXT);
+            MY_UNPACK_FILENAME | MY_RETURN_REAL_PATH | MY_APPEND_EXT);
   linkname_ptr= NULL;
   create_flag= MY_DELETE_OLD;
   tprint(tracef, "Table '%s' creating as '%s'\n", name, filename);
diff --git a/storage/myisam/mi_check.c b/storage/myisam/mi_check.c
index df97d60..23e5496 100644
--- a/storage/myisam/mi_check.c
+++ b/storage/myisam/mi_check.c
@@ -2676,6 +2676,8 @@ int mi_repair_parallel(HA_CHECK *param, register MI_INFO *info,
   */
   DBUG_PRINT("info", ("is quick repair: %d", rep_quick));
   bzero((char*)&sort_info,sizeof(sort_info));
+  if (!rep_quick)
+    my_b_clear(&new_data_cache);
   /* Initialize pthread structures before goto err. */
   mysql_mutex_init(mi_key_mutex_MI_SORT_INFO_mutex,
                    &sort_info.mutex, MY_MUTEX_INIT_FAST);
@@ -3050,7 +3052,7 @@ err:
     already or they were not yet started (if the error happend before
     creating the threads).
   */
-  if (!rep_quick)
+  if (!rep_quick && my_b_inited(&new_data_cache))
     (void) end_io_cache(&new_data_cache);
   if (!got_error)
   {
diff --git a/storage/myisam/mysql-test/storage_engine/parts/disabled.def b/storage/myisam/mysql-test/storage_engine/parts/disabled.def
new file mode 100644
index 0000000..e69de29
diff --git a/storage/xtradb/btr/btr0btr.c b/storage/xtradb/btr/btr0btr.c
index fb670df..76c2d9c 100644
--- a/storage/xtradb/btr/btr0btr.c
+++ b/storage/xtradb/btr/btr0btr.c
@@ -2958,7 +2958,7 @@ Removes a page from the level list of pages.
 
 /*************************************************************//**
 Removes a page from the level list of pages. */
-static __attribute__((nonnull))
+static
 void
 btr_level_list_remove_func(
 /*=======================*/
diff --git a/storage/xtradb/buf/buf0buf.c b/storage/xtradb/buf/buf0buf.c
index e68b052..0b0a00c 100644
--- a/storage/xtradb/buf/buf0buf.c
+++ b/storage/xtradb/buf/buf0buf.c
@@ -2852,9 +2852,6 @@ wait_until_unfixed:
 				}
 			}
 			//buf_pool_mutex_exit(buf_pool);
-			fprintf(stderr,
-				"innodb_change_buffering_debug evict %u %u\n",
-				(unsigned) space, (unsigned) offset);
 
 			return(NULL);
 		} else if (UNIV_UNLIKELY(buf_block_get_state(block)
@@ -2875,9 +2872,6 @@ wait_until_unfixed:
 			ut_ad(!mutex_own(&buf_pool->LRU_list_mutex));
 
 			if (buf_flush_page_try(buf_pool, block)) {
-				fprintf(stderr,
-					"innodb_change_buffering_debug flush %u %u\n",
-					(unsigned) space, (unsigned) offset);
 				guess = block;
 				goto loop;
 			}
diff --git a/storage/xtradb/dict/dict0crea.c b/storage/xtradb/dict/dict0crea.c
index 1529c22..e9484a0 100644
--- a/storage/xtradb/dict/dict0crea.c
+++ b/storage/xtradb/dict/dict0crea.c
@@ -115,8 +115,8 @@ dict_create_sys_tables_tuple(
 	if (table->flags & (~DICT_TF_COMPACT & ~(~0U << DICT_TF_BITS))) {
 		ut_a(table->flags & DICT_TF_COMPACT);
 		ut_a(dict_table_get_format(table) >= DICT_TF_FORMAT_ZIP);
-		ut_a(((ulonglong) table->flags & DICT_TF_ZSSIZE_MASK)
-		     <= (ulonglong) (DICT_TF_ZSSIZE_MAX << DICT_TF_ZSSIZE_SHIFT));
+		ut_a((table->flags & DICT_TF_ZSSIZE_MASK)
+		     <= (DICT_TF_ZSSIZE_MAX << DICT_TF_ZSSIZE_SHIFT));
 		ut_a(!(table->flags & (~0U << DICT_TF2_BITS)));
 		mach_write_to_4(ptr, table->flags & ~(~0U << DICT_TF_BITS));
 	} else {
diff --git a/storage/xtradb/fsp/fsp0fsp.c b/storage/xtradb/fsp/fsp0fsp.c
index 4477b34..433fcdc 100644
--- a/storage/xtradb/fsp/fsp0fsp.c
+++ b/storage/xtradb/fsp/fsp0fsp.c
@@ -249,8 +249,7 @@ fsp_fill_free_list(
 					then we do not allocate more extents */
 	ulint		space,		/*!< in: space */
 	fsp_header_t*	header,		/*!< in/out: space header */
-	mtr_t*		mtr)		/*!< in/out: mini-transaction */
-	__attribute__((nonnull));
+	mtr_t*		mtr);		/*!< in/out: mini-transaction */
 /**********************************************************************//**
 Allocates a single free page from a segment. This function implements
 the intelligent allocation strategy which tries to minimize file space
@@ -279,7 +278,7 @@ fseg_alloc_free_page_low(
 				in which the page should be initialized.
 				If init_mtr!=mtr, but the page is already
 				latched in mtr, do not initialize the page. */
-	__attribute__((warn_unused_result, nonnull));
+	__attribute__((warn_unused_result));
 #endif /* !UNIV_HOTBACKUP */
 
 /**********************************************************************//**
@@ -1568,7 +1567,7 @@ Allocates a single free page from a space. The page is marked as used.
 @retval block, rw_lock_x_lock_count(&block->lock) == 1 if allocation succeeded
 (init_mtr == mtr, or the page was not previously freed in mtr)
 @retval block (not allocated or initialized) otherwise */
-static __attribute__((nonnull, warn_unused_result))
+static __attribute__((warn_unused_result))
 buf_block_t*
 fsp_alloc_free_page(
 /*================*/
diff --git a/storage/xtradb/handler/i_s.cc b/storage/xtradb/handler/i_s.cc
index c868fbb..9f05a8a 100644
--- a/storage/xtradb/handler/i_s.cc
+++ b/storage/xtradb/handler/i_s.cc
@@ -7423,29 +7423,7 @@ i_s_innodb_changed_pages_fill(
 
 	while(log_online_bitmap_iterator_next(&i) &&
 	      (!srv_max_changed_pages ||
-	       output_rows_num < srv_max_changed_pages) &&
-	      /*
-		There is no need to compare both start LSN and end LSN fields
-		with maximum value. It's enough to compare only start LSN.
-		Example:
-
-				      max_lsn = 100
-		\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\	  - Query 1
-		I------I I-------I I-------------I I----I
-		//////////////////	 |		  - Query 2
-		   1	    2		  3	     4
-
-		Query 1:
-		SELECT * FROM INNODB_CHANGED_PAGES WHERE start_lsn < 100
-		will select 1,2,3 bitmaps
-		Query 2:
-		SELECT * FROM INNODB_CHANGED_PAGES WHERE end_lsn < 100
-		will select 1,2 bitmaps
-
-		The condition start_lsn <= 100 will be false after reading
-		1,2,3 bitmaps which suits for both cases.
-	      */
-	      LOG_BITMAP_ITERATOR_START_LSN(i) <= max_lsn)
+	       output_rows_num < srv_max_changed_pages))
 	{
 		if (!LOG_BITMAP_ITERATOR_PAGE_CHANGED(i))
 			continue;
diff --git a/storage/xtradb/include/btr0cur.h b/storage/xtradb/include/btr0cur.h
index 25f987c..97dd0ba 100644
--- a/storage/xtradb/include/btr0cur.h
+++ b/storage/xtradb/include/btr0cur.h
@@ -261,7 +261,7 @@ btr_cur_update_alloc_zip(
 				FALSE=update-in-place */
 	mtr_t*		mtr,	/*!< in: mini-transaction */
 	trx_t*		trx)	/*!< in: NULL or transaction */
-    __attribute__((nonnull (1, 2, 3, 6), warn_unused_result));
+	__attribute__((warn_unused_result));
 /*************************************************************//**
 Updates a record when the update causes no size changes in its fields.
 @return	DB_SUCCESS or error number */
@@ -345,8 +345,7 @@ btr_cur_del_mark_set_clust_rec(
 	const ulint*	offsets,/*!< in: rec_get_offsets(rec) */
 	ibool		val,	/*!< in: value to set */
 	que_thr_t*	thr,	/*!< in: query thread */
-	mtr_t*		mtr)	/*!< in: mtr */
-	__attribute__((nonnull));
+	mtr_t*		mtr);	/*!< in: mtr */
 /***********************************************************//**
 Sets a secondary index record delete mark to TRUE or FALSE.
 @return	DB_SUCCESS, DB_LOCK_WAIT, or error number */
@@ -499,8 +498,7 @@ btr_cur_disown_inherited_fields(
 	dict_index_t*	index,	/*!< in: index of the page */
 	const ulint*	offsets,/*!< in: array returned by rec_get_offsets() */
 	const upd_t*	update,	/*!< in: update vector */
-	mtr_t*		mtr)	/*!< in/out: mini-transaction */
-	__attribute__((nonnull(2,3,4,5,6)));
+	mtr_t*		mtr);	/*!< in/out: mini-transaction */
 
 /** Operation code for btr_store_big_rec_extern_fields(). */
 enum blob_op {
@@ -545,7 +543,7 @@ btr_store_big_rec_extern_fields(
 	mtr_t*		btr_mtr,	/*!< in: mtr containing the
 					latches to the clustered index */
 	enum blob_op	op)		/*! in: operation code */
-	__attribute__((nonnull, warn_unused_result));
+	__attribute__((warn_unused_result));
 
 /*******************************************************************//**
 Frees the space in an externally stored field to the file space
@@ -621,8 +619,7 @@ btr_push_update_extern_fields(
 /*==========================*/
 	dtuple_t*	tuple,	/*!< in/out: data tuple */
 	const upd_t*	update,	/*!< in: update vector */
-	mem_heap_t*	heap)	/*!< in: memory heap */
-	__attribute__((nonnull));
+	mem_heap_t*	heap);	/*!< in: memory heap */
 /***********************************************************//**
 Sets a secondary index record's delete mark to the given value. This
 function is only used by the insert buffer merge mechanism. */
diff --git a/storage/xtradb/include/btr0sea.h b/storage/xtradb/include/btr0sea.h
index 39c0a66..bdffe40 100644
--- a/storage/xtradb/include/btr0sea.h
+++ b/storage/xtradb/include/btr0sea.h
@@ -205,14 +205,14 @@ hash_table_t*
 btr_search_get_hash_table(
 /*======================*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull,pure,warn_unused_result));
+	__attribute__((warn_unused_result));
 
 UNIV_INLINE
 rw_lock_t*
 btr_search_get_latch(
 /*=================*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull,pure,warn_unused_result));
+	__attribute__((warn_unused_result));
 
 /*********************************************************************//**
 Returns the AHI partition number corresponding to a given index ID. */
@@ -229,8 +229,7 @@ UNIV_INLINE
 void
 btr_search_index_init(
 /*===============*/
-	dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull));
+	dict_index_t*	index);	/*!< in: index */
 
 UNIV_INLINE
 void
diff --git a/storage/xtradb/include/buf0buddy.ic b/storage/xtradb/include/buf0buddy.ic
index d705388..2b5e62e 100644
--- a/storage/xtradb/include/buf0buddy.ic
+++ b/storage/xtradb/include/buf0buddy.ic
@@ -51,7 +51,7 @@ buf_buddy_alloc_low(
 					buf_pool->mutex was temporarily
 					released */
 	ibool		have_page_hash_mutex)
-	__attribute__((malloc, nonnull));
+	__attribute__((malloc));
 
 /**********************************************************************//**
 Deallocate a block. */
diff --git a/storage/xtradb/include/buf0buf.h b/storage/xtradb/include/buf0buf.h
index 23692c9..d584062 100644
--- a/storage/xtradb/include/buf0buf.h
+++ b/storage/xtradb/include/buf0buf.h
@@ -274,8 +274,7 @@ buf_relocate(
 	buf_page_t*	bpage,	/*!< in/out: control block being relocated;
 				buf_page_get_state(bpage) must be
 				BUF_BLOCK_ZIP_DIRTY or BUF_BLOCK_ZIP_PAGE */
-	buf_page_t*	dpage)	/*!< in/out: destination control block */
-	__attribute__((nonnull));
+	buf_page_t*	dpage);	/*!< in/out: destination control block */
 /*********************************************************************//**
 Gets the current size of buffer buf_pool in bytes.
 @return	size in bytes */
diff --git a/storage/xtradb/include/dict0dict.h b/storage/xtradb/include/dict0dict.h
index 3d05f40..d8c8e39 100644
--- a/storage/xtradb/include/dict0dict.h
+++ b/storage/xtradb/include/dict0dict.h
@@ -605,7 +605,7 @@ ulint
 dict_index_is_clust(
 /*================*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 /********************************************************************//**
 Check whether the index is unique.
 @return	nonzero for unique index, zero for other indexes */
@@ -614,7 +614,7 @@ ulint
 dict_index_is_unique(
 /*=================*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 /********************************************************************//**
 Check whether the index is the insert buffer tree.
 @return	nonzero for insert buffer, zero for other indexes */
@@ -623,7 +623,7 @@ ulint
 dict_index_is_ibuf(
 /*===============*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 /********************************************************************//**
 Check whether the index is a secondary index or the insert buffer tree.
 @return	nonzero for insert buffer, zero for other indexes */
@@ -632,7 +632,7 @@ ulint
 dict_index_is_sec_or_ibuf(
 /*======================*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 
 /********************************************************************//**
 Gets the number of user-defined columns in a table in the dictionary
@@ -643,7 +643,7 @@ ulint
 dict_table_get_n_user_cols(
 /*=======================*/
 	const dict_table_t*	table)	/*!< in: table */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 /********************************************************************//**
 Gets the number of system columns in a table in the dictionary cache.
 @return	number of system (e.g., ROW_ID) columns of a table */
@@ -662,7 +662,7 @@ ulint
 dict_table_get_n_cols(
 /*==================*/
 	const dict_table_t*	table)	/*!< in: table */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 #ifdef UNIV_DEBUG
 /********************************************************************//**
 Gets the nth column of a table.
@@ -1321,7 +1321,7 @@ ulint
 dict_index_is_corrupted(
 /*====================*/
 	const dict_index_t*	index)	/*!< in: index */
-	__attribute__((nonnull, pure, warn_unused_result));
+	__attribute__((warn_unused_result));
 
 #endif /* !UNIV_HOTBACKUP */
 /**********************************************************************//**
@@ -1332,7 +1332,7 @@ void
 dict_set_corrupted(
 /*===============*/
 	dict_index_t*	index)		/*!< in/out: index */
-	UNIV_COLD __attribute__((nonnull));
+	UNIV_COLD;
 
 /**********************************************************************//**
 Flags an index corrupted in the data dictionary cache only. This
diff --git a/storage/xtradb/include/dyn0dyn.h b/storage/xtradb/include/dyn0dyn.h
index 62ed862..e351710 100644
--- a/storage/xtradb/include/dyn0dyn.h
+++ b/storage/xtradb/include/dyn0dyn.h
@@ -47,9 +47,8 @@ UNIV_INLINE
 dyn_array_t*
 dyn_array_create(
 /*=============*/
-	dyn_array_t*	arr)	/*!< in/out memory buffer of
+	dyn_array_t*	arr);	/*!< in/out memory buffer of
 				size sizeof(dyn_array_t) */
-	__attribute__((nonnull));
 /************************************************************//**
 Frees a dynamic array. */
 UNIV_INLINE
@@ -70,7 +69,7 @@ dyn_array_open(
 	dyn_array_t*	arr,	/*!< in: dynamic array */
 	ulint		size)	/*!< in: size in bytes of the buffer; MUST be
 				smaller than DYN_ARRAY_DATA_SIZE! */
-	__attribute__((nonnull, warn_unused_result));
+	__attribute__((warn_unused_result));
 /*********************************************************************//**
 Closes the buffer returned by dyn_array_open. */
 UNIV_INLINE
@@ -78,8 +77,7 @@ void
 dyn_array_close(
 /*============*/
 	dyn_array_t*	arr,	/*!< in: dynamic array */
-	const byte*	ptr)	/*!< in: end of used space */
-	__attribute__((nonnull));
+	const byte*	ptr);	/*!< in: end of used space */
 /*********************************************************************//**
 Makes room on top of a dyn array and returns a pointer to
 the added element. The caller must copy the element to
@@ -91,7 +89,7 @@ dyn_array_push(
 /*===========*/
 	dyn_array_t*	arr,	/*!< in/out: dynamic array */
 	ulint		size)	/*!< in: size in bytes of the element */
-	__attribute__((nonnull, warn_unused_result));
+	__attribute__((warn_unused_result));
 /************************************************************//**
 Returns pointer to an element in dyn array.
 @return	pointer to element */
@@ -102,7 +100,7 @@ dyn_array_get_element(
 	const dyn_array_t*	arr,	/*!< in: dyn array */
 	ulint			pos)	/*!< in: position of element
 					in bytes from array start */
-	__attribute__((nonnull, warn_unused_result));
+	__attribute__((warn_unused_result));
 /************************************************************//**
 Returns the size of stored data in a dyn array.
 @return	data size in bytes */
@@ -111,7 +109,7 @@ ulint
 dyn_array_get_data_size(
 /*====================*/
 	const dyn_array_t*	arr)	/*!< in: dyn array */
-	__attribute__((nonnull, warn_unused_result, pure));
+	__attribute__((warn_unused_result));
 /************************************************************//**
 Gets the first block in a dyn array.
 @param arr	dyn array
@@ -145,7 +143,7 @@ ulint
 dyn_block_get_used(
 /*===============*/
 	const dyn_block_t*	block)	/*!< in: dyn array block */
-	__attribute__((nonnull, warn_unused_result, pure));
+	__attribute__((warn_unused_result));
 /********************************************************************//**
 Gets pointer to the start of data in a dyn array block.
 @return	pointer to data */
@@ -154,7 +152,7 @@ byte*
 dyn_block_get_data(
 /*===============*/
 	const dyn_block_t*	block)	/*!< in: dyn array block */
-	__attribute__((nonnull, warn_unused_result, pure));
+	__attribute__((warn_unused_result));
 /********************************************************//**
 Pushes n bytes to a dyn array. */
 UNIV_INLINE
diff --git a/storage/xtradb/include/dyn0dyn.ic b/storage/xtradb/include/dyn0dyn.ic
index 2565a24..137ad2b 100644
--- a/storage/xtradb/include/dyn0dyn.ic
+++ b/storage/xtradb/include/dyn0dyn.ic
@@ -36,7 +36,7 @@ dyn_block_t*
 dyn_array_add_block(
 /*================*/
 	dyn_array_t*	arr)	/*!< in/out: dyn array */
-	__attribute__((nonnull, warn_unused_result));
+	__attribute__((warn_unused_result));
 
 /********************************************************************//**
 Gets the number of used bytes in a dyn array block.
diff --git a/storage/xtradb/include/log0online.h b/storage/xtradb/include/log0online.h
index 02d7500..2462263 100644
--- a/storage/xtradb/include/log0online.h
+++ b/storage/xtradb/include/log0online.h
@@ -37,19 +37,25 @@ log_online_bitmap_file_range_t;
 /** An iterator over changed page info */
 typedef struct log_bitmap_iterator_struct log_bitmap_iterator_t;
 
-/*********************************************************************//**
-Initializes the online log following subsytem. */
+/** Initialize the constant part of the log tracking subsystem */
+UNIV_INTERN
+void
+log_online_init(void);
+
+/** Initialize the dynamic part of the log tracking subsystem */
 UNIV_INTERN
 void
 log_online_read_init(void);
-/*=======================*/
 
-/*********************************************************************//**
-Shuts down the online log following subsystem. */
+/** Shut down the dynamic part of the log tracking subsystem */
 UNIV_INTERN
 void
 log_online_read_shutdown(void);
-/*===========================*/
+
+/** Shut down the constant part of the log tracking subsystem */
+UNIV_INTERN
+void
+log_online_shutdown(void);
 
 /*********************************************************************//**
 Reads and parses the redo log up to last checkpoint LSN to build the changed
@@ -159,6 +165,8 @@ struct log_online_bitmap_file_range_struct {
 /** Struct for an iterator through all bits of changed pages bitmap blocks */
 struct log_bitmap_iterator_struct
 {
+	ib_uint64_t			max_lsn;	/*!< End LSN of the
+							range */
 	ibool				failed;		/*!< Has the iteration
 							stopped prematurely */
 	log_online_bitmap_file_range_t	in_files;	/*!< The bitmap files
diff --git a/storage/xtradb/include/mach0data.h b/storage/xtradb/include/mach0data.h
index 81c0866..d9a4a91 100644
--- a/storage/xtradb/include/mach0data.h
+++ b/storage/xtradb/include/mach0data.h
@@ -51,7 +51,7 @@ ulint
 mach_read_from_1(
 /*=============*/
 	const byte*	b)	/*!< in: pointer to byte */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*******************************************************//**
 The following function is used to store data in two consecutive
 bytes. We store the most significant byte to the lower address. */
@@ -112,7 +112,7 @@ ulint
 mach_read_from_3(
 /*=============*/
 	const byte*	b)	/*!< in: pointer to 3 bytes */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*******************************************************//**
 The following function is used to store data in four consecutive
 bytes. We store the most significant byte to the lowest address. */
@@ -131,7 +131,7 @@ ulint
 mach_read_from_4(
 /*=============*/
 	const byte*	b)	/*!< in: pointer to four bytes */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*********************************************************//**
 Writes a ulint in a compressed form (1..5 bytes).
 @return	stored size in bytes */
@@ -158,7 +158,7 @@ ulint
 mach_read_compressed(
 /*=================*/
 	const byte*	b)	/*!< in: pointer to memory from where to read */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*******************************************************//**
 The following function is used to store data in 6 consecutive
 bytes. We store the most significant byte to the lowest address. */
@@ -177,7 +177,7 @@ ib_uint64_t
 mach_read_from_6(
 /*=============*/
 	const byte*	b)	/*!< in: pointer to 6 bytes */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*******************************************************//**
 The following function is used to store data in 7 consecutive
 bytes. We store the most significant byte to the lowest address. */
@@ -196,7 +196,7 @@ ib_uint64_t
 mach_read_from_7(
 /*=============*/
 	const byte*	b)	/*!< in: pointer to 7 bytes */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*******************************************************//**
 The following function is used to store data in 8 consecutive
 bytes. We store the most significant byte to the lowest address. */
@@ -241,7 +241,7 @@ ib_uint64_t
 mach_ull_read_compressed(
 /*=====================*/
 	const byte*	b)	/*!< in: pointer to memory from where to read */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*********************************************************//**
 Writes a 64-bit integer in a compressed form (1..11 bytes).
 @return	size in bytes */
@@ -268,7 +268,7 @@ ib_uint64_t
 mach_ull_read_much_compressed(
 /*==========================*/
 	const byte*	b)	/*!< in: pointer to memory from where to read */
-	__attribute__((nonnull, pure));
+	__attribute__((warn_unused_result));
 /*********************************************************//**
 Reads a ulint in a compressed form if the log record fully contains it.
 @return	pointer to end of the stored field, NULL if not complete */
diff --git a/storage/xtradb/include/mtr0mtr.h b/storage/xtradb/include/mtr0mtr.h
index 031fccd..bb60ffb 100644
--- a/storage/xtradb/include/mtr0mtr.h
+++ b/storage/xtradb/include/mtr0mtr.h
@@ -205,8 +205,7 @@ UNIV_INTERN
 void
 mtr_commit(
 /*=======*/
-	mtr_t*	mtr)	/*!< in/out: mini-transaction */
-	__attribute__((nonnull));
+	mtr_t*	mtr);	/*!< in/out: mini-transaction */
 /**********************************************************//**
 Sets and returns a savepoint in mtr.
 @return	savepoint */
@@ -311,7 +310,7 @@ mtr_memo_contains(
 	mtr_t*		mtr,	/*!< in: mtr */
 	const void*	object,	/*!< in: object to search */
 	ulint		type)	/*!< in: type of object */
-	__attribute__((warn_unused_result, nonnull));
+	__attribute__((warn_unused_result));
 
 /**********************************************************//**
 Checks if memo contains the given page.
diff --git a/storage/xtradb/include/os0file.h b/storage/xtradb/include/os0file.h
index 71da5ea..618d6f5 100644
--- a/storage/xtradb/include/os0file.h
+++ b/storage/xtradb/include/os0file.h
@@ -515,9 +515,10 @@ os_file_create_simple_no_error_handling_func(
 				it would be enabled otherwise). */
 	ibool*		success);/*!< out: TRUE if succeed, FALSE if error */
 /****************************************************************//**
-Tries to disable OS caching on an opened file descriptor. */
+Tries to disable OS caching on an opened file descriptor.
+ at return TRUE if operation is success and FALSE otherwise */
 UNIV_INTERN
-void
+ibool
 os_file_set_nocache(
 /*================*/
 	int		fd,		/*!< in: file descriptor to alter */
diff --git a/storage/xtradb/include/page0page.h b/storage/xtradb/include/page0page.h
index ba1ee7a..f7b9f9f 100644
--- a/storage/xtradb/include/page0page.h
+++ b/storage/xtradb/include/page0page.h
@@ -231,8 +231,7 @@ ulint
 page_header_get_offs(
 /*=================*/
 	const page_t*	page,	/*!< in: page */
-	ulint		field)	/*!< in: PAGE_FREE, ... */
-	__attribute__((nonnull, pure));
+	ulint		field);	/*!< in: PAGE_FREE, ... */
 
 /*************************************************************//**
 Returns the pointer stored in the given header field, or NULL. */
@@ -792,8 +791,7 @@ page_copy_rec_list_end(
 	buf_block_t*	block,		/*!< in: index page containing rec */
 	rec_t*		rec,		/*!< in: record on page */
 	dict_index_t*	index,		/*!< in: record descriptor */
-	mtr_t*		mtr)		/*!< in: mtr */
-	__attribute__((nonnull));
+	mtr_t*		mtr);		/*!< in: mtr */
 /*************************************************************//**
 Copies records from page to new_page, up to the given record, NOT
 including that record. Infimum and supremum records are not copied.
@@ -808,8 +806,7 @@ page_copy_rec_list_start(
 	buf_block_t*	block,		/*!< in: index page containing rec */
 	rec_t*		rec,		/*!< in: record on page */
 	dict_index_t*	index,		/*!< in: record descriptor */
-	mtr_t*		mtr)		/*!< in: mtr */
-	__attribute__((nonnull));
+	mtr_t*		mtr);		/*!< in: mtr */
 /*************************************************************//**
 Deletes records from a page from a given record onward, including that record.
 The infimum and supremum records are not deleted. */
@@ -852,8 +849,7 @@ page_move_rec_list_end(
 	buf_block_t*	block,		/*!< in: index page from where to move */
 	rec_t*		split_rec,	/*!< in: first record to move */
 	dict_index_t*	index,		/*!< in: record descriptor */
-	mtr_t*		mtr)		/*!< in: mtr */
-	__attribute__((nonnull(1, 2, 4, 5)));
+	mtr_t*		mtr);		/*!< in: mtr */
 /*************************************************************//**
 Moves record list start to another page. Moved records do not include
 split_rec.
@@ -877,8 +873,7 @@ page_dir_split_slot(
 	page_t*		page,	/*!< in: index page */
 	page_zip_des_t*	page_zip,/*!< in/out: compressed page whose
 				uncompressed part will be written, or NULL */
-	ulint		slot_no)/*!< in: the directory slot */
-	__attribute__((nonnull(1)));
+	ulint		slot_no);/*!< in: the directory slot */
 /*************************************************************//**
 Tries to balance the given directory slot with too few records
 with the upper neighbor, so that there are at least the minimum number
@@ -890,8 +885,7 @@ page_dir_balance_slot(
 /*==================*/
 	page_t*		page,	/*!< in/out: index page */
 	page_zip_des_t*	page_zip,/*!< in/out: compressed page, or NULL */
-	ulint		slot_no)/*!< in: the directory slot */
-	__attribute__((nonnull(1)));
+	ulint		slot_no);/*!< in: the directory slot */
 /**********************************************************//**
 Parses a log record of a record list end or start deletion.
 @return	end of log record or NULL */
diff --git a/storage/xtradb/include/page0zip.h b/storage/xtradb/include/page0zip.h
index a33407e..abd62ab 100644
--- a/storage/xtradb/include/page0zip.h
+++ b/storage/xtradb/include/page0zip.h
@@ -402,8 +402,7 @@ page_zip_reorganize(
 				out: data, n_blobs,
 				m_start, m_end, m_nonempty */
 	dict_index_t*	index,	/*!< in: index of the B-tree node */
-	mtr_t*		mtr)	/*!< in: mini-transaction */
-	__attribute__((nonnull));
+	mtr_t*		mtr);	/*!< in: mini-transaction */
 #ifndef UNIV_HOTBACKUP
 /**********************************************************************//**
 Copy the records of a page byte for byte.  Do not copy the page header
@@ -436,7 +435,7 @@ page_zip_parse_compress(
 	byte*		end_ptr,/*!< in: buffer end */
 	page_t*		page,	/*!< out: uncompressed page */
 	page_zip_des_t*	page_zip)/*!< out: compressed page */
-	__attribute__((nonnull(1,2)));
+	__attribute__((warn_unused_result));
 
 /**********************************************************************//**
 Calculate the compressed page checksum.
diff --git a/storage/xtradb/include/rem0rec.h b/storage/xtradb/include/rem0rec.h
index 9dd96f6..18e89ea 100644
--- a/storage/xtradb/include/rem0rec.h
+++ b/storage/xtradb/include/rem0rec.h
@@ -626,8 +626,7 @@ rec_copy(
 /*=====*/
 	void*		buf,	/*!< in: buffer */
 	const rec_t*	rec,	/*!< in: physical record */
-	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
-	__attribute__((nonnull));
+	const ulint*	offsets);/*!< in: array returned by rec_get_offsets() */
 #ifndef UNIV_HOTBACKUP
 /**********************************************************//**
 Determines the size of a data tuple prefix in a temporary file.
diff --git a/storage/xtradb/include/row0upd.h b/storage/xtradb/include/row0upd.h
index 16c069d..e23a713 100644
--- a/storage/xtradb/include/row0upd.h
+++ b/storage/xtradb/include/row0upd.h
@@ -232,9 +232,8 @@ row_upd_index_replace_new_col_vals_index_pos(
 				/*!< in: if TRUE, limit the replacement to
 				ordering fields of index; note that this
 				does not work for non-clustered indexes. */
-	mem_heap_t*	heap)	/*!< in: memory heap for allocating and
+	mem_heap_t*	heap);	/*!< in: memory heap for allocating and
 				copying the new values */
-	__attribute__((nonnull));
 /***********************************************************//**
 Replaces the new column values stored in the update vector to the index entry
 given. */
@@ -295,7 +294,7 @@ row_upd_changes_ord_field_binary_func(
 				compile time */
 	const row_ext_t*ext)	/*!< NULL, or prefixes of the externally
 				stored columns in the old row */
-	__attribute__((nonnull(1,2), warn_unused_result));
+	__attribute__((warn_unused_result));
 #ifdef UNIV_DEBUG
 # define row_upd_changes_ord_field_binary(index,update,thr,row,ext)	\
 	row_upd_changes_ord_field_binary_func(index,update,thr,row,ext)
diff --git a/storage/xtradb/include/trx0trx.h b/storage/xtradb/include/trx0trx.h
index 5da06c8..fcfcb14 100644
--- a/storage/xtradb/include/trx0trx.h
+++ b/storage/xtradb/include/trx0trx.h
@@ -90,7 +90,7 @@ trx_t*
 trx_create(
 /*=======*/
 	sess_t*	sess)	/*!< in: session */
-	__attribute__((nonnull));
+	__attribute__((warn_unused_result));
 /********************************************************************//**
 Creates a transaction object for MySQL.
 @return	own: transaction object */
@@ -119,7 +119,7 @@ void
 trx_free_prepared(
 /*==============*/
 	trx_t*	trx)	/*!< in, own: trx object */
-	UNIV_COLD __attribute__((nonnull));
+	UNIV_COLD;
 /********************************************************************//**
 Frees a transaction object for MySQL. */
 UNIV_INTERN
diff --git a/storage/xtradb/include/univ.i b/storage/xtradb/include/univ.i
index 7c5fdff..3ecfe8d 100644
--- a/storage/xtradb/include/univ.i
+++ b/storage/xtradb/include/univ.i
@@ -64,10 +64,10 @@ component, i.e. we show M.N.P as M.N */
 	(INNODB_VERSION_MAJOR << 8 | INNODB_VERSION_MINOR)
 
 #ifndef PERCONA_INNODB_VERSION
-#define PERCONA_INNODB_VERSION 38.3
+#define PERCONA_INNODB_VERSION 38.8
 #endif
 
-#define INNODB_VERSION_STR	"5.5.52-MariaDB-" IB_TO_STR(PERCONA_INNODB_VERSION)
+#define INNODB_VERSION_STR	"5.5.55-MariaDB-" IB_TO_STR(PERCONA_INNODB_VERSION)
 
 #define REFMAN "http://dev.mysql.com/doc/refman/"	\
 	IB_TO_STR(MYSQL_MAJOR_VERSION) "."		\
diff --git a/storage/xtradb/log/log0online.c b/storage/xtradb/log/log0online.c
index fa2c8b8..45739df 100644
--- a/storage/xtradb/log/log0online.c
+++ b/storage/xtradb/log/log0online.c
@@ -84,12 +84,14 @@ struct log_bitmap_struct {
 					both the correct type and the tree does
 					not mind its overwrite during
 					rbt_next() tree traversal. */
-	mutex_t		mutex;		/*!< mutex protecting all the fields.*/
 };
 
 /* The log parsing and bitmap output struct instance */
 static struct log_bitmap_struct* log_bmp_sys;
 
+/* Mutex protecting log_bmp_sys */
+static mutex_t	log_bmp_sys_mutex;
+
 /** File name stem for bitmap files. */
 static const char* bmp_file_name_stem = "ib_modified_log_";
 
@@ -188,7 +190,7 @@ log_online_set_page_bit(
 	byte		search_page[MODIFIED_PAGE_BLOCK_SIZE];
 	byte		*page_ptr;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	ut_a(space != ULINT_UNDEFINED);
 	ut_a(page_no != ULINT_UNDEFINED);
@@ -339,7 +341,7 @@ log_online_read_last_tracked_lsn(void)
 	ib_uint64_t	result;
 	ib_uint64_t	read_offset	= log_bmp_sys->out.offset;
 
-	while (!checksum_ok && read_offset > 0 && !is_last_page)
+	while ((!checksum_ok || !is_last_page) && read_offset > 0)
 	{
 		read_offset -= MODIFIED_PAGE_BLOCK_SIZE;
 		log_bmp_sys->out.offset = read_offset;
@@ -609,12 +611,19 @@ log_online_is_bitmap_file(
 		&& (!strcmp(stem, bmp_file_name_stem)));
 }
 
-/*********************************************************************//**
-Initialize the online log following subsytem. */
+/** Initialize the constant part of the log tracking subsystem */
+UNIV_INTERN
+void
+log_online_init(void)
+{
+	mutex_create(log_bmp_sys_mutex_key, &log_bmp_sys_mutex,
+		     SYNC_LOG_ONLINE);
+}
+
+/** Initialize the dynamic part of the log tracking subsystem */
 UNIV_INTERN
 void
 log_online_read_init(void)
-/*======================*/
 {
 	ibool		success;
 	ib_uint64_t	tracking_start_lsn
@@ -635,9 +644,6 @@ log_online_read_init(void)
 	log_bmp_sys->read_buf = ut_align(log_bmp_sys->read_buf_ptr,
 					 OS_FILE_LOG_BLOCK_SIZE);
 
-	mutex_create(log_bmp_sys_mutex_key, &log_bmp_sys->mutex,
-		     SYNC_LOG_ONLINE);
-
 	/* Initialize bitmap file directory from srv_data_home and add a path
 	separator if needed.  */
 	srv_data_home_len = strlen(srv_data_home);
@@ -720,6 +726,7 @@ log_online_read_init(void)
 		ulint		size_high;
 		ib_uint64_t	last_tracked_lsn;
 		ib_uint64_t	file_start_lsn;
+		ibool		need_rotate;
 
 		success = os_file_get_size(log_bmp_sys->out.file, &size_low,
 					   &size_high);
@@ -742,7 +749,11 @@ log_online_read_init(void)
 		}
 
 		last_tracked_lsn = log_online_read_last_tracked_lsn();
+		/* Do not rotate if we truncated the file to zero length - we
+		can just start writing there */
+		need_rotate = (last_tracked_lsn != 0);
 		if (!last_tracked_lsn) {
+
 			last_tracked_lsn = last_file_start_lsn;
 		}
 
@@ -754,7 +765,10 @@ log_online_read_init(void)
 		} else {
 			file_start_lsn = tracking_start_lsn;
 		}
-		if (!log_online_rotate_bitmap_file(file_start_lsn)) {
+
+		if (need_rotate
+		    && !log_online_rotate_bitmap_file(file_start_lsn)) {
+
 			exit(1);
 		}
 
@@ -782,14 +796,18 @@ log_online_read_init(void)
 	log_set_tracked_lsn(tracking_start_lsn);
 }
 
-/*********************************************************************//**
-Shut down the online log following subsystem. */
+/** Shut down the dynamic part of the log tracking subsystem */
 UNIV_INTERN
 void
 log_online_read_shutdown(void)
-/*==========================*/
 {
-	ib_rbt_node_t *free_list_node = log_bmp_sys->page_free_list;
+	ib_rbt_node_t *free_list_node;
+
+	mutex_enter(&log_bmp_sys_mutex);
+
+	srv_track_changed_pages = FALSE;
+
+	free_list_node = log_bmp_sys->page_free_list;
 
 	if (log_bmp_sys->out.file != os_file_invalid) {
 		os_file_close(log_bmp_sys->out.file);
@@ -804,10 +822,21 @@ log_online_read_shutdown(void)
 		free_list_node = next;
 	}
 
-	mutex_free(&log_bmp_sys->mutex);
-
 	ut_free(log_bmp_sys->read_buf_ptr);
 	ut_free(log_bmp_sys);
+	log_bmp_sys = NULL;
+
+	srv_redo_log_thread_started = FALSE;
+
+	mutex_exit(&log_bmp_sys_mutex);
+}
+
+/** Shut down the constant part of the log tracking subsystem */
+UNIV_INTERN
+void
+log_online_shutdown(void)
+{
+	mutex_free(&log_bmp_sys_mutex);
 }
 
 /*********************************************************************//**
@@ -858,7 +887,7 @@ log_online_parse_redo_log(void)
 
 	ulint len = 0;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	while (ptr != end
 	       && log_bmp_sys->next_parse_lsn < log_bmp_sys->end_lsn) {
@@ -950,7 +979,7 @@ log_online_add_to_parse_buf(
 	ulint actual_data_len = (end_offset >= start_offset)
 		? end_offset - start_offset : 0;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	ut_memcpy(log_bmp_sys->parse_buf_end, log_block + start_offset,
 		  actual_data_len);
@@ -976,7 +1005,7 @@ log_online_parse_redo_log_block(
 {
 	ulint block_data_len;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	block_data_len = log_block_get_data_len(log_block);
 
@@ -1004,7 +1033,7 @@ log_online_follow_log_seg(
 	byte* log_block_end = log_bmp_sys->read_buf
 		+ (block_end_lsn - block_start_lsn);
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	mutex_enter(&log_sys->mutex);
 	log_group_read_log_seg(LOG_RECOVER, log_bmp_sys->read_buf,
@@ -1068,7 +1097,7 @@ log_online_follow_log_group(
 	ib_uint64_t block_start_lsn = contiguous_lsn;
 	ib_uint64_t block_end_lsn;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	log_bmp_sys->next_parse_lsn = log_bmp_sys->start_lsn;
 	log_bmp_sys->parse_buf_end = log_bmp_sys->parse_buf;
@@ -1108,10 +1137,35 @@ log_online_write_bitmap_page(
 {
 	ibool	success;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	/* Simulate a write error */
-	DBUG_EXECUTE_IF("bitmap_page_write_error", return FALSE;);
+	DBUG_EXECUTE_IF("bitmap_page_write_error",
+			{
+				ulint space_id
+					= mach_read_from_4(block
+					+ MODIFIED_PAGE_SPACE_ID);
+				if (space_id > 0) {
+					fprintf(stderr, "InnoDB: Error: "
+						"simulating bitmap write "
+						"error in "
+						"log_online_write_bitmap_page "
+						"for space ID %lu\n",
+						space_id);
+					return FALSE;
+				}
+			});
+
+	/* A crash injection site that ensures last checkpoint LSN > last
+	tracked LSN, so that LSN tracking for this interval is tested. */
+	DBUG_EXECUTE_IF("crash_before_bitmap_write",
+			{
+				ulint space_id
+					= mach_read_from_4(block
+					+ MODIFIED_PAGE_SPACE_ID);
+				if (space_id > 0)
+					DBUG_SUICIDE();
+			});
 
 	success = os_file_write(log_bmp_sys->out.name, log_bmp_sys->out.file,
 				block,
@@ -1161,7 +1215,7 @@ log_online_write_bitmap(void)
 	const ib_rbt_node_t	*last_bmp_tree_node;
 	ibool			success = TRUE;
 
-	ut_ad(mutex_own(&log_bmp_sys->mutex));
+	ut_ad(mutex_own(&log_bmp_sys_mutex));
 
 	if (log_bmp_sys->out.offset >= srv_max_bitmap_file_size) {
 		if (!log_online_rotate_bitmap_file(log_bmp_sys->start_lsn)) {
@@ -1204,7 +1258,11 @@ log_online_write_bitmap(void)
 			rbt_next(log_bmp_sys->modified_pages, bmp_tree_node);
 
 		DBUG_EXECUTE_IF("bitmap_page_2_write_error",
-				DBUG_SET("+d,bitmap_page_write_error"););
+				if (bmp_tree_node)
+				{
+					DBUG_SET("+d,bitmap_page_write_error");
+					DBUG_SET("-d,bitmap_page_2_write_error");
+				});
 	}
 
 	rbt_reset(log_bmp_sys->modified_pages);
@@ -1225,11 +1283,16 @@ log_online_follow_redo_log(void)
 	log_group_t*	group;
 	ibool		result;
 
-	mutex_enter(&log_bmp_sys->mutex);
+	if (!srv_track_changed_pages)
+		return TRUE;
+
+	DEBUG_SYNC_C("log_online_follow_redo_log");
+
+	mutex_enter(&log_bmp_sys_mutex);
 
 	if (!srv_track_changed_pages) {
-		mutex_exit(&log_bmp_sys->mutex);
-		return FALSE;
+		mutex_exit(&log_bmp_sys_mutex);
+		return TRUE;
 	}
 
 	/* Grab the LSN of the last checkpoint, we will parse up to it */
@@ -1238,7 +1301,7 @@ log_online_follow_redo_log(void)
 	mutex_exit(&(log_sys->mutex));
 
 	if (log_bmp_sys->end_lsn == log_bmp_sys->start_lsn) {
-		mutex_exit(&log_bmp_sys->mutex);
+		mutex_exit(&log_bmp_sys_mutex);
 		return TRUE;
 	}
 
@@ -1253,15 +1316,11 @@ log_online_follow_redo_log(void)
 		group = UT_LIST_GET_NEXT(log_groups, group);
 	}
 
-	/* A crash injection site that ensures last checkpoint LSN > last
-	tracked LSN, so that LSN tracking for this interval is tested. */
-	DBUG_EXECUTE_IF("crash_before_bitmap_write", DBUG_SUICIDE(););
-
 	result = log_online_write_bitmap();
 	log_bmp_sys->start_lsn = log_bmp_sys->end_lsn;
 	log_set_tracked_lsn(log_bmp_sys->start_lsn);
 
-	mutex_exit(&log_bmp_sys->mutex);
+	mutex_exit(&log_bmp_sys_mutex);
 	return result;
 }
 
@@ -1608,6 +1667,8 @@ log_online_bitmap_iterator_init(
 {
 	ut_a(i);
 
+	i->max_lsn = max_lsn;
+
 	if (UNIV_UNLIKELY(min_lsn > max_lsn)) {
 
 		/* Empty range */
@@ -1716,6 +1777,9 @@ log_online_bitmap_iterator_next(
 		return TRUE;
 	}
 
+	if (i->end_lsn >= i->max_lsn && i->last_page_in_run)
+		return FALSE;
+
 	while (!checksum_ok)
 	{
 		while (i->in.size < MODIFIED_PAGE_BLOCK_SIZE
@@ -1808,6 +1872,7 @@ log_online_purge_changed_page_bitmaps(
 	log_online_bitmap_file_range_t	bitmap_files;
 	size_t				i;
 	ibool				result = FALSE;
+	ibool				log_bmp_sys_inited = FALSE;
 
 	if (lsn == 0) {
 		lsn = IB_ULONGLONG_MAX;
@@ -1816,13 +1881,18 @@ log_online_purge_changed_page_bitmaps(
 	if (srv_redo_log_thread_started) {
 		/* User requests might happen with both enabled and disabled
 		tracking */
-		mutex_enter(&log_bmp_sys->mutex);
+		log_bmp_sys_inited = TRUE;
+		mutex_enter(&log_bmp_sys_mutex);
+		if (!srv_redo_log_thread_started) {
+			log_bmp_sys_inited = FALSE;
+			mutex_exit(&log_bmp_sys_mutex);
+		}
 	}
 
 	if (!log_online_setup_bitmap_file_range(&bitmap_files, 0,
 						IB_ULONGLONG_MAX)) {
-		if (srv_redo_log_thread_started) {
-			mutex_exit(&log_bmp_sys->mutex);
+		if (log_bmp_sys_inited) {
+			mutex_exit(&log_bmp_sys_mutex);
 		}
 		return TRUE;
 	}
@@ -1858,7 +1928,7 @@ log_online_purge_changed_page_bitmaps(
 		}
 	}
 
-	if (srv_redo_log_thread_started) {
+	if (log_bmp_sys_inited) {
 		if (lsn > log_bmp_sys->end_lsn) {
 			ib_uint64_t	new_file_lsn;
 			if (lsn == IB_ULONGLONG_MAX) {
@@ -1874,7 +1944,7 @@ log_online_purge_changed_page_bitmaps(
 			}
 		}
 
-		mutex_exit(&log_bmp_sys->mutex);
+		mutex_exit(&log_bmp_sys_mutex);
 	}
 
 	free(bitmap_files.files);
diff --git a/storage/xtradb/mach/mach0data.c b/storage/xtradb/mach/mach0data.c
index 00378f0..9669516 100644
--- a/storage/xtradb/mach/mach0data.c
+++ b/storage/xtradb/mach/mach0data.c
@@ -1,6 +1,6 @@
 /*****************************************************************************
 
-Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -55,7 +55,6 @@ mach_parse_compressed(
 	if (flag < 0x80UL) {
 		*val = flag;
 		return(ptr + 1);
-
 	}
 
 	/* Workaround GCC bug
@@ -64,7 +63,11 @@ mach_parse_compressed(
 	function, causing and out-of-bounds read if we are reading a short
 	integer close to the end of buffer. */
 #if defined(__GNUC__) && (__GNUC__ >= 5) && !defined(__clang__)
-	asm volatile("": : :"memory");
+#define DEPLOY_FENCE
+#endif
+
+#ifdef DEPLOY_FENCE
+	__atomic_thread_fence(__ATOMIC_ACQUIRE);
 #endif
 
 	if (flag < 0xC0UL) {
@@ -75,8 +78,13 @@ mach_parse_compressed(
 		*val = mach_read_from_2(ptr) & 0x7FFFUL;
 
 		return(ptr + 2);
+	}
 
-	} else if (flag < 0xE0UL) {
+#ifdef DEPLOY_FENCE
+	__atomic_thread_fence(__ATOMIC_ACQUIRE);
+#endif
+
+	if (flag < 0xE0UL) {
 		if (end_ptr < ptr + 3) {
 			return(NULL);
 		}
@@ -84,7 +92,13 @@ mach_parse_compressed(
 		*val = mach_read_from_3(ptr) & 0x3FFFFFUL;
 
 		return(ptr + 3);
-	} else if (flag < 0xF0UL) {
+	}
+
+#ifdef DEPLOY_FENCE
+	__atomic_thread_fence(__ATOMIC_ACQUIRE);
+#endif
+
+	if (flag < 0xF0UL) {
 		if (end_ptr < ptr + 4) {
 			return(NULL);
 		}
@@ -92,14 +106,20 @@ mach_parse_compressed(
 		*val = mach_read_from_4(ptr) & 0x1FFFFFFFUL;
 
 		return(ptr + 4);
-	} else {
-		ut_ad(flag == 0xF0UL);
+	}
 
-		if (end_ptr < ptr + 5) {
-			return(NULL);
-		}
+#ifdef DEPLOY_FENCE
+	__atomic_thread_fence(__ATOMIC_ACQUIRE);
+#endif
 
-		*val = mach_read_from_4(ptr + 1);
-		return(ptr + 5);
+#undef DEPLOY_FENCE
+
+	ut_ad(flag == 0xF0UL);
+
+	if (end_ptr < ptr + 5) {
+		return(NULL);
 	}
+
+	*val = mach_read_from_4(ptr + 1);
+	return(ptr + 5);
 }
diff --git a/storage/xtradb/os/os0file.c b/storage/xtradb/os/os0file.c
index 922a5ad..e48f659 100644
--- a/storage/xtradb/os/os0file.c
+++ b/storage/xtradb/os/os0file.c
@@ -1050,50 +1050,15 @@ next_file:
 	char*		full_path;
 	int		ret;
 	struct stat	statinfo;
-#ifdef HAVE_READDIR_R
-	char		dirent_buf[sizeof(struct dirent)
-				   + _POSIX_PATH_MAX + 100];
-	/* In /mysys/my_lib.c, _POSIX_PATH_MAX + 1 is used as
-	the max file name len; but in most standards, the
-	length is NAME_MAX; we add 100 to be even safer */
-#endif
 
 next_file:
 
-#ifdef HAVE_READDIR_R
-	ret = readdir_r(dir, (struct dirent*)dirent_buf, &ent);
-
-	if (ret != 0
-#ifdef UNIV_AIX
-	    /* On AIX, only if we got non-NULL 'ent' (result) value and
-	    a non-zero 'ret' (return) value, it indicates a failed
-	    readdir_r() call. An NULL 'ent' with an non-zero 'ret'
-	    would indicate the "end of the directory" is reached. */
-	    && ent != NULL
-#endif
-	   ) {
-		fprintf(stderr,
-			"InnoDB: cannot read directory %s, error %lu\n",
-			dirname, (ulong)ret);
-
-		return(-1);
-	}
-
-	if (ent == NULL) {
-		/* End of directory */
-
-		return(1);
-	}
-
-	ut_a(strlen(ent->d_name) < _POSIX_PATH_MAX + 100 - 1);
-#else
 	ent = readdir(dir);
 
 	if (ent == NULL) {
 
 		return(1);
 	}
-#endif
 	ut_a(strlen(ent->d_name) < OS_FILE_MAX_PATH);
 
 	if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) {
@@ -1471,9 +1436,10 @@ os_file_create_simple_no_error_handling_func(
 }
 
 /****************************************************************//**
-Tries to disable OS caching on an opened file descriptor. */
+Tries to disable OS caching on an opened file descriptor.
+ at return TRUE if operation is success and FALSE otherwise */
 UNIV_INTERN
-void
+ibool
 os_file_set_nocache(
 /*================*/
 	int		fd		/*!< in: file descriptor to alter */
@@ -1494,6 +1460,7 @@ os_file_set_nocache(
 			"  InnoDB: Failed to set DIRECTIO_ON "
 			"on file %s: %s: %s, continuing anyway\n",
 			file_name, operation_name, strerror(errno_save));
+		return FALSE;
 	}
 #elif defined(O_DIRECT)
 	if (fcntl(fd, F_SETFL, O_DIRECT) == -1) {
@@ -1511,8 +1478,10 @@ os_file_set_nocache(
 				"'Invalid argument' on Linux on tmpfs, "
 				"see MySQL Bug#26662\n");
 		}
+		return FALSE;
 	}
 #endif
+	return TRUE;
 }
 
 
@@ -1809,7 +1778,11 @@ try_again:
 
 	/* ALL_O_DIRECT: O_DIRECT also for transaction log file */
 	if (srv_unix_file_flush_method == SRV_UNIX_ALL_O_DIRECT) {
-		os_file_set_nocache(file, name, mode_str);
+		/* Do fsync() on log files when setting O_DIRECT fails.
+		   See log_io_complete() */
+		if (!os_file_set_nocache(file, name, mode_str)) {
+			srv_unix_file_flush_method = SRV_UNIX_O_DIRECT;
+		}
 	}
 
 #ifdef USE_FILE_LOCK
diff --git a/storage/xtradb/rem/rem0rec.c b/storage/xtradb/rem/rem0rec.c
index ef020fe..a43085f 100644
--- a/storage/xtradb/rem/rem0rec.c
+++ b/storage/xtradb/rem/rem0rec.c
@@ -774,7 +774,7 @@ rec_get_nth_field_offs_old(
 /**********************************************************//**
 Determines the size of a data tuple prefix in ROW_FORMAT=COMPACT.
 @return	total size */
-UNIV_INLINE __attribute__((warn_unused_result, nonnull(1,2)))
+UNIV_INLINE __attribute__((warn_unused_result))
 ulint
 rec_get_converted_size_comp_prefix_low(
 /*===================================*/
diff --git a/storage/xtradb/row/row0merge.c b/storage/xtradb/row/row0merge.c
index 7409d5a..00a7dec 100644
--- a/storage/xtradb/row/row0merge.c
+++ b/storage/xtradb/row/row0merge.c
@@ -802,7 +802,7 @@ row_merge_write(
 /********************************************************************//**
 Read a merge record.
 @return	pointer to next record, or NULL on I/O error or end of list */
-static __attribute__((nonnull))
+static __attribute__((warn_unused_result))
 const byte*
 row_merge_read_rec(
 /*===============*/
@@ -1162,7 +1162,7 @@ row_merge_cmp(
 Reads clustered index of the table and create temporary files
 containing the index entries for the indexes to be built.
 @return	DB_SUCCESS or error */
-static __attribute__((nonnull))
+static __attribute__((warn_unused_result))
 ulint
 row_merge_read_clustered_index(
 /*===========================*/
diff --git a/storage/xtradb/row/row0purge.c b/storage/xtradb/row/row0purge.c
index 8ada79a..4186da8 100644
--- a/storage/xtradb/row/row0purge.c
+++ b/storage/xtradb/row/row0purge.c
@@ -742,7 +742,7 @@ err_exit:
 Fetches an undo log record and does the purge for the recorded operation.
 If none left, or the current purge completed, returns the control to the
 parent node, which is always a query thread node. */
-static __attribute__((nonnull))
+static
 void
 row_purge(
 /*======*/
diff --git a/storage/xtradb/srv/srv0srv.c b/storage/xtradb/srv/srv0srv.c
index 31a8b30..6d7327c 100644
--- a/storage/xtradb/srv/srv0srv.c
+++ b/storage/xtradb/srv/srv0srv.c
@@ -1,6 +1,6 @@
 /*****************************************************************************
 
-Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
 Copyright (c) 2008, 2009 Google Inc.
 Copyright (c) 2009, Percona Inc.
 Copyright (c) 2013, 2014, SkySQL Ab. All Rights Reserved.
@@ -3230,10 +3230,8 @@ srv_redo_log_follow_thread(
 
 	} while (srv_shutdown_state < SRV_SHUTDOWN_LAST_PHASE);
 
-	srv_track_changed_pages = FALSE;
 	log_online_read_shutdown();
 	os_event_set(srv_redo_log_thread_finished_event);
-	srv_redo_log_thread_started = FALSE; /* Defensive, not required */
 
 	my_thread_end();
 	os_thread_exit(NULL);
@@ -3412,6 +3410,7 @@ srv_master_thread(
 	ib_uint64_t	oldest_lsn;
 	ib_time_t	last_print_time;
 
+	my_thread_init();
 #ifdef UNIV_DEBUG_THREAD_CREATION
 	fprintf(stderr, "Master thread starts, id %lu\n",
 		os_thread_pf(os_thread_get_curr_id()));
@@ -4120,6 +4119,7 @@ suspend_thread:
 	os_event_wait(slot->event);
 
 	if (srv_shutdown_state == SRV_SHUTDOWN_EXIT_THREADS) {
+		my_thread_end();
 		os_thread_exit(NULL);
 	}
 
@@ -4145,6 +4145,7 @@ srv_purge_thread(
 	ulint		next_itr_time;
 	ib_int64_t	sig_count;
 
+	my_thread_init();
 	ut_a(srv_n_purge_threads == 1);
 
 #ifdef UNIV_PFS_THREAD
@@ -4253,6 +4254,8 @@ srv_purge_thread(
 		os_thread_pf(os_thread_get_curr_id()));
 #endif /* UNIV_DEBUG_THREAD_CREATION */
 
+	my_thread_end();
+
 	/* We count the number of threads in os_thread_exit(). A created
 	thread should always use that to exit and not use return() to exit. */
 	os_thread_exit(NULL);
diff --git a/storage/xtradb/srv/srv0start.c b/storage/xtradb/srv/srv0start.c
index e4f4047..331382d 100644
--- a/storage/xtradb/srv/srv0start.c
+++ b/storage/xtradb/srv/srv0start.c
@@ -1654,6 +1654,7 @@ innobase_start_or_create_for_mysql(void)
 
 	fsp_init();
 	log_init();
+	log_online_init();
 
 	lock_sys_create(srv_lock_table_size);
 
@@ -2500,6 +2501,7 @@ innobase_shutdown_for_mysql(void)
 	btr_search_disable();
 
 	ibuf_close();
+	log_online_shutdown();
 	log_shutdown();
 	trx_sys_file_format_close();
 	trx_sys_close();
diff --git a/storage/xtradb/trx/trx0roll.c b/storage/xtradb/trx/trx0roll.c
index 236eb88..8c0438a 100644
--- a/storage/xtradb/trx/trx0roll.c
+++ b/storage/xtradb/trx/trx0roll.c
@@ -1,6 +1,7 @@
 /*****************************************************************************
 
 Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
+Copyright (c) 2017, Oracle and/or its affiliates. All Rights Reserved.
 
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free Software
@@ -610,12 +611,15 @@ trx_rollback_or_clean_all_recovered(
 			/*!< in: a dummy parameter required by
 			os_thread_create */
 {
+	my_thread_init();
+
 #ifdef UNIV_PFS_THREAD
 	pfs_register_thread(trx_rollback_clean_thread_key);
 #endif /* UNIV_PFS_THREAD */
 
 	trx_rollback_or_clean_recovered(TRUE);
 
+	my_thread_end();
 	/* We count the number of threads in os_thread_exit(). A created
 	thread should always use that to exit and not use return() to exit. */
 

-- 
Alioth's hooks/post-receive on /srv/git.debian.org/git/pkg-mysql/mariadb-5.5.git



More information about the Pkg-mysql-commits mailing list