![](https://secure.gravatar.com/avatar/bfdc37143fca4e3ec1d50d8c7e133b60.jpg?s=120&d=mm&r=g)
Hello.
I need to know whether a table is a SYSTEM VERSIONING table. It's needed for MDEV-16231. And also it's needed to disable TRUNCATE TABLE for MDEV-15966: one code path do not open table at all.
31.05.2018, 14:11, "Sergei Golubchik"
Hi, Eugene!
What are you trying to do in the first place?
On May 30, Eugene Kosov wrote:
Hello.
I need to see a table structure while executing some query (DELETE in my case, but there will be more query types in future). I have a TABLE_LIST which came from a parser. Now I'm opening it with open_table_only_view_structure(), examine table structure and close it, trying to prevent any side effects. And there is a lot of them.
Current code looks like this:
if (open_tables_only_view_structure(thd, table_list, false)) { return true; }
// examine table structure
close_mysql_tables(thd);
for (Sroutine_hash_entry *e = thd->lex->sroutines_list.first;e; e=e->next) e->mdl_request.ticket= NULL;
for (TABLE_LIST *it= table_list; it; it= it->next_global) { it->table= NULL; it->reinit_before_use(thd); //it->next_global= NULL; it->derived_result= NULL; it->derived= NULL; it->view= NULL; it->view_tables= NULL; it->view_sctx= NULL; it->file_version= 0; it->mariadb_version= 0; it->updatable_view= 0; it->view_suid= 0; it->derived_type= 0; it->open_type= OT_BASE_ONLY; it->view_creation_ctx= 0; // it->set_table_ref_id(TABLE_REF_NULL, 0); }
Is there a way to close a TABLE_LIST gracefully without touching a lot of it's fields? Or even maybe it's possible to open a table in a simpler manner?
-- Eugene
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Regards, Sergei Chief Architect MariaDB and security@mariadb.org
-- Eugene