Commit a3b4f575 authored by Monty's avatar Monty

Reset table->record[1] early for sequences to fix comparision of innodb row

Added also suppression of openssl warnings from valgrind
parent 7204f66c
...@@ -1737,3 +1737,34 @@ ...@@ -1737,3 +1737,34 @@
... ...
} }
#
# OpenSSL 1.0.1k problems
#
{
OPENSSL 1.0.1k crypto leak
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ENGINE_ADD
}
{
OPENSSL 1.0.1k crypto leak
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ENGINE_new
}
{
OPENSSL 1.0.1k crypto leak2
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
obj:/lib64/libcrypto.so*
fun:ENGINE_ADD
}
...@@ -112,6 +112,12 @@ int ha_sequence::open(const char *name, int mode, uint flags) ...@@ -112,6 +112,12 @@ int ha_sequence::open(const char *name, int mode, uint flags)
} }
else else
table->m_needs_reopen= true; table->m_needs_reopen= true;
/*
The following is needed to fix comparison of rows in
ha_update_first_row() for InnoDB
*/
memcpy(table->record[1], table->s->default_values, table->s->reclength);
} }
DBUG_RETURN(error); DBUG_RETURN(error);
} }
......
...@@ -6066,7 +6066,7 @@ int handler::update_first_row(uchar *new_data) ...@@ -6066,7 +6066,7 @@ int handler::update_first_row(uchar *new_data)
/* /*
We have to do the memcmp as otherwise we may get error 169 from InnoDB We have to do the memcmp as otherwise we may get error 169 from InnoDB
*/ */
if (memcmp(table->record[0], table->record[1], table->s->reclength)) if (memcmp(new_data, table->record[1], table->s->reclength))
error= update_row(table->record[1], new_data); error= update_row(table->record[1], new_data);
} }
end_error= ha_rnd_end(); end_error= ha_rnd_end();
......
...@@ -594,12 +594,6 @@ int sequence_definition::write(TABLE *table, bool all_fields) ...@@ -594,12 +594,6 @@ int sequence_definition::write(TABLE *table, bool all_fields)
else else
table->rpl_write_set= &table->s->all_set; table->rpl_write_set= &table->s->all_set;
/*
The following is needed to fix comparison of rows in
ha_update_first_row() for InnoDB
*/
memcpy(table->record[1],table->s->default_values, table->s->reclength);
/* Update table */ /* Update table */
save_write_set= table->write_set; save_write_set= table->write_set;
save_read_set= table->read_set; save_read_set= table->read_set;
......
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