mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-10-04 16:25:19 +00:00

Fix commit updates the `postgres::connection::describe` module to add full support for domain types. Domain types were previously confused with their category which caused invalid oid resolution. Fixes launchbadge/sqlx#110
40 lines
1.0 KiB
SQL
40 lines
1.0 KiB
SQL
-- https://www.postgresql.org/docs/current/sql-createtype.html
|
|
CREATE TYPE status AS ENUM ('new', 'open', 'closed');
|
|
|
|
-- https://www.postgresql.org/docs/current/rowtypes.html#ROWTYPES-DECLARING
|
|
CREATE TYPE inventory_item AS
|
|
(
|
|
name TEXT,
|
|
supplier_id INT,
|
|
price BIGINT
|
|
);
|
|
|
|
-- https://github.com/prisma/database-schema-examples/tree/master/postgres/basic-twitter#basic-twitter
|
|
CREATE TABLE tweet
|
|
(
|
|
id BIGSERIAL PRIMARY KEY,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
text TEXT NOT NULL,
|
|
owner_id BIGINT
|
|
);
|
|
|
|
CREATE TYPE float_range AS RANGE
|
|
(
|
|
subtype = float8,
|
|
subtype_diff = float8mi
|
|
);
|
|
|
|
CREATE TABLE products (
|
|
product_no INTEGER,
|
|
name TEXT,
|
|
price NUMERIC CHECK (price > 0)
|
|
);
|
|
|
|
CREATE DOMAIN month_id AS INT2 CHECK (1 <= value AND value <= 12);
|
|
CREATE TYPE year_month AS (year INT4, month month_id);
|
|
CREATE DOMAIN winter_year_month AS year_month CHECK ((value).month <= 3);
|
|
CREATE TABLE heating_bills (
|
|
month winter_year_month NOT NULL PRIMARY KEY,
|
|
cost INT4 NOT NULL
|
|
);
|