github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/logictest/testdata/logic_test/rename_constraint (about)

     1  # LogicTest: !3node-tenant
     2  statement ok
     3  CREATE TABLE t (
     4    x INT, y INT,
     5    CONSTRAINT cu UNIQUE (x),
     6    CONSTRAINT cc CHECK (x > 10),
     7    CONSTRAINT cf FOREIGN KEY (x) REFERENCES t(x),
     8    FAMILY "primary" (x, y, rowid)
     9    )
    10  
    11  query T
    12  SELECT create_statement FROM [SHOW CREATE t]
    13  ----
    14  CREATE TABLE t (
    15     x INT8 NULL,
    16     y INT8 NULL,
    17     CONSTRAINT cf FOREIGN KEY (x) REFERENCES t(x),
    18     UNIQUE INDEX cu (x ASC),
    19     FAMILY "primary" (x, y, rowid),
    20     CONSTRAINT cc CHECK (x > 10:::INT8)
    21  )
    22  
    23  query TT
    24  SELECT conname, contype FROM pg_catalog.pg_constraint ORDER BY conname
    25  ----
    26  cc  c
    27  cf  f
    28  cu  u
    29  
    30  subtest rename_works
    31  
    32  statement ok
    33  ALTER TABLE t RENAME CONSTRAINT cu TO cu2,
    34                RENAME CONSTRAINT cf TO cf2,
    35  			  RENAME CONSTRAINT cc TO cc2
    36  
    37  query T
    38  SELECT create_statement FROM [SHOW CREATE t]
    39  ----
    40  CREATE TABLE t (
    41     x INT8 NULL,
    42     y INT8 NULL,
    43     CONSTRAINT cf2 FOREIGN KEY (x) REFERENCES t(x),
    44     UNIQUE INDEX cu2 (x ASC),
    45     FAMILY "primary" (x, y, rowid),
    46     CONSTRAINT cc2 CHECK (x > 10:::INT8)
    47  )
    48  
    49  query TT
    50  SELECT conname, contype FROM pg_catalog.pg_constraint ORDER BY conname
    51  ----
    52  cc2  c
    53  cf2  f
    54  cu2  u
    55  
    56  
    57  subtest duplicate_constraints
    58  
    59  statement error duplicate constraint
    60  ALTER TABLE t RENAME CONSTRAINT cu2 TO cf2
    61  
    62  statement error duplicate constraint
    63  ALTER TABLE t RENAME CONSTRAINT cu2 TO cc2
    64  
    65  statement error duplicate constraint
    66  ALTER TABLE t RENAME CONSTRAINT cf2 TO cu2
    67  
    68  statement error duplicate constraint
    69  ALTER TABLE t RENAME CONSTRAINT cf2 TO cc2
    70  
    71  statement error duplicate constraint
    72  ALTER TABLE t RENAME CONSTRAINT cc2 TO cf2
    73  
    74  statement error duplicate constraint
    75  ALTER TABLE t RENAME CONSTRAINT cc2 TO cu2
    76  
    77  subtest multiple_renames
    78  
    79  statement ok
    80  ALTER TABLE t RENAME CONSTRAINT cu2 TO cu3,
    81  			  RENAME CONSTRAINT cc2 TO cc3,
    82  			  RENAME CONSTRAINT cf2 TO cf3,
    83                RENAME CONSTRAINT cu3 TO cu4,
    84  			  RENAME CONSTRAINT cc3 TO cc4,
    85  			  RENAME CONSTRAINT cf3 TO cf4
    86  
    87  query T
    88  SELECT create_statement FROM [SHOW CREATE t]
    89  ----
    90  CREATE TABLE t (
    91     x INT8 NULL,
    92     y INT8 NULL,
    93     CONSTRAINT cf4 FOREIGN KEY (x) REFERENCES t(x),
    94     UNIQUE INDEX cu4 (x ASC),
    95     FAMILY "primary" (x, y, rowid),
    96     CONSTRAINT cc4 CHECK (x > 10:::INT8)
    97  )
    98  
    99  query TT
   100  SELECT conname, contype FROM pg_catalog.pg_constraint ORDER BY conname
   101  ----
   102  cc4  c
   103  cf4  f
   104  cu4  u