diff --git a/config/tpcc_oracle.xml b/config/tpcc_oracle.xml new file mode 100644 index 000000000..6281264f0 --- /dev/null +++ b/config/tpcc_oracle.xml @@ -0,0 +1,46 @@ + + + + oracle + oracle.jdbc.driver.OracleDriver + jdbc:oracle:thin:@100.100.100.100:1521:orcl + tpcc + fake_user + fake_password + 64 + + + + + unlimited + 45,43,4,4,4 + + + + + 16 + config/dialects/tpcc_dialects.xml + TRANSACTION_READ_COMMITTED + + + NewOrder + 1 + + + Payment + 2 + + + OrderStatus + 3 + + + Delivery + 4 + + + StockLevel + 5 + + + \ No newline at end of file diff --git a/config/tpch_oracle.xml b/config/tpch_oracle.xml new file mode 100644 index 000000000..ad884ae9e --- /dev/null +++ b/config/tpch_oracle.xml @@ -0,0 +1,142 @@ + + + + + oracle + oracle.jdbc.driver.OracleDriver + jdbc:oracle:thin:@100.100.100.100:1521:orcl + fake_user + fake_password + TRANSACTION_READ_COMMITTED + + + data/tpch1 + + + + tbl + + + 20 + + + 1 + + + true + unlimited + all + + + true + unlimited + even + + + true + unlimited + odd + + + + + + + odd + 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 + + + even + 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 + + + + Q1 + 1 + + + Q2 + 2 + + + Q3 + 3 + + + Q4 + 4 + + + Q5 + 5 + + + Q6 + 6 + + + Q7 + 7 + + + Q8 + 8 + + + Q9 + 9 + + + Q10 + 10 + + + Q11 + 11 + + + Q12 + 12 + + + Q13 + 13 + + + Q14 + 14 + + + Q15 + 15 + + + Q16 + 16 + + + Q17 + 17 + + + Q18 + 18 + + + Q19 + 19 + + + Q20 + 20 + + + Q21 + 21 + + + Q22 + 22 + + + \ No newline at end of file diff --git a/config/wiki_oracle.xml b/config/wiki_oracle.xml new file mode 100644 index 000000000..ecf421b06 --- /dev/null +++ b/config/wiki_oracle.xml @@ -0,0 +1,48 @@ + + + + + oracle + oracle.jdbc.driver.OracleDriver + jdbc:oracle:thin:@100.100.100.100:1521:orcl + fake_user + fake_password + TRANSACTION_READ_COMMITTED + + + 100 + + + config/traces/wikipedia-100k.trace + 10 + 10.1. + + + 64 + + + + unlimited + 0.07,0.07,7.6725,91.2656,0.9219 + + + + + + + AddWatchList + + + RemoveWatchList + + + UpdatePage + + + GetPageAnonymous + + + GetPageAuthenticated + + + diff --git a/pom.xml b/pom.xml index 7ff601e37..791d506b7 100644 --- a/pom.xml +++ b/pom.xml @@ -115,6 +115,11 @@ openjpa-persistence-jdbc 1.0.0 + + com.oracle + ojdbc14 + 10.2.0.4.0 + org.hibernate.javax.persistence hibernate-jpa-2.0-api diff --git a/src/com/oltpbenchmark/benchmarks/tpch/ddls/tpch-oracle-ddl.sql b/src/com/oltpbenchmark/benchmarks/tpch/ddls/tpch-oracle-ddl.sql new file mode 100644 index 000000000..02b82b46d --- /dev/null +++ b/src/com/oltpbenchmark/benchmarks/tpch/ddls/tpch-oracle-ddl.sql @@ -0,0 +1,77 @@ +BEGIN EXECUTE IMMEDIATE 'DROP TABLE nation CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE region CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE part CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE supplier CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE partsupp CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE orders CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE customer CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; +BEGIN EXECUTE IMMEDIATE 'DROP TABLE lineitem CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN OTHERS THEN IF SQLCODE != -942 THEN RAISE; END IF; END;; + +CREATE TABLE nation ( n_nationkey INTEGER NOT NULL, + n_name CHAR(25) NOT NULL, + n_regionkey INTEGER NOT NULL, + n_comment VARCHAR(152)); + +CREATE TABLE region ( r_regionkey INTEGER NOT NULL, + r_name CHAR(25) NOT NULL, + r_comment VARCHAR(152)); + +CREATE TABLE part ( p_partkey INTEGER NOT NULL, + p_name VARCHAR(55) NOT NULL, + p_mfgr CHAR(25) NOT NULL, + p_brand CHAR(10) NOT NULL, + p_type VARCHAR(25) NOT NULL, + p_size INTEGER NOT NULL, + p_container CHAR(10) NOT NULL, + p_retailprice DECIMAL(15,2) NOT NULL, + p_comment VARCHAR(23) NOT NULL ); + +CREATE TABLE supplier ( s_suppkey INTEGER NOT NULL, + s_name CHAR(25) NOT NULL, + s_address VARCHAR(40) NOT NULL, + s_nationkey INTEGER NOT NULL, + s_phone CHAR(15) NOT NULL, + s_acctbal DECIMAL(15,2) NOT NULL, + s_comment VARCHAR(101) NOT NULL); + +CREATE TABLE partsupp ( ps_partkey INTEGER NOT NULL, + ps_suppkey INTEGER NOT NULL, + ps_availqty INTEGER NOT NULL, + ps_supplycost DECIMAL(15,2) NOT NULL, + ps_comment VARCHAR(199) NOT NULL ); + +CREATE TABLE customer ( c_custkey INTEGER NOT NULL, + c_name VARCHAR(25) NOT NULL, + c_address VARCHAR(40) NOT NULL, + c_nationkey INTEGER NOT NULL, + c_phone CHAR(15) NOT NULL, + c_acctbal DECIMAL(15,2) NOT NULL, + c_mktsegment CHAR(10) NOT NULL, + c_comment VARCHAR(117) NOT NULL); + +CREATE TABLE orders ( o_orderkey INTEGER NOT NULL, + o_custkey INTEGER NOT NULL, + o_orderstatus CHAR(1) NOT NULL, + o_totalprice DECIMAL(15,2) NOT NULL, + o_orderdate DATE NOT NULL, + o_orderpriority CHAR(15) NOT NULL, + o_clerk CHAR(15) NOT NULL, + o_shippriority INTEGER NOT NULL, + o_comment VARCHAR(79) NOT NULL); + +CREATE TABLE lineitem ( l_orderkey INTEGER NOT NULL, + l_partkey INTEGER NOT NULL, + l_suppkey INTEGER NOT NULL, + l_linenumber INTEGER NOT NULL, + l_quantity DECIMAL(15,2) NOT NULL, + l_extendedprice DECIMAL(15,2) NOT NULL, + l_discount DECIMAL(15,2) NOT NULL, + l_tax DECIMAL(15,2) NOT NULL, + l_returnflag CHAR(1) NOT NULL, + l_linestatus CHAR(1) NOT NULL, + l_shipdate DATE NOT NULL, + l_commitdate DATE NOT NULL, + l_receiptdate DATE NOT NULL, + l_shipinstruct CHAR(25) NOT NULL, + l_shipmode CHAR(10) NOT NULL, + l_comment VARCHAR(44) NOT NULL); diff --git a/src/com/oltpbenchmark/benchmarks/tpch/ddls/tpch-oracle-index-ddl.sql b/src/com/oltpbenchmark/benchmarks/tpch/ddls/tpch-oracle-index-ddl.sql new file mode 100644 index 000000000..152f633fc --- /dev/null +++ b/src/com/oltpbenchmark/benchmarks/tpch/ddls/tpch-oracle-index-ddl.sql @@ -0,0 +1,26 @@ +create unique index c_ck on customer (c_custkey asc) ; +create index c_nk on customer (c_nationkey asc) ; +create unique index p_pk on part (p_partkey asc) ; +create unique index s_sk on supplier (s_suppkey asc) ; +create index s_nk on supplier (s_nationkey asc) ; +create index ps_pk on partsupp (ps_partkey asc) ; +create index ps_sk on partsupp (ps_suppkey asc) ; +create unique index ps_pk_sk on partsupp (ps_partkey asc, ps_suppkey asc) ; +create unique index ps_sk_pk on partsupp (ps_suppkey asc, ps_partkey asc) ; +create unique index o_ok on orders (o_orderkey asc) ; +create index o_ck on orders (o_custkey asc) ; +create index o_od on orders (o_orderdate asc) ; +create index l_ok on lineitem (l_orderkey asc) ; +create index l_pk on lineitem (l_partkey asc) ; +create index l_sk on lineitem (l_suppkey asc) ; +--create index l_ln on lineitem (l_linenumber asc) ; +create index l_sd on lineitem (l_shipdate asc) ; +create index l_cd on lineitem (l_commitdate asc) ; +create index l_rd on lineitem (l_receiptdate asc) ; +--create unique index l_ok_ln on lineitem (l_orderkey asc, l_linenumber asc) ; +--create unique index l_ln_ok on lineitem (l_linenumber asc, l_orderkey asc) ; +create index l_pk_sk on lineitem (l_partkey asc, l_suppkey asc) ; +create index l_sk_pk on lineitem (l_suppkey asc, l_partkey asc) ; +create unique index n_nk on nation (n_nationkey asc) ; +create index n_rk on nation (n_regionkey asc) ; +create unique index r_rk on region (r_regionkey asc) ;