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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user