summaryrefslogtreecommitdiff
path: root/storage/csv
diff options
context:
space:
mode:
authorunknown <tsmith@sita.local>2007-07-09 03:27:03 -0600
committerunknown <tsmith@sita.local>2007-07-09 03:27:03 -0600
commitdf0d80a31b4f23e7a8ed31f887c17269ad464101 (patch)
treea96c6f8f663f3241acd88553098532553c33ed17 /storage/csv
parent49bc3c26689b40516b7bbdb93b5cf6b58367c3e5 (diff)
parent22881bfb5be75aa3cc91788503ccf9ac09ffcd6a (diff)
downloadmariadb-git-df0d80a31b4f23e7a8ed31f887c17269ad464101.tar.gz
Merge sita.local:/Users/tsmith/m/bk/51
into sita.local:/Users/tsmith/m/bk/maint/51 This merge requires a post-merge fix to remove rpl_udf from suite/rpl/t/disabled.def. mysql-test/lib/mtr_report.pl: Auto merged mysql-test/r/show_check.result: Auto merged mysql-test/suite/ndb/r/ndb_dd_basic.result: Auto merged mysql-test/suite/ndb/r/ndb_dd_ddl.result: Auto merged mysql-test/suite/ndb/r/ndb_gis.result: Auto merged mysql-test/suite/ndb/r/ndb_row_format.result: Auto merged mysql-test/suite/ndb/r/ndb_single_user.result: Auto merged mysql-test/suite/ndb/t/ndb_single_user.test: Auto merged mysql-test/suite/rpl/r/rpl_extraCol_innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_extraCol_myisam.result: Auto merged mysql-test/suite/rpl/r/rpl_incident.result: Auto merged mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result: Auto merged mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result: Auto merged mysql-test/suite/rpl/r/rpl_sp.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_show.cc: Auto merged storage/csv/ha_tina.cc: Auto merged storage/innobase/handler/ha_innodb.cc: Auto merged mysql-test/r/csv.result: Manual merge mysql-test/t/csv.test: Manual merge mysql-test/t/disabled.def: Manual merge
Diffstat (limited to 'storage/csv')
-rw-r--r--storage/csv/ha_tina.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/storage/csv/ha_tina.cc b/storage/csv/ha_tina.cc
index c6cbcbd422f..8b0359fdc21 100644
--- a/storage/csv/ha_tina.cc
+++ b/storage/csv/ha_tina.cc
@@ -589,6 +589,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");
/*
@@ -600,6 +601,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;
@@ -671,7 +674,7 @@ int ha_tina::find_current_row(uchar *buf)
}
}
- if (bitmap_is_set(table->read_set, (*field)->field_index))
+ if (read_all || bitmap_is_set(table->read_set, (*field)->field_index))
{
if ((*field)->store(buffer.ptr(), buffer.length(), buffer.charset(),
CHECK_FIELD_WARN))