setup
CREATE TABLE defaultdb.customers (id INT PRIMARY KEY, email STRING UNIQUE);
CREATE TABLE IF NOT EXISTS defaultdb.orders (
    id INT PRIMARY KEY,
    customer INT UNIQUE NOT NULL REFERENCES customers (id),
    orderTotal DECIMAL(9,2),
    INDEX (customer)
  );
CREATE SEQUENCE defaultdb.SQ2;
CREATE TYPE defaultdb.status_type AS ENUM ('waiting', 'shipped');
CREATE TABLE defaultdb.shipments (
    tracking_number UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    carrier STRING,
    status defaultdb.status_type,
    customer_id INT,
    randcol INT DEFAULT nextval('defaultdb.sq2'),
    CONSTRAINT fk_customers FOREIGN KEY (customer_id) REFERENCES customers(id),
    CONSTRAINT fk_orders FOREIGN KEY (customer_id) REFERENCES orders(customer),
    CONSTRAINT fk_customers2 FOREIGN KEY (customer_id) REFERENCES customers(id) NOT VALID
  );
CREATE INDEX partialidx ON defaultdb.shipments (status, customer_id) WHERE (status = 'waiting');
CREATE SEQUENCE defaultdb.SQ1 OWNED BY defaultdb.shipments.carrier;
CREATE VIEW v1 AS (SELECT customer_id, carrier FROM defaultdb.shipments);
COMMENT ON TABLE defaultdb.shipments IS 'shipment is important';
COMMENT ON COLUMN defaultdb.shipments.tracking_number IS 'tracking_number is a must';
COMMENT ON INDEX defaultdb.shipments@shipments_pkey IS 'pkey is good';
COMMENT ON CONSTRAINT fk_customers ON defaultdb.shipments IS 'customer is not god';
CREATE FUNCTION defaultdb.f1() RETURNS INT LANGUAGE SQL AS $$ SELECT 1 $$;
ALTER TABLE shipments ADD COLUMN udfcol INT;
ALTER TABLE shipments ADD CHECK (currval('defaultdb.SQ2') > 0) NOT VALID;
ALTER TABLE shipments ALTER COLUMN udfcol SET DEFAULT f1();
CREATE FUNCTION g() RETURNS TRIGGER LANGUAGE PLpgSQL AS $$
  BEGIN
    RAISE NOTICE '%: old: %, new: %', TG_OP, OLD, NEW;
    RETURN COALESCE(NEW, OLD);
  END
$$;
CREATE TRIGGER foo BEFORE INSERT OR UPDATE ON shipments FOR EACH ROW EXECUTE FUNCTION g();
----


ops
DROP TABLE defaultdb.shipments CASCADE;
----
StatementPhase stage 1 of 1 with 141 MutationType ops
  transitions:
    [[Namespace:{DescID: 109, Name: shipments, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 109}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 109, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 109, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Table:{DescID: 109}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 109, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[TableComment:{DescID: 109, Comment: shipment is important}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], PUBLIC] -> ABSENT
    [[SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 5}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 6}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[CheckConstraintUnvalidated:{DescID: 109, ConstraintID: 5, ReferencedSequenceIDs: [106]}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: check, ConstraintID: 5}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintComment:{DescID: 109, ConstraintID: 2, Comment: customer is not god}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_orders, ConstraintID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers2, ConstraintID: 4}, ABSENT], PUBLIC] -> ABSENT
    [[Trigger:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerName:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerEnabled:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerTiming:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerEvents:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerFunctionCall:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerDeps:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[Namespace:{DescID: 110, Name: sq1, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 110}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 110, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 110, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Sequence:{DescID: 110}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 110, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[Namespace:{DescID: 111, Name: v1, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 111}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 111, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 111, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[View:{DescID: 111}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 111, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
  ops:
    *scop.SetConstraintName
      ConstraintID: 5
      Name: crdb_internal_constraint_5_name_placeholder
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 2
      TableID: 109
    *scop.SetConstraintName
      ConstraintID: 2
      Name: crdb_internal_constraint_2_name_placeholder
      TableID: 109
    *scop.RemoveConstraintComment
      ConstraintID: 2
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 3
      TableID: 109
    *scop.SetConstraintName
      ConstraintID: 3
      Name: crdb_internal_constraint_3_name_placeholder
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 4
      TableID: 109
    *scop.SetConstraintName
      ConstraintID: 4
      Name: crdb_internal_constraint_4_name_placeholder
      TableID: 109
    *scop.MarkDescriptorAsDropped
      DescriptorID: 110
    *scop.RemoveObjectParent
      ObjectID: 110
      ParentSchemaID: 101
    *scop.MarkDescriptorAsDropped
      DescriptorID: 111
    *scop.RemoveBackReferencesInRelations
      BackReferencedID: 111
      RelationIDs:
      - 109
    *scop.RemoveObjectParent
      ObjectID: 111
      ParentSchemaID: 101
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 111
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 111
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 111
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 2
      OriginTableID: 109
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 2
      TableID: 109
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 3
      OriginTableID: 109
      ReferencedTableID: 105
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 3
      TableID: 109
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 4
      OriginTableID: 109
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 4
      TableID: 109
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 110
        Name: sq1
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 110
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 110
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 110
      User: root
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 111
        Name: v1
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 111
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 111
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 111
      User: root
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 111
    *scop.MarkDescriptorAsDropped
      DescriptorID: 109
    *scop.RemoveObjectParent
      ObjectID: 109
      ParentSchemaID: 101
    *scop.RemoveTableComment
      TableID: 109
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 1
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 109
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 109
    *scop.RemoveSequenceOwner
      ColumnID: 2
      OwnedSequenceID: 110
      TableID: 109
    *scop.RemoveOwnerBackReferenceInSequence
      SequenceID: 110
    *scop.MakePublicColumnWriteOnly
      ColumnID: 3
      TableID: 109
    *scop.SetColumnName
      ColumnID: 3
      Name: crdb_internal_column_3_name_placeholder
      TableID: 109
    *scop.RemoveDroppedColumnType
      ColumnID: 3
      TableID: 109
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 109
      TypeIDs:
      - 107
      - 108
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4
      Name: crdb_internal_column_4_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 5
      TableID: 109
    *scop.SetColumnName
      ColumnID: 5
      Name: crdb_internal_column_5_name_placeholder
      TableID: 109
    *scop.RemoveColumnDefaultExpression
      ColumnID: 5
      TableID: 109
    *scop.UpdateTableBackReferencesInSequences
      BackReferencedColumnID: 5
      BackReferencedTableID: 109
      SequenceIDs:
      - 106
    *scop.MakePublicColumnWriteOnly
      ColumnID: 6
      TableID: 109
    *scop.SetColumnName
      ColumnID: 6
      Name: crdb_internal_column_6_name_placeholder
      TableID: 109
    *scop.RemoveColumnDefaultExpression
      ColumnID: 6
      TableID: 109
    *scop.RemoveTableColumnBackReferencesInFunctions
      BackReferencedColumnID: 6
      BackReferencedTableID: 109
      FunctionIDs:
      - 112
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 109
    *scop.MakePublicPrimaryIndexWriteOnly
      IndexID: 1
      TableID: 109
    *scop.SetIndexName
      IndexID: 1
      Name: crdb_internal_index_1_name_placeholder
      TableID: 109
    *scop.RemoveIndexComment
      IndexID: 1
      TableID: 109
    *scop.MakePublicSecondaryIndexWriteOnly
      IndexID: 2
      TableID: 109
    *scop.RemoveCheckConstraint
      ConstraintID: 5
      TableID: 109
    *scop.UpdateTableBackReferencesInSequences
      BackReferencedTableID: 109
      SequenceIDs:
      - 106
    *scop.RemoveTrigger
      Trigger:
        TableID: 109
        TriggerID: 1
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerName
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerEnabled
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerTiming
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerEvents
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerFunctionCall
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 109
      TypeIDs:
      - 107
      - 108
    *scop.RemoveTriggerBackReferencesInRoutines
      BackReferencedTableID: 109
      BackReferencedTriggerID: 1
      RoutineIDs:
      - 113
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 111
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 109
        Name: shipments
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 109
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 109
      User: root
    *scop.RemoveColumnNotNull
      ColumnID: 1
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 3
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 5
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 6
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 109
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 109
    *scop.RemoveColumnDefaultExpression
      ColumnID: 1
      TableID: 109
    *scop.RemoveColumnComment
      ColumnID: 1
      PgAttributeNum: 1
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 109
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 1
      TableID: 109
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 2
      TableID: 109
    *scop.RemoveDroppedIndexPartialPredicate
      IndexID: 2
      TableID: 109
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 109
      TypeIDs:
      - 107
      - 108
    *scop.SetIndexName
      IndexID: 2
      Name: crdb_internal_index_2_name_placeholder
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 1
      Kind: 2
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 1
      Kind: 2
      Ordinal: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 4
      IndexID: 1
      Kind: 2
      Ordinal: 2
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 5
      IndexID: 1
      Kind: 2
      Ordinal: 3
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 6
      IndexID: 1
      Kind: 2
      Ordinal: 4
      TableID: 109
    *scop.MakeIndexAbsent
      IndexID: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 2
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 4
      IndexID: 2
      Ordinal: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 2
      Kind: 1
      TableID: 109
    *scop.MakeIndexAbsent
      IndexID: 2
      TableID: 109
    *scop.AssertColumnFamilyIsRemoved
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 3
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 5
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 6
      TableID: 109
PreCommitPhase stage 1 of 2 with 1 MutationType op
  transitions:
    [[Namespace:{DescID: 109, Name: shipments, ReferencedDescID: 100}, ABSENT], ABSENT] -> PUBLIC
    [[Owner:{DescID: 109}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 109, Name: admin}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 109, Name: root}, ABSENT], ABSENT] -> PUBLIC
    [[Table:{DescID: 109}, ABSENT], DROPPED] -> PUBLIC
    [[SchemaChild:{DescID: 109, ReferencedDescID: 101}, ABSENT], ABSENT] -> PUBLIC
    [[TableComment:{DescID: 109, Comment: shipment is important}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], ABSENT] -> PUBLIC
    [[SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 3}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 4}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 5}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 6}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 4294967295}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 4294967294}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 4294967293}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 109, ColumnID: 4294967292}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[CheckConstraintUnvalidated:{DescID: 109, ConstraintID: 5, ReferencedSequenceIDs: [106]}, ABSENT], ABSENT] -> PUBLIC
    [[ConstraintWithoutIndexName:{DescID: 109, Name: check, ConstraintID: 5}, ABSENT], ABSENT] -> PUBLIC
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], ABSENT] -> PUBLIC
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers, ConstraintID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ConstraintComment:{DescID: 109, ConstraintID: 2, Comment: customer is not god}, ABSENT], ABSENT] -> PUBLIC
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, ABSENT], ABSENT] -> PUBLIC
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_orders, ConstraintID: 3}, ABSENT], ABSENT] -> PUBLIC
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], ABSENT] -> PUBLIC
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers2, ConstraintID: 4}, ABSENT], ABSENT] -> PUBLIC
    [[Trigger:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[TriggerName:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[TriggerEnabled:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[TriggerTiming:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[TriggerEvents:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[TriggerFunctionCall:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[TriggerDeps:{DescID: 109, TriggerID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[Namespace:{DescID: 110, Name: sq1, ReferencedDescID: 100}, ABSENT], ABSENT] -> PUBLIC
    [[Owner:{DescID: 110}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 110, Name: admin}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 110, Name: root}, ABSENT], ABSENT] -> PUBLIC
    [[Sequence:{DescID: 110}, ABSENT], DROPPED] -> PUBLIC
    [[SchemaChild:{DescID: 110, ReferencedDescID: 101}, ABSENT], ABSENT] -> PUBLIC
    [[Namespace:{DescID: 111, Name: v1, ReferencedDescID: 100}, ABSENT], ABSENT] -> PUBLIC
    [[Owner:{DescID: 111}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 111, Name: admin}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 111, Name: root}, ABSENT], ABSENT] -> PUBLIC
    [[View:{DescID: 111}, ABSENT], DROPPED] -> PUBLIC
    [[SchemaChild:{DescID: 111, ReferencedDescID: 101}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 111, ColumnID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 111, ColumnID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 111, ColumnID: 4294967295}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 111, ColumnID: 4294967294}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 111, ColumnID: 4294967293}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 111, ColumnID: 4294967292}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], ABSENT] -> PUBLIC
  ops:
    *scop.UndoAllInTxnImmediateMutationOpSideEffects
      {}
