1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge branch '11.7' into 11.8

This commit is contained in:
Sergei Golubchik
2025-02-11 20:29:43 +01:00
511 changed files with 13256 additions and 7184 deletions

View File

@@ -179,7 +179,7 @@ class Table_triggers_list: public Sql_alloc
BEFORE INSERT/UPDATE triggers.
*/
Field **record0_field;
uchar *extra_null_bitmap;
uchar *extra_null_bitmap, *extra_null_bitmap_init;
/**
Copy of TABLE::Field array with field pointers set to TABLE::record[1]
buffer instead of TABLE::record[0] (used for OLD values in on UPDATE
@@ -243,8 +243,8 @@ public:
/* End of character ser context. */
Table_triggers_list(TABLE *table_arg)
:record0_field(0), extra_null_bitmap(0), record1_field(0),
trigger_table(table_arg),
:record0_field(0), extra_null_bitmap(0), extra_null_bitmap_init(0),
record1_field(0), trigger_table(table_arg),
m_has_unparseable_trigger(false), count(0)
{
bzero((char *) triggers, sizeof(triggers));
@@ -323,11 +323,15 @@ public:
TABLE_LIST *table_list);
Field **nullable_fields() { return record0_field; }
void reset_extra_null_bitmap()
void clear_extra_null_bitmap()
{
size_t null_bytes= (trigger_table->s->fields -
trigger_table->s->null_fields + 7)/8;
bzero(extra_null_bitmap, null_bytes);
if (size_t null_bytes= extra_null_bitmap_init - extra_null_bitmap)
bzero(extra_null_bitmap, null_bytes);
}
void default_extra_null_bitmap()
{
if (size_t null_bytes= extra_null_bitmap_init - extra_null_bitmap)
memcpy(extra_null_bitmap, extra_null_bitmap_init, null_bytes);
}
Trigger *find_trigger(const LEX_CSTRING *name, bool remove_from_list);