mariadb/sql/datadict.h
Monty 83e529eced MDEV-18465 Logging of DDL statements during backup
Many of the changes was needed to be able to collect and print engine
name and table version id's in the ddl log.
2021-05-19 22:54:13 +02:00

52 lines
1.7 KiB
C

#ifndef DATADICT_INCLUDED
#define DATADICT_INCLUDED
/* Copyright (c) 2010, Oracle and/or its affiliates.
Copyright (c) 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
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 General Public License for more details.
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-1335 USA */
#include "handler.h"
/*
Data dictionary API.
*/
enum Table_type
{
TABLE_TYPE_UNKNOWN,
TABLE_TYPE_NORMAL, /* Normal table */
TABLE_TYPE_SEQUENCE,
TABLE_TYPE_VIEW
};
/*
Take extra care when using dd_frm_type() - it only checks the .frm file,
and it won't work for any engine that supports discovery.
Prefer to use ha_table_exists() instead.
To check whether it's an frm of a view, use dd_frm_is_view().
*/
enum Table_type dd_frm_type(THD *thd, char *path, LEX_CSTRING *engine_name,
LEX_CSTRING *partition_engine_name,
LEX_CUSTRING *table_version);
static inline bool dd_frm_is_view(THD *thd, char *path)
{
return dd_frm_type(thd, path, NULL, NULL, NULL) == TABLE_TYPE_VIEW;
}
bool dd_recreate_table(THD *thd, const char *db, const char *table_name);
#endif // DATADICT_INCLUDED