# Copyright 2015 - 2019 The Cockroach Authors. All rights reserved. # Copyright Materialize, Inc. and contributors. All rights reserved. # # Use of this software is governed by the Business Source License # included in the LICENSE file at the root of this repository. # # As of the Change Date specified in that file, in accordance with # the Business Source License, use of this software will be governed # by the Apache License, Version 2.0. # # This file is derived from the logic test suite in CockroachDB. The # original file was retrieved on June 10, 2019 from: # # https://github.com/cockroachdb/cockroach/blob/d2f7fbf5dd1fc1a099bbad790a2e1f7c60a66cc3/pkg/sql/logictest/testdata/logic_test/collatedstring_constraint # # The original source code is subject to the terms of the Apache # 2.0 license, a copy of which can be found in the LICENSE file at the # root of this repository. mode cockroach # English collation chart: http://www.unicode.org/cldr/charts/30/collation/en_US_POSIX.html statement ok CREATE TABLE p ( a TEXT COLLATE en_u_ks_level1 PRIMARY KEY ) statement ok INSERT INTO p VALUES ('a' COLLATE en_u_ks_level1) statement error duplicate key value \(a\)=\('a' COLLATE en_u_ks_level1\) violates unique constraint "primary" INSERT INTO p VALUES ('A' COLLATE en_u_ks_level1) statement ok INSERT INTO p VALUES ('b' COLLATE en_u_ks_level1) statement ok CREATE TABLE c1 ( a TEXT COLLATE en_u_ks_level1 PRIMARY KEY, b TEXT COLLATE en_u_ks_level1 ) INTERLEAVE IN PARENT p (a) statement ok INSERT INTO c1 VALUES ('A' COLLATE en_u_ks_level1, 'apple' COLLATE en_u_ks_level1) statement ok INSERT INTO c1 VALUES ('b' COLLATE en_u_ks_level1, 'banana' COLLATE en_u_ks_level1) statement ok INSERT INTO c1 VALUES ('p' COLLATE en_u_ks_level1, 'pear' COLLATE en_u_ks_level1) query T SELECT a FROM p ORDER BY a ---- a b query T SELECT a FROM c1 ORDER BY a ---- A b p query T SELECT b FROM c1 ORDER BY a ---- apple banana pear statement ok CREATE TABLE c2 ( a TEXT COLLATE en_u_ks_level1 PRIMARY KEY, b TEXT COLLATE en_u_ks_level1, CONSTRAINT fk_p FOREIGN KEY (a) REFERENCES p ) INTERLEAVE IN PARENT p (a) statement ok INSERT INTO c2 VALUES ('A' COLLATE en_u_ks_level1, 'apple' COLLATE en_u_ks_level1) statement ok INSERT INTO c2 VALUES ('b' COLLATE en_u_ks_level1, 'banana' COLLATE en_u_ks_level1) statement error foreign key violation: value \['p' COLLATE en_u_ks_level1\] not found in p@primary \[a\] INSERT INTO c2 VALUES ('p' COLLATE en_u_ks_level1, 'pear' COLLATE en_u_ks_level1) query T SELECT a FROM p ORDER BY a ---- a b query T SELECT a FROM c2 ORDER BY a ---- A b query T SELECT b FROM c2 ORDER BY a ---- apple banana