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,
|
Oid sequenceId = RangeVarGetRelid(alterSeqStmt->sequence, AccessShareLock,
|
||||||
alterSeqStmt->missing_ok);
|
alterSeqStmt->missing_ok);
|
||||||
|
bool sequenceOwned = false;
|
||||||
Oid ownedByTableId = InvalidOid;
|
Oid ownedByTableId = InvalidOid;
|
||||||
Oid newOwnedByTableId = InvalidOid;
|
Oid newOwnedByTableId = InvalidOid;
|
||||||
int32 ownedByColumnId = 0;
|
int32 ownedByColumnId = 0;
|
||||||
|
@ -2194,8 +2195,15 @@ ErrorIfDistributedAlterSeqOwnedBy(AlterSeqStmt *alterSeqStmt)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* see whether the sequences is already owned by a distributed table */
|
#if (PG_VERSION_NUM >= 100000)
|
||||||
if (sequenceIsOwned(sequenceId, &ownedByTableId, &ownedByColumnId))
|
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);
|
hasDistributedOwner = IsDistributedTable(ownedByTableId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -925,7 +925,11 @@ EnsureSupportedSequenceColumnType(Oid sequenceOid)
|
||||||
bool hasMetadataWorkers = HasMetadataWorkers();
|
bool hasMetadataWorkers = HasMetadataWorkers();
|
||||||
|
|
||||||
/* call sequenceIsOwned in order to get the tableId and columnId */
|
/* 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);
|
sequenceIsOwned(sequenceOid, &tableId, &columnId);
|
||||||
|
#endif
|
||||||
|
|
||||||
shouldSyncMetadata = ShouldSyncTableMetadata(tableId);
|
shouldSyncMetadata = ShouldSyncTableMetadata(tableId);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue