# LogicTest: default parallel-stmts distsql

statement error pq: invalid locale bad_locale: language: subtag "locale" is well-formed but unknown
SELECT 'a' COLLATE bad_locale

statement error pq: unsupported comparison operator: <collatedstring{en}> = <string>
SELECT 'A' COLLATE en = 'a'

statement error pq: unsupported comparison operator: <collatedstring{en}> = <collatedstring{de}>
SELECT 'A' COLLATE en = 'a' COLLATE de

statement error pq: unsupported comparison operator: \('a' COLLATE en_u_ks_level1\) IN \('A' COLLATE en_u_ks_level1, 'b' COLLATE en\): expected 'b' COLLATE en to be of type collatedstring{en_u_ks_level1}, found type collatedstring{en}
SELECT ('a' COLLATE en_u_ks_level1) IN ('A' COLLATE en_u_ks_level1, 'b' COLLATE en)

statement error pq: tuples \('a' COLLATE en_u_ks_level1, 'a' COLLATE en\), \('A' COLLATE en, 'B' COLLATE en\) are not comparable at index 1: unsupported comparison operator: <collatedstring{en_u_ks_level1}> < <collatedstring{en}
SELECT ('a' COLLATE en_u_ks_level1, 'a' COLLATE en) < ('A' COLLATE en, 'B' COLLATE en)


query T
SELECT 'A' COLLATE en
----
A

query B
SELECT 'a' COLLATE en < ('B' COLLATE de) COLLATE en
----
true


query B
SELECT (1, 'a' COLLATE en) < (1, 'B' COLLATE en)
----
true

query B
SELECT ('a' COLLATE en_u_ks_level1, 'a' COLLATE en) < ('A' COLLATE en_u_ks_level1, 'B' COLLATE en)
----
true


query B
SELECT 'A' COLLATE en_u_ks_level1 = 'a' COLLATE en_u_ks_level1
----
true

query B
SELECT 'A' COLLATE en_u_ks_level1 <> 'a' COLLATE en_u_ks_level1
----
false

query B
SELECT 'A' COLLATE en_u_ks_level1 < 'a' COLLATE en_u_ks_level1
----
false

query B
SELECT 'A' COLLATE en_u_ks_level1 >= 'a' COLLATE en_u_ks_level1
----
true

query B
SELECT 'A' COLLATE en_u_ks_level1 <= 'a' COLLATE en_u_ks_level1
----
true

query B
SELECT 'A' COLLATE en_u_ks_level1 > 'a' COLLATE en_u_ks_level1
----
false


query B
SELECT 'a' COLLATE en_u_ks_level1 = 'B' COLLATE en_u_ks_level1
----
false

query B
SELECT 'a' COLLATE en_u_ks_level1 <> 'B' COLLATE en_u_ks_level1
----
true

query B
SELECT 'a' COLLATE en_u_ks_level1 < 'B' COLLATE en_u_ks_level1
----
true

query B
SELECT 'a' COLLATE en_u_ks_level1 >= 'B' COLLATE en_u_ks_level1
----
false

query B
SELECT 'a' COLLATE en_u_ks_level1 <= 'B' COLLATE en_u_ks_level1
----
true

query B
SELECT 'a' COLLATE en_u_ks_level1 > 'B' COLLATE en_u_ks_level1
----
false


query B
SELECT 'B' COLLATE en_u_ks_level1 = 'A' COLLATE en_u_ks_level1
----
false

query B
SELECT 'B' COLLATE en_u_ks_level1 <> 'A' COLLATE en_u_ks_level1
----
true

query B
SELECT 'B' COLLATE en_u_ks_level1 < 'A' COLLATE en_u_ks_level1
----
false

query B
SELECT 'B' COLLATE en_u_ks_level1 >= 'A' COLLATE en_u_ks_level1
----
true

query B
SELECT 'B' COLLATE en_u_ks_level1 <= 'A' COLLATE en_u_ks_level1
----
false

query B
SELECT 'B' COLLATE en_u_ks_level1 > 'A' COLLATE en_u_ks_level1
----
true


query B
SELECT ('a' COLLATE en_u_ks_level1) IN ('A' COLLATE en_u_ks_level1, 'b' COLLATE en_u_ks_level1)
----
true

query B
SELECT ('a' COLLATE en_u_ks_level1) NOT IN ('A' COLLATE en_u_ks_level1, 'b' COLLATE en_u_ks_level1)
----
false

query B
SELECT ('a' COLLATE en) IN ('A' COLLATE en, 'b' COLLATE en)
----
false

query B
SELECT ('a' COLLATE en) NOT IN ('A' COLLATE en, 'b' COLLATE en)
----
true


query B
SELECT 'Fussball' COLLATE de = 'Fußball' COLLATE de
----
false

query B
SELECT 'Fussball' COLLATE de_u_ks_level1 = 'Fußball' COLLATE de_u_ks_level1
----
true


query B
SELECT 'ü' COLLATE da < 'x' COLLATE da
----
false

query B
SELECT 'ü' COLLATE de < 'x' COLLATE de
----
true


statement error invalid locale e: language: tag is not well-formed at or near "\)"
CREATE TABLE e1 (
  a STRING COLLATE e
)

statement error multiple COLLATE declarations for column "a" at or near "\)"
CREATE TABLE e2 (
  a STRING COLLATE en COLLATE de
)

statement error COLLATE declaration for non-string-typed column "a" at or near "\)"
CREATE TABLE e3 (
  a INT COLLATE en
)

statement ok
CREATE TABLE t (
  a STRING COLLATE en
)

query TT
SHOW CREATE TABLE t
----
t  CREATE TABLE t (
     a STRING COLLATE en NULL,
     FAMILY "primary" (a, rowid)
   )

statement ok
INSERT INTO t VALUES
  ('A' COLLATE en),
  ('B' COLLATE en),
  ('a' COLLATE en),
  ('b' COLLATE en),
  ('x' COLLATE en),
  ('ü' COLLATE en)

statement error locale "de" doesn't match locale "en" of column "a"
INSERT INTO t VALUES ('X' COLLATE de)

query T
SELECT a FROM t ORDER BY t.a
----
a
A
b
B
ü
x

query T
SELECT a FROM t ORDER BY t.a COLLATE da
----
a
A
b
B
x
ü

query T
SELECT 'a' COLLATE en::STRING || 'b'
----
ab

query B
SELECT 't' COLLATE en::BOOLEAN
----
true

query I
SELECT '42' COLLATE en::INTEGER
----
42

query R
SELECT '42.0' COLLATE en::FLOAT
----
42

query R
SELECT '42.0' COLLATE en::DECIMAL
----
42.0

query T
SELECT 'a' COLLATE en::BYTES
----
a

query T
SELECT '2017-01-10 16:05:50.734049+00:00' COLLATE en::TIMESTAMP
----
2017-01-10 16:05:50.734049 +0000 +0000

query T
SELECT '2017-01-10 16:05:50.734049+00:00' COLLATE en::TIMESTAMP WITH TIME ZONE
----
2017-01-10 16:05:50.734049 +0000 +0000

query T
SELECT '40 days' COLLATE en::INTERVAL
----
40d
