Commit 03fd9b0d authored by unknown's avatar unknown

ha_innobase.cc Fix a bug in removal of trailing spaces of binary varchar...

ha_innobase.cc	Fix a bug in removal of trailing spaces of binary varchar strings, fix a bug in REPLACE


sql/ha_innobase.cc:
  Fix a bug in removal of trailing spaces of binary varchar strings, fix a bug in REPLACE
parent 1b738d5c
...@@ -1274,7 +1274,8 @@ innobase_convert_and_store_changed_col( ...@@ -1274,7 +1274,8 @@ innobase_convert_and_store_changed_col(
if (len == UNIV_SQL_NULL) { if (len == UNIV_SQL_NULL) {
data = NULL; data = NULL;
} else if (col_type == DATA_VARCHAR) { } else if (col_type == DATA_VARCHAR || col_type == DATA_BINARY
|| col_type == DATA_VARMYSQL) {
/* Remove trailing spaces */ /* Remove trailing spaces */
while (len > 0 && data[len - 1] == ' ') { while (len > 0 && data[len - 1] == ' ') {
len--; len--;
...@@ -1340,12 +1341,12 @@ calc_row_difference( ...@@ -1340,12 +1341,12 @@ calc_row_difference(
for (i = 0; i < n_fields; i++) { for (i = 0; i < n_fields; i++) {
field = table->field[i]; field = table->field[i];
if (thd->query_id != field->query_id) { /* if (thd->query_id != field->query_id) { */
/* TODO: check that these fields cannot have /* TODO: check that these fields cannot have
changed! */ changed! */
goto skip_field; /* goto skip_field;
} }*/
o_ptr = (byte*) old_row + get_field_offset(table, field); o_ptr = (byte*) old_row + get_field_offset(table, field);
n_ptr = (byte*) new_row + get_field_offset(table, field); n_ptr = (byte*) new_row + get_field_offset(table, field);
...@@ -1398,7 +1399,6 @@ calc_row_difference( ...@@ -1398,7 +1399,6 @@ calc_row_difference(
(prebuilt->table->cols + i)->clust_pos; (prebuilt->table->cols + i)->clust_pos;
n_changed++; n_changed++;
} }
skip_field:
; ;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment