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

Bug#17721 Test 'exampledb' hangs on Windows

- Removed ifdefs from handler class
- The handler class is an external interface to dynamically loadable storage engine and should not be changed by defines. This is especially important for the virtual functions.
This commit is contained in:
msvensson@shellback.(none)
2006-02-27 14:21:48 +01:00
parent 3de74e6237
commit 6c35d51cb8

View File

@ -671,11 +671,15 @@ typedef struct st_handler_buffer
typedef struct system_status_var SSV;
/*
The handler class is the interface for dynamically loadable
storage engines. Do not add ifdefs and take care when adding or
changing virtual functions to avoid vtable confusion
*/
class handler :public Sql_alloc
{
#ifdef WITH_PARTITION_STORAGE_ENGINE
friend class ha_partition;
#endif
friend class ha_partition;
protected:
struct st_table_share *table_share; /* The table definition */
struct st_table *table; /* The current open table */
@ -1253,7 +1257,7 @@ public:
virtual const char *table_type() const =0;
virtual const char **bas_ext() const =0;
virtual ulong table_flags(void) const =0;
#ifdef WITH_PARTITION_STORAGE_ENGINE
virtual int get_default_no_partitions(ulonglong max_rows) { return 1;}
virtual void set_auto_partitions(partition_info *part_info) { return; }
virtual bool get_no_parts(const char *name,
@ -1263,7 +1267,7 @@ public:
return 0;
}
virtual void set_part_info(partition_info *part_info) {return;}
#endif
virtual ulong index_flags(uint idx, uint part, bool all_parts) const =0;
virtual int add_index(TABLE *table_arg, KEY *key_info, uint num_of_keys)