blob: 594502e8c50cf209921fd1866895de7b7bfe401e [file] [log] [blame]
-- @@@ START COPYRIGHT @@@
--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--
-- @@@ END COPYRIGHT @@@
drop schema cat.tpcd cascade;
create schema cat.tpcd;
set schema CAT.TPCD;
insert into "_MD_".defaults
(attribute, attr_value) values ('MVQR_REWRITE_LEVEL', '1');
insert into "_MD_".defaults
(attribute, attr_value) values ('MVQR_REWRITE_ENABLED_OPTION', 'ON');
insert into "_MD_".defaults
(attribute, attr_value) values ('QUERY_TEXT_CACHE', 'OFF');
-- ******************************************************************
-- * Create the tables *
-- ******************************************************************
control query default REF_CONSTRAINT_NO_ACTION_LIKE_RESTRICT 'ON';
Create table region (
r_regionkey int not null not droppable,
r_name char(25) not null not droppable,
r_comment varchar(152) not null not droppable,
primary key (r_regionkey) not droppable)
store by primary key;
Create table nation (
n_nationkey int not null not droppable,
n_regionkey int not null not droppable references region(r_regionkey),
n_name char(25) not null not droppable,
n_comment varchar(152) not null not droppable,
primary key (n_nationkey) not droppable)
store by primary key;
Create table customer (
c_custkey int not null not droppable,
c_nationkey int not null not droppable references nation(n_nationkey),
c_acctbal numeric(12,2) not null not droppable,
c_phone char(15) not null not droppable,
c_mktsegment char(10) not null not droppable,
c_name varchar(25) not null not droppable,
c_address varchar(40) not null not droppable,
c_comment varchar(117) not null not droppable,
primary key (c_custkey) not droppable)
store by primary key;
Create table supplier (
s_suppkey int not null not droppable,
s_nationkey int not null not droppable references nation(n_nationkey),
s_acctbal numeric(12,2) not null not droppable,
s_phone char(15) not null not droppable,
s_name char(25) not null not droppable,
s_address varchar(40) not null not droppable,
s_comment varchar(101) not null not droppable,
primary key (s_suppkey) not droppable)
store by primary key;
Create table orders (
o_orderkey int not null not droppable,
o_custkey int not null not droppable references customer(c_custkey),
o_shippriority int not null not droppable,
o_totalprice numeric(12,2) not null not droppable,
o_orderdate date not null not droppable,
o_orderstatus char(1) not null not droppable,
o_orderpriority char(15) not null not droppable,
o_clerk char(15) not null not droppable,
o_comment varchar(79) not null not droppable,
primary key (o_orderkey) not droppable)
store by primary key;
Create table part (
p_partkey int not null not droppable,
p_size int not null not droppable,
p_retailprice numeric(12,2) not null not droppable,
p_mfgr char(25) not null not droppable,
p_brand char(10) not null not droppable,
p_container char(10) not null not droppable,
p_name varchar(55) not null not droppable,
p_type varchar(25) not null not droppable,
p_comment varchar(23) not null not droppable,
primary key (p_partkey) not droppable)
store by primary key;
Create table partsupp (
ps_partkey int not null not droppable references part(p_partkey),
ps_suppkey int not null not droppable references supplier(s_suppkey),
ps_availqty int not null not droppable,
ps_supplycost numeric(12,2) not null not droppable,
ps_comment varchar(199) not null not droppable,
primary key (ps_partkey,ps_suppkey) not droppable)
store by primary key;
Create table lineitem (
l_orderkey int not null not droppable references orders(o_orderkey),
l_linenumber int not null not droppable,
l_partkey int not null not droppable, -- => partsupp
l_suppkey int not null not droppable, -- => partsupp
l_quantity numeric(12,2) not null not droppable,
l_extendedprice numeric(12,2) not null not droppable,
l_discount numeric(12,2) not null not droppable,
l_tax numeric(12,2) not null not droppable,
l_shipdate date not null not droppable,
l_commitdate date not null not droppable,
l_receiptdate date not null not droppable,
l_returnflag char(1) not null not droppable,
l_linestatus char(1) not null not droppable,
l_shipinstruct char(25) not null not droppable,
l_shipmode char(10) not null not droppable,
l_comment varchar(44) not null not droppable,
primary key (l_orderkey,l_linenumber) not droppable)
store by primary key;
alter table lineitem
add foreign key (l_partkey, l_suppkey) references partsupp(ps_partkey, ps_suppkey);