premature views on mx

metadata_sync_views
Onder Kalaci 2021-06-29 09:42:04 +02:00
parent c932642e3b
commit 4ca594c232
3 changed files with 16 additions and 2 deletions

View File

@ -188,7 +188,6 @@ static void EnsureTableNotPartition(Oid relationId);
static TableConversionState * CreateTableConversion(TableConversionParameters *params);
static void CreateDistributedTableLike(TableConversionState *con);
static void CreateCitusTableLike(TableConversionState *con);
static List * GetViewCreationCommandsOfTable(Oid relationId);
static void ReplaceTable(Oid sourceId, Oid targetId, List *justBeforeDropCommands,
bool suppressNoticeMessages);
static bool HasAnyGeneratedStoredColumns(Oid relationId);

View File

@ -481,6 +481,21 @@ MetadataCreateCommands(void)
shardCreateCommandList);
}
/* after all tables are created, create the metadata */
foreach_ptr(cacheEntry, propagatedTableList)
{
Oid relationId = cacheEntry->relationId;
List *viewDefinitionList = GetViewCreationCommandsOfTable(relationId);
TableDDLCommand *command = NULL;
foreach_ptr(command,viewDefinitionList)
{
metadataSnapshotCommandList = lappend(metadataSnapshotCommandList,
command->commandStr);
}
}
return metadataSnapshotCommandList;
}

View File

@ -248,7 +248,7 @@ extern void CreateDistributedTable(Oid relationId, Var *distributionColumn,
bool viaDeprecatedAPI);
extern void CreateTruncateTrigger(Oid relationId);
extern TableConversionReturn * UndistributeTable(TableConversionParameters *params);
extern List * GetViewCreationCommandsOfTable(Oid relationId);
extern void EnsureDependenciesExistOnAllNodes(const ObjectAddress *target);
extern List * GetDistributableDependenciesForObject(const ObjectAddress *target);
extern bool ShouldPropagate(void);