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

     1  statement ok
     2  CREATE TABLE u (token uuid PRIMARY KEY,
     3                  token2 uuid,
     4                  token3 uuid,
     5                  UNIQUE INDEX i_token2 (token2))
     6  
     7  statement ok
     8  INSERT INTO u VALUES
     9    ('63616665-6630-3064-6465-616462656562', '{63616665-6630-3064-6465-616462656563}', b'kafef00ddeadbeed'),
    10    ('urn:uuid:63616665-6630-3064-6465-616462656564', '63616665-6630-3064-6465-616462656565'::uuid, b'kafef00ddeadbeee'),
    11    (b'cafef00ddeadbeef', '63616665-6630-3064-6465-616462656567', b'kafef00ddeadbeef')
    12  
    13  query TTT
    14  SELECT * FROM u ORDER BY token
    15  ----
    16  63616665-6630-3064-6465-616462656562 63616665-6630-3064-6465-616462656563 6b616665-6630-3064-6465-616462656564
    17  63616665-6630-3064-6465-616462656564 63616665-6630-3064-6465-616462656565 6b616665-6630-3064-6465-616462656565
    18  63616665-6630-3064-6465-616462656566 63616665-6630-3064-6465-616462656567 6b616665-6630-3064-6465-616462656566
    19  
    20  query TTT
    21  SELECT * FROM u WHERE token < '63616665-6630-3064-6465-616462656564'::uuid
    22  ----
    23  63616665-6630-3064-6465-616462656562 63616665-6630-3064-6465-616462656563 6b616665-6630-3064-6465-616462656564
    24  
    25  query TTT
    26  SELECT * FROM u WHERE token <= '63616665-6630-3064-6465-616462656564'::uuid ORDER BY token
    27  ----
    28  63616665-6630-3064-6465-616462656562 63616665-6630-3064-6465-616462656563 6b616665-6630-3064-6465-616462656564
    29  63616665-6630-3064-6465-616462656564 63616665-6630-3064-6465-616462656565 6b616665-6630-3064-6465-616462656565
    30  
    31  statement error duplicate key value
    32  INSERT INTO u VALUES ('63616665-6630-3064-6465-616462656566')
    33  
    34  statement error duplicate key value
    35  INSERT INTO u VALUES ('63616665-6630-3064-6465-616462656569', '63616665-6630-3064-6465-616462656565')
    36  
    37  statement error UUID must be exactly 16 bytes long, got 15 bytes
    38  INSERT INTO u VALUES (b'cafef00ddeadbee')
    39  
    40  statement error UUID must be exactly 16 bytes long, got 17 bytes
    41  INSERT INTO u VALUES (b'cafef00ddeadbeefs')
    42  
    43  statement error uuid: incorrect UUID length
    44  INSERT INTO u VALUES ('63616665-6630-3064-6465-61646265656')
    45  
    46  statement error uuid: incorrect UUID length
    47  INSERT INTO u VALUES ('63616665-6630-3064-6465-6164626565620')
    48  
    49  statement error unsupported comparison operator: <uuid> = <bytes>
    50  SELECT token FROM u WHERE token=b'cafef00ddeadbeef'::bytes
    51  
    52  statement error unsupported comparison operator: <uuid> = <string>
    53  SELECT token FROM u WHERE token='63616665-6630-3064-6465-616462656562'::string
    54  
    55  statement ok
    56  SELECT token FROM u WHERE token='63616665-6630-3064-6465-616462656562'::uuid
    57  
    58  query T
    59  SELECT token FROM u WHERE token='urn:uuid:63616665-6630-3064-6465-616462656562'
    60  ----
    61  63616665-6630-3064-6465-616462656562
    62  
    63  query T
    64  SELECT token FROM u WHERE token=b'cafef00ddeadbeef'
    65  ----
    66  63616665-6630-3064-6465-616462656566
    67  
    68  query T
    69  SELECT token2 FROM u WHERE token2='63616665-6630-3064-6465-616462656563'
    70  ----
    71  63616665-6630-3064-6465-616462656563
    72  
    73  query T
    74  SELECT token FROM u WHERE token IN ('63616665-6630-3064-6465-616462656562', '63616665-6630-3064-6465-616462656564') ORDER BY token
    75  ----
    76  63616665-6630-3064-6465-616462656562
    77  63616665-6630-3064-6465-616462656564
    78  
    79  statement ok
    80  INSERT INTO u VALUES ('63616665-6630-3064-6465-616462656567'::uuid)
    81  
    82  statement ok
    83  INSERT INTO u VALUES ('urn:uuid:63616665-6630-3064-6465-616462656568'::uuid)
    84  
    85  statement ok
    86  INSERT INTO u VALUES (uuid_v4()::uuid)
    87  
    88  statement error value type bytes doesn't match type uuid
    89  INSERT INTO u VALUES ('cafef00ddeadbeef'::bytes)
    90  
    91  statement error value type string doesn't match type uuid
    92  INSERT INTO u VALUES ('63616665-6630-3064-6465-616462656562'::string)
    93  
    94  statement error value type bytes doesn't match type uuid
    95  INSERT INTO u VALUES (uuid_v4())
    96  
    97  query T
    98  SELECT token::uuid FROM u WHERE token=b'cafef00ddeadbeef'
    99  ----
   100  63616665-6630-3064-6465-616462656566
   101  
   102  query T
   103  SELECT token::string FROM u WHERE token=b'cafef00ddeadbeef'
   104  ----
   105  63616665-6630-3064-6465-616462656566
   106  
   107  query T
   108  SELECT token::bytes FROM u WHERE token=b'cafef00ddeadbeef'
   109  ----
   110  cafef00ddeadbeef
   111  
   112  statement error invalid cast: uuid -> int
   113  SELECT token::int FROM u
   114  
   115  query T
   116  SELECT ('63616665-6630-3064-6465-616462656562' COLLATE en)::uuid
   117  ----
   118  63616665-6630-3064-6465-616462656562