mirror of https://github.com/citusdata/citus.git
Specify dependency type in seq. ownership check
sequenceIsOwned now accepts a dependency type, but simply passing DEPENDENCY_AUTO preserves existing behavior.pull/1439/head
parent
fdfcbaeb2a
commit
b1cf59e32a
|
@ -2183,6 +2183,7 @@ ErrorIfDistributedAlterSeqOwnedBy(AlterSeqStmt *alterSeqStmt)
|
|||
{
|
||||
Oid sequenceId = RangeVarGetRelid(alterSeqStmt->sequence, AccessShareLock,
|
||||
alterSeqStmt->missing_ok);
|
||||
bool sequenceOwned = false;
|
||||
Oid ownedByTableId = InvalidOid;
|
||||
Oid newOwnedByTableId = InvalidOid;
|
||||
int32 ownedByColumnId = 0;
|
||||
|
@ -2194,8 +2195,15 @@ ErrorIfDistributedAlterSeqOwnedBy(AlterSeqStmt *alterSeqStmt)
|
|||
return;
|
||||
}
|
||||
|
||||
/* see whether the sequences is already owned by a distributed table */
|
||||
if (sequenceIsOwned(sequenceId, &ownedByTableId, &ownedByColumnId))
|
||||
#if (PG_VERSION_NUM >= 100000)
|
||||
sequenceOwned = sequenceIsOwned(sequenceId, DEPENDENCY_AUTO, &ownedByTableId,
|
||||
&ownedByColumnId);
|
||||
#else
|
||||
sequenceOwned = sequenceIsOwned(sequenceId, &ownedByTableId, &ownedByColumnId);
|
||||
#endif
|
||||
|
||||
/* see whether the sequence is already owned by a distributed table */
|
||||
if (sequenceOwned)
|
||||
{
|
||||
hasDistributedOwner = IsDistributedTable(ownedByTableId);
|
||||
}
|
||||
|
|
|
@ -925,7 +925,11 @@ EnsureSupportedSequenceColumnType(Oid sequenceOid)
|
|||
bool hasMetadataWorkers = HasMetadataWorkers();
|
||||
|
||||
/* call sequenceIsOwned in order to get the tableId and columnId */
|
||||
#if (PG_VERSION_NUM >= 100000)
|
||||
sequenceIsOwned(sequenceOid, DEPENDENCY_AUTO, &tableId, &columnId);
|
||||
#else
|
||||
sequenceIsOwned(sequenceOid, &tableId, &columnId);
|
||||
#endif
|
||||
|
||||
shouldSyncMetadata = ShouldSyncTableMetadata(tableId);
|
||||
|
||||
|
|
Loading…
Reference in New Issue