# LogicTest: default

statement ok
CREATE DATABASE a

statement error pgcode 42P04 database "a" already exists
CREATE DATABASE a

statement ok
CREATE DATABASE IF NOT EXISTS a

statement error empty database name
CREATE DATABASE ""

query T colnames
SHOW DATABASES
----
Database
a
crdb_internal
information_schema
pg_catalog
system
test

statement ok
CREATE DATABASE b TEMPLATE=template0

statement error unsupported template: nope
CREATE DATABASE c TEMPLATE=NOPE

statement error unsupported template: nope
CREATE DATABASE IF NOT EXISTS c TEMPLATE=NOPE

statement ok
CREATE DATABASE b2 ENCODING='UTF8'

statement error unsupported encoding: NOPE
CREATE DATABASE c ENCODING='NOPE'

statement error unsupported encoding: NOPE
CREATE DATABASE IF NOT EXISTS c ENCODING='NOPE'

statement ok
CREATE DATABASE b3 LC_COLLATE='C.UTF-8'

statement error unsupported collation: NOPE
CREATE DATABASE c LC_COLLATE='NOPE'

statement error unsupported collation: NOPE
CREATE DATABASE IF NOT EXISTS c LC_COLLATE='NOPE'

statement ok
CREATE DATABASE b4 LC_CTYPE='C.UTF-8'

statement error unsupported character classification: NOPE
CREATE DATABASE c LC_CTYPE='NOPE'

statement error unsupported character classification: NOPE
CREATE DATABASE IF NOT EXISTS c LC_CTYPE='NOPE'

statement ok
CREATE DATABASE b5 TEMPLATE=template0 ENCODING='UTF8' LC_COLLATE='C.UTF-8' LC_CTYPE='C.UTF-8'

statement ok
CREATE DATABASE b6 TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'C.UTF-8' LC_CTYPE 'C.UTF-8'

statement ok
CREATE DATABASE c

query T
SHOW DATABASES
----
a
b
b2
b3
b4
b5
b6
c
crdb_internal
information_schema
pg_catalog
system
test

statement ok
CREATE TABLE b.a (id INT PRIMARY KEY)

statement ok
INSERT INTO b.a VALUES (3),(7),(2)

query I rowsort
SELECT * FROM b.a
----
2
3
7

statement ok
DROP DATABASE b

statement error database "b" does not exist
SELECT * FROM b.a

statement error database "b" does not exist
DROP DATABASE b

statement ok
DROP DATABASE IF EXISTS b

statement ok
DROP DATABASE b2; DROP DATABASE b3; DROP DATABASE b4; DROP DATABASE b5; DROP DATABASE b6

statement error empty database name
DROP DATABASE ""

query T colnames
SHOW DATABASES
----
Database
a
c
crdb_internal
information_schema
pg_catalog
system
test

statement ok
CREATE DATABASE b

statement error table "b.a" does not exist
SELECT * FROM b.a

statement ok
CREATE TABLE b.a (id INT PRIMARY KEY)

query I
SELECT * FROM b.a
----

user testuser

statement error only root is allowed to CREATE DATABASE
CREATE DATABASE privs

user root

statement ok
CREATE DATABASE privs

user testuser

statement error user testuser does not have DROP privilege on database privs
DROP DATABASE privs

user root

statement ok
GRANT DROP ON DATABASE privs TO testuser

user testuser

statement ok
DROP DATABASE privs
