diff --git a/Makefile.am b/Makefile.am index ad94c9ea325..5cf4fa9ba49 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,7 +66,7 @@ tags: test-pl test-force-pl test-full-pl test-force-full-pl test-force-pl-mem \ test-unit test-ps test-nr test-pr test-ns test-binlog-statement \ test-ext-funcs test-ext-rpl test-ext-partitions test-ext-jp \ - test-ext-stress test-ext test-embedded \ + test-ext-stress test-ext test-embedded test-reprepare \ test-fast test-fast-cursor test-fast-view test-fast-prepare \ test-full-qa @@ -111,6 +111,11 @@ test-embedded: echo "no program found for 'embedded' tests - skipped testing" ; \ fi +test-reprepare: + cd mysql-test ; \ + @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol \ + --mysqld=--debug=+d,reprepare_each_statement + test: test-unit test-ns test-pr test-full: test test-nr test-ps diff --git a/sql/sql_base.cc b/sql/sql_base.cc index d7c4d899b0e..29f97cf37ce 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -3770,16 +3770,17 @@ check_and_update_table_version(THD *thd, /* Always maintain the latest version and type */ tables->set_metadata_id(table_share); } -#if 0 + #ifndef DBUG_OFF /* Spuriously reprepare each statement. */ - if (thd->m_metadata_observer && thd->stmt_arena->is_reprepared == FALSE) + if (_db_strict_keyword_("reprepare_each_statement") && + thd->m_metadata_observer && thd->stmt_arena->is_reprepared == FALSE) { thd->m_metadata_observer->report_error(thd); return TRUE; } #endif -#endif + return FALSE; }