Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mysql = require('mysql');
- var async = require('async');
- var connection = mysql.createConnection({
- host: 'localhost',
- user: 'root',
- database: 'test',
- password: '12345'
- });
- var chairArr = ['Red', 'Green', 'Yellow', 'Voilet', 'Brown'];
- var inventoryName = "Chairs";
- addInventory(inventoryName, chairArr, function(err, result) {
- if(err) {
- console.log("Err : "+err);
- }
- console.log("Successfully added an inventory");
- });
- function addInventory(inventoryName, chairArr, callback) {
- var sqlQuery = "INSERT INTO tb_inventory(name, added_on) VALUES( ?, NOW())";
- connection.query(sqlQuery, [inventoryName], function(err, result) {
- if(err) {
- return callback(err, null);
- }
- var inventoryId = result.insertId;
- var tasks = [];
- for(var i = 0; i < chairArr.length; i++) {
- tasks.push(addChair.bind(null, inventoryId, chairArr[i]));
- }
- async.parallel(tasks, function(taskErr, taskRes) {
- if(taskErr) {
- return callback(taskErr, null);
- }
- callback(null, result);
- });
- });
- }
- function addChair(inventoryId, chairColor, callback) {
- var sqlQuery = "INSERT INTO tb_chairs(inventory_id, color) VALUES(?, ?)";
- connection.query(sqlQuery, [inventoryId, chairColor], function(err, result) {
- if(err) {
- return callback(err, null);
- }
- callback(null, result);
- });
- }
- var mysql = require('mysql');
- var async = require('async');
- var dbPool = mysql.createPool({
- host: 'localhost',
- user: 'root',
- database: 'test',
- password: '12345',
- connectionLimit: 10
- });
- //var chairArr = ['Red', 'Green!++++++++++++++++!!!!!!!!!!!!!!!!!!!!!!!!!!!!', 'Yellow', 'Voilet', 'Brown']; //Case where query fails due to VARCHAR(20) limit
- var chairArr = ['Red', 'Green', 'Yellow', 'Voilet', 'Brown'];
- var inventoryName = "SOME ITEM ";
- dbPool.getConnection(function(conErr, localConnection) {
- localConnection.beginTransaction(function(transactionErr) {
- if(transactionErr) {
- console.log("There was some error in begining transaction");
- return;
- }
- addInventory(localConnection, inventoryName, chairArr, function(err, result) {
- if(err) {
- console.log("Err : "+err);
- return;
- }
- else {
- console.log("Successfully added an inventory");
- }
- });
- });
- });
- function addInventory(localConnection, inventoryName, chairArr, callback) {
- var sqlQuery = "INSERT INTO tb_inventory(name, added_on) VALUES( ?, NOW())";
- localConnection.query(sqlQuery, [inventoryName], function(err, result) {
- if(err) {
- return callback(err, null);
- }
- var inventoryId = result.insertId;
- var tasks = [];
- for(var i = 0; i < chairArr.length; i++) {
- tasks.push(addChair.bind(null, localConnection, inventoryId, chairArr[i]));
- }
- async.parallel(tasks, function(err, asyncRes) {
- if(err) {
- rollback(localConnection, function(rollErr, rollRes) {
- return callback(err, null);
- });
- }
- else {
- localConnection.commit(function(commitErr, commitRes) {
- console.log("transaction succeded");
- return callback(null, "Success");
- });
- }
- });
- });
- }
- function addChair(localConnection, inventoryId, chairColor, callback) {
- var sqlQuery = "INSERT INTO tb_chairs(inventory_id, color) VALUES(?, ?)";
- localConnection.query(sqlQuery, [inventoryId, chairColor], function(err, result) {
- if(err) {
- return callback(err, null);
- }
- callback(null, result);
- });
- }
- function rollback(localConnection, callback) {
- localConnection.rollback(function(err, result) {
- if(err) {
- console.log("ROLLBACK Failed");
- return callback(err, null);
- }
- console.log("ROLLBACK successful!");
- callback(null, result);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement