summaryrefslogtreecommitdiff
path: root/sql/sql_load.cc
diff options
context:
space:
mode:
authorunknown <mronstrom@mysql.com>2005-05-02 15:45:33 +0200
committerunknown <mronstrom@mysql.com>2005-05-02 15:45:33 +0200
commit7689fcfb0d2b8a8f0a07f788e5e4343c0620fca5 (patch)
tree03d821826f191289337486ba50a32e4de26be048 /sql/sql_load.cc
parent5d3af2b0a7c3232164135b70f3f496ae98fe8277 (diff)
downloadmariadb-git-7689fcfb0d2b8a8f0a07f788e5e4343c0620fca5.tar.gz
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
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r--sql/sql_load.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc
index 71222b4d1c4..880fbb62c13 100644
--- a/sql/sql_load.cc
+++ b/sql/sql_load.cc
@@ -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))