mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge of 5.1-main into 5.1-maria. There were no changes to storage/myisam, or mysql-test/t/*myisam*.
However there were three new tests mysql-test/suite/parts/t/partition*myisam.test, of which I make here copies for Maria.
This commit is contained in:
@ -1136,6 +1136,13 @@ public:
|
||||
inserter.
|
||||
*/
|
||||
Discrete_interval auto_inc_interval_for_cur_row;
|
||||
/**
|
||||
Number of reserved auto-increment intervals. Serves as a heuristic
|
||||
when we have no estimation of how many records the statement will insert:
|
||||
the more intervals we have reserved, the bigger the next one. Reset in
|
||||
handler::ha_release_auto_increment().
|
||||
*/
|
||||
uint auto_inc_intervals_count;
|
||||
|
||||
handler(handlerton *ht_arg, TABLE_SHARE *share_arg)
|
||||
:table_share(share_arg), table(0),
|
||||
@ -1144,7 +1151,8 @@ public:
|
||||
ref_length(sizeof(my_off_t)),
|
||||
ft_handler(0), inited(NONE),
|
||||
locked(FALSE), implicit_emptied(0),
|
||||
pushed_cond(0), next_insert_id(0), insert_id_for_cur_row(0)
|
||||
pushed_cond(0), next_insert_id(0), insert_id_for_cur_row(0),
|
||||
auto_inc_intervals_count(0)
|
||||
{}
|
||||
virtual ~handler(void)
|
||||
{
|
||||
@ -1197,6 +1205,9 @@ public:
|
||||
{
|
||||
return inited == INDEX ? ha_index_end() : inited == RND ? ha_rnd_end() : 0;
|
||||
}
|
||||
/**
|
||||
The cached_table_flags is set at ha_open and ha_external_lock
|
||||
*/
|
||||
Table_flags ha_table_flags() const { return cached_table_flags; }
|
||||
/**
|
||||
These functions represent the public interface to *users* of the
|
||||
@ -1210,6 +1221,7 @@ public:
|
||||
int ha_delete_row(const uchar * buf);
|
||||
void ha_release_auto_increment();
|
||||
|
||||
int check_collation_compatibility();
|
||||
int ha_check_for_upgrade(HA_CHECK_OPT *check_opt);
|
||||
/** to be actually called to get 'check()' functionality*/
|
||||
int ha_check(THD *thd, HA_CHECK_OPT *check_opt);
|
||||
@ -1248,8 +1260,8 @@ public:
|
||||
|
||||
int ha_change_partitions(HA_CREATE_INFO *create_info,
|
||||
const char *path,
|
||||
ulonglong *copied,
|
||||
ulonglong *deleted,
|
||||
ulonglong * const copied,
|
||||
ulonglong * const deleted,
|
||||
const uchar *pack_frm_data,
|
||||
size_t pack_frm_len);
|
||||
int ha_drop_partitions(const char *path);
|
||||
@ -1734,6 +1746,12 @@ public:
|
||||
but we don't have a primary key
|
||||
*/
|
||||
virtual void use_hidden_primary_key();
|
||||
virtual uint alter_table_flags(uint flags)
|
||||
{
|
||||
if (ht->alter_table_flags)
|
||||
return ht->alter_table_flags(flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LEX_STRING *engine_name() { return hton_name(ht); }
|
||||
|
||||
@ -1872,7 +1890,8 @@ private:
|
||||
This is called to delete all rows in a table
|
||||
If the handler don't support this, then this function will
|
||||
return HA_ERR_WRONG_COMMAND and MySQL will delete the rows one
|
||||
by one.
|
||||
by one. It should reset auto_increment if
|
||||
thd->lex->sql_command == SQLCOM_TRUNCATE.
|
||||
*/
|
||||
virtual int delete_all_rows()
|
||||
{ return (my_errno=HA_ERR_WRONG_COMMAND); }
|
||||
@ -1911,8 +1930,8 @@ private:
|
||||
|
||||
virtual int change_partitions(HA_CREATE_INFO *create_info,
|
||||
const char *path,
|
||||
ulonglong *copied,
|
||||
ulonglong *deleted,
|
||||
ulonglong * const copied,
|
||||
ulonglong * const deleted,
|
||||
const uchar *pack_frm_data,
|
||||
size_t pack_frm_len)
|
||||
{ return HA_ERR_WRONG_COMMAND; }
|
||||
|
Reference in New Issue
Block a user