summaryrefslogtreecommitdiff
path: root/sql/ha_partition.h
diff options
context:
space:
mode:
authorMattias Jonsson <mattias.jonsson@sun.com>2008-10-29 21:30:04 +0100
committerMattias Jonsson <mattias.jonsson@sun.com>2008-10-29 21:30:04 +0100
commitfc74c4d9e5d134c94e5ce9363450e2b7126ae390 (patch)
treeee958ffd063d232ebef52499e6017b23e7e4df51 /sql/ha_partition.h
parent8b1f501c70426cc51a8af0b859efb4dea07fcac5 (diff)
parent65811a336dbde9d09b6ed0b470fa37bd488a7a74 (diff)
downloadmariadb-git-fc74c4d9e5d134c94e5ce9363450e2b7126ae390.tar.gz
merge
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r--sql/ha_partition.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h
index 685f057dfce..601b7009434 100644
--- a/sql/ha_partition.h
+++ b/sql/ha_partition.h
@@ -224,6 +224,8 @@ public:
DBUG_RETURN(0);
}
virtual void change_table_ptr(TABLE *table_arg, TABLE_SHARE *share);
+ virtual bool check_if_incompatible_data(HA_CREATE_INFO *create_info,
+ uint table_changes);
private:
int prepare_for_rename();
int copy_partitions(ulonglong * const copied, ulonglong * const deleted);
@@ -774,6 +776,11 @@ public:
return m_file[0]->index_flags(inx, part, all_parts);
}
+ /**
+ wrapper function for handlerton alter_table_flags, since
+ the ha_partition_hton cannot know all its capabilities
+ */
+ virtual uint alter_table_flags(uint flags);
/*
extensions of table handler files
*/
@@ -949,13 +956,14 @@ public:
-------------------------------------------------------------------------
MODULE on-line ALTER TABLE
-------------------------------------------------------------------------
- These methods are in the handler interface but never used (yet)
- They are to be used by on-line alter table add/drop index:
+ These methods are in the handler interface. (used by innodb-plugin)
+ They are used for on-line/fast alter table add/drop index:
-------------------------------------------------------------------------
- virtual ulong index_ddl_flags(KEY *wanted_index) const
- virtual int add_index(TABLE *table_arg,KEY *key_info,uint num_of_keys);
- virtual int drop_index(TABLE *table_arg,uint *key_num,uint num_of_keys);
*/
+ virtual int add_index(TABLE *table_arg, KEY *key_info, uint num_of_keys);
+ virtual int prepare_drop_index(TABLE *table_arg, uint *key_num,
+ uint num_of_keys);
+ virtual int final_drop_index(TABLE *table_arg);
/*
-------------------------------------------------------------------------