diff --git a/conf/create_index_yas.sql b/conf/create_index_yas.sql new file mode 100644 index 0000000000000000000000000000000000000000..476b5f0ce8ae4ab874c2873e7a6e88e9b683877b --- /dev/null +++ b/conf/create_index_yas.sql @@ -0,0 +1,26 @@ +create index idx_loanapps_1 on loanapps ( applicantid ); + +create index idx_loanapps_2 on loanapps ( timestamp ); + +create index idx_loantrans_1 on loantrans ( applicantid ); + +create index idx_loantrans_2 on loantrans ( timestamp ); + +create index idx_transfer_1 on transfer ( sourceid ); + +create index idx_transfer_2 on transfer ( targetid ); + +create index idx_transfer_3 on transfer ( type ); + +create index idx_checking_1 on checking ( sourceid ); + +create index idx_checking_2 on checking ( targetid ); + +create index idx_customer_1 on customer ( companyid ); + +create index idx_company_1 on company ( category ); + +create index idx_sa_1 on savingaccount ( userid ); + +create index idx_ca_1 on checkingaccount ( userid ); + diff --git a/conf/ddl_yas.sql b/conf/ddl_yas.sql new file mode 100644 index 0000000000000000000000000000000000000000..ecd117059f2bcb40d136d3c8e69d58b43bea597a --- /dev/null +++ b/conf/ddl_yas.sql @@ -0,0 +1,111 @@ +CREATE + TABLE CUSTOMER + ( + custID int PRIMARY KEY, + companyID int , + gender char(6) , + name char(15) , + age int , + phone char(11) , + province char(15) , + city char(15) , + loan_balance real , + s_credit int , + c_credit int , + b_credit int , + Isblocked int , + created_date timestamp , + last_update_timestamp timestamp + ); +CREATE + TABLE COMPANY + ( + companyID int PRIMARY KEY, + name varchar(60) , + category varchar(50) , + staff_size int , + loan_balance real , + phone char(11) , + province char(15) , + city char(15) , + SavingCredit int , + CheckingCredit int , + LoanCredit int , + Isblocked int , + created_date timestamp , + last_update_timestamp timestamp + ); +CREATE + TABLE SAVINGACCOUNT + ( + accountID int PRIMARY KEY, + userID int , + balance real , + Isblocked int , + timestamp timestamp + ); +CREATE + TABLE CHECKINGACCOUNT + ( + accountID int PRIMARY KEY, + userID int , + balance real , + Isblocked int , + timestamp timestamp + ); + +CREATE SEQUENCE TRANSFER_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE TRANSFER + ( + id NUMBER(19,0) PRIMARY KEY, + sourceID int , + targetID int , + amount real , + type char(10) , + timestamp timestamp , + fresh_ts timestamp default current_timestamp + ); + +CREATE SEQUENCE CHECKING_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE CHECKING + ( + id int PRIMARY KEY, + sourceID int , + targetID int , + amount real , + type char(10) , + timestamp timestamp + ); + +CREATE SEQUENCE LOANAPPS_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE LOANAPPS + ( + id int PRIMARY KEY, + applicantID int , + amount real , + duration int , + status char(12) , + timestamp timestamp + ); + +CREATE SEQUENCE LOANTRANS_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE LOANTRANS + ( + id int PRIMARY KEY , + applicantID int , + appID int , + amount real , + status char(12) , + timestamp timestamp , + duration int , + contract_timestamp timestamp, + delinquency int + ); diff --git a/conf/ddl_yas_afterload.sql b/conf/ddl_yas_afterload.sql new file mode 100644 index 0000000000000000000000000000000000000000..1e9a0333b45056699babd03002638e05c0e2993c --- /dev/null +++ b/conf/ddl_yas_afterload.sql @@ -0,0 +1,38 @@ +--alter table customer add constraint customer_pkey primary key (custID); +--alter table company add constraint company_pkey primary key (companyID); +--alter table savingAccount add constraint savingAccount_pkey primary key (accountID); +--alter table checkingAccount add constraint checkingAccount_pkey primary key (accountID); +--alter table transfer add constraint transfer_pkey primary key (id); +--alter table checking add constraint checking_pkey primary key (id); +--alter table loanapps add constraint loanapps_pkey primary key (id); +--alter table loantrans add constraint loantrans_pkey primary key (id); + +--CREATE SEQUENCE transfer_id_seq start with 6000001 increment by 1 cache 200; +--SELECT SETVAL('transfer_id_seq', (SELECT max(id) FROM transfer)); +--ALTER TABLE transfer ALTER COLUMN id SET DEFAULT nextval('transfer_id_seq'::regclass); +--ALTER SEQUENCE transfer_id_seq OWNED BY transfer.id; + +drop sequence transfer_seq; +create sequence transfer_seq start with 6000000 increment by 1; + alter table transfer modify id default transfer_seq.nextval; + +--SELECT SETVAL('checking_id_seq', (SELECT max(id) FROM checking)); +--ALTER TABLE checking ALTER COLUMN id SET DEFAULT nextval('checking_id_seq'::regclass); +--ALTER SEQUENCE checking_id_seq OWNED BY checking.id; +drop sequence checking_seq; +create sequence checking_seq start with 600000 increment by 1; + alter table checking modify id default checking_seq.nextval; +drop sequence loanapps_seq; +CREATE SEQUENCE loanapps_seq start with 600001 increment by 1 cache 200; +--SELECT SETVAL('loanapps_id_seq', (SELECT max(id) FROM loanapps)); +--ALTER TABLE loanapps ALTER COLUMN id SET DEFAULT nextval('loanapps_id_seq'::regclass); +--ALTER SEQUENCE loanapps_id_seq OWNED BY loanapps.id; +alter table LOANapps modify id default loanapps_seq.nextval; + +drop sequence loantrans_seq; +CREATE SEQUENCE loantrans_seq start with 600001 increment by 1 cache 200; +--ESELECT SETVAL('loantrans_id_seq', (SELECT max(id) FROM loantrans)); +--ALTER TABLE loantrans ALTER COLUMN id SET DEFAULT nextval('loantrans_id_seq'::regclass); +--ALTER SEQUENCE loantrans_id_seq OWNED BY loantrans.id; + +alter table loantrans modify id default loantrans_seq.nextval; diff --git a/conf/ddl_yashandb.sql b/conf/ddl_yashandb.sql new file mode 100644 index 0000000000000000000000000000000000000000..171d91587df135d7d4dd787cded3c60e7d1abb77 --- /dev/null +++ b/conf/ddl_yashandb.sql @@ -0,0 +1,111 @@ +CREATE + TABLE CUSTOMER + ( + custID int PRIMARY KEY, + companyID int , + gender char(6) , + name char(15) , + age int , + phone char(11) , + province char(15) , + city char(15) , + loan_balance real , + s_credit int , + c_credit int , + b_credit int , + Isblocked int , + created_date Date , + last_update_timestamp timestamp + ); +CREATE + TABLE COMPANY + ( + companyID int PRIMARY KEY, + name varchar(60) , + category varchar(50) , + staff_size int , + loan_balance real , + phone char(11) , + province char(15) , + city char(15) , + SavingCredit int , + CheckingCredit int , + LoanCredit int , + Isblocked int , + created_date Date , + last_update_timestamp timestamp + ); +CREATE + TABLE SAVINGACCOUNT + ( + accountID int PRIMARY KEY, + userID int , + balance real , + Isblocked int , + timestamp timestamp + ); +CREATE + TABLE CHECKINGACCOUNT + ( + accountID int PRIMARY KEY, + userID int , + balance real , + Isblocked int , + timestamp timestamp + ); + +CREATE SEQUENCE TRANSFER_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE TRANSFER + ( + id NUMBER(19,0) PRIMARY KEY, + sourceID int , + targetID int , + amount real , + type char(10) , + timestamp timestamp , + fresh_ts timestamp default current_timestamp + ); + +CREATE SEQUENCE CHECKING_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE CHECKING + ( + id int PRIMARY KEY, + sourceID int , + targetID int , + amount real , + type char(10) , + timestamp timestamp + ); + +CREATE SEQUENCE LOANAPPS_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE LOANAPPS + ( + id int PRIMARY KEY, + applicantID int , + amount real , + duration int , + status char(12) , + timestamp timestamp + ); + +CREATE SEQUENCE LOANTRANS_SEQ INCREMENT BY 1 START WITH 1; + +CREATE + TABLE LOANTRANS + ( + id int PRIMARY KEY , + applicantID int , + appID int , + amount real , + status char(12) , + timestamp timestamp , + duration int , + contract_timestamp timestamp, + delinquency int + ); \ No newline at end of file diff --git a/conf/load.sh b/conf/load.sh new file mode 100755 index 0000000000000000000000000000000000000000..e64ad6a109aa89b514641f8683b401fe6d7c4cd1 --- /dev/null +++ b/conf/load.sh @@ -0,0 +1,11 @@ + +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_customer.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_company.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_transfer.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_checking.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_checkingAccount.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_savingAccount.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_loanApps.ctl +yasldr test/admin_123@127.0.0.1:1688 batch_size=4032 mode=batch packet_size=131072 control_file=/home/ysdb/hybench/conf/load_data_loanTrans.ctl + + diff --git a/conf/load_data_checking.ctl b/conf/load_data_checking.ctl new file mode 100644 index 0000000000000000000000000000000000000000..8824a3b0d291f5b9c9d238276a549fadbd7ece51 --- /dev/null +++ b/conf/load_data_checking.ctl @@ -0,0 +1,4 @@ + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/checking.csv' FIELDS TERMINATED BY ',' INTO TABLE checking(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) + + diff --git a/conf/load_data_checkingAccount.ctl b/conf/load_data_checkingAccount.ctl new file mode 100644 index 0000000000000000000000000000000000000000..21699bb82d435ceb0fdfd08af8a8f7bd16848832 --- /dev/null +++ b/conf/load_data_checkingAccount.ctl @@ -0,0 +1,5 @@ + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/checkingAccount.csv' FIELDS TERMINATED BY ',' INTO TABLE checkingaccount(ACCOUNTID,USERID,BALANCE,ISBLOCKED,TIMESTAMP) + + + diff --git a/conf/load_data_company.ctl b/conf/load_data_company.ctl new file mode 100644 index 0000000000000000000000000000000000000000..6312d4925ccb35bbbe685dba6f0d406a2e7328e7 --- /dev/null +++ b/conf/load_data_company.ctl @@ -0,0 +1,4 @@ + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/company.csv' FIELDS TERMINATED BY ',' INTO TABLE company(COMPANYID,NAME,CATEGORY,STAFF_SIZE,LOAN_BALANCE,PHONE,PROVINCE,CITY,SAVINGCREDIT,CHECKINGCREDIT,LOANCREDIT,ISBLOCKED,CREATED_DATE,LAST_UPDATE_TIMESTAMP) + + diff --git a/conf/load_data_customer.ctl b/conf/load_data_customer.ctl new file mode 100644 index 0000000000000000000000000000000000000000..a1e0f09cceb7cc15e34267831e9cbfdc3774bfc1 --- /dev/null +++ b/conf/load_data_customer.ctl @@ -0,0 +1,3 @@ + + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/customer.csv' FIELDS TERMINATED BY ',' INTO TABLE customer(CUSTID,COMPANYID,GENDER,NAME,AGE,PHONE,PROVINCE,CITY,LOAN_BALANCE,S_CREDIT,C_CREDIT,B_CREDIT,ISBLOCKED,CREATED_DATE,LAST_UPDATE_TIMESTAMP) diff --git a/conf/load_data_loanApps.ctl b/conf/load_data_loanApps.ctl new file mode 100644 index 0000000000000000000000000000000000000000..9c4baf4af08fd9562b412f3eedf582559d4047cb --- /dev/null +++ b/conf/load_data_loanApps.ctl @@ -0,0 +1,4 @@ +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/loanApps.csv' FIELDS TERMINATED BY ',' INTO TABLE loanapps(ID,APPLICANTID,AMOUNT,DURATION,STATUS,TIMESTAMP) + + + diff --git a/conf/load_data_loanTrans.ctl b/conf/load_data_loanTrans.ctl new file mode 100644 index 0000000000000000000000000000000000000000..06fd5760450f2cb9fca698f798470a81f73a6e0f --- /dev/null +++ b/conf/load_data_loanTrans.ctl @@ -0,0 +1,4 @@ + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/loanTrans.csv' FIELDS TERMINATED BY ',' INTO TABLE loantrans(ID,APPLICANTID,APPID,AMOUNT,STATUS,TIMESTAMP,DURATION,CONTRACT_TIMESTAMP,DELINQUENCY) + + diff --git a/conf/load_data_savingAccount.ctl b/conf/load_data_savingAccount.ctl new file mode 100644 index 0000000000000000000000000000000000000000..bb74f2787a327f116fac999c2088f61d6dcade55 --- /dev/null +++ b/conf/load_data_savingAccount.ctl @@ -0,0 +1,4 @@ + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/savingAccount.csv' FIELDS TERMINATED BY ',' INTO TABLE savingaccount(ACCOUNTID,USERID,BALANCE,ISBLOCKED,TIMESTAMP) + + diff --git a/conf/load_data_transfer.ctl b/conf/load_data_transfer.ctl new file mode 100644 index 0000000000000000000000000000000000000000..0c8bbcbe582f6e684ab2671ee563e3aee81900de --- /dev/null +++ b/conf/load_data_transfer.ctl @@ -0,0 +1,4 @@ + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/transfer.csv' FIELDS TERMINATED BY ',' INTO TABLE transfer(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP,FRESH_TS) + + diff --git a/conf/load_data_yashandb.ctl b/conf/load_data_yashandb.ctl new file mode 100644 index 0000000000000000000000000000000000000000..d1688521956b8fd20a5bce6233bb19a5bfaa27c5 --- /dev/null +++ b/conf/load_data_yashandb.ctl @@ -0,0 +1,20 @@ + + + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/customer.csv' FIELDS TERMINATED BY ',' INTO TABLE customer(CUSTID,COMPANYID,GENDER,NAME,AGE,PHONE,PROVINCE,CITY,LOAN_BALANCE,S_CREDIT,C_CREDIT,B_CREDIT,ISBLOCKED,CREATED_DATE,LAST_UPDATE_TIMESTAMP) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/company.csv' FIELDS TERMINATED BY ',' INTO TABLE company(COMPANYID,NAME,CATEGORY,STAFF_SIZE,LOAN_BALANCE,PHONE,PROVINCE,CITY,SAVINGCREDIT,CHECKINGCREDIT,LOANCREDIT,ISBLOCKED,CREATED_DATE,LAST_UPDATE_TIMESTAMP) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/transfer.csv' FIELDS TERMINATED BY ',' INTO TABLE transfer(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP,FRESH_TS) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/checking.csv' FIELDS TERMINATED BY ',' INTO TABLE checking(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/checkingAccount.csv' FIELDS TERMINATED BY ',' INTO TABLE checkingaccount(ACCOUNTID,USERID,BALANCE,ISBLOCKED,TIMESTAMP) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/savingAccount.csv' FIELDS TERMINATED BY ',' INTO TABLE savingaccount(ACCOUNTID,USERID,BALANCE,ISBLOCKED,TIMESTAMP) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/loanApps.csv' FIELDS TERMINATED BY ',' INTO TABLE loanapps(ID,APPLICANTID,AMOUNT,DURATION,STATUS,TIMESTAMP) + +LOAD DATA INFILE '/home/ysdb/hybench/Data_1x/loanTrans.csv' FIELDS TERMINATED BY ',' INTO TABLE loantrans(ID,APPLICANTID,APPID,AMOUNT,STATUS,TIMESTAMP,DURATION,CONTRACT_TIMESTAMP,DELINQUENCY) + + diff --git a/conf/stmt_yas.toml b/conf/stmt_yas.toml new file mode 100644 index 0000000000000000000000000000000000000000..b5f45b1734f3eb715001f8bd7fb43ee401ed4869 --- /dev/null +++ b/conf/stmt_yas.toml @@ -0,0 +1,686 @@ +[AP-1] +sql =""" select sourceid, targetid, case when sourceid=? then 'outbound' when targetid=? then 'inbound' end as direction, sum(amount) as total_amount +from (select sourceid, targetid, amount from transfer where sourceid = ? union all select sourceid, targetid, amount from transfer where targetid=?) +group by sourceid, targetid order by total_amount DESC""" + +[AP-2] +sql = """select cu.custid, la.timestamp, la.amount, lt.timestamp, lt.amount,lt.status +from customer cu, loanapps la, loantrans lt +where cu.custid=la.applicantid and la.id=lt.appID and cu.custid=?""" + +[AP-2.1] +sql = "SELECT * FROM (SELECT applicantid FROM loanapps where applicantid 1000 + and ca.balance> 1000 + and co.category in ('software_IT', 'internet_service', 'telecommunication', 'technology_service', 'computer_communication_manufacturing') +group by + co.companyid, + cu.custid +order by + invest_amount DESC , + count DESC , + saving_balance DESC , + checking_balance DESC, + avg_loan_amount DESC""" + +[AP-12] +sql = """SELECT * FROM (SELECT + CO.COMPANYID AS CID, + COUNT(CASE WHEN LT.STATUS='accept' + THEN 1 ELSE NULL END) * 100.0/COUNT(LA.ID) + AS RATE +FROM + COMPANY CO , + LOANAPPS LA, + LOANTRANS LT +WHERE + CO.CATEGORY =? + AND CO.COMPANYID =LA.APPLICANTID + AND LA.APPLICANTID=LT.APPLICANTID +GROUP BY + CO.COMPANYID +ORDER BY + RATE DESC) +WHERE ROWNUM<=10""" + +[AP-13] +sql = """select sourceid,targetid ,province,amount, +rank() over (partition by province order by amount desc) as ranking +from transfer tr,customer cu +where tr.targetid = cu.custid and tr.sourceid = ?""" + + +[TP-1] +sql = "SELECT * FROM CUSTOMER WHERE CUSTID = ?" + +[TP-2] +sql = "SELECT * FROM COMPANY WHERE COMPANYID=?" + +[TP-3] +sql = "select * from SAVINGACCOUNT where accountid=?" + +[TP-4] +sql = "select * from CHECKINGACCOUNT where accountid=?" + +[TP-5] +sql = """SELECT AMOUNT,TYPE,TIMESTAMP +FROM +(SELECT * FROM + ( + SELECT AMOUNT, TYPE, TIMESTAMP FROM TRANSFER WHERE SOURCEID = ? + UNION ALL + SELECT AMOUNT, TYPE, TIMESTAMP FROM TRANSFER WHERE TARGETID = ? + ) + ORDER BY TIMESTAMP DESC +) +WHERE ROWNUM <=1""" + +[TP-6] +sql = """SELECT AMOUNT, TYPE, TIMESTAMP +FROM +(SELECT * FROM + (SELECT AMOUNT, TYPE, TIMESTAMP FROM CHECKING WHERE SOURCEID = ? + UNION ALL + SELECT AMOUNT, TYPE, TIMESTAMP FROM CHECKING WHERE TARGETID = ? + ) + ORDER BY TIMESTAMP DESC +) +WHERE ROWNUM <=1""" + +[TP-7] +sql = """SELECT * FROM +(SELECT * FROM LOANAPPS WHERE APPLICANTID = ? ORDER BY TIMESTAMP DESC) +WHERE ROWNUM <=1""" + +[TP-8] +sql = """SELECT * FROM +(SELECT * FROM LOANTRANS WHERE APPLICANTID=? ORDER BY TIMESTAMP DESC) +WHERE ROWNUM <=1""" + +[TP-9] +sql = [ +"SELECT BALANCE FROM SAVINGACCOUNT WHERE ACCOUNTID = ?", +"UPDATE SAVINGACCOUNT SET BALANCE = BALANCE - ? WHERE ACCOUNTID = ?" , +"UPDATE SAVINGACCOUNT SET BALANCE = BALANCE + ? WHERE ACCOUNTID = ?", +"INSERT INTO TRANSFER(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) VALUES (TRANSFER_SEQ.NEXTVAL, ?,?,?,?,?)" +] + +[TP-10] +sql = [ +"SELECT custID FROM CUSTOMER WHERE COMPANYID = ?", +"UPDATE SAVINGACCOUNT SET BALANCE = BALANCE - ? WHERE ACCOUNTID = ?", +"UPDATE SAVINGACCOUNT SET BALANCE = BALANCE + ? WHERE ACCOUNTID = ?", +"INSERT INTO TRANSFER(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) VALUES (TRANSFER_SEQ.NEXTVAL, ?,?,?,?,?)" +] + +[TP-11] +sql = [ +"SELECT BALANCE FROM CHECKINGACCOUNT WHERE ACCOUNTID = ?", +"UPDATE CHECKINGACCOUNT SET BALANCE = BALANCE - ? WHERE ACCOUNTID = ?", +"UPDATE CHECKINGACCOUNT SET BALANCE = BALANCE + ? WHERE ACCOUNTID = ?", +"INSERT INTO CHECKING(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) VALUES (CHECKING_SEQ.NEXTVAL,?,?,?,?,?)" +] + +[TP-12] +sql = [ +"SELECT loan_balance FROM customer WHERE custID = ?", +"UPDATE customer SET loan_balance = loan_balance - ? where custID = ?", +"SELECT loan_balance FROM company WHERE companyID = ?", +"UPDATE company SET loan_balance = loan_balance - ? where companyID = ?", +"INSERT INTO LOANAPPS(ID, APPLICANTID, AMOUNT, DURATION, STATUS, TIMESTAMP) VALUES (LOANAPPS_SEQ.NEXTVAL,?,?,?,?,?)" +] + +[TP-13] +sql = [ +"SELECT * FROM (SELECT ID, APPLICANTID, AMOUNT, DURATION, TIMESTAMP FROM LOANAPPS WHERE status='under_review' order by timestamp) WHERE ROWNUM <=1", +"INSERT INTO LOANTRANS(ID, APPLICANTID, APPID, AMOUNT, STATUS, TIMESTAMP, DURATION, CONTRACT_TIMESTAMP, DELINQUENCY)VALUES(LOANTRANS_SEQ.NEXTVAL,?,?,?,?,?,?,?,?)", +"UPDATE CUSTOMER SET loan_balance = loan_balance + ? where custID = ?", +"UPDATE COMPANY SET loan_balance = loan_balance + ? where companyID = ?", +"UPDATE LOANAPPS SET STATUS=? WHERE ID=?" +] + +[TP-14] +sql = [ +"SELECT * FROM (SELECT id, APPLICANTID, AMOUNT, contract_timestamp FROM LOANTRANS WHERE status='accept' order by timestamp) WHERE ROWNUM <=1", +"UPDATE SAVINGACCOUNT SET BALANCE = BALANCE + ? WHERE ACCOUNTID = ?", +"UPDATE LOANTRANS SET STATUS='lent', timestamp=? WHERE ID=?" +] + +[TP-15] +sql = [ +"SELECT * FROM (SELECT id, APPLICANTID, duration, contract_timestamp FROM LOANTRANS WHERE status='lent' order by timestamp) WHERE ROWNUM <=1", +"UPDATE LOANTRANS SET delinquency=1, timestamp=? WHERE id=?" +] + +[TP-16] +sql = [ +"SELECT * FROM (SELECT id, APPLICANTID, duration, amount, timestamp FROM LOANTRANS WHERE status='lent' order by timestamp) WHERE ROWNUM <=1", +"SELECT balance from SAVINGACCOUNT WHERE ACCOUNTID = ?", +"UPDATE SAVINGACCOUNT SET BALANCE = BALANCE - ? WHERE ACCOUNTID = ?", +"UPDATE LOANTRANS SET status='repaid',timestamp=? WHERE id=?" +] + +[TP-17] +sql = [ + "select balance,isblocked from savingAccount where accountid = ?", + "select balance,isblocked from checkingAccount where accountid =?", + "UPDATE SAVINGACCOUNT SET BALANCE = BALANCE - ? WHERE ACCOUNTID = ?", + "update checkingAccount set balance = balance + ? where accountid = ?" +] + +[TP-18] +sql = [ + "select balance,isblocked from savingAccount where accountid = ?", + "select balance,isblocked from checkingAccount where accountid =?", + "update checkingAccount set balance = balance - ? where accountid = ?", + "UPDATE SAVINGACCOUNT SET BALANCE = BALANCE + ? WHERE ACCOUNTID = ?" +] + +[AT-1] +sql = [ +"SELECT isblocked,balance FROM savingAccount WHERE accountID = ?", +"select count(*) from transfer t, savingaccount s where t.targetid=? and s.isblocked=1 and t.sourceid=s.accountid", +"UPDATE savingAccount SET balance = balance - ? where accountID = ?", +"UPDATE savingAccount SET balance = balance + ? where accountID = ?", +"INSERT INTO TRANSFER(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) VALUES (TRANSFER_SEQ.NEXTVAL, ?,?,?,?,?)" +] + +[AT-2] +sql = [ +"SELECT isblocked,balance FROM CHECKINGACCOUNT WHERE accountID = ?", +"select count(*) from checking ch, checkingAccount ca where ch.sourceid=? and ca.isblocked=1 and ch.targetid=ca.accountid", +"UPDATE checkingAccount SET balance = balance - ? where accountID = ?", +"UPDATE checkingAccount SET balance = balance + ? where accountID = ?", +"INSERT INTO CHECKING(ID,SOURCEID,TARGETID,AMOUNT,TYPE,TIMESTAMP) VALUES (CHECKING_SEQ.NEXTVAL,?,?,?,?,?)" +] + +[AT-3] +sql = [ +"SELECT isblocked FROM SavingAccount WHERE accountID = ?", +"""Select (inbound.t_amount-outbound.t_amount) as t_amount from + (select sa.accountid as sid, sum(t.amount) as t_amount from savingaccount sa, transfer t + where sa.accountid=? and sa.accountid=t.sourceid + group by accountid + ) outbound, + (select sa.accountid as sid, sum(t.amount) as t_amount from savingaccount sa, transfer t + where sa.accountid=? and sa.accountid=t.targetid + group by accountid + ) inbound""", +"INSERT INTO LOANTRANS(ID, APPLICANTID, APPID, AMOUNT, STATUS, TIMESTAMP, DURATION, CONTRACT_TIMESTAMP, DELINQUENCY)VALUES(LOANTRANS_SEQ.NEXTVAL,?,?,?,?,?,?,?,?)", +"UPDATE LoanApps SET status = 'accept',timestamp=? where id = ?", +"UPDATE LoanApps SET status = 'reject',timestamp=? where id = ?" +] + +[AT-3.1] +sql = "SELECT * FROM (SELECT APPLICANTID, ID, TIMESTAMP, DURATION FROM LOANAPPS WHERE status='under_review' order by DBMS_RANDOM.VALUE()) WHERE ROWNUM <=1" + +[AT-4] +sql = [ +"select count(distinct sa2.accountid) from transfer t, savingAccount sa1, savingAccount sa2, loantrans lt where sa1.accountid=? and sa1.accountid=t.targetid and t.sourceid=sa2.accountid and lt.applicantid=sa2.accountid and lt.status='accept'", +"UPDATE savingAccount SET balance = balance + ? where accountID = ?", +"UPDATE LoanTrans SET status = 'lent', contract_timestamp=? where id = ?" +] + +[AT-4.1] +sql = """SELECT * FROM (SELECT applicantid, amount, id, timestamp FROM loantrans WHERE status='accept' order by DBMS_RANDOM.VALUE()) WHERE ROWNUM <=1""" + +[AT-5] +sql = [ +"SELECT id FROM LoanTrans WHERE applicantID = ? and TO_DATE(TO_CHAR(contract_timestamp, 'dd-Mon-yyyy'))+DURATION:/?useUnicode=true&characterEncoding=utf-8 +url=jdbc:yasdb://127.0.0.1:1688/ysdb +#url=jdbc:oracle:thin:@127.0.0.1:1688:yashandb +#url_ap=jdbc:mysql://:/?useUnicode=true&characterEncoding=utf-8 +url_ap=jdbc:yasdb://127.0.0.1:1688/ysdb +classname_ap=com.yashandb.jdbc.Driver +username_ap=test +password_ap=admin_123 + + +## support 1x, 10x +sf=1x + +at1_percent=35 +at2_percent=25 +at3_percent=15 +at4_percent=15 +at5_percent=7 +at6_percent=3 + +apclient=20 +tpclient=20 + + +fresh_interval=20 + + +apRunMins=1 +tpRunMins=1 +xpRunMins=1 + +xtpclient=1 +xapclient=1 + +apround=1