diff options
author | unknown <heikki@hundin.mysql.fi> | 2003-01-13 23:00:11 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2003-01-13 23:00:11 +0200 |
commit | 260d208a46f03a5c85d865f3822c23d3d5f8c58c (patch) | |
tree | 56b15acd119cf38bcb034a91063ce21cc87b1dcf /sql | |
parent | d0551ec55be01abbefdb244daf8dc074506276f9 (diff) | |
download | mariadb-git-260d208a46f03a5c85d865f3822c23d3d5f8c58c.tar.gz |
sql_handler.cc:
Backport the InnoDB HANDLER bug fix from 4.1
sql/sql_handler.cc:
Backport the InnoDB HANDLER bug fix from 4.1
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_handler.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc index 289d2434225..66dcf37d07f 100644 --- a/sql/sql_handler.cc +++ b/sql/sql_handler.cc @@ -109,6 +109,8 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables, if (cond && cond->fix_fields(thd,tables)) return -1; + table->file->init_table_handle_for_HANDLER(); // Only InnoDB requires it + if (keyname) { if ((keyno=find_type(keyname, &table->keynames, 1+2)-1)<0) @@ -128,8 +130,6 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables, insert_fields(thd,tables,tables->db,tables->alias,&it); - table->file->init_table_handle_for_HANDLER(); // Only InnoDB requires it - select_limit+=offset_limit; send_fields(thd,list,1); @@ -139,6 +139,8 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables, if (!lock) goto err0; // mysql_lock_tables() printed error message already + table->file->init_table_handle_for_HANDLER(); // Only InnoDB requires it + for (num_rows=0; num_rows < select_limit; ) { switch(mode) { |