diff --git a/config/informix/sample_tpcc_config.xml b/config/informix/sample_tpcc_config.xml
new file mode 100644
index 000000000..5144bd77f
--- /dev/null
+++ b/config/informix/sample_tpcc_config.xml
@@ -0,0 +1,54 @@
+
+
+
+
+ INFORMIX
+ com.informix.jdbc.IfxDriver
+ jdbc:informix-sqli://localhost:9088/demo:INFORMIXSERVER=informix;user=informix;password=in4mix;sslMode=DISABLED
+ informix
+ in4mix
+ TRANSACTION_SERIALIZABLE
+ 128
+
+
+ 1
+
+
+ 1
+
+
+
+ 10000
+ 45,43,4,4,4
+
+
+
+
+
+
+ NewOrder
+
+
+
+
+ Payment
+
+
+
+
+ OrderStatus
+
+
+
+
+ Delivery
+
+
+
+
+ StockLevel
+
+
+
+
+
diff --git a/config/informix/sample_ycsb_config.xml b/config/informix/sample_ycsb_config.xml
new file mode 100644
index 000000000..5e960a080
--- /dev/null
+++ b/config/informix/sample_ycsb_config.xml
@@ -0,0 +1,47 @@
+
+
+
+
+ INFORMIX
+ com.informix.jdbc.IfxDriver
+ jdbc:informix-sqli://localhost:9088/demo:INFORMIXSERVER=informix;user=informix;password=in4mix;sslMode=DISABLED
+ informix
+ in4mix
+ TRANSACTION_SERIALIZABLE
+ 128
+
+
+ 1
+
+
+ 1
+
+
+
+ 10000
+ 50,5,15,10,10,10
+
+
+
+
+
+
+ ReadRecord
+
+
+ InsertRecord
+
+
+ ScanRecord
+
+
+ UpdateRecord
+
+
+ DeleteRecord
+
+
+ ReadModifyWriteRecord
+
+
+
diff --git a/config/sybase/sample_tpcc_config.xml b/config/sybase/sample_tpcc_config.xml
new file mode 100644
index 000000000..bb6bccb19
--- /dev/null
+++ b/config/sybase/sample_tpcc_config.xml
@@ -0,0 +1,55 @@
+
+
+
+
+ SybaseASE
+ com.sybase.jdbc4.jdbc.SybDriver
+ jdbc:sybase:Tds:localhost:8000/test
+ sa
+ myPassword
+ TRANSACTION_SERIALIZABLE
+ 128
+
+
+ 1
+
+
+ 1
+
+
+
+ 10000
+ 45,43,4,4,4
+
+
+
+
+
+
+ NewOrder
+
+
+
+
+ Payment
+
+
+
+
+ OrderStatus
+
+
+
+
+ Delivery
+
+
+
+
+ StockLevel
+
+
+
+
+
+
diff --git a/config/sybase/sample_ycsb_config.xml b/config/sybase/sample_ycsb_config.xml
new file mode 100644
index 000000000..fa9b55a5c
--- /dev/null
+++ b/config/sybase/sample_ycsb_config.xml
@@ -0,0 +1,48 @@
+
+
+
+
+ SybaseASE
+ com.sybase.jdbc4.jdbc.SybDriver
+ jdbc:sybase:Tds:localhost:8000/demo
+ sa
+ myPassword
+ TRANSACTION_SERIALIZABLE
+ 128
+
+
+ 1
+
+
+ 1
+
+
+
+ 10000
+ 50,5,15,10,10,10
+
+
+
+
+
+
+ ReadRecord
+
+
+ InsertRecord
+
+
+ ScanRecord
+
+
+ UpdateRecord
+
+
+ DeleteRecord
+
+
+ ReadModifyWriteRecord
+
+
+
+
diff --git a/pom.xml b/pom.xml
index f33d51b32..3a7cf43db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,71 @@
+
+ arcion
+
+
+ jumpmind
+ jumpmind
+ https://maven.jumpmind.com/repo
+
+
+
+ arcion
+
+
+
+ org.xerial
+ sqlite-jdbc
+ 3.36.0.3
+
+
+ com.ibm.db2
+ jcc
+ 11.5.8.0
+
+
+ org.postgresql
+ postgresql
+ 42.4.0
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.29
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ 2.7.8
+
+
+ com.oracle.database.jdbc
+ ojdbc8
+ 21.1.0.0
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 11.2.3.jre17
+
+
+
+ com.ibm.informix
+ jdbc
+ 4.50.3
+
+
+
+
+ jdbc.sybase
+ jconn4
+ 16.0
+
+
+
+
sqlite
@@ -62,6 +127,33 @@
+
+ db2
+
+ db2
+
+
+
+ com.ibm.db2
+ jcc
+ 11.5.8.0
+
+
+
+
+ sybase
+
+ sybase
+
+
+
+
+ jdbc.sybase
+ jconn4
+ 16.0
+
+
+
postgres
@@ -75,6 +167,7 @@
+
mysql
@@ -97,7 +190,7 @@
org.mariadb.jdbc
mariadb-java-client
- 3.1.4
+ 2.7.8
@@ -110,7 +203,7 @@
com.google.cloud
google-cloud-spanner-jdbc
- 2.9.16
+ 2.9.13
@@ -127,6 +220,19 @@
+
+ oracle
+
+ oracle
+
+
+
+ com.oracle.database.jdbc
+ ojdbc8
+ 21.1.0.0
+
+
+
phoenix
@@ -153,6 +259,20 @@
+
+ informix
+
+ informix
+
+
+
+
+ com.ibm.informix
+ jdbc
+ 4.50.3
+
+
+
diff --git a/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java b/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java
index 68fa03cbc..e10c3e61b 100644
--- a/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java
+++ b/src/main/java/com/oltpbenchmark/WorkloadConfiguration.java
@@ -253,10 +253,13 @@ public void setDDLPath(String ddlPath) {
*/
public void init() {
try {
- Class.forName(this.driverClass);
+ // The newInstance() call is a work around for some broken Java implementations
+ Class.forName(this.driverClass).newInstance();
} catch (ClassNotFoundException ex) {
throw new RuntimeException("Failed to initialize JDBC driver '" + this.driverClass + "'", ex);
- }
+ } catch (java.lang.InstantiationException | java.lang.IllegalAccessException ex) {
+ throw new RuntimeException("Failed to initialize JDBC driver '" + this.driverClass + "'", ex);
+ }
}
public int getTerminals() {
diff --git a/src/main/java/com/oltpbenchmark/api/LoaderThread.java b/src/main/java/com/oltpbenchmark/api/LoaderThread.java
index 50f4ba9c3..a4699d95f 100644
--- a/src/main/java/com/oltpbenchmark/api/LoaderThread.java
+++ b/src/main/java/com/oltpbenchmark/api/LoaderThread.java
@@ -20,9 +20,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.oltpbenchmark.types.DatabaseType;
+
import java.sql.Connection;
+import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
+
/**
* A LoaderThread is responsible for loading some portion of a
* benchmark's database.
@@ -41,7 +46,16 @@ public LoaderThread(BenchmarkModule benchmarkModule) {
@Override
public final void run() {
beforeLoad();
- try (Connection conn = benchmarkModule.makeConnection()) {
+ try (Connection conn = benchmarkModule.makeConnection()) {
+ DatabaseType databaseType = benchmarkModule.getWorkloadConfiguration().getDatabaseType();
+ if ( databaseType == DatabaseType.SYBASEASE ) {
+ LOG.info("Sybase ASE: Running set arithabort numeric_truncation off");
+ try (Statement stmt = conn.createStatement()) {
+ int result = stmt.executeUpdate("set arithabort numeric_truncation off");
+ } catch (SQLException e) {
+ LOG.info(e.getMessage());
+ }
+ }
load(conn);
} catch (SQLException ex) {
SQLException next_ex = ex.getNextException();
diff --git a/src/main/java/com/oltpbenchmark/api/Worker.java b/src/main/java/com/oltpbenchmark/api/Worker.java
index f1cdf68ee..ecf589ed1 100644
--- a/src/main/java/com/oltpbenchmark/api/Worker.java
+++ b/src/main/java/com/oltpbenchmark/api/Worker.java
@@ -79,6 +79,15 @@ public Worker(T benchmark, int id) {
this.conn = this.benchmark.makeConnection();
this.conn.setAutoCommit(false);
this.conn.setTransactionIsolation(this.configuration.getIsolationMode());
+ DatabaseType databaseType = this.configuration.getDatabaseType();
+ if ( databaseType == DatabaseType.SYBASEASE ) {
+ LOG.info("Running set arithabort numeric_truncation off.");
+ try (Statement stmt = conn.createStatement()) {
+ int result = stmt.executeUpdate("set arithabort numeric_truncation off");
+ } catch (SQLException e) {
+ LOG.info(e.getMessage());
+ }
+ }
} catch (SQLException ex) {
throw new RuntimeException("Failed to connect to database", ex);
}
diff --git a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java
index 155e087eb..cb7c184e8 100644
--- a/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java
+++ b/src/main/java/com/oltpbenchmark/benchmarks/ycsb/YCSBBenchmark.java
@@ -77,7 +77,7 @@ protected List> makeWorkersImpl() {
// LOADING FROM THE DATABASE IMPORTANT INFORMATION
// LIST OF USERS
Table t = this.getCatalog().getTable("USERTABLE");
- String userCount = SQLUtil.getMaxColSQL(this.workConf.getDatabaseType(), t, "ycsb_key");
+ String userCount = SQLUtil.getMaxColSQL(this.workConf.getDatabaseType(), t, "YCSB_KEY");
try (Connection metaConn = this.makeConnection();
Statement stmt = metaConn.createStatement();
diff --git a/src/main/java/com/oltpbenchmark/types/DatabaseType.java b/src/main/java/com/oltpbenchmark/types/DatabaseType.java
index 00e3d2b74..a6afb8434 100644
--- a/src/main/java/com/oltpbenchmark/types/DatabaseType.java
+++ b/src/main/java/com/oltpbenchmark/types/DatabaseType.java
@@ -35,6 +35,7 @@ public enum DatabaseType {
DB2(true, false),
H2(true, false),
HSQLDB(false, false),
+ INFORMIX(false, false),
POSTGRES(false, false, true),
MARIADB(true, false),
MONETDB(false, false),
@@ -48,7 +49,8 @@ public enum DatabaseType {
SQLAZURE(true, true, true),
SQLITE(true, false),
SQLSERVER(true, true, true),
- TIMESTEN(true, false),
+ SYBASEASE(true, false),
+ TIMESTEN(true,false),
PHOENIX(true, true);
diff --git a/src/main/java/com/oltpbenchmark/util/SQLUtil.java b/src/main/java/com/oltpbenchmark/util/SQLUtil.java
index c0cd7e8c9..d25d1d7aa 100644
--- a/src/main/java/com/oltpbenchmark/util/SQLUtil.java
+++ b/src/main/java/com/oltpbenchmark/util/SQLUtil.java
@@ -507,7 +507,14 @@ private static AbstractCatalog getCatalogDirect(DatabaseType databaseType, Conne
String separator = md.getIdentifierQuoteString();
String catalog = connection.getCatalog();
- String schema = connection.getSchema();
+ String schema;
+ try {
+ schema = connection.getSchema();
+ } catch (java.lang.AbstractMethodError e) {
+ // Sybase ASE JDBC does not implement getSchema
+ LOG.info("Abstract method getSchema() not implemented and will not use schema name.");
+ schema = null;
+ }
Map tables = new HashMap<>();
diff --git a/src/main/resources/benchmarks/sibench/ddl-sqlserver.sql b/src/main/resources/benchmarks/sibench/ddl-sqlserver.sql
new file mode 100644
index 000000000..f0a3bfba1
--- /dev/null
+++ b/src/main/resources/benchmarks/sibench/ddl-sqlserver.sql
@@ -0,0 +1,5 @@
+drop table if exists sitest;
+create table sitest (
+ id int primary key,
+ value int not null
+);
\ No newline at end of file
diff --git a/src/main/resources/benchmarks/smallbank/ddl-informix.sql b/src/main/resources/benchmarks/smallbank/ddl-informix.sql
new file mode 100644
index 000000000..78bbfa71e
--- /dev/null
+++ b/src/main/resources/benchmarks/smallbank/ddl-informix.sql
@@ -0,0 +1,24 @@
+drop table if exists checking;
+drop table if exists savings;
+drop table if exists accounts;
+
+create table accounts (
+ custid bigint not null,
+ name varchar(64) not null,
+ primary key (custid)
+);
+create index idx_accounts_name on accounts (name);
+
+create table savings (
+ custid bigint not null,
+ bal float not null,
+ primary key (custid),
+ foreign key (custid) references accounts (custid)
+);
+
+create table checking (
+ custid bigint not null,
+ bal float not null,
+ primary key (custid),
+ foreign key (custid) references accounts (custid)
+);
diff --git a/src/main/resources/benchmarks/smallbank/ddl-sqlserver.sql b/src/main/resources/benchmarks/smallbank/ddl-sqlserver.sql
new file mode 100644
index 000000000..e83f3beba
--- /dev/null
+++ b/src/main/resources/benchmarks/smallbank/ddl-sqlserver.sql
@@ -0,0 +1,24 @@
+drop table if exists checking;
+drop table if exists savings;
+drop table if exists accounts;
+
+create table accounts (
+ custid bigint not null,
+ name varchar(64) not null,
+ constraint pk_accounts primary key (custid)
+);
+create index idx_accounts_name on accounts (name);
+
+create table savings (
+ custid bigint not null,
+ bal float not null,
+ constraint pk_savings primary key (custid),
+ foreign key (custid) references accounts (custid)
+);
+
+create table checking (
+ custid bigint not null,
+ bal float not null,
+ constraint pk_checking primary key (custid),
+ foreign key (custid) references accounts (custid)
+);
diff --git a/src/main/resources/benchmarks/tatp/ddl-informix.sql b/src/main/resources/benchmarks/tatp/ddl-informix.sql
new file mode 100644
index 000000000..8d3f9aa0f
--- /dev/null
+++ b/src/main/resources/benchmarks/tatp/ddl-informix.sql
@@ -0,0 +1,79 @@
+drop table if exists call_forwarding;
+drop table if exists special_facility;
+drop table if exists access_info;
+drop table if exists subscriber;
+
+create table subscriber
+(
+ s_id integer not null primary key,
+ sub_nbr varchar(15) not null unique,
+ bit_1 smallint,
+ bit_2 smallint,
+ bit_3 smallint,
+ bit_4 smallint,
+ bit_5 smallint,
+ bit_6 smallint,
+ bit_7 smallint,
+ bit_8 smallint,
+ bit_9 smallint,
+ bit_10 smallint,
+ hex_1 smallint,
+ hex_2 smallint,
+ hex_3 smallint,
+ hex_4 smallint,
+ hex_5 smallint,
+ hex_6 smallint,
+ hex_7 smallint,
+ hex_8 smallint,
+ hex_9 smallint,
+ hex_10 smallint,
+ byte2_1 smallint,
+ byte2_2 smallint,
+ byte2_3 smallint,
+ byte2_4 smallint,
+ byte2_5 smallint,
+ byte2_6 smallint,
+ byte2_7 smallint,
+ byte2_8 smallint,
+ byte2_9 smallint,
+ byte2_10 smallint,
+ msc_location integer,
+ vlr_location integer
+);
+
+create table access_info
+(
+ s_id integer not null,
+ ai_type smallint not null,
+ data1 smallint,
+ data2 smallint,
+ data3 varchar(3),
+ data4 varchar(5),
+ primary key (s_id, ai_type),
+ foreign key (s_id) references subscriber (s_id)
+);
+
+
+create table special_facility
+(
+ s_id integer not null,
+ sf_type smallint not null,
+ is_active smallint not null,
+ error_cntrl smallint,
+ data_a smallint,
+ data_b varchar(5),
+ primary key (s_id, sf_type),
+ foreign key (s_id) references subscriber (s_id)
+);
+
+create table call_forwarding
+(
+ s_id integer not null,
+ sf_type smallint not null,
+ start_time smallint not null,
+ end_time smallint,
+ numberx varchar(15),
+ primary key (s_id, sf_type, start_time),
+ foreign key (s_id, sf_type) references special_facility (s_id, sf_type)
+);
+create index idx_cf on call_forwarding (s_id);
diff --git a/src/main/resources/benchmarks/tatp/ddl-sqlserver.sql b/src/main/resources/benchmarks/tatp/ddl-sqlserver.sql
index d1ca37072..27492a8ec 100644
--- a/src/main/resources/benchmarks/tatp/ddl-sqlserver.sql
+++ b/src/main/resources/benchmarks/tatp/ddl-sqlserver.sql
@@ -76,4 +76,4 @@ CREATE TABLE CALL_FORWARDING (
);
-- Create Indexes
-CREATE INDEX IDX_CF ON CALL_FORWARDING (S_ID);
\ No newline at end of file
+CREATE INDEX IDX_CF ON CALL_FORWARDING (S_ID);
diff --git a/src/main/resources/benchmarks/tpcc/ddl-informix.sql b/src/main/resources/benchmarks/tpcc/ddl-informix.sql
new file mode 100644
index 000000000..eff1d1c13
--- /dev/null
+++ b/src/main/resources/benchmarks/tpcc/ddl-informix.sql
@@ -0,0 +1,158 @@
+drop table if exists order_line;
+drop table if exists stock;
+drop table if exists item;
+drop table if exists history;
+drop table if exists new_order;
+drop table if exists oorder;
+drop table if exists customer;
+drop table if exists district;
+drop table if exists warehouse;
+
+create table warehouse
+(
+ w_id int not null,
+ w_ytd decimal(12, 2) not null,
+ w_tax decimal(4, 4) not null,
+ w_name varchar(10) not null,
+ w_street_1 varchar(20) not null,
+ w_street_2 varchar(20) not null,
+ w_city varchar(20) not null,
+ w_state char(2) not null,
+ w_zip char(9) not null,
+ primary key (w_id)
+);
+
+
+create table district
+(
+ d_w_id int not null references warehouse (w_id),
+ d_id int not null,
+ d_ytd decimal(12, 2) not null,
+ d_tax decimal(4, 4) not null,
+ d_next_o_id int not null,
+ d_name varchar(10) not null,
+ d_street_1 varchar(20) not null,
+ d_street_2 varchar(20) not null,
+ d_city varchar(20) not null,
+ d_state char(2) not null,
+ d_zip char(9) not null,
+ primary key (d_w_id, d_id)
+);
+
+-- todo: c_since on update current_timestamp,
+create table customer
+(
+ c_w_id int not null,
+ c_d_id int not null,
+ c_id int not null,
+ c_discount decimal(4, 4) not null,
+ c_credit char(2) not null,
+ c_last varchar(16) not null,
+ c_first varchar(16) not null,
+ c_credit_lim decimal(12, 2) not null,
+ c_balance decimal(12, 2) not null,
+ c_ytd_payment float not null,
+ c_payment_cnt int not null,
+ c_delivery_cnt int not null,
+ c_street_1 varchar(20) not null,
+ c_street_2 varchar(20) not null,
+ c_city varchar(20) not null,
+ c_state char(2) not null,
+ c_zip char(9) not null,
+ c_phone char(16) not null,
+ c_since datetime year to fraction(3) not null,
+ c_middle char(2) not null,
+ c_data text not null,
+ primary key (c_w_id, c_d_id, c_id),
+ foreign key (c_w_id, c_d_id) references district (d_w_id, d_id)
+);
+create index idx_customer_name on customer (c_w_id, c_d_id, c_last, c_first);
+
+-- todo: o_entry_d on update current_timestamp
+create table oorder
+(
+ o_w_id int not null,
+ o_d_id int not null,
+ o_id int not null,
+ o_c_id int not null,
+ o_carrier_id int default null,
+ o_ol_cnt int not null,
+ o_all_local int not null,
+ o_entry_d datetime year to fraction(3) not null,
+ primary key (o_w_id, o_d_id, o_id),
+ unique (o_w_id, o_d_id, o_c_id, o_id),
+ foreign key (o_w_id, o_d_id, o_c_id) references customer (c_w_id, c_d_id, c_id)
+);
+
+create table new_order
+(
+ no_w_id int not null,
+ no_d_id int not null,
+ no_o_id int not null,
+ primary key (no_w_id, no_d_id, no_o_id),
+ foreign key (no_w_id, no_d_id, no_o_id) references oorder (o_w_id, o_d_id, o_id)
+);
+
+-- todo: h_date on update current_timestamp
+create table history
+(
+ h_c_id int not null,
+ h_c_d_id int not null,
+ h_c_w_id int not null,
+ h_d_id int not null,
+ h_w_id int not null,
+ h_date datetime year to fraction(3) not null,
+ h_amount decimal(6, 2) not null,
+ h_data varchar(24) not null,
+ foreign key (h_c_w_id, h_c_d_id, h_c_id) references customer (c_w_id, c_d_id, c_id),
+ foreign key (h_w_id, h_d_id) references district (d_w_id, d_id)
+);
+
+create table item
+(
+ i_id int not null,
+ i_name varchar(24) not null,
+ i_price decimal(5, 2) not null,
+ i_data varchar(50) not null,
+ i_im_id int not null,
+ primary key (i_id)
+);
+
+create table stock
+(
+ s_w_id int not null references warehouse (w_id),
+ s_i_id int not null references item (i_id),
+ s_quantity int not null,
+ s_ytd decimal(8, 2) not null,
+ s_order_cnt int not null,
+ s_remote_cnt int not null,
+ s_data varchar(50) not null,
+ s_dist_01 char(24) not null,
+ s_dist_02 char(24) not null,
+ s_dist_03 char(24) not null,
+ s_dist_04 char(24) not null,
+ s_dist_05 char(24) not null,
+ s_dist_06 char(24) not null,
+ s_dist_07 char(24) not null,
+ s_dist_08 char(24) not null,
+ s_dist_09 char(24) not null,
+ s_dist_10 char(24) not null,
+ primary key (s_w_id, s_i_id)
+);
+
+create table order_line
+(
+ ol_w_id int not null,
+ ol_d_id int not null,
+ ol_o_id int not null,
+ ol_number int not null,
+ ol_i_id int not null,
+ ol_delivery_d datetime year to fraction(3),
+ ol_amount decimal(6, 2) not null,
+ ol_supply_w_id int not null,
+ ol_quantity decimal(6, 2) not null,
+ ol_dist_info char(24) not null,
+ primary key (ol_w_id,ol_d_id,ol_o_id,ol_number),
+ foreign key (ol_w_id, ol_d_id, ol_o_id) references oorder (o_w_id, o_d_id, o_id),
+ foreign key (ol_supply_w_id, ol_i_id) references stock (s_w_id, s_i_id)
+);
diff --git a/src/main/resources/benchmarks/tpcc/ddl-sybasease.sql b/src/main/resources/benchmarks/tpcc/ddl-sybasease.sql
new file mode 100644
index 000000000..807faf68d
--- /dev/null
+++ b/src/main/resources/benchmarks/tpcc/ddl-sybasease.sql
@@ -0,0 +1,148 @@
+-- based from sqlserver
+-- don't abort when 0.2222 is inserted into 0.22 precision
+set arithabort numeric_truncation off;
+
+-- DROP EXISTING TABLES
+if object_id('warehouse') is not null drop table warehouse;
+if object_id('stock') is not null drop table stock;
+if object_id('order_line') is not null drop table order_line;
+if object_id('oorder') is not null drop table oorder;
+if object_id('new_order') is not null drop table new_order;
+if object_id('item') is not null drop table item;
+if object_id('history') is not null drop table history;
+if object_id('district') is not null drop table district;
+if object_id('customer') is not null drop table customer;
+
+-- CREATE TABLES
+
+CREATE TABLE warehouse(
+ W_ID INT NOT NULL,
+ W_YTD DECIMAL(12, 2) NOT NULL,
+ W_TAX DECIMAL(4, 4) NOT NULL,
+ W_NAME VARCHAR(10) NOT NULL,
+ W_STREET_1 VARCHAR(20) NOT NULL,
+ W_STREET_2 VARCHAR(20) NOT NULL,
+ W_CITY VARCHAR(20) NOT NULL,
+ W_STATE CHAR(2) NOT NULL,
+ W_ZIP CHAR(9) NOT NULL,
+ PRIMARY KEY (W_ID)
+);
+
+CREATE TABLE stock(
+ S_W_ID INT NOT NULL,
+ S_I_ID INT NOT NULL,
+ S_QUANTITY DECIMAL(4, 0) NOT NULL,
+ S_YTD DECIMAL(8, 2) NOT NULL,
+ S_ORDER_CNT INT NOT NULL,
+ S_REMOTE_CNT INT NOT NULL,
+ S_DATA VARCHAR(50) NOT NULL,
+ S_DIST_01 CHAR(24) NOT NULL,
+ S_DIST_02 CHAR(24) NOT NULL,
+ S_DIST_03 CHAR(24) NOT NULL,
+ S_DIST_04 CHAR(24) NOT NULL,
+ S_DIST_05 CHAR(24) NOT NULL,
+ S_DIST_06 CHAR(24) NOT NULL,
+ S_DIST_07 CHAR(24) NOT NULL,
+ S_DIST_08 CHAR(24) NOT NULL,
+ S_DIST_09 CHAR(24) NOT NULL,
+ S_DIST_10 CHAR(24) NOT NULL,
+ PRIMARY KEY (S_W_ID,S_I_ID)
+);
+
+CREATE TABLE order_line(
+ OL_W_ID INT NOT NULL,
+ OL_D_ID INT NOT NULL,
+ OL_O_ID INT NOT NULL,
+ OL_NUMBER INT NOT NULL,
+ OL_I_ID INT NOT NULL,
+ OL_DELIVERY_D DATETIME NULL,
+ OL_AMOUNT DECIMAL(6, 2) NOT NULL,
+ OL_SUPPLY_W_ID INT NOT NULL,
+ OL_QUANTITY DECIMAL(2, 0) NOT NULL,
+ OL_DIST_INFO CHAR(24) NOT NULL,
+ PRIMARY KEY (OL_W_ID,OL_D_ID,OL_O_ID,OL_NUMBER)
+);
+
+CREATE TABLE oorder(
+ O_W_ID INT NOT NULL,
+ O_D_ID INT NOT NULL,
+ O_ID INT NOT NULL,
+ O_C_ID INT NOT NULL,
+ O_CARRIER_ID INT NULL,
+ O_OL_CNT DECIMAL(2, 0) NOT NULL,
+ O_ALL_LOCAL DECIMAL(1, 0) NOT NULL,
+ O_ENTRY_D DATETIME NULL,
+ PRIMARY KEY (O_W_ID,O_D_ID,O_ID),
+ UNIQUE (O_W_ID,O_D_ID,O_C_ID,O_ID)
+);
+
+CREATE TABLE new_order(
+ NO_W_ID INT NOT NULL,
+ NO_D_ID INT NOT NULL,
+ NO_O_ID INT NOT NULL,
+ PRIMARY KEY (NO_W_ID,NO_D_ID,NO_O_ID)
+);
+
+CREATE TABLE item(
+ I_ID INT NOT NULL,
+ I_NAME VARCHAR(24) NOT NULL,
+ I_PRICE DECIMAL(5, 2) NOT NULL,
+ I_DATA VARCHAR(50) NOT NULL,
+ I_IM_ID INT NOT NULL,
+ PRIMARY KEY (I_ID)
+);
+
+CREATE TABLE history(
+ H_C_ID INT NOT NULL,
+ H_C_D_ID INT NOT NULL,
+ H_C_W_ID INT NOT NULL,
+ H_D_ID INT NOT NULL,
+ H_W_ID INT NOT NULL,
+ H_DATE DATETIME NULL,
+ H_AMOUNT DECIMAL(6, 2) NOT NULL,
+ H_DATA VARCHAR(24) NOT NULL
+);
+
+CREATE TABLE district(
+ D_W_ID INT NOT NULL,
+ D_ID INT NOT NULL,
+ D_YTD DECIMAL(12, 2) NOT NULL,
+ D_TAX DECIMAL(4, 4) NOT NULL,
+ D_NEXT_O_ID INT NOT NULL,
+ D_NAME VARCHAR(10) NOT NULL,
+ D_STREET_1 VARCHAR(20) NOT NULL,
+ D_STREET_2 VARCHAR(20) NOT NULL,
+ D_CITY VARCHAR(20) NOT NULL,
+ D_STATE CHAR(2) NOT NULL,
+ D_ZIP CHAR(9) NOT NULL,
+ PRIMARY KEY (D_W_ID,D_ID)
+);
+
+
+CREATE TABLE customer(
+ C_W_ID INT NOT NULL,
+ C_D_ID INT NOT NULL,
+ C_ID INT NOT NULL,
+ C_DISCOUNT DECIMAL(4, 4) NOT NULL,
+ C_CREDIT CHAR(2) NOT NULL,
+ C_LAST VARCHAR(16) NOT NULL,
+ C_FIRST VARCHAR(16) NOT NULL,
+ C_CREDIT_LIM DECIMAL(12, 2) NOT NULL,
+ C_BALANCE DECIMAL(12, 2) NOT NULL,
+ C_YTD_PAYMENT REAL NOT NULL,
+ C_PAYMENT_CNT INT NOT NULL,
+ C_DELIVERY_CNT INT NOT NULL,
+ C_STREET_1 VARCHAR(20) NOT NULL,
+ C_STREET_2 VARCHAR(20) NOT NULL,
+ C_CITY VARCHAR(20) NOT NULL,
+ C_STATE CHAR(2) NOT NULL,
+ C_ZIP CHAR(9) NOT NULL,
+ C_PHONE CHAR(16) NOT NULL,
+ C_SINCE DATETIME NULL,
+ C_MIDDLE CHAR(2) NOT NULL,
+ C_DATA VARCHAR(500) NOT NULL,
+ PRIMARY KEY (C_W_ID,C_D_ID,C_ID)
+);
+
+-- CREATE INDEXES
+CREATE INDEX IDX_CUSTOMER_NAME ON customer (C_W_ID,C_D_ID,C_LAST,C_FIRST);
diff --git a/src/main/resources/benchmarks/tpcc/dialect-sybasease.xml b/src/main/resources/benchmarks/tpcc/dialect-sybasease.xml
new file mode 100644
index 000000000..9e1486667
--- /dev/null
+++ b/src/main/resources/benchmarks/tpcc/dialect-sybasease.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ SELECT TOP 1 NO_O_ID
+ FROM new_order
+ WHERE NO_D_ID = ? AND NO_W_ID = ? ORDER BY NO_O_ID ASC
+
+
+
+
+ SELECT D_NEXT_O_ID,D_TAX
+ FROM district
+ WHERE D_W_ID = ? AND D_ID = ?
+
+
+ SELECT S_QUANTITY, S_DATA, S_DIST_01, S_DIST_02, S_DIST_03, S_DIST_04, S_DIST_05,
+ S_DIST_06, S_DIST_07, S_DIST_08, S_DIST_09, S_DIST_10
+ FROM stock
+ WHERE S_I_ID = ? AND S_W_ID = ?
+
+
+
+
+ SELECT TOP 1 O_ID, O_CARRIER_ID, O_ENTRY_D
+ FROM oorder
+ WHERE O_W_ID = ? AND O_D_ID = ? AND O_C_ID = ? ORDER BY O_ID DESC
+
+
+
+
diff --git a/src/main/resources/benchmarks/twitter/ddl-informix.sql b/src/main/resources/benchmarks/twitter/ddl-informix.sql
new file mode 100644
index 000000000..90931610f
--- /dev/null
+++ b/src/main/resources/benchmarks/twitter/ddl-informix.sql
@@ -0,0 +1,58 @@
+-- MySQL ddl from Twitter dump
+
+DROP TABLE IF EXISTS added_tweets;
+DROP TABLE IF EXISTS tweets;
+DROP TABLE IF EXISTS followers;
+DROP TABLE IF EXISTS follows;
+DROP TABLE IF EXISTS user_profiles;
+
+CREATE TABLE user_profiles
+(
+ uid int NOT NULL,
+ name varchar(255) DEFAULT NULL,
+ email varchar(255) DEFAULT NULL,
+ partitionid int DEFAULT NULL,
+ partitionid2 SMALLINT DEFAULT NULL,
+ followers int DEFAULT NULL,
+ PRIMARY KEY (uid)
+);
+CREATE INDEX IDX_USER_FOLLOWERS ON user_profiles (followers);
+CREATE INDEX IDX_USER_PARTITION ON user_profiles (partitionid);
+
+CREATE TABLE followers
+(
+ f1 int NOT NULL REFERENCES user_profiles (uid),
+ f2 int NOT NULL REFERENCES user_profiles (uid),
+ PRIMARY KEY (f1, f2)
+);
+
+CREATE TABLE follows
+(
+ f1 int NOT NULL REFERENCES user_profiles (uid),
+ f2 int NOT NULL REFERENCES user_profiles (uid),
+ PRIMARY KEY (f1, f2)
+);
+
+-- TODO: id AUTO_INCREMENT
+CREATE TABLE tweets
+(
+ id bigint NOT NULL,
+ uid int NOT NULL REFERENCES user_profiles (uid),
+ text char(140) NOT NULL,
+ createdate DATETIME YEAR TO FRACTION(3) DEFAULT NULL,
+ PRIMARY KEY (id)
+);
+-- informix auto creates based on references
+-- CREATE INDEX IDX_TWEETS_UID ON tweets (uid);
+
+-- TODO: id auto_increment
+CREATE TABLE added_tweets
+(
+ id bigint NOT NULL,
+ uid int NOT NULL REFERENCES user_profiles (uid),
+ text char(140) NOT NULL,
+ createdate DATETIME YEAR TO FRACTION(3) DEFAULT NULL,
+ PRIMARY KEY (id)
+);
+-- informix auto creates based on references
+-- CREATE INDEX IDX_ADDED_TWEETS_UID ON added_tweets (uid);
diff --git a/src/main/resources/benchmarks/voter/ddl-informix.sql b/src/main/resources/benchmarks/voter/ddl-informix.sql
new file mode 100644
index 000000000..bc4f661ae
--- /dev/null
+++ b/src/main/resources/benchmarks/voter/ddl-informix.sql
@@ -0,0 +1,54 @@
+drop view if exists v_votes_by_phone_number;
+drop view if exists v_votes_by_contestant_number_state;
+drop table if exists votes;
+drop table if exists area_code_state;
+drop table if exists contestants;
+
+-- contestants table holds the contestants numbers (for voting) and names
+create table contestants
+(
+ contestant_number integer not null,
+ contestant_name varchar(50) not null,
+ primary key (contestant_number)
+);
+
+-- map of area codes and states for geolocation classification of incoming calls
+create table area_code_state
+(
+ area_code smallint not null,
+ state varchar(2) not null,
+ primary key ( area_code )
+);
+
+-- votes table holds every valid vote.
+-- voters are not allowed to submit more than votes, x is passed to client application
+create table votes
+(
+ vote_id bigint not null,
+ phone_number bigint not null,
+ state varchar(2) not null,
+ contestant_number integer not null references contestants (contestant_number),
+ created datetime year to fraction(3) not null
+);
+-- informix auto creates based on references
+-- create index idx_votes_phone_number on votes (phone_number);
+
+-- rollup of votes by phone number, used to reject excessive voting
+create view v_votes_by_phone_number
+(
+ phone_number, num_votes
+)
+as
+ select phone_number, count(*)
+ from votes
+ group by phone_number;
+
+-- rollup of votes by contestant and state for the heat map and results
+create view v_votes_by_contestant_number_state
+(
+ contestant_number, state, num_votes
+)
+as
+ select contestant_number, state , count(*)
+ from votes
+ group by contestant_number, state;
diff --git a/src/main/resources/benchmarks/wikipedia/ddl-informix.sql b/src/main/resources/benchmarks/wikipedia/ddl-informix.sql
new file mode 100644
index 000000000..f6670c921
--- /dev/null
+++ b/src/main/resources/benchmarks/wikipedia/ddl-informix.sql
@@ -0,0 +1,241 @@
+-- TODO: ipb_id auto_increment
+
+DROP TABLE IF EXISTS watchlist;
+DROP TABLE IF EXISTS value_backup;
+DROP TABLE IF EXISTS user_groups;
+DROP TABLE IF EXISTS text;
+DROP TABLE IF EXISTS revision;
+DROP TABLE IF EXISTS recentchanges;
+DROP TABLE IF EXISTS page_restrictions;
+DROP TABLE IF EXISTS page_backup;
+DROP TABLE IF EXISTS page;
+DROP TABLE IF EXISTS logging;
+DROP TABLE IF EXISTS useracct;
+DROP TABLE IF EXISTS ipblocks;
+
+
+CREATE TABLE ipblocks
+(
+ ipb_id int NOT NULL,
+ ipb_address text NOT NULL,
+ ipb_user int NOT NULL,
+ ipb_by int NOT NULL,
+ ipb_by_text text NOT NULL,
+ ipb_reason text NOT NULL,
+ ipb_timestamp varchar(14) NOT NULL,
+ ipb_auto SMALLINT NOT NULL,
+ ipb_anon_only SMALLINT NOT NULL,
+ ipb_create_account SMALLINT NOT NULL ,
+ ipb_enable_autoblock SMALLINT NOT NULL ,
+ ipb_expiry varchar(14) NOT NULL,
+ ipb_range_start text NOT NULL,
+ ipb_range_end text NOT NULL,
+ ipb_deleted SMALLINT NOT NULL ,
+ ipb_block_email SMALLINT NOT NULL ,
+ ipb_allow_usertalk SMALLINT NOT NULL ,
+ PRIMARY KEY (ipb_id),
+ UNIQUE (ipb_address, ipb_user, ipb_auto, ipb_anon_only)
+);
+
+CREATE INDEX IDX_IPB_USER ON ipblocks (ipb_user);
+CREATE INDEX IDX_IPB_RANGE ON ipblocks (ipb_range_start, ipb_range_end);
+CREATE INDEX IDX_IPB_TIMESTAMP ON ipblocks (ipb_timestamp);
+CREATE INDEX IDX_IPB_EXPIRY ON ipblocks (ipb_expiry);
+
+-- TOOD: user_id auto_increment
+CREATE TABLE useracct
+(
+ user_id int NOT NULL,
+ user_name text NOT NULL,
+ user_real_name text NOT NULL,
+ user_password text NOT NULL,
+ user_newpassword text NOT NULL,
+ user_newpass_time varchar(14) DEFAULT NULL,
+ user_email text NOT NULL,
+ user_options text NOT NULL,
+ user_touched varchar(14) NOT NULL,
+ user_token char(32) NOT NULL,
+ user_email_authenticated char(14) DEFAULT NULL,
+ user_email_token char(32) DEFAULT NULL,
+ user_email_token_expires char(14) DEFAULT NULL,
+ user_registration varchar(14) DEFAULT NULL,
+ user_editcount int DEFAULT NULL,
+ PRIMARY KEY (user_id),
+ UNIQUE (user_name)
+);
+CREATE INDEX IDX_USER_EMAIL_TOKEN ON useracct (user_email_token);
+
+-- TODO: log_id auto_increment
+CREATE TABLE logging
+(
+ log_id int NOT NULL,
+ log_type varchar(32) NOT NULL,
+ log_action varchar(32) NOT NULL,
+ log_timestamp varchar(14) NOT NULL,
+ log_user int NOT NULL,
+ log_namespace int NOT NULL,
+ log_title text NOT NULL,
+ log_comment text NOT NULL,
+ log_params text NOT NULL,
+ log_deleted SMALLINT NOT NULL,
+ log_user_text text NOT NULL,
+ log_page int DEFAULT NULL,
+ PRIMARY KEY (log_id)
+);
+CREATE INDEX IDX_LOG_TYPE_TIME ON logging (log_type, log_timestamp);
+CREATE INDEX IDX_LOG_USER_TIME ON logging (log_user, log_timestamp);
+CREATE INDEX IDX_LOG_PAGE_TIME ON logging (log_namespace, log_title, log_timestamp);
+CREATE INDEX IDX_LOG_TIMES ON logging (log_timestamp);
+CREATE INDEX IDX_LOG_USER_TYPE_TIME ON logging (log_user, log_type, log_timestamp);
+CREATE INDEX IDX_LOG_PAGE_ID_TIME ON logging (log_page, log_timestamp);
+
+-- TODO: page_id auto_increment
+CREATE TABLE page
+(
+ page_id int NOT NULL,
+ page_namespace int NOT NULL,
+ page_title text NOT NULL,
+ page_restrictions text NOT NULL,
+ page_counter bigint NOT NULL,
+ page_is_redirect SMALLINT NOT NULL,
+ page_is_new SMALLINT NOT NULL,
+ page_random double NOT NULL,
+ page_touched varchar(14) NOT NULL,
+ page_latest int NOT NULL,
+ page_len int NOT NULL,
+ PRIMARY KEY (page_id),
+ UNIQUE (page_namespace, page_title)
+);
+CREATE INDEX IDX_PAGE_RANDOM ON page (page_random);
+CREATE INDEX IDX_PAGE_LEN ON page (page_len);
+
+-- TODO: page_id auto_increment
+CREATE TABLE page_backup
+(
+ page_id int NOT NULL,
+ page_namespace int NOT NULL,
+ page_title text NOT NULL,
+ page_restrictions text NOT NULL,
+ page_counter bigint NOT NULL,
+ page_is_redirect SMALLINT NOT NULL,
+ page_is_new SMALLINT NOT NULL,
+ page_random double NOT NULL,
+ page_touched varchar(14) NOT NULL,
+ page_latest int NOT NULL,
+ page_len int NOT NULL,
+ PRIMARY KEY (page_id),
+ UNIQUE (page_namespace, page_title)
+);
+CREATE INDEX IDX_PAGE_BACKUP_RANDOM ON page_backup (page_random);
+CREATE INDEX IDX_PAGE_BACKUP_LEN ON page_backup (page_len);
+
+CREATE TABLE page_restrictions
+(
+ pr_page int NOT NULL,
+ pr_type varchar(60) NOT NULL,
+ pr_level varchar(60) NOT NULL,
+ pr_cascade SMALLINT NOT NULL,
+ pr_user int DEFAULT NULL,
+ pr_expiry varchar(14) DEFAULT NULL,
+ pr_id int NOT NULL,
+ PRIMARY KEY (pr_id),
+ UNIQUE (pr_page, pr_type)
+);
+CREATE INDEX IDX_PR_TYPELEVEL ON page_restrictions (pr_type, pr_level);
+CREATE INDEX IDX_PR_LEVEL ON page_restrictions (pr_level);
+CREATE INDEX IDX_PR_CASCADE ON page_restrictions (pr_cascade);
+
+-- TOOD: rc_id auto_increment
+CREATE TABLE recentchanges
+(
+ rc_id int NOT NULL,
+ rc_timestamp varchar(14) NOT NULL,
+ rc_cur_time varchar(14) NOT NULL,
+ rc_user int NOT NULL,
+ rc_user_text text NOT NULL,
+ rc_namespace int NOT NULL,
+ rc_title text NOT NULL,
+ rc_comment text NOT NULL,
+ rc_minor SMALLINT NOT NULL,
+ rc_bot SMALLINT NOT NULL,
+ rc_new SMALLINT NOT NULL,
+ rc_cur_id int NOT NULL,
+ rc_this_oldid int NOT NULL,
+ rc_last_oldid int NOT NULL,
+ rc_type SMALLINT NOT NULL,
+ rc_moved_to_ns SMALLINT NOT NULL,
+ rc_moved_to_title text NOT NULL,
+ rc_patrolled SMALLINT NOT NULL,
+ rc_ip varchar(40) NOT NULL,
+ rc_old_len int DEFAULT NULL,
+ rc_new_len int DEFAULT NULL,
+ rc_deleted SMALLINT NOT NULL,
+ rc_logid int NOT NULL,
+ rc_log_type text DEFAULT NULL,
+ rc_log_action text DEFAULT NULL,
+ rc_params text,
+ PRIMARY KEY (rc_id)
+);
+CREATE INDEX IDX_RC_TIMESTAMP ON recentchanges (rc_timestamp);
+CREATE INDEX IDX_RC_NAMESPACE_TITLE ON recentchanges (rc_namespace, rc_title);
+CREATE INDEX IDX_RC_CUR_ID ON recentchanges (rc_cur_id);
+CREATE INDEX IDX_NEW_NAME_TIMESTAMP ON recentchanges (rc_new, rc_namespace, rc_timestamp);
+CREATE INDEX IDX_RC_IP ON recentchanges (rc_ip);
+CREATE INDEX IDX_RC_NS_USERTEXT ON recentchanges (rc_namespace, rc_user_text);
+CREATE INDEX IDX_RC_USER_TEXT ON recentchanges (rc_user_text, rc_timestamp);
+
+-- TODO: rev_id auto_increment
+CREATE TABLE revision
+(
+ rev_id int NOT NULL,
+ rev_page int NOT NULL,
+ rev_text_id int NOT NULL,
+ rev_comment text NOT NULL,
+ rev_user int NOT NULL,
+ rev_user_text text NOT NULL,
+ rev_timestamp varchar(14) NOT NULL,
+ rev_minor_edit SMALLINT NOT NULL,
+ rev_deleted SMALLINT NOT NULL,
+ rev_len int DEFAULT NULL,
+ rev_parent_id int DEFAULT NULL,
+ PRIMARY KEY (rev_id),
+ UNIQUE (rev_page, rev_id)
+);
+CREATE INDEX IDX_REV_TIMESTAMP ON revision (rev_timestamp);
+CREATE INDEX IDX_PAGE_TIMESTAMP ON revision (rev_page, rev_timestamp);
+CREATE INDEX IDX_USER_TIMESTAMP ON revision (rev_user, rev_timestamp);
+CREATE INDEX IDX_USERTEXT_TIMESTAMP ON revision (rev_user_text, rev_timestamp);
+
+-- TODO old_id auto_increment
+CREATE TABLE text
+(
+ old_id int NOT NULL,
+ old_text TEXT NOT NULL,
+ old_flags text NOT NULL,
+ old_page int DEFAULT NULL,
+ PRIMARY KEY (old_id)
+);
+
+CREATE TABLE user_groups
+(
+ ug_user int NOT NULL REFERENCES useracct (user_id),
+ ug_group varchar(16) NOT NULL,
+ UNIQUE (ug_user, ug_group)
+);
+CREATE INDEX IDX_UG_GROUP ON user_groups (ug_group);
+
+CREATE TABLE value_backup
+(
+ table_name text DEFAULT NULL,
+ maxid int DEFAULT NULL
+);
+
+CREATE TABLE watchlist
+(
+ wl_user int NOT NULL,
+ wl_namespace int NOT NULL,
+ wl_title text NOT NULL,
+ wl_notificationtimestamp varchar(14) DEFAULT NULL,
+ UNIQUE (wl_user, wl_namespace, wl_title)
+);
+CREATE INDEX IDX_WL_NAMESPACE_TITLE ON watchlist (wl_namespace, wl_title);
diff --git a/src/main/resources/benchmarks/ycsb/ddl-informix.sql b/src/main/resources/benchmarks/ycsb/ddl-informix.sql
new file mode 100644
index 000000000..eca277818
--- /dev/null
+++ b/src/main/resources/benchmarks/ycsb/ddl-informix.sql
@@ -0,0 +1,14 @@
+drop table if exists usertable;
+create table usertable (
+ ycsb_key int primary key,
+ field1 varchar(100),
+ field2 varchar(100),
+ field3 varchar(100),
+ field4 varchar(100),
+ field5 varchar(100),
+ field6 varchar(100),
+ field7 varchar(100),
+ field8 varchar(100),
+ field9 varchar(100),
+ field10 varchar(100)
+);
\ No newline at end of file
diff --git a/src/main/resources/benchmarks/ycsb/ddl-sybasease.sql b/src/main/resources/benchmarks/ycsb/ddl-sybasease.sql
new file mode 100644
index 000000000..510524330
--- /dev/null
+++ b/src/main/resources/benchmarks/ycsb/ddl-sybasease.sql
@@ -0,0 +1,20 @@
+set arithabort numeric_truncation off;
+
+-- DROP EXISTING TABLE
+if object_id('USERTABLE') is not null drop table USERTABLE;
+
+-- CREATE TABLE
+
+CREATE TABLE USERTABLE(
+ YCSB_KEY INT PRIMARY KEY,
+ FIELD1 VARCHAR(100),
+ FIELD2 VARCHAR(100),
+ FIELD3 VARCHAR(100),
+ FIELD4 VARCHAR(100),
+ FIELD5 VARCHAR(100),
+ FIELD6 VARCHAR(100),
+ FIELD7 VARCHAR(100),
+ FIELD8 VARCHAR(100),
+ FIELD9 VARCHAR(100),
+ FIELD10 VARCHAR(100)
+ );
diff --git a/src/main/resources/benchmarks/ycsb/dialect-sybasease.xml b/src/main/resources/benchmarks/ycsb/dialect-sybasease.xml
new file mode 100644
index 000000000..e3994e6c5
--- /dev/null
+++ b/src/main/resources/benchmarks/ycsb/dialect-sybasease.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+ SELECT * FROM USERTABLE WHERE YCSB_KEY=?
+
+
+
+
+ SELECT * FROM USERTABLE WHERE YCSB_KEY > ? AND YCSB_KEY < ?
+
+
+
+
+ UPDATE USERTABLE SET FIELD1=?,FIELD2=?,FIELD3=?,FIELD4=?,FIELD5=?,FIELD6=?,FIELD7=?,FIELD8=?,FIELD9=?,FIELD10=? WHERE YCSB_KEY=?
+
+
+
+
+ INSERT INTO USERTABLE VALUES (?,?,?,?,?,?,?,?,?,?,?)
+
+
+
+
+ DELETE FROM USERTABLE where YCSB_KEY=?
+
+
+
+
+ SELECT * from USERTABLE where YCSB_KEY=?
+
+
+ UPDATE USERTABLE SET FIELD1=?,FIELD2=?,FIELD3=?,FIELD4=?,FIELD5=?,FIELD6=?,FIELD7=?,FIELD8=?,FIELD9=?,FIELD10=? WHERE YCSB_KEY=?
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/logging.properties b/src/main/resources/logging.properties
index b8d3b4686..c30dcb4e9 100644
--- a/src/main/resources/logging.properties
+++ b/src/main/resources/logging.properties
@@ -6,4 +6,4 @@ java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.SimpleFormatter.format=%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s %2$s %5$s%6$s%n
# Facility specific properties.
-org.postgresql.level=FINEST
\ No newline at end of file
+org.postgresql.level=FINEST