cockroachdb / cockroachdb/cockroach

sql: cannot create composite type with collated string

Open
#132,589 4 comments 0 reactions 0 assignees View on GitHub
A-sql-pgcompat A-sql-typing C-enhancement E-starter T-sql-foundations
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

When trying to create a composite type with a collated string, CRDB v24.2.3 throws a syntax error:

```
demo@127.0.0.1:26257/defaultdb> CREATE TYPE IF NOT EXISTS my2 AS (id INT8, name STRING COLLATE "en_US_u_ks_level2");
ERROR: statement ignored: at or near "collate": syntax error
SQLSTATE: 42601
DETAIL: source SQL:
CREATE TYPE IF NOT EXISTS my2 AS (id INT8, name STRING COLLATE "en_US_u_ks_level2")
^
HINT: try \h CREATE TYPE
```

The following works in PostgreSQL 16.4:

```
michae2=# CREATE COLLATION case_insensitive (
provider = icu,
locale = 'und-u-ks-level2',
deterministic = false
);
CREATE COLLATION

michae2=# CREATE TYPE my2 AS (id INT8, name TEXT COLLATE case_insensitive);
CREATE TYPE
```

Related Slack thread where a customer ran into this: https://cockroachlabs.slack.com/archives/C01RX2G8LT1/p1728684138298229

Jira issue: CRDB-43170

Epic CRDB-60815

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.