PreCommitPhase stage 2 of 2 with 152 MutationType ops
  transitions:
    [[Namespace:{DescID: 109, Name: shipments, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 109}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 109, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 109, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Table:{DescID: 109}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 109, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[TableComment:{DescID: 109, Comment: shipment is important}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], PUBLIC] -> ABSENT
    [[SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 5}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 6}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 109, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[CheckConstraintUnvalidated:{DescID: 109, ConstraintID: 5, ReferencedSequenceIDs: [106]}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: check, ConstraintID: 5}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintComment:{DescID: 109, ConstraintID: 2, Comment: customer is not god}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_orders, ConstraintID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers2, ConstraintID: 4}, ABSENT], PUBLIC] -> ABSENT
    [[Trigger:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerName:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerEnabled:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerTiming:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerEvents:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerFunctionCall:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[TriggerDeps:{DescID: 109, TriggerID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[Namespace:{DescID: 110, Name: sq1, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 110}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 110, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 110, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Sequence:{DescID: 110}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 110, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[Namespace:{DescID: 111, Name: v1, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 111}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 111, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 111, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[View:{DescID: 111}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 111, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 111, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
  ops:
    *scop.SetConstraintName
      ConstraintID: 5
      Name: crdb_internal_constraint_5_name_placeholder
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 2
      TableID: 109
    *scop.SetConstraintName
      ConstraintID: 2
      Name: crdb_internal_constraint_2_name_placeholder
      TableID: 109
    *scop.RemoveConstraintComment
      ConstraintID: 2
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 3
      TableID: 109
    *scop.SetConstraintName
      ConstraintID: 3
      Name: crdb_internal_constraint_3_name_placeholder
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 4
      TableID: 109
    *scop.SetConstraintName
      ConstraintID: 4
      Name: crdb_internal_constraint_4_name_placeholder
      TableID: 109
    *scop.MarkDescriptorAsDropped
      DescriptorID: 110
    *scop.RemoveObjectParent
      ObjectID: 110
      ParentSchemaID: 101
    *scop.MarkDescriptorAsDropped
      DescriptorID: 111
    *scop.RemoveBackReferencesInRelations
      BackReferencedID: 111
      RelationIDs:
      - 109
    *scop.RemoveObjectParent
      ObjectID: 111
      ParentSchemaID: 101
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 111
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 111
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 111
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 111
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 111
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 2
      OriginTableID: 109
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 2
      TableID: 109
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 3
      OriginTableID: 109
      ReferencedTableID: 105
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 3
      TableID: 109
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 4
      OriginTableID: 109
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 4
      TableID: 109
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 110
        Name: sq1
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 110
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 110
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 110
      User: root
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 111
        Name: v1
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 111
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 111
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 111
      User: root
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 111
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 111
    *scop.MarkDescriptorAsDropped
      DescriptorID: 109
    *scop.RemoveObjectParent
      ObjectID: 109
      ParentSchemaID: 101
    *scop.RemoveTableComment
      TableID: 109
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 1
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 109
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 109
    *scop.RemoveSequenceOwner
      ColumnID: 2
      OwnedSequenceID: 110
      TableID: 109
    *scop.RemoveOwnerBackReferenceInSequence
      SequenceID: 110
    *scop.MakePublicColumnWriteOnly
      ColumnID: 3
      TableID: 109
    *scop.SetColumnName
      ColumnID: 3
      Name: crdb_internal_column_3_name_placeholder
      TableID: 109
    *scop.RemoveDroppedColumnType
      ColumnID: 3
      TableID: 109
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 109
      TypeIDs:
      - 107
      - 108
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4
      Name: crdb_internal_column_4_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 5
      TableID: 109
    *scop.SetColumnName
      ColumnID: 5
      Name: crdb_internal_column_5_name_placeholder
      TableID: 109
    *scop.RemoveColumnDefaultExpression
      ColumnID: 5
      TableID: 109
    *scop.UpdateTableBackReferencesInSequences
      BackReferencedColumnID: 5
      BackReferencedTableID: 109
      SequenceIDs:
      - 106
    *scop.MakePublicColumnWriteOnly
      ColumnID: 6
      TableID: 109
    *scop.SetColumnName
      ColumnID: 6
      Name: crdb_internal_column_6_name_placeholder
      TableID: 109
    *scop.RemoveColumnDefaultExpression
      ColumnID: 6
      TableID: 109
    *scop.RemoveTableColumnBackReferencesInFunctions
      BackReferencedColumnID: 6
      BackReferencedTableID: 109
      FunctionIDs:
      - 112
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 109
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 109
    *scop.MakePublicPrimaryIndexWriteOnly
      IndexID: 1
      TableID: 109
    *scop.SetIndexName
      IndexID: 1
      Name: crdb_internal_index_1_name_placeholder
      TableID: 109
    *scop.RemoveIndexComment
      IndexID: 1
      TableID: 109
    *scop.MakePublicSecondaryIndexWriteOnly
      IndexID: 2
      TableID: 109
    *scop.RemoveCheckConstraint
      ConstraintID: 5
      TableID: 109
    *scop.UpdateTableBackReferencesInSequences
      BackReferencedTableID: 109
      SequenceIDs:
      - 106
    *scop.RemoveTrigger
      Trigger:
        TableID: 109
        TriggerID: 1
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerName
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerEnabled
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerTiming
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerEvents
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.TriggerFunctionCall
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 109
      TypeIDs:
      - 107
      - 108
    *scop.RemoveTriggerBackReferencesInRoutines
      BackReferencedTableID: 109
      BackReferencedTriggerID: 1
      RoutineIDs:
      - 113
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 111
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 111
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 109
        Name: shipments
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 109
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 109
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 109
      User: root
    *scop.RemoveColumnNotNull
      ColumnID: 1
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 3
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 5
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 6
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 109
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 109
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 109
    *scop.RemoveColumnDefaultExpression
      ColumnID: 1
      TableID: 109
    *scop.RemoveColumnComment
      ColumnID: 1
      PgAttributeNum: 1
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 109
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 1
      TableID: 109
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 2
      TableID: 109
    *scop.RemoveDroppedIndexPartialPredicate
      IndexID: 2
      TableID: 109
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 109
      TypeIDs:
      - 107
      - 108
    *scop.SetIndexName
      IndexID: 2
      Name: crdb_internal_index_2_name_placeholder
      TableID: 109
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 1
      Kind: 2
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 1
      Kind: 2
      Ordinal: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 4
      IndexID: 1
      Kind: 2
      Ordinal: 2
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 5
      IndexID: 1
      Kind: 2
      Ordinal: 3
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 6
      IndexID: 1
      Kind: 2
      Ordinal: 4
      TableID: 109
    *scop.MakeIndexAbsent
      IndexID: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 2
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 4
      IndexID: 2
      Ordinal: 1
      TableID: 109
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 2
      Kind: 1
      TableID: 109
    *scop.MakeIndexAbsent
      IndexID: 2
      TableID: 109
    *scop.AssertColumnFamilyIsRemoved
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 3
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 5
      TableID: 109
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 6
      TableID: 109
    *scop.SetJobStateOnDescriptor
      DescriptorID: 104
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 105
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 106
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 107
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 108
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 109
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 110
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 111
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 112
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 113
      Initialize: true
    *scop.CreateSchemaChangerJob
      Authorization:
        AppName: $ internal-test
        UserName: root
      DescriptorIDs:
      - 104
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
      - 112
      - 113
      JobID: 1
      NonCancelable: true
      RunningStatus: PostCommitNonRevertiblePhase stage 1 of 1 with 5 MutationType ops pending
      Statements:
      - statement: DROP TABLE defaultdb.shipments CASCADE
        redactedstatement: DROP TABLE ‹defaultdb›.public.‹shipments› CASCADE
        statementtag: DROP TABLE
PostCommitNonRevertiblePhase stage 1 of 1 with 16 MutationType ops
  transitions:
    [[Table:{DescID: 109}, ABSENT], DROPPED] -> ABSENT
    [[IndexData:{DescID: 109, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexData:{DescID: 109, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[TableData:{DescID: 109, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Sequence:{DescID: 110}, ABSENT], DROPPED] -> ABSENT
    [[TableData:{DescID: 110, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[View:{DescID: 111}, ABSENT], DROPPED] -> ABSENT
  ops:
    *scop.CreateGCJobForTable
      DatabaseID: 100
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.shipments CASCADE
      TableID: 109
    *scop.CreateGCJobForTable
      DatabaseID: 100
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.shipments CASCADE
      TableID: 110
    *scop.DeleteDescriptor
      DescriptorID: 111
    *scop.CreateGCJobForIndex
      IndexID: 1
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.shipments CASCADE
      TableID: 109
    *scop.CreateGCJobForIndex
      IndexID: 2
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.shipments CASCADE
      TableID: 109
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 104
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 105
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 106
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 107
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 108
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 109
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 110
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 111
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 112
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 113
      JobID: 1
    *scop.UpdateSchemaChangerJob
      DescriptorIDsToRemove:
      - 104
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
      - 112
      - 113
      IsNonCancelable: true
      JobID: 1

deps
DROP TABLE defaultdb.shipments CASCADE;
----
- from: [CheckConstraintUnvalidated:{DescID: 109, ConstraintID: 5, ReferencedSequenceIDs: [106]}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 2}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 2}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 2}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 2}, WRITE_ONLY]
  to:   [SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 3}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 3}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 3}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 3}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 3}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967292}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 4294967292}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967292}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967293}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 4294967293}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967293}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967294}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 4294967294}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967294}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967295}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 4294967295}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4294967295}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 4}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 4}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 5}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 5}, WRITE_ONLY]
  to:   [ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 5}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 5}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 5}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 6}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 109, ColumnID: 6}, WRITE_ONLY]
  to:   [ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 6}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 6}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 109, ColumnID: 6}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 1}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 111, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 2}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 111, ColumnID: 2}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 2}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967292}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 111, ColumnID: 4294967292}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967292}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967293}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 111, ColumnID: 4294967293}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967293}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967294}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 111, ColumnID: 4294967294}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967294}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967295}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 111, ColumnID: 4294967295}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 111, ColumnID: 4294967295}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT]
  kind: SameStagePrecedence
  rule: column type dependents removed right before column type, except if part of a column type alteration 
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 5}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT]
  kind: SameStagePrecedence
  rule: column type dependents removed right before column type, except if part of a column type alteration 
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 6}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT]
  kind: SameStagePrecedence
  rule: column type dependents removed right before column type, except if part of a column type alteration 
