/*
###########################################
# START DATABASE customer
###########################################
*/
CREATE DATABASE customer VERSION '1' OPTIONS (ANNOTATION 'Customer VDB');
USE DATABASE customer VERSION '1';

--############ Servers ############
CREATE SERVER mydb FOREIGN DATA WRAPPER h2;


--############ Schemas ############
CREATE VIRTUAL SCHEMA virt;

CREATE SCHEMA accounts SERVER mydb;

CREATE SCHEMA bar SERVER mydb;

CREATE SCHEMA foo SERVER mydb;


--############ Roles ############
CREATE ROLE RoleA WITH FOREIGN ROLE role1;


--############ Schema:virt ############
SET SCHEMA virt;


--############ Schema:accounts ############
SET SCHEMA accounts;

IMPORT FOREIGN SCHEMA "MY""SCHEMA" FROM SERVER mydb INTO accounts OPTIONS( "importer.useFullSchemaName" 'false');
IMPORT FOREIGN SCHEMA SAMPLE FROM SERVER mydb INTO accounts;

--############ Schema:bar ############
SET SCHEMA bar;

CREATE FOREIGN TABLE BAR (
	name string,
	id integer
);
--############ Schema:foo ############
SET SCHEMA foo;

CREATE FOREIGN TABLE FOO (
	name string,
	id integer
);
--############ Grants ############
GRANT INSERT,UPDATE ON TABLE "foo.Foo" TO RoleA;


--############ Policies ############
CREATE POLICY policyFoo ON foo.Foo TO RoleA USING (id < 1000);


/*
###########################################
# END DATABASE customer
###########################################
*/