382
382
/** Unused. Reserved for future versions. */
383
383
#define HA_CREATE_USED_PAGE_CHECKSUM (1L << 21)
387
This is master database for most of system tables. However there
388
can be other databases which can hold system tables. Respective
389
storage engines define their own system database names.
391
extern const char *mysqld_system_database;
394
Structure to hold list of system_database.system_table.
395
This is used at both mysqld and storage engine layer.
397
struct st_system_tablename
400
const char *tablename;
385
404
typedef ulonglong my_xid; // this line is the same as in log_event.h
386
405
#define MYSQL_XID_PREFIX "MySQLXid"
387
406
#define MYSQL_XID_PREFIX_LEN 8 // must be a multiple of 8
800
819
const char *wild, bool dir, List<LEX_STRING> *files);
801
820
int (*table_exists_in_engine)(handlerton *hton, THD* thd, const char *db,
802
821
const char *name);
824
List of all system tables specific to the SE.
825
Array element would look like below,
826
{ "<database_name>", "<system table name>" },
827
The last element MUST be,
828
{ (const char*)NULL, (const char*)NULL }
830
@see ha_example_system_tables in ha_example.cc
832
This interface is optional, so every SE need not implement it.
834
const char* (*system_database)();
837
Check if the given db.tablename is a system table for this SE.
839
@param db Database name to check.
840
@param table_name table name to check.
841
@param is_sql_layer_system_table if the supplied db.table_name is a SQL
844
@see example_is_supported_system_table in ha_example.cc
846
is_sql_layer_system_table is supplied to make more efficient
847
checks possible for SEs that support all SQL layer tables.
849
This interface is optional, so every SE need not implement it.
851
bool (*is_supported_system_table)(const char *db,
852
const char *table_name,
853
bool is_sql_layer_system_table);
803
855
uint32 license; /* Flag for Engine License */
804
856
void *data; /* Location for engines to keep personal structures */
2238
2290
int ha_find_files(THD *thd,const char *db,const char *path,
2239
2291
const char *wild, bool dir, List<LEX_STRING>* files);
2240
2292
int ha_table_exists_in_engine(THD* thd, const char* db, const char* name);
2293
bool ha_check_if_supported_system_table(handlerton *hton, const char* db,
2294
const char* table_name);
2242
2296
/* key cache */
2243
2297
extern "C" int ha_init_key_cache(const char *name, KEY_CACHE *key_cache);