1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

WL 1682: After review fixes + update bitvector class + bitvector test

cases + bug fixes


mysys/my_bitmap.c:
  Removed debug comments
sql/bitvector.h:
  Changed a number of things
  Added new methods, new handling of end bits, faster search
  for bits using word by word search..
sql/field.h:
  Added comment
sql/ha_federated.cc:
  Fixes
sql/ha_innodb.cc:
  Fixes
sql/ha_innodb.h:
  InnoDB still needs the extra calls not needed by anybody else
sql/ha_ndbcluster.cc:
  Removed some timestamp set bit stuff
  Always write all fields in write_row
sql/handler.cc:
  No inline methods in bit interface (caused strange bugs)
  initialise method
sql/handler.h:
  Changed to bitvector from bitmap
  Removed init variable
sql/opt_range.cc:
  Removed all extra HA_EXTRA_RETRIEVE_*
sql/sql_acl.cc:
  Removed all extra HA_EXTRA_RETRIEVE_*
sql/sql_base.cc:
  Set bits previously missed
sql/sql_insert.cc:
  Removed all extra HA_EXTRA_RETRIEVE_*
  Timestamp handling
sql/sql_load.cc:
  Updated comments plus set all bits in bitvector
sql/sql_select.cc:
  Removed ifdef since NDB and Federated needs the same calls
  Added comment or rather changed comment.
sql/sql_table.cc:
  Removed HA_EXTRA_RETRIEVE_* calls
  Updated comments
sql/sql_udf.cc:
  Removed HA_EXTRA_RETRIEVE_* calls
  Updated comments
sql/sql_update.cc:
  Removed HA_EXTRA_RETRIEVE_* calls
  Timstamp updating
This commit is contained in:
unknown
2005-05-02 15:45:33 +02:00
parent 5d3af2b0a7
commit 7689fcfb0d
19 changed files with 772 additions and 209 deletions

View File

@@ -163,7 +163,7 @@ bool mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
The main thing to fix to remove this restriction is to ensure that the
table is marked to be 'used for insert' in which case we should never
mark this table as as 'const table' (ie, one that has only one row).
mark this table as 'const table' (ie, one that has only one row).
*/
if (unique_table(table_list, table_list->next_global))
{
@@ -180,7 +180,7 @@ bool mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
for (field=table->field; *field ; field++)
fields_vars.push_back(new Item_field(*field));
/*
Since all fields is be set we set all bits in the write set
Since all fields are set we set all bits in the write set
*/
table->file->ha_set_all_bits_in_write_set();
table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET;
@@ -197,8 +197,11 @@ bool mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
/* TODO: use this conds for 'WITH CHECK OPTIONS' */
/*
Indicate that both variables in field list and fields in update_list
is to be included in write set of table
is to be included in write set of table. We do however set all bits
in write set anyways since it is not allowed to specify NULLs in
LOAD DATA
*/
table->file->ha_set_all_bits_in_write_set();
if (setup_fields(thd, 0, table_list, fields_vars, 2, 0, 0) ||
setup_fields(thd, 0, table_list, set_fields, 2, 0, 0) ||
check_that_all_fields_are_given_values(thd, table))