-
Notifications
You must be signed in to change notification settings - Fork 489
Open
Description
The create type page states the limitation
The CREATE TYPE clause does not support the OR REPLACE modifier.
However, this actually works fine, for example
% duckdb
DuckDB v1.4.1 (Andium) b390a7c376
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D create type foo as struct(i integer, j varchar);
D select {i: 1, j: 'cat'}::foo;
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CAST(main.struct_pack(i := 1, j := 'cat') AS foo) β
β struct(i integer, j varchar) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β {'i': 1, 'j': cat} β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
D create or replace type foo as struct(i integer, j varchar, k double);
D select {i: 1, j: 'cat'}::foo;
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CAST(main.struct_pack(i := 1, j := 'cat') AS foo) β
β struct(i integer, j varchar, k double) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β {'i': 1, 'j': cat, 'k': NULL} β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
D select {i: 1, j: 'cat', k: 1.0}::foo;
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CAST(main.struct_pack(i := 1, j := 'cat', k := 1.0) AS foo) β
β struct(i integer, j varchar, k double) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β {'i': 1, 'j': cat, 'k': 1.0} β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Metadata
Metadata
Assignees
Labels
No labels