- from: [ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 5}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 3}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 6}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  kind: Precedence
  rule: column constraint removed right before column reaches write only
- from: [ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 5}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 6}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 3}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [Column:{DescID: 111, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ConstraintComment:{DescID: 109, ConstraintID: 2, Comment: customer is not god}, ABSENT]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  kind: Precedence
  rule: dependents removed before constraint
- from: [ConstraintComment:{DescID: 109, ConstraintID: 2, Comment: customer is not god}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: check, ConstraintID: 5}, ABSENT]
  to:   [CheckConstraintUnvalidated:{DescID: 109, ConstraintID: 5, ReferencedSequenceIDs: [106]}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: check, ConstraintID: 5}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers, ConstraintID: 2}, ABSENT]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers, ConstraintID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers2, ConstraintID: 4}, ABSENT]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers2, ConstraintID: 4}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: fk_orders, ConstraintID: 3}, ABSENT]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [ConstraintWithoutIndexName:{DescID: 109, Name: fk_orders, ConstraintID: 3}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 109}, DROPPED]
  kind: Precedence
  rule: cross-descriptor constraint is absent before referencing descriptor is dropped
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  to:   [ConstraintComment:{DescID: 109, ConstraintID: 2, Comment: customer is not god}, ABSENT]
  kind: Precedence
  rule: constraint no longer public before dependents
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  to:   [ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers, ConstraintID: 2}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, ABSENT]
  to:   [Table:{DescID: 109}, DROPPED]
  kind: Precedence
  rule: cross-descriptor constraint is absent before referencing descriptor is dropped
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [2], ReferencedDescID: 105}, VALIDATED]
  to:   [ConstraintWithoutIndexName:{DescID: 109, Name: fk_orders, ConstraintID: 3}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 109}, DROPPED]
  kind: Precedence
  rule: cross-descriptor constraint is absent before referencing descriptor is dropped
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  to:   [ConstraintWithoutIndexName:{DescID: 109, Name: fk_customers2, ConstraintID: 4}, ABSENT]
  kind: Precedence
  rule: Constraint should be hidden before name
