diff --git a/args/schema.sql b/args/schema.sql index 198cace..57c4611 100644 --- a/args/schema.sql +++ b/args/schema.sql @@ -293,7 +293,7 @@ CREATE TABLE RefundTransact( locktime TIMESTAMP DEFAULT CURRENT_TIMESTAMP, r_status TINYINT NOT NULL, PRIMARY KEY(id) -) +); /* Backup Feature (Tables & Triggers) */ @@ -321,127 +321,127 @@ CREATE TABLE sinkShares( ); CREATE TRIGGER RequestLog_I AFTER INSERT ON RequestLog -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RequestLog', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RequestLog', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER RequestLog_U AFTER UPDATE ON RequestLog -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RequestLog', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RequestLog', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER RequestLog_D AFTER DELETE ON RequestLog -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RequestLog', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RequestLog', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER UserSession_I AFTER INSERT ON UserSession -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserSession', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserSession', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER UserSession_U AFTER UPDATE ON UserSession -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserSession', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserSession', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER UserSession_D AFTER DELETE ON UserSession -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserSession', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserSession', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER UserBalance_I AFTER INSERT ON UserBalance -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserBalance', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserBalance', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER UserBalance_U AFTER UPDATE ON UserBalance -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserBalance', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserBalance', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER UserBalance_D AFTER DELETE ON UserBalance -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserBalance', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserBalance', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER SellChips_I AFTER INSERT ON SellChips -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellChips', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellChips', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER SellChips_U AFTER UPDATE ON SellChips -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellChips', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellChips', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER SellChips_D AFTER DELETE ON SellChips -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellChips', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellChips', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER SellOrder_I AFTER INSERT ON SellOrder -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER SellOrder_U AFTER UPDATE ON SellOrder -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER SellOrder_D AFTER DELETE ON SellOrder -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellOrder', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('SellOrder', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER BuyOrder_I AFTER INSERT ON BuyOrder -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('BuyOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('BuyOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER BuyOrder_U AFTER UPDATE ON BuyOrder -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('BuyOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('BuyOrder', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER BuyOrder_D AFTER DELETE ON BuyOrder -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('BuyOrder', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('BuyOrder', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER VaultTransactions_I AFTER INSERT ON VaultTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('VaultTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('VaultTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER VaultTransactions_U AFTER UPDATE ON VaultTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('VaultTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('VaultTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER VaultTransactions_D AFTER DELETE ON VaultTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('VaultTransactions', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('VaultTransactions', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER CloseBondTransact_I AFTER INSERT ON CloseBondTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseBondTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseBondTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER CloseBondTransact_U AFTER UPDATE ON CloseBondTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseBondTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseBondTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER CloseBondTransact_D AFTER DELETE ON CloseBondTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseBondTransact', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseBondTransact', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER CloseFundTransact_I AFTER INSERT ON CloseFundTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseFundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseFundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER CloseFundTransact_U AFTER UPDATE ON CloseFundTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseFundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseFundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER CloseFundTransact_D AFTER DELETE ON CloseFundTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseFundTransact', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('CloseFundTransact', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER ConvertFund_I AFTER INSERT ON ConvertFund -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('ConvertFund', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('ConvertFund', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER ConvertFund_U AFTER UPDATE ON ConvertFund -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('ConvertFund', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('ConvertFund', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER ConvertFund_D AFTER DELETE ON ConvertFund -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('ConvertFund', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('ConvertFund', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER DirectConvert_I AFTER INSERT ON DirectConvert -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('DirectConvert', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('DirectConvert', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER DirectConvert_U AFTER UPDATE ON DirectConvert -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('DirectConvert', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('DirectConvert', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER DirectConvert_D AFTER DELETE ON DirectConvert -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('DirectConvert', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('DirectConvert', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER RefundTransact_I AFTER INSERT ON RefundTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RefundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RefundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER RefundTransact_U AFTER UPDATE ON RefundTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RefundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RefundTransact', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER RefundTransact_D AFTER DELETE ON RefundTransact -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RefundTransact', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('RefundTransact', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER UserTag_I AFTER INSERT ON UserTag -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserTag', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserTag', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER UserTag_U AFTER UPDATE ON UserTag -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserTag', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserTag', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER UserTag_D AFTER DELETE ON UserTag -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserTag', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('UserTag', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER Distributors_I AFTER INSERT ON Distributors -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('Distributors', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('Distributors', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER Distributors_U AFTER UPDATE ON Distributors -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('Distributors', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('Distributors', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER Distributors_D AFTER DELETE ON Distributors -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('Distributors', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('Distributors', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER PriceHistory_I AFTER INSERT ON PriceHistory -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('PriceHistory', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('PriceHistory', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER PriceHistory_U AFTER UPDATE ON PriceHistory -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('PriceHistory', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('PriceHistory', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER PriceHistory_D AFTER DELETE ON PriceHistory -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('PriceHistory', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('PriceHistory', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER AuditTrade_I AFTER INSERT ON AuditTrade -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('AuditTrade', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('AuditTrade', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER AuditTrade_U AFTER UPDATE ON AuditTrade -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('AuditTrade', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('AuditTrade', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER AuditTrade_D AFTER DELETE ON AuditTrade -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('AuditTrade', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('AuditTrade', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER TradeTransactions_I AFTER INSERT ON TradeTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TradeTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TradeTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER TradeTransactions_U AFTER UPDATE ON TradeTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TradeTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TradeTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER TradeTransactions_D AFTER DELETE ON TradeTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TradeTransactions', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TradeTransactions', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; CREATE TRIGGER TransferTransactions_I AFTER INSERT ON TransferTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TransferTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TransferTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER TransferTransactions_U AFTER UPDATE ON TransferTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TransferTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=DEFAULT; +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TransferTransactions', NEW.id) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=DEFAULT; CREATE TRIGGER TransferTransactions_D AFTER DELETE ON TransferTransactions -FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TransferTransactions', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=DEFAULT; \ No newline at end of file +FOR EACH ROW INSERT INTO _backup (t_name, id) VALUES ('TransferTransactions', OLD.id) ON DUPLICATE KEY UPDATE mode=NULL, u_time=DEFAULT; \ No newline at end of file diff --git a/src/background.js b/src/background.js index 258fad2..82b250f 100644 --- a/src/background.js +++ b/src/background.js @@ -277,10 +277,10 @@ function confirmConvert() { } function verifyConvertFundDeposit() { - DB.query("SELECT id, floID, mode, txid FROM ConvertFund WHERE r_status=? AND coin=?", [pCode.STATUS_PROCESSING, "BTC"]).then(results => { + DB.query("SELECT id, mode, txid FROM ConvertFund WHERE r_status=? AND coin=?", [pCode.STATUS_PROCESSING, "BTC"]).then(results => { results.forEach(r => { if (r.mode == pCodeCONVERT_MODE_GET) { //deposit currency - verifyTx.token(r.floID, r.txid, true).then(({ amount }) => { + verifyTx.token(floGlobals.adminID, r.txid, true).then(({ amount }) => { DB.query("UPDATE ConvertFund SET r_status=?, amount=? WHERE id=?", [pCode.STATUS_SUCCESS, amount, r.id]) .then(_ => null).catch(error => console.error(error)); }).catch(error => { @@ -290,7 +290,7 @@ function verifyConvertFundDeposit() { .then(_ => null).catch(error => console.error(error)); }); } else if (r.mode == pCodeCONVERT_MODE_PUT) {//deposit coin - verifyTx.BTC(r.floID, r.txid).then(quantity => { + verifyTx.BTC(floGlobals.adminID, r.txid).then(quantity => { DB.query("UPDATE ConvertFund SET r_status=?, quantity=? WHERE id=?", [pCode.STATUS_SUCCESS, quantity, r.id]) .then(_ => null).catch(error => console.error(error)); }).catch(error => { @@ -341,14 +341,16 @@ function confirmConvertFundWithdraw() { function verifyRefund() { DB.query("SELECT id, floID, in_txid FROM RefundTransact WHERE r_status=?", [pCode.STATUS_PENDING]).then(results => { - verifyTx.token(r.floID, r.in_txid, true) - .then(({ amount }) => blockchain.refundTransact.init(r.floID, amount, r.id)) - .catch(error => { - console.error(error); - if (error[0]) - DB.query("UPDATE RefundTransact SET r_status=? WHERE id=?", [pCode.STATUS_REJECTED, r.id]) - .then(_ => null).catch(error => console.error(error)); - }); + results.forEach(r => { + verifyTx.token(r.floID, r.in_txid, true) + .then(({ amount }) => blockchain.refundTransact.init(r.floID, amount, r.id)) + .catch(error => { + console.error(error); + if (error[0]) + DB.query("UPDATE RefundTransact SET r_status=? WHERE id=?", [pCode.STATUS_REJECTED, r.id]) + .then(_ => null).catch(error => console.error(error)); + }); + }) }).catch(error => console.error(error)) } @@ -359,7 +361,7 @@ function retryRefund() { } function confirmRefund() { - DB.query("SELECT * FROM RefundTransact WHERE r_status=?", [pCode.STATUS_CONFIRMATION]).then(result => { + DB.query("SELECT * FROM RefundTransact WHERE r_status=?", [pCode.STATUS_CONFIRMATION]).then(results => { results.forEach(r => { floTokenAPI.getTx(r.txid).then(tx => { if (!tx.transactionDetails.blockheight || !tx.transactionDetails.confirmations) //Still not confirmed @@ -379,7 +381,7 @@ function retryBondClosing() { } function confirmBondClosing() { - DB.query("SELECT * FROM CloseBondTransact WHERE r_status=?", [pCode.STATUS_CONFIRMATION]).then(result => { + DB.query("SELECT * FROM CloseBondTransact WHERE r_status=?", [pCode.STATUS_CONFIRMATION]).then(results => { results.forEach(r => { floTokenAPI.getTx(r.txid).then(tx => { if (!tx.transactionDetails.blockheight || !tx.transactionDetails.confirmations) //Still not confirmed @@ -402,7 +404,7 @@ function retryFundClosing() { } function confirmFundClosing() { - DB.query("SELECT * FROM CloseFundTransact WHERE r_status=?", [pCode.STATUS_CONFIRMATION]).then(result => { + DB.query("SELECT * FROM CloseFundTransact WHERE r_status=?", [pCode.STATUS_CONFIRMATION]).then(results => { results.forEach(r => { floTokenAPI.getTx(r.txid).then(tx => { if (!tx.transactionDetails.blockheight || !tx.transactionDetails.confirmations) //Still not confirmed diff --git a/src/backup/head.js b/src/backup/head.js index e191284..53306be 100644 --- a/src/backup/head.js +++ b/src/backup/head.js @@ -20,7 +20,7 @@ const SLAVE_MODE = 0, const sinkList = {}; -app.chests = { +const chests = { get list() { return Object.keys(sinkList); }, @@ -362,6 +362,7 @@ function startBackupTransmitter(server) { function initProcess(a) { app = a; + app.chests = chests; startBackupTransmitter(app.server); connectToMaster(0, true); } diff --git a/src/backup/slave.js b/src/backup/slave.js index 78c565e..7b33ec4 100644 --- a/src/backup/slave.js +++ b/src/backup/slave.js @@ -55,7 +55,7 @@ function stopSlaveProcess() { function requestBackupSync(checksum_trigger, ws) { return new Promise((resolve, reject) => { - DB.query('SELECT MAX(timestamp) as last_time FROM _backup').then(result => { + DB.query('SELECT MAX(u_time) as last_time FROM _backup').then(result => { let request = { floID: global.myFloID, pubKey: global.myPubKey, @@ -294,13 +294,13 @@ storeBackupData.commit = function (data, result) { function updateBackupTable(add_data, delete_data) { //update _backup table for added data DB.transaction(add_data.map(r => [ - "INSERT INTO _backup (t_name, id, mode, timestamp) VALUE (?, ?, TRUE, ?) ON DUPLICATE KEY UPDATE mode=TRUE, timestamp=?", - [r.t_name, r.id, validateValue(r.timestamp), validateValue(r.timestamp)] + "INSERT INTO _backup (t_name, id, mode, u_time) VALUE (?, ?, TRUE, ?) ON DUPLICATE KEY UPDATE mode=TRUE, u_time=?", + [r.t_name, r.id, validateValue(r.u_time), validateValue(r.u_time)] ])).then(_ => null).catch(error => console.error(error)); //update _backup table for deleted data DB.transaction(delete_data.map(r => [ - "INSERT INTO _backup (t_name, id, mode, timestamp) VALUE (?, ?, NULL, ?) ON DUPLICATE KEY UPDATE mode=NULL, timestamp=?", - [r.t_name, r.id, validateValue(r.timestamp), validateValue(r.timestamp)] + "INSERT INTO _backup (t_name, id, mode, u_time) VALUE (?, ?, NULL, ?) ON DUPLICATE KEY UPDATE mode=NULL, u_time=?", + [r.t_name, r.id, validateValue(r.u_time), validateValue(r.u_time)] ])).then(_ => null).catch(error => console.error(error)); } diff --git a/src/backup/sync.js b/src/backup/sync.js index 8cc12b7..e7f1e7e 100644 --- a/src/backup/sync.js +++ b/src/backup/sync.js @@ -7,13 +7,13 @@ const { var DB; //Container for database //Backup Transfer -function sendBackupData(timestamp, checksum, ws) { - if (!timestamp) timestamp = 0; - else if (typeof timestamp === "string" && /\.\d{3}Z$/.test(timestamp)) - timestamp = timestamp.substring(0, timestamp.length - 1); +function sendBackupData(last_time, checksum, ws) { + if (!last_time) last_time = 0; + else if (typeof last_time === "string" && /\.\d{3}Z$/.test(last_time)) + last_time = last_time.substring(0, last_time.length - 1); let promises = [ - backupSync_data(timestamp, ws), - backupSync_delete(timestamp, ws) + backupSync_data(last_time, ws), + backupSync_delete(last_time, ws) ]; if (checksum) promises.push(backupSync_checksum(ws)); @@ -37,9 +37,9 @@ function sendBackupData(timestamp, checksum, ws) { }); } -function backupSync_delete(timestamp, ws) { +function backupSync_delete(last_time, ws) { return new Promise((resolve, reject) => { - DB.query("SELECT * FROM _backup WHERE mode is NULL AND timestamp > ?", [timestamp]).then(result => { + DB.query("SELECT * FROM _backup WHERE mode is NULL AND u_time > ?", [last_time]).then(result => { ws.send(JSON.stringify({ command: "SYNC_DELETE", delete_data: result @@ -52,7 +52,7 @@ function backupSync_delete(timestamp, ws) { }) } -function backupSync_data(timestamp, ws) { +function backupSync_data(last_time, ws) { const sendTable = (table, id_list) => new Promise((res, rej) => { DB.query(`SELECT * FROM ${table} WHERE id IN (${id_list})`) .then(data => { @@ -68,7 +68,7 @@ function backupSync_data(timestamp, ws) { }); }); return new Promise((resolve, reject) => { - DB.query("SELECT * FROM _backup WHERE mode=TRUE AND timestamp > ?", [timestamp]).then(result => { + DB.query("SELECT * FROM _backup WHERE mode=TRUE AND u_time > ?", [last_time]).then(result => { let sync_needed = {}; result.forEach(r => r.t_name in sync_needed ? sync_needed[r.t_name].push(r.id) : sync_needed[r.t_name] = [r.id]); ws.send(JSON.stringify({ diff --git a/src/market.js b/src/market.js index 8573434..0602563 100644 --- a/src/market.js +++ b/src/market.js @@ -545,7 +545,7 @@ module.exports = { set DB(db) { DB = db; coupling.DB = db; - blockchain.DB = db; + background.DB = db; }, set assetList(assets) { assetList = assets;