diff options
author | unknown <serg@serg.mysql.com> | 2001-03-01 21:04:36 +0100 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2001-03-01 21:04:36 +0100 |
commit | 8e035b499ee1b44e4ec8b002c84fc4347704bb7e (patch) | |
tree | ddca50943a2758f271ad5531906a3df485a969bd /sql | |
parent | 72bc949c1ad82a53979140a545d1bcf5f1681a16 (diff) | |
parent | d0ec4469701ac9b03630489682c50c1a771e73a6 (diff) | |
download | mariadb-git-8e035b499ee1b44e4ec8b002c84fc4347704bb7e.tar.gz |
Merge
Docs/manual.texi:
Auto merged
mysql-test/t/fulltext.test:
merged
Diffstat (limited to 'sql')
-rw-r--r-- | sql/field.cc | 2 | ||||
-rw-r--r-- | sql/ha_innobase.cc | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc index 17717b14649..a5eca021695 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -4075,8 +4075,8 @@ char *Field_blob::pack(char *to, const char *from, uint max_length) const char *Field_blob::unpack(char *to, const char *from) { memcpy(to,from,packlength); + ulong length=get_length(from); from+=packlength; - ulong length=get_length(); if (length) memcpy_fixed(to+packlength, &from, sizeof(from)); else diff --git a/sql/ha_innobase.cc b/sql/ha_innobase.cc index 7e83718294a..197a46c06cd 100644 --- a/sql/ha_innobase.cc +++ b/sql/ha_innobase.cc @@ -1222,7 +1222,21 @@ ha_innobase::write_row( } if (table->next_number_field && record == table->record[0]) { + /* Set the 'in_update_remember_pos' flag to FALSE to + make sure all columns are fetched in the select done by + update_auto_increment */ + + prebuilt->in_update_remember_pos = FALSE; + update_auto_increment(); + + /* We have to set sql_stat_start to TRUE because + update_auto_increment has called a select, and + has reset that flag; row_insert_for_mysql has to + know to set the IX intention lock on the table, something + it only does at the start of each statement */ + + prebuilt->sql_stat_start = TRUE; } if (prebuilt->mysql_template == NULL |