- from: [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 3}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 3}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 4}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 5}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 6}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexData:{DescID: 109, IndexID: 1}, DROPPED]
  to:   [IndexData:{DescID: 109, IndexID: 2}, DROPPED]
  kind: SameStagePrecedence
  rule: schedule all GC jobs for a descriptor in the same stage
- from: [IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Namespace:{DescID: 109, Name: shipments, ReferencedDescID: 100}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Namespace:{DescID: 110, Name: sq1, ReferencedDescID: 100}, ABSENT]
  to:   [Sequence:{DescID: 110}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Namespace:{DescID: 111, Name: v1, ReferencedDescID: 100}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Owner:{DescID: 109}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Owner:{DescID: 110}, ABSENT]
  to:   [Sequence:{DescID: 110}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Owner:{DescID: 111}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  to:   [IndexData:{DescID: 109, IndexID: 1}, DROPPED]
  kind: Precedence
  rule: index removed before garbage collection
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, VALIDATED]
  to:   [IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT]
  kind: Precedence
  rule: index no longer public before dependents, excluding columns
- from: [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, VALIDATED]
  to:   [IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index no longer public before dependents, excluding columns
- from: [SchemaChild:{DescID: 109, ReferencedDescID: 101}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [SchemaChild:{DescID: 110, ReferencedDescID: 101}, ABSENT]
  to:   [Sequence:{DescID: 110}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [SchemaChild:{DescID: 111, ReferencedDescID: 101}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT]
  to:   [IndexData:{DescID: 109, IndexID: 2}, DROPPED]
  kind: Precedence
  rule: index removed before garbage collection
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index no longer public before index name
- from: [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, VALIDATED]
  to:   [IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index no longer public before dependents, excluding columns
- from: [Sequence:{DescID: 110}, ABSENT]
  to:   [TableData:{DescID: 110, ReferencedDescID: 100}, DROPPED]
  kind: SameStagePrecedence
  rule: table removed right before garbage collection
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [Namespace:{DescID: 110, Name: sq1, ReferencedDescID: 100}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [Owner:{DescID: 110}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [SchemaChild:{DescID: 110, ReferencedDescID: 101}, ABSENT]
  kind: SameStagePrecedence
  rules: [descriptor dropped before dependent element removal; descriptor dropped right before removing back-reference in its parent descriptor]
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [Sequence:{DescID: 110}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: descriptor dropped in transaction before removal
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT]
  kind: SameStagePrecedence
  rule: descriptor drop right before removing dependent with attr ref
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [UserPrivileges:{DescID: 110, Name: admin}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Sequence:{DescID: 110}, DROPPED]
  to:   [UserPrivileges:{DescID: 110, Name: root}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT]
  to:   [Column:{DescID: 109, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: SameStagePrecedence
  rule: column type dependents removed right before column type, except if part of a column type alteration 
- from: [SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Table:{DescID: 109}, ABSENT]
  to:   [TableData:{DescID: 109, ReferencedDescID: 100}, DROPPED]
  kind: SameStagePrecedence
  rule: table removed right before garbage collection
- from: [Table:{DescID: 109}, DROPPED]
  to:   [CheckConstraintUnvalidated:{DescID: 109, ConstraintID: 5, ReferencedSequenceIDs: [106]}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 1}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 2}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 3}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 4294967292}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 4294967293}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 4294967294}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 4294967295}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 4}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 5}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Column:{DescID: 109, ColumnID: 6}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnComment:{DescID: 109, ColumnID: 1, Comment: tracking_number is a must}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnDefaultExpression:{DescID: 109, ColumnID: 1, Expr: gen_random_uuid()}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnDefaultExpression:{DescID: 109, ColumnID: 5, ReferencedSequenceIDs: [106], Expr: nextval(106:::REGCLASS)}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnDefaultExpression:{DescID: 109, ColumnID: 6, Expr: [FUNCTION 100112](), ReferencedFunctionIDs: [112]}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnFamily:{DescID: 109, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: carrier, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: customer_id, ColumnID: 4}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: randcol, ColumnID: 5}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: status, ColumnID: 3}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: tracking_number, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnName:{DescID: 109, Name: udfcol, ColumnID: 6}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnNotNull:{DescID: 109, ColumnID: 1, IndexID: 0}, VALIDATED]
  kind: Precedence
  rule: relation dropped before dependent constraint
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 1, TypeName: UUID}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 5, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ColumnFamilyID: 0, ColumnID: 6, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [ColumnType:{DescID: 109, ReferencedTypeIDs: [107 108], ColumnFamilyID: 0, ColumnID: 3, TypeName: public.status_type}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 1, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 2, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 3, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 4, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 5, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexColumn:{DescID: 109, ColumnID: 6, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexComment:{DescID: 109, IndexID: 1, Comment: pkey is good}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexName:{DescID: 109, Name: partialidx, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [IndexName:{DescID: 109, Name: shipments_pkey, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Namespace:{DescID: 109, Name: shipments, ReferencedDescID: 100}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Owner:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [PrimaryIndex:{DescID: 109, IndexID: 1, ConstraintID: 1}, VALIDATED]
  kind: Precedence
  rule: relation dropped before dependent index
- from: [Table:{DescID: 109}, DROPPED]
  to:   [SchemaChild:{DescID: 109, ReferencedDescID: 101}, ABSENT]
  kind: SameStagePrecedence
  rules: [descriptor dropped before dependent element removal; descriptor dropped right before removing back-reference in its parent descriptor]
- from: [Table:{DescID: 109}, DROPPED]
  to:   [SecondaryIndex:{DescID: 109, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, VALIDATED]
  kind: Precedence
  rule: relation dropped before dependent index
- from: [Table:{DescID: 109}, DROPPED]
  to:   [SequenceOwner:{DescID: 109, ColumnID: 2, ReferencedDescID: 110}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: descriptor dropped in transaction before removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TableComment:{DescID: 109, Comment: shipment is important}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TriggerDeps:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TriggerEnabled:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TriggerEvents:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TriggerFunctionCall:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TriggerName:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [TriggerTiming:{DescID: 109, TriggerID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [UserPrivileges:{DescID: 109, Name: admin}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 109}, DROPPED]
  to:   [UserPrivileges:{DescID: 109, Name: root}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [TableComment:{DescID: 109, Comment: shipment is important}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TableData:{DescID: 109, ReferencedDescID: 100}, DROPPED]
  to:   [IndexData:{DescID: 109, IndexID: 1}, DROPPED]
  kind: SameStagePrecedence
  rule: schedule all GC jobs for a descriptor in the same stage
- from: [TableData:{DescID: 109, ReferencedDescID: 100}, DROPPED]
  to:   [IndexData:{DescID: 109, IndexID: 2}, DROPPED]
  kind: SameStagePrecedence
  rule: schedule all GC jobs for a descriptor in the same stage
- from: [Trigger:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerDeps:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerDeps:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, PUBLIC]
  kind: Precedence
  rule: trigger removed before dependents
- from: [TriggerEnabled:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerEnabled:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, PUBLIC]
  kind: Precedence
  rule: trigger removed before dependents
- from: [TriggerEvents:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerEvents:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, PUBLIC]
  kind: Precedence
  rule: trigger removed before dependents
- from: [TriggerFunctionCall:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerFunctionCall:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, PUBLIC]
  kind: Precedence
  rule: trigger removed before dependents
- from: [TriggerName:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerName:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, PUBLIC]
  kind: Precedence
  rule: trigger removed before dependents
- from: [TriggerTiming:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [TriggerTiming:{DescID: 109, TriggerID: 1}, ABSENT]
  to:   [Trigger:{DescID: 109, TriggerID: 1}, PUBLIC]
  kind: Precedence
  rule: trigger removed before dependents
- from: [UserPrivileges:{DescID: 109, Name: admin}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [UserPrivileges:{DescID: 109, Name: root}, ABSENT]
  to:   [Table:{DescID: 109}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [UserPrivileges:{DescID: 110, Name: admin}, ABSENT]
  to:   [Sequence:{DescID: 110}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [UserPrivileges:{DescID: 110, Name: root}, ABSENT]
  to:   [Sequence:{DescID: 110}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [UserPrivileges:{DescID: 111, Name: admin}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [UserPrivileges:{DescID: 111, Name: root}, ABSENT]
  to:   [View:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [View:{DescID: 111}, DROPPED]
  to:   [Column:{DescID: 111, ColumnID: 1}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [View:{DescID: 111}, DROPPED]
  to:   [Column:{DescID: 111, ColumnID: 2}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [View:{DescID: 111}, DROPPED]
  to:   [Column:{DescID: 111, ColumnID: 4294967292}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [View:{DescID: 111}, DROPPED]
  to:   [Column:{DescID: 111, ColumnID: 4294967293}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [View:{DescID: 111}, DROPPED]
  to:   [Column:{DescID: 111, ColumnID: 4294967294}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [View:{DescID: 111}, DROPPED]
  to:   [Column:{DescID: 111, ColumnID: 4294967295}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnName:{DescID: 111, Name: carrier, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnName:{DescID: 111, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnName:{DescID: 111, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnName:{DescID: 111, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnName:{DescID: 111, Name: customer_id, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnName:{DescID: 111, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [ColumnType:{DescID: 111, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [Namespace:{DescID: 111, Name: v1, ReferencedDescID: 100}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [Owner:{DescID: 111}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [SchemaChild:{DescID: 111, ReferencedDescID: 101}, ABSENT]
  kind: SameStagePrecedence
  rules: [descriptor dropped before dependent element removal; descriptor dropped right before removing back-reference in its parent descriptor]
- from: [View:{DescID: 111}, DROPPED]
  to:   [UserPrivileges:{DescID: 111, Name: admin}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [UserPrivileges:{DescID: 111, Name: root}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [View:{DescID: 111}, DROPPED]
  to:   [View:{DescID: 111}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: descriptor dropped in transaction before removal

ops
DROP TABLE defaultdb.customers CASCADE;
----
StatementPhase stage 1 of 1 with 3 MutationType ops
  transitions:
    [[ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> VALIDATED
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> VALIDATED
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> VALIDATED
  ops:
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 3
      TableID: 105
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 2
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 4
      TableID: 109
PreCommitPhase stage 1 of 2 with 1 MutationType op
  transitions:
    [[ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], VALIDATED] -> PUBLIC
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], VALIDATED] -> PUBLIC
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], VALIDATED] -> PUBLIC
  ops:
    *scop.UndoAllInTxnImmediateMutationOpSideEffects
      {}
PreCommitPhase stage 2 of 2 with 7 MutationType ops
  transitions:
    [[ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> VALIDATED
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> VALIDATED
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], PUBLIC] -> VALIDATED
  ops:
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 3
      TableID: 105
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 2
      TableID: 109
    *scop.MakePublicForeignKeyConstraintValidated
      ConstraintID: 4
      TableID: 109
    *scop.SetJobStateOnDescriptor
      DescriptorID: 104
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 105
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 109
      Initialize: true
    *scop.CreateSchemaChangerJob
      Authorization:
        AppName: $ internal-test
        UserName: root
      DescriptorIDs:
      - 104
      - 105
      - 109
      JobID: 1
      NonCancelable: true
      RunningStatus: PostCommitNonRevertiblePhase stage 1 of 2 with 51 MutationType ops pending
      Statements:
      - statement: DROP TABLE defaultdb.customers CASCADE
        redactedstatement: DROP TABLE ‹defaultdb›.public.‹customers› CASCADE
        statementtag: DROP TABLE
PostCommitNonRevertiblePhase stage 1 of 2 with 55 MutationType ops
  transitions:
    [[Namespace:{DescID: 104, Name: customers, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 104}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 104, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 104, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Table:{DescID: 104}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 104, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 104, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 104, Name: id, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 104, ColumnID: 1, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 104, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 104, Name: email, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 104, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 104, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 104, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 104, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 104, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 104, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 104, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 104, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 104, Name: customers_pkey, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 104, Name: customers_email_key, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], VALIDATED] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], VALIDATED] -> ABSENT
    [[ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT], VALIDATED] -> ABSENT
  ops:
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 3
      OriginTableID: 105
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 3
      TableID: 105
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 2
      OriginTableID: 109
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 2
      TableID: 109
    *scop.RemoveForeignKeyBackReference
      OriginConstraintID: 4
      OriginTableID: 109
      ReferencedTableID: 104
    *scop.RemoveForeignKeyConstraint
      ConstraintID: 4
      TableID: 109
    *scop.MarkDescriptorAsDropped
      DescriptorID: 104
    *scop.RemoveObjectParent
      ObjectID: 104
      ParentSchemaID: 101
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 1
      TableID: 104
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 104
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 104
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 104
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 104
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 104
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 104
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 104
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 104
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 104
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 104
    *scop.MakePublicPrimaryIndexWriteOnly
      IndexID: 1
      TableID: 104
    *scop.SetIndexName
      IndexID: 1
      Name: crdb_internal_index_1_name_placeholder
      TableID: 104
    *scop.MakePublicSecondaryIndexWriteOnly
      IndexID: 2
      TableID: 104
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 104
        Name: customers
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 104
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 104
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 104
      User: root
    *scop.RemoveColumnNotNull
      ColumnID: 1
      TableID: 104
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 104
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 104
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 104
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 104
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 104
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 104
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 104
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 104
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 104
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 104
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 104
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 1
      TableID: 104
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 2
      TableID: 104
    *scop.SetIndexName
      IndexID: 2
      Name: crdb_internal_index_2_name_placeholder
      TableID: 104
    *scop.AssertColumnFamilyIsRemoved
      TableID: 104
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 104
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 1
      TableID: 104
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 1
      Kind: 2
      TableID: 104
    *scop.MakeIndexAbsent
      IndexID: 1
      TableID: 104
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 2
      TableID: 104
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 2
      Kind: 1
      TableID: 104
    *scop.MakeIndexAbsent
      IndexID: 2
      TableID: 104
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 104
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 104
    *scop.SetJobStateOnDescriptor
      DescriptorID: 104
    *scop.SetJobStateOnDescriptor
      DescriptorID: 105
    *scop.SetJobStateOnDescriptor
      DescriptorID: 109
    *scop.UpdateSchemaChangerJob
      IsNonCancelable: true
      JobID: 1
PostCommitNonRevertiblePhase stage 2 of 2 with 7 MutationType ops
  transitions:
    [[Table:{DescID: 104}, ABSENT], DROPPED] -> ABSENT
    [[IndexData:{DescID: 104, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexData:{DescID: 104, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[TableData:{DescID: 104, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
  ops:
    *scop.CreateGCJobForTable
      DatabaseID: 100
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.customers CASCADE
      TableID: 104
    *scop.CreateGCJobForIndex
      IndexID: 1
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.customers CASCADE
      TableID: 104
    *scop.CreateGCJobForIndex
      IndexID: 2
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.customers CASCADE
      TableID: 104
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 104
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 105
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 109
      JobID: 1
    *scop.UpdateSchemaChangerJob
      DescriptorIDsToRemove:
      - 104
      - 105
      - 109
      IsNonCancelable: true
      JobID: 1

deps
DROP TABLE defaultdb.customers CASCADE;
----
- from: [Column:{DescID: 104, ColumnID: 1}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 104, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 104, Name: id, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 1}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 1}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 1}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 2}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 104, ColumnID: 2}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 104, Name: email, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 2}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 2}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 2}, WRITE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967292}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 104, ColumnID: 4294967292}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 104, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967292}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967293}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 104, ColumnID: 4294967293}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 104, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967293}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967294}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 104, ColumnID: 4294967294}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 104, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967294}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967295}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Column:{DescID: 104, ColumnID: 4294967295}, WRITE_ONLY]
  to:   [ColumnName:{DescID: 104, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [Column:{DescID: 104, ColumnID: 4294967295}, WRITE_ONLY]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: column no longer public before dependents
- from: [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 104, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 104, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 104, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 104, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 104, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 104, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 104, Name: email, ColumnID: 2}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 104, Name: email, ColumnID: 2}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 104, Name: id, ColumnID: 1}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 104, Name: id, ColumnID: 1}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnName:{DescID: 104, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnName:{DescID: 104, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnNotNull:{DescID: 104, ColumnID: 1, IndexID: 0}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnNotNull:{DescID: 104, ColumnID: 1, IndexID: 0}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 1}, WRITE_ONLY]
  kind: Precedence
  rule: column constraint removed right before column reaches write only
- from: [ColumnNotNull:{DescID: 104, ColumnID: 1, IndexID: 0}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: column type removed before column family
- from: [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 104}, DROPPED]
  kind: Precedence
  rule: cross-descriptor constraint is absent before referenced descriptor is dropped
- from: [ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, PUBLIC]
  to:   [ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  kind: PreviousTransactionPrecedence
  rule: ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED
- from: [ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  to:   [ForeignKeyConstraint:{DescID: 105, IndexID: 0, ConstraintID: 3, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 104}, DROPPED]
  kind: Precedence
  rule: cross-descriptor constraint is absent before referenced descriptor is dropped
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, PUBLIC]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  kind: PreviousTransactionPrecedence
  rule: ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 2, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  to:   [Table:{DescID: 104}, DROPPED]
  kind: Precedence
  rule: cross-descriptor constraint is absent before referenced descriptor is dropped
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, PUBLIC]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  kind: PreviousTransactionPrecedence
  rule: ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED
- from: [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, VALIDATED]
  to:   [ForeignKeyConstraint:{DescID: 109, IndexID: 0, ConstraintID: 4, ReferencedColumnIDs: [1], ReferencedDescID: 104}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT
- from: [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT]
  to:   [Column:{DescID: 104, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before column
- from: [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexData:{DescID: 104, IndexID: 1}, DROPPED]
  to:   [IndexData:{DescID: 104, IndexID: 2}, DROPPED]
  kind: SameStagePrecedence
  rule: schedule all GC jobs for a descriptor in the same stage
- from: [IndexName:{DescID: 104, Name: customers_email_key, IndexID: 2}, ABSENT]
  to:   [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexName:{DescID: 104, Name: customers_email_key, IndexID: 2}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [IndexName:{DescID: 104, Name: customers_pkey, IndexID: 1}, ABSENT]
  to:   [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, ABSENT]
  kind: Precedence
  rule: dependents removed before index
- from: [IndexName:{DescID: 104, Name: customers_pkey, IndexID: 1}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Namespace:{DescID: 104, Name: customers, ReferencedDescID: 100}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [Owner:{DescID: 104}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, ABSENT]
  to:   [IndexData:{DescID: 104, IndexID: 1}, DROPPED]
  kind: Precedence
  rule: index removed before garbage collection
- from: [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, VALIDATED]
  to:   [IndexName:{DescID: 104, Name: customers_pkey, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: index no longer public before dependents, excluding columns
- from: [SchemaChild:{DescID: 104, ReferencedDescID: 101}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, ABSENT]
  to:   [IndexData:{DescID: 104, IndexID: 2}, DROPPED]
  kind: Precedence
  rule: index removed before garbage collection
- from: [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index drop mutation visible before cleaning up index columns
- from: [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, DELETE_ONLY]
  to:   [IndexName:{DescID: 104, Name: customers_email_key, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index no longer public before index name
- from: [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, VALIDATED]
  to:   [IndexName:{DescID: 104, Name: customers_email_key, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: index no longer public before dependents, excluding columns
- from: [Table:{DescID: 104}, ABSENT]
  to:   [TableData:{DescID: 104, ReferencedDescID: 100}, DROPPED]
  kind: SameStagePrecedence
  rule: table removed right before garbage collection
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Column:{DescID: 104, ColumnID: 1}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Column:{DescID: 104, ColumnID: 2}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Column:{DescID: 104, ColumnID: 4294967292}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Column:{DescID: 104, ColumnID: 4294967293}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Column:{DescID: 104, ColumnID: 4294967294}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Column:{DescID: 104, ColumnID: 4294967295}, WRITE_ONLY]
  kind: Precedence
  rule: relation dropped before dependent column
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnFamily:{DescID: 104, Name: primary, ColumnFamilyID: 0}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnName:{DescID: 104, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnName:{DescID: 104, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnName:{DescID: 104, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnName:{DescID: 104, Name: email, ColumnID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnName:{DescID: 104, Name: id, ColumnID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnName:{DescID: 104, Name: tableoid, ColumnID: 4294967294}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnNotNull:{DescID: 104, ColumnID: 1, IndexID: 0}, VALIDATED]
  kind: Precedence
  rule: relation dropped before dependent constraint
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 1, TypeName: INT8}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 2, TypeName: STRING}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [ColumnType:{DescID: 104, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [IndexColumn:{DescID: 104, ColumnID: 1, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [IndexColumn:{DescID: 104, ColumnID: 2, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [IndexName:{DescID: 104, Name: customers_email_key, IndexID: 2}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [IndexName:{DescID: 104, Name: customers_pkey, IndexID: 1}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Namespace:{DescID: 104, Name: customers, ReferencedDescID: 100}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Owner:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [PrimaryIndex:{DescID: 104, IndexID: 1, ConstraintID: 2}, VALIDATED]
  kind: Precedence
  rule: relation dropped before dependent index
- from: [Table:{DescID: 104}, DROPPED]
  to:   [SchemaChild:{DescID: 104, ReferencedDescID: 101}, ABSENT]
  kind: SameStagePrecedence
  rules: [descriptor dropped before dependent element removal; descriptor dropped right before removing back-reference in its parent descriptor]
- from: [Table:{DescID: 104}, DROPPED]
  to:   [SecondaryIndex:{DescID: 104, IndexID: 2, ConstraintID: 1, RecreateSourceIndexID: 0}, VALIDATED]
  kind: Precedence
  rule: relation dropped before dependent index
- from: [Table:{DescID: 104}, DROPPED]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: PreviousTransactionPrecedence
  rule: descriptor dropped in transaction before removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [UserPrivileges:{DescID: 104, Name: admin}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [Table:{DescID: 104}, DROPPED]
  to:   [UserPrivileges:{DescID: 104, Name: root}, ABSENT]
  kind: Precedence
  rule: descriptor dropped before dependent element removal
- from: [TableData:{DescID: 104, ReferencedDescID: 100}, DROPPED]
  to:   [IndexData:{DescID: 104, IndexID: 1}, DROPPED]
  kind: SameStagePrecedence
  rule: schedule all GC jobs for a descriptor in the same stage
- from: [TableData:{DescID: 104, ReferencedDescID: 100}, DROPPED]
  to:   [IndexData:{DescID: 104, IndexID: 2}, DROPPED]
  kind: SameStagePrecedence
  rule: schedule all GC jobs for a descriptor in the same stage
- from: [UserPrivileges:{DescID: 104, Name: admin}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor
- from: [UserPrivileges:{DescID: 104, Name: root}, ABSENT]
  to:   [Table:{DescID: 104}, ABSENT]
  kind: Precedence
  rule: non-data dependents removed before descriptor

setup
CREATE TYPE defaultdb.greeting AS ENUM ('hello');
CREATE TABLE defaultdb.greeter (
  x BOOL DEFAULT ('hello'::defaultdb.greeting = 'hello'::defaultdb.greeting),
  y defaultdb.greeting NOT NULL,
  CHECK ('hello'::defaultdb.greeting::string = 'hello'),
  INDEX i(y) WHERE ('hello' = y)
);
----

ops
DROP TABLE defaultdb.greeter
----
StatementPhase stage 1 of 1 with 63 MutationType ops
  transitions:
    [[Namespace:{DescID: 116, Name: greeter, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 116}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 116, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 116, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Table:{DescID: 116}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 116, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnFamily:{DescID: 116, Name: primary, ColumnFamilyID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: x, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 1, TypeName: BOOL}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 116, ReferencedTypeIDs: [114 115], ColumnID: 1, Expr: x'80':::@100114 = x'80':::@100114}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: y, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ReferencedTypeIDs: [114 115], ColumnFamilyID: 0, ColumnID: 2, TypeName: public.greeting}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 116, ColumnID: 2, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: rowid, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 3, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 116, ColumnID: 3, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 116, ColumnID: 3, Expr: unique_rowid()}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 3, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 1, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 2, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[PrimaryIndex:{DescID: 116, IndexID: 1, ConstraintID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 116, Name: greeter_pkey, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 2, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 3, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[SecondaryIndex:{DescID: 116, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 116, Name: i, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[CheckConstraint:{DescID: 116, ReferencedTypeIDs: [114 115], IndexID: 0, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 116, Name: check, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
  ops:
    *scop.MakePublicCheckConstraintValidated
      ConstraintID: 2
      TableID: 116
    *scop.SetConstraintName
      ConstraintID: 2
      Name: crdb_internal_constraint_2_name_placeholder
      TableID: 116
    *scop.RemoveCheckConstraint
      ConstraintID: 2
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.MarkDescriptorAsDropped
      DescriptorID: 116
    *scop.RemoveObjectParent
      ObjectID: 116
      ParentSchemaID: 101
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 116
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 116
    *scop.RemoveColumnDefaultExpression
      ColumnID: 1
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 2
      TableID: 116
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 3
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 116
    *scop.MakePublicPrimaryIndexWriteOnly
      IndexID: 1
      TableID: 116
    *scop.SetIndexName
      IndexID: 1
      Name: crdb_internal_index_1_name_placeholder
      TableID: 116
    *scop.MakePublicSecondaryIndexWriteOnly
      IndexID: 2
      TableID: 116
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 116
        Name: greeter
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 116
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 116
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 116
      User: root
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 116
    *scop.RemoveColumnNotNull
      ColumnID: 2
      TableID: 116
    *scop.RemoveColumnNotNull
      ColumnID: 3
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 116
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 116
    *scop.RemoveDroppedColumnType
      ColumnID: 2
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.MakePublicColumnWriteOnly
      ColumnID: 3
      TableID: 116
    *scop.SetColumnName
      ColumnID: 3
      Name: crdb_internal_column_3_name_placeholder
      TableID: 116
    *scop.RemoveColumnDefaultExpression
      ColumnID: 3
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 116
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 1
      TableID: 116
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 2
      TableID: 116
    *scop.RemoveDroppedIndexPartialPredicate
      IndexID: 2
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.SetIndexName
      IndexID: 2
      Name: crdb_internal_index_2_name_placeholder
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 3
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 1
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 1
      Kind: 2
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 1
      Kind: 2
      Ordinal: 1
      TableID: 116
    *scop.MakeIndexAbsent
      IndexID: 1
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 2
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 2
      Kind: 1
      TableID: 116
    *scop.MakeIndexAbsent
      IndexID: 2
      TableID: 116
    *scop.AssertColumnFamilyIsRemoved
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 3
      TableID: 116
PreCommitPhase stage 1 of 2 with 1 MutationType op
  transitions:
    [[Namespace:{DescID: 116, Name: greeter, ReferencedDescID: 100}, ABSENT], ABSENT] -> PUBLIC
    [[Owner:{DescID: 116}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 116, Name: admin}, ABSENT], ABSENT] -> PUBLIC
    [[UserPrivileges:{DescID: 116, Name: root}, ABSENT], ABSENT] -> PUBLIC
    [[Table:{DescID: 116}, ABSENT], DROPPED] -> PUBLIC
    [[SchemaChild:{DescID: 116, ReferencedDescID: 101}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnFamily:{DescID: 116, Name: primary, ColumnFamilyID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: x, ColumnID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 1, TypeName: BOOL}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnDefaultExpression:{DescID: 116, ReferencedTypeIDs: [114 115], ColumnID: 1, Expr: x'80':::@100114 = x'80':::@100114}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: y, ColumnID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ReferencedTypeIDs: [114 115], ColumnFamilyID: 0, ColumnID: 2, TypeName: public.greeting}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnNotNull:{DescID: 116, ColumnID: 2, IndexID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 3}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: rowid, ColumnID: 3}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 3, TypeName: INT8}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnNotNull:{DescID: 116, ColumnID: 3, IndexID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnDefaultExpression:{DescID: 116, ColumnID: 3, Expr: unique_rowid()}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 4294967295}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 4294967294}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: tableoid, ColumnID: 4294967294}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 4294967293}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], ABSENT] -> PUBLIC
    [[Column:{DescID: 116, ColumnID: 4294967292}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnName:{DescID: 116, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], ABSENT] -> PUBLIC
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 116, ColumnID: 3, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 116, ColumnID: 1, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 116, ColumnID: 2, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[PrimaryIndex:{DescID: 116, IndexID: 1, ConstraintID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexName:{DescID: 116, Name: greeter_pkey, IndexID: 1}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 116, ColumnID: 2, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[IndexColumn:{DescID: 116, ColumnID: 3, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[SecondaryIndex:{DescID: 116, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT], ABSENT] -> PUBLIC
    [[IndexName:{DescID: 116, Name: i, IndexID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[CheckConstraint:{DescID: 116, ReferencedTypeIDs: [114 115], IndexID: 0, ConstraintID: 2}, ABSENT], ABSENT] -> PUBLIC
    [[ConstraintWithoutIndexName:{DescID: 116, Name: check, ConstraintID: 2}, ABSENT], ABSENT] -> PUBLIC
  ops:
    *scop.UndoAllInTxnImmediateMutationOpSideEffects
      {}
PreCommitPhase stage 2 of 2 with 67 MutationType ops
  transitions:
    [[Namespace:{DescID: 116, Name: greeter, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
    [[Owner:{DescID: 116}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 116, Name: admin}, ABSENT], PUBLIC] -> ABSENT
    [[UserPrivileges:{DescID: 116, Name: root}, ABSENT], PUBLIC] -> ABSENT
    [[Table:{DescID: 116}, ABSENT], PUBLIC] -> DROPPED
    [[SchemaChild:{DescID: 116, ReferencedDescID: 101}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnFamily:{DescID: 116, Name: primary, ColumnFamilyID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: x, ColumnID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 1, TypeName: BOOL}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 116, ReferencedTypeIDs: [114 115], ColumnID: 1, Expr: x'80':::@100114 = x'80':::@100114}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: y, ColumnID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ReferencedTypeIDs: [114 115], ColumnFamilyID: 0, ColumnID: 2, TypeName: public.greeting}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 116, ColumnID: 2, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: rowid, ColumnID: 3}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 3, TypeName: INT8}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnNotNull:{DescID: 116, ColumnID: 3, IndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnDefaultExpression:{DescID: 116, ColumnID: 3, Expr: unique_rowid()}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: crdb_internal_mvcc_timestamp, ColumnID: 4294967295}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967295, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: tableoid, ColumnID: 4294967294}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967294, TypeName: OID}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: crdb_internal_origin_id, ColumnID: 4294967293}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967293, TypeName: INT4}, ABSENT], PUBLIC] -> ABSENT
    [[Column:{DescID: 116, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnName:{DescID: 116, Name: crdb_internal_origin_timestamp, ColumnID: 4294967292}, ABSENT], PUBLIC] -> ABSENT
    [[ColumnType:{DescID: 116, ColumnFamilyID: 0, ColumnID: 4294967292, TypeName: DECIMAL}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 3, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 1, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 2, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[PrimaryIndex:{DescID: 116, IndexID: 1, ConstraintID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 116, Name: greeter_pkey, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 2, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[IndexColumn:{DescID: 116, ColumnID: 3, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[SecondaryIndex:{DescID: 116, IndexID: 2, ConstraintID: 0, RecreateSourceIndexID: 0}, ABSENT], PUBLIC] -> ABSENT
    [[IndexName:{DescID: 116, Name: i, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[CheckConstraint:{DescID: 116, ReferencedTypeIDs: [114 115], IndexID: 0, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[ConstraintWithoutIndexName:{DescID: 116, Name: check, ConstraintID: 2}, ABSENT], PUBLIC] -> ABSENT
  ops:
    *scop.MakePublicCheckConstraintValidated
      ConstraintID: 2
      TableID: 116
    *scop.SetConstraintName
      ConstraintID: 2
      Name: crdb_internal_constraint_2_name_placeholder
      TableID: 116
    *scop.RemoveCheckConstraint
      ConstraintID: 2
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.MarkDescriptorAsDropped
      DescriptorID: 116
    *scop.RemoveObjectParent
      ObjectID: 116
      ParentSchemaID: 101
    *scop.MakePublicColumnWriteOnly
      ColumnID: 1
      TableID: 116
    *scop.SetColumnName
      ColumnID: 1
      Name: crdb_internal_column_1_name_placeholder
      TableID: 116
    *scop.RemoveColumnDefaultExpression
      ColumnID: 1
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 2
      TableID: 116
    *scop.MakePublicColumnNotNullValidated
      ColumnID: 3
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967295
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967295
      Name: crdb_internal_column_4294967295_name_placeholder
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967294
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967294
      Name: crdb_internal_column_4294967294_name_placeholder
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967293
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967293
      Name: crdb_internal_column_4294967293_name_placeholder
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 4294967292
      TableID: 116
    *scop.SetColumnName
      ColumnID: 4294967292
      Name: crdb_internal_column_4294967292_name_placeholder
      TableID: 116
    *scop.MakePublicPrimaryIndexWriteOnly
      IndexID: 1
      TableID: 116
    *scop.SetIndexName
      IndexID: 1
      Name: crdb_internal_index_1_name_placeholder
      TableID: 116
    *scop.MakePublicSecondaryIndexWriteOnly
      IndexID: 2
      TableID: 116
    *scop.DrainDescriptorName
      Namespace:
        DatabaseID: 100
        DescriptorID: 116
        Name: greeter
        SchemaID: 101
    *scop.NotImplementedForPublicObjects
      DescID: 116
      ElementType: scpb.Owner
    *scop.RemoveUserPrivileges
      DescriptorID: 116
      User: admin
    *scop.RemoveUserPrivileges
      DescriptorID: 116
      User: root
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 1
      TableID: 116
    *scop.RemoveColumnNotNull
      ColumnID: 2
      TableID: 116
    *scop.RemoveColumnNotNull
      ColumnID: 3
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967295
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967294
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967293
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 4294967292
      TableID: 116
    *scop.MakePublicColumnWriteOnly
      ColumnID: 2
      TableID: 116
    *scop.SetColumnName
      ColumnID: 2
      Name: crdb_internal_column_2_name_placeholder
      TableID: 116
    *scop.RemoveDroppedColumnType
      ColumnID: 2
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.MakePublicColumnWriteOnly
      ColumnID: 3
      TableID: 116
    *scop.SetColumnName
      ColumnID: 3
      Name: crdb_internal_column_3_name_placeholder
      TableID: 116
    *scop.RemoveColumnDefaultExpression
      ColumnID: 3
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967295
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967294
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967293
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 4294967292
      TableID: 116
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 1
      TableID: 116
    *scop.MakeWriteOnlyIndexDeleteOnly
      IndexID: 2
      TableID: 116
    *scop.RemoveDroppedIndexPartialPredicate
      IndexID: 2
      TableID: 116
    *scop.UpdateTableBackReferencesInTypes
      BackReferencedTableID: 116
      TypeIDs:
      - 114
      - 115
    *scop.SetIndexName
      IndexID: 2
      Name: crdb_internal_index_2_name_placeholder
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 2
      TableID: 116
    *scop.MakeWriteOnlyColumnDeleteOnly
      ColumnID: 3
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 1
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 1
      IndexID: 1
      Kind: 2
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 1
      Kind: 2
      Ordinal: 1
      TableID: 116
    *scop.MakeIndexAbsent
      IndexID: 1
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 2
      IndexID: 2
      TableID: 116
    *scop.RemoveColumnFromIndex
      ColumnID: 3
      IndexID: 2
      Kind: 1
      TableID: 116
    *scop.MakeIndexAbsent
      IndexID: 2
      TableID: 116
    *scop.AssertColumnFamilyIsRemoved
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 1
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 2
      TableID: 116
    *scop.MakeDeleteOnlyColumnAbsent
      ColumnID: 3
      TableID: 116
    *scop.SetJobStateOnDescriptor
      DescriptorID: 114
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 115
      Initialize: true
    *scop.SetJobStateOnDescriptor
      DescriptorID: 116
      Initialize: true
    *scop.CreateSchemaChangerJob
      Authorization:
        AppName: $ internal-test
        UserName: root
      DescriptorIDs:
      - 114
      - 115
      - 116
      JobID: 1
      NonCancelable: true
      RunningStatus: PostCommitNonRevertiblePhase stage 1 of 1 with 3 MutationType ops pending
      Statements:
      - statement: DROP TABLE defaultdb.greeter
        redactedstatement: DROP TABLE ‹defaultdb›.public.‹greeter›
        statementtag: DROP TABLE
PostCommitNonRevertiblePhase stage 1 of 1 with 7 MutationType ops
  transitions:
    [[Table:{DescID: 116}, ABSENT], DROPPED] -> ABSENT
    [[IndexData:{DescID: 116, IndexID: 1}, ABSENT], PUBLIC] -> ABSENT
    [[IndexData:{DescID: 116, IndexID: 2}, ABSENT], PUBLIC] -> ABSENT
    [[TableData:{DescID: 116, ReferencedDescID: 100}, ABSENT], PUBLIC] -> ABSENT
  ops:
    *scop.CreateGCJobForTable
      DatabaseID: 100
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.greeter
      TableID: 116
    *scop.CreateGCJobForIndex
      IndexID: 1
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.greeter
      TableID: 116
    *scop.CreateGCJobForIndex
      IndexID: 2
      StatementForDropJob:
        Statement: DROP TABLE defaultdb.public.greeter
      TableID: 116
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 114
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 115
      JobID: 1
    *scop.RemoveJobStateFromDescriptor
      DescriptorID: 116
      JobID: 1
    *scop.UpdateSchemaChangerJob
      DescriptorIDsToRemove:
      - 114
      - 115
      - 116
      IsNonCancelable: true
      JobID: 1
