statement ok
CREATE DATABASE d

statement ok
USE d

query T colnames
SHOW CREATE ALL TYPES
----
create_statement

statement ok
CREATE TYPE status AS ENUM ('open', 'closed', 'inactive');

query T colnames
SHOW CREATE ALL TYPES
----
create_statement
CREATE TYPE d.public.status AS ENUM ('open', 'closed', 'inactive');

statement ok
CREATE TYPE tableObj AS ENUM('row', 'col');

query T colnames,rowsort
SHOW CREATE ALL TYPES
----
create_statement
CREATE TYPE d.public.status AS ENUM ('open', 'closed', 'inactive');
CREATE TYPE d.public.tableobj AS ENUM ('row', 'col');

statement ok
DROP TYPE status

query T colnames
SHOW CREATE ALL TYPES
----
create_statement
CREATE TYPE d.public.tableobj AS ENUM ('row', 'col');

# type in user-defined schema
statement ok
CREATE SCHEMA s

statement ok
CREATE TYPE s.status AS ENUM ('a', 'b', 'c');

query T colnames,rowsort
SHOW CREATE ALL TYPES
----
create_statement
CREATE TYPE d.public.tableobj AS ENUM ('row', 'col');
CREATE TYPE d.s.status AS ENUM ('a', 'b', 'c');

# Make sure database names with hyphens work well.
statement ok
CREATE DATABASE "d-d";
USE "d-d";
SHOW CREATE ALL TYPES;

# Make sure database names with quotes work well.
statement ok
CREATE DATABASE "a""bc";
USE "a""bc";
SHOW CREATE ALL TYPES;

subtest bug-show-create-all-types-#126005

skipif config local-legacy-schema-changer
statement ok
CREATE TYPE address AS (
        street STRING,
        city STRING,
        state STRING,
        zipcode STRING
    );

skipif config local-legacy-schema-changer
statement ok
COMMENT ON TYPE address IS 'comment for composite type address';

skipif config local-legacy-schema-changer
query T colnames
SHOW CREATE ALL TYPES
----
create_statement
CREATE TYPE "a""bc".public.address AS (street STRING, city STRING, state STRING, zipcode STRING);
COMMENT ON TYPE "a""bc".public.address IS 'comment for composite type address';

skipif config local-legacy-schema-changer
statement ok
DROP TYPE address;

skipif config local-legacy-schema-changer
statement ok
CREATE TYPE roaches AS ENUM('papa_roach','mama_roach','baby_roach');

skipif config local-legacy-schema-changer
statement ok
COMMENT ON TYPE roaches IS 'comment for enum type roaches';

skipif config local-legacy-schema-changer
query T colnames
SHOW CREATE ALL TYPES
----
create_statement
CREATE TYPE "a""bc".public.roaches AS ENUM ('papa_roach', 'mama_roach', 'baby_roach');
COMMENT ON TYPE "a""bc".public.roaches IS 'comment for enum type roaches';

subtest end
