Reset table->record[1] early for sequences to fix comparision of innodb row
Added also suppression of openssl warnings from valgrind
This commit is contained in:
parent
7204f66c6a
commit
a3b4f575b9
@ -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)
|
|||||||
}
|
}
|
||||||
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)
|
|||||||
/*
|
/*
|
||||||
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)
|
|||||||
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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user