Hi, Oleksandr! On Feb 18, Oleksandr Byelkin wrote:
revision-id: e0a1e632e4e6084cd989f217943618f4e9ac9179 (mariadb-5.5.54-25-ge0a1e63) parent(s): 29d78dbb44ee9890b6bc28873344f20fc9157928 committer: Oleksandr Byelkin timestamp: 2017-02-18 17:47:31 +0100 message:
MDEV-9619: Assertion `null_ref_table' failed in virtual table_map Item_direct_view_ref::used_tables() const on 2nd execution of PS
Refer left expression indirectly in case it changes from execution to execution.
Looks reasonable. Ok to push with these changes: 1. replace - DBUG_ASSERT(null_ref_table); + DBUG_ASSERT(fixed); as discussed. 2. Remove bool Item_direct_view_ref::fix_fields(THD *thd, Item **reference) { - DBUG_ASSERT(1); these two changes should, probably, be done in a separate cleanup commit. 3.
diff --git a/sql/item.h b/sql/item.h index 89155ac..dff7bc4 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1543,6 +1543,8 @@ class Item { virtual void mark_as_condition_AND_part(TABLE_LIST *embedding) {}; };
+typedef Item (*Item_ptr); +
remove this, your patch compiles just fine without it. Regards, Sergei Chief Architect MariaDB and security@mariadb.org