summaryrefslogtreecommitdiff
path: root/sql/sql_view.h
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2018-11-13 10:10:09 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2018-11-13 10:10:09 +0100
commit5e63f616a7ed511e6e69581f6659f60f1ec8633b (patch)
tree5939124c3b798374f9c76f022206ca66d3f4034a /sql/sql_view.h
parent1368a63589d0b4900f7d7efb57444c4ea34e6c26 (diff)
downloadmariadb-git-bb-10.1-MDEV-17124.tar.gz
MDEV-17124: mariadb 10.1.34, views and prepared statements: ERROR 1615 (HY000): Prepared statement needs to be re-preparedbb-10.1-MDEV-17124
The problem is that if table definition cache (TDC) is full of real tables which are in tables cache, view definition can not stay there so will me removed by its own underlying tables. In situation above old mechanism of detection matching definition in PS and current version always require reprepare and so prevent executing the PS. One work arount is to increase TDC, other - improve version check for views (which is done here). Now in suspiciouse cases we check MD5 of the view to be sure that version really have chenged.
Diffstat (limited to 'sql/sql_view.h')
-rw-r--r--sql/sql_view.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_view.h b/sql/sql_view.h
index ce83dc656ad..1685169420d 100644
--- a/sql/sql_view.h
+++ b/sql/sql_view.h
@@ -37,6 +37,7 @@ bool mysql_create_view(THD *thd, TABLE_LIST *view,
bool mysql_make_view(THD *thd, TABLE_SHARE *share, TABLE_LIST *table,
bool open_view_no_parse);
+bool mariadb_view_version_check(TABLE_LIST *view, TABLE_SHARE *share);
bool mysql_drop_view(THD *thd, TABLE_LIST *view, enum_drop_mode drop_mode);