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

Merge branch '10.10' into 10.11

This commit is contained in:
Oleksandr Byelkin
2022-11-02 10:42:34 +01:00
180 changed files with 5673 additions and 2618 deletions

View File

@@ -1245,19 +1245,26 @@ err:
bool mariadb_view_version_get(TABLE_SHARE *share)
{
DBUG_ASSERT(share->is_view);
DBUG_ASSERT(share->tabledef_version.length == 0);
if (!(share->tabledef_version.str=
(uchar*) alloc_root(&share->mem_root,
MICROSECOND_TIMESTAMP_BUFFER_SIZE)))
return TRUE;
share->tabledef_version.length= 0; // safety if the drfinition file is brocken
DBUG_ASSERT(share->view_def != NULL);
if (share->view_def->parse((uchar *) &share->tabledef_version, NULL,
view_timestamp_parameters, 1,
&file_parser_dummy_hook))
{
// safety if the definition file is brocken
share->tabledef_version.length= 0;
my_error(ER_TABLE_CORRUPT, MYF(0),
share->db.str, share->table_name.str);
return TRUE;
}
DBUG_ASSERT(share->tabledef_version.length == MICROSECOND_TIMESTAMP_BUFFER_SIZE-1);
return FALSE;
}
@@ -1322,10 +1329,7 @@ bool mysql_make_view(THD *thd, TABLE_SHARE *share, TABLE_LIST *table,
mysql_handle_single_derived(thd->lex, table, DT_REINIT);
DEBUG_SYNC(thd, "after_cached_view_opened");
if (!share->tabledef_version.length)
{
mariadb_view_version_get(share);
}
DBUG_ASSERT(share->tabledef_version.length);
DBUG_RETURN(0);
}
@@ -1379,15 +1383,7 @@ bool mysql_make_view(THD *thd, TABLE_SHARE *share, TABLE_LIST *table,
required_view_parameters,
&file_parser_dummy_hook)))
goto end;
if (!share->tabledef_version.length)
{
share->tabledef_version.str= (const uchar *)
memdup_root(&share->mem_root,
(const void *)
table->hr_timestamp.str,
(share->tabledef_version.length=
table->hr_timestamp.length));
}
DBUG_ASSERT(share->tabledef_version.length);
if (!table->tabledef_version.length)
{
table->set_view_def_version(&table->hr_timestamp);