# LogicTest: default parallel-stmts distsql

# English collation chart: http://www.unicode.org/cldr/charts/30/collation/en_US_POSIX.html

statement ok
CREATE TABLE p (
  a STRING COLLATE en_u_ks_level1 PRIMARY KEY
)

statement ok
INSERT INTO p VALUES ('a' COLLATE en_u_ks_level1)

# TODO(eisen): the interactive message is
# > pq: TODO(eisen): cannot decode collation key: "\x15\xef"
# Here and below, we can do better.
#
# statement error
# 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 STRING COLLATE en_u_ks_level1 PRIMARY KEY,
  b STRING 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 STRING COLLATE en_u_ks_level1 PRIMARY KEY,
  b STRING 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
