diff options
author | unknown <svoj@april.(none)> | 2007-06-22 23:14:59 +0500 |
---|---|---|
committer | unknown <svoj@april.(none)> | 2007-06-22 23:14:59 +0500 |
commit | 58e3a1e890f753391165e7d9df26903921e50e96 (patch) | |
tree | 15912d195b85f8283d686a7d7a5b283cfcc3b50e /storage | |
parent | e148eb473222babd262eb7200621a1e1cd2b4938 (diff) | |
parent | 0a91dbcf53e021155e56c02ee50b4314ffad7ccd (diff) | |
download | mariadb-git-58e3a1e890f753391165e7d9df26903921e50e96.tar.gz |
Merge mysql.com:/home/svoj/devel/bk/mysql-5.1-engines
into mysql.com:/home/svoj/devel/mysql/BUG28971/mysql-5.1-engines
mysql-test/r/csv.result:
Auto merged
mysql-test/t/csv.test:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
Diffstat (limited to 'storage')
-rw-r--r-- | storage/csv/ha_tina.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/csv/ha_tina.cc b/storage/csv/ha_tina.cc index 6de153c82d7..e503f639d58 100644 --- a/storage/csv/ha_tina.cc +++ b/storage/csv/ha_tina.cc @@ -590,6 +590,7 @@ int ha_tina::find_current_row(uchar *buf) int eoln_len; my_bitmap_map *org_bitmap; int error; + bool read_all; DBUG_ENTER("ha_tina::find_current_row"); /* @@ -601,6 +602,8 @@ int ha_tina::find_current_row(uchar *buf) local_saved_data_file_length, &eoln_len)) == 0) DBUG_RETURN(HA_ERR_END_OF_FILE); + /* We must read all columns in case a table is opened for update */ + read_all= !bitmap_is_clear_all(table->write_set); /* Avoid asserts in ::store() for columns that are not going to be updated */ org_bitmap= dbug_tmp_use_all_columns(table, table->write_set); error= HA_ERR_CRASHED_ON_USAGE; @@ -678,7 +681,7 @@ int ha_tina::find_current_row(uchar *buf) goto err; } - if (bitmap_is_set(table->read_set, (*field)->field_index)) + if (read_all || bitmap_is_set(table->read_set, (*field)->field_index)) (*field)->store(buffer.ptr(), buffer.length(), buffer.charset()); } next_position= end_offset + eoln_len; |