Skip to content

Instantly share code, notes, and snippets.

@caligo-mentis
Created March 3, 2016 10:13
Show Gist options
  • Save caligo-mentis/302c49998ceead4e7729 to your computer and use it in GitHub Desktop.
Save caligo-mentis/302c49998ceead4e7729 to your computer and use it in GitHub Desktop.
var lockingStatements = [
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 1')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 1.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 1.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 1.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 2')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 2.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 2.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 2.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 3')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 3.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 3.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 3.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 4')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 4.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 4.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 4.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 5')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 5.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 5.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 5.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 6')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 6.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 6.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 6.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 7')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 7.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 7.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 7.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 8')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 8.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 8.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 8.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 9')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 9.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 9.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 9.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
],
[
"INSERT `projects` (`projects`.`title`) VALUES ('Project 10')",
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 10.1', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 10.2', " + ids[0] + ")";
},
function(ids) {
return "INSERT `tasks` (`tasks`.`title`, `tasks`.`project_id`) VALUES ('Task 10.3', " + ids[0] + ")";
},
function(ids) {
return "DELETE FROM `tasks` WHERE `tasks`.`project_id` = " + ids[0] + " AND `tasks`.`id` NOT IN (" + ids[1] +", " + ids[2] + ", " + ids[3] + ")";
}
]
];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment