1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Next big patch for loadable storage engines!

Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail.
This commit is contained in:
brian@zim.(none)
2005-10-02 19:44:28 -07:00
parent acdc193a45
commit 54a958993c
20 changed files with 244 additions and 239 deletions

View File

@ -297,6 +297,27 @@ typedef struct
storage engine name as it should be printed to a user
*/
const char *name;
/*
Historical marker for if the engine is available of not
*/
SHOW_COMP_OPTION state;
/*
A comment used by SHOW to describe an engine.
*/
const char *comment;
/*
Historical number used for frm file to determine the correct storage engine.
This is going away and new engines will just use "name" for this.
*/
enum db_type db_type;
/*
Method that initizlizes a storage engine
*/
bool (*init)();
/*
each storage engine has it's own memory area (actually a pointer)
in the thd, for storing per-connection information.
@ -356,14 +377,6 @@ typedef struct
uint32 flags; /* global handler flags */
} handlerton;
struct show_table_type_st {
const char *type;
SHOW_COMP_OPTION *value;
const char *comment;
enum db_type db_type;
handlerton *ht;
};
struct show_table_alias_st {
const char *alias;
const char *type;
@ -828,7 +841,7 @@ public:
/* Some extern variables used with handlers */
extern struct show_table_type_st sys_table_types[];
extern handlerton *sys_table_types[];
extern const char *ha_row_type[];
extern TYPELIB tx_isolation_typelib;
extern TYPELIB myisam_stats_method_typelib;