Comparing version 0.3.0 to 0.4.0
@@ -11,4 +11,8 @@ 'use strict'; | ||
util.inherits(Mysql, require(__dirname + '/postgres')); | ||
var Postgres = require(__dirname + '/postgres'); | ||
util.inherits(Mysql, Postgres); | ||
Mysql.prototype._myClass = Mysql; | ||
Mysql.prototype._quoteCharacter = '`'; | ||
@@ -27,10 +31,2 @@ | ||
Mysql.prototype.visitOrderByColumn = function(column) { | ||
if(column.direction) { | ||
return this.visit(column.column) + ' ' + this.visit(column.direction); | ||
} else { | ||
return this.visit(column.column); | ||
} | ||
}; | ||
Mysql.prototype.visitRenameColumn = function(renameColumn) { | ||
@@ -43,3 +39,8 @@ var dataType = renameColumn.nodes[1].dataType || renameColumn.nodes[0].dataType; | ||
Mysql.prototype.visitInsert = function(insert) { | ||
var result = Postgres.prototype.visitInsert.call(this, insert); | ||
if (result[2] === 'DEFAULT VALUES') result[2] = '() VALUES ()'; | ||
return result; | ||
}; | ||
module.exports = Mysql; |
@@ -12,2 +12,4 @@ 'use strict'; | ||
Postgres.prototype._myClass = Postgres; | ||
Postgres.prototype._arrayAggFunctionName = 'array_agg'; | ||
@@ -91,2 +93,6 @@ | ||
]; | ||
if (result.slice(2, 5).join(' ') === '() VALUES ()') { | ||
result.splice(2, 3, 'DEFAULT VALUES'); | ||
} | ||
return result; | ||
@@ -181,3 +187,3 @@ }; | ||
if(column.direction) { | ||
return '(' + this.visit(column.column) + ' ' + this.visit(column.direction) + ')'; | ||
return this.visit(column.column) + ' ' + this.visit(column.direction); | ||
} else { | ||
@@ -229,16 +235,14 @@ return this.visit(column.column); | ||
Postgres.prototype.visitSubquery = function(queryNode) { | ||
var result = []; | ||
for(var i = 0; i < queryNode.nodes.length; i ++) { | ||
var res = this.visit(queryNode.nodes[i]); | ||
result = result.concat(res); | ||
var subQuery = new this._myClass(); | ||
subQuery.visitQuery(queryNode); | ||
this.params = this.params.concat(subQuery.params); | ||
var result = subQuery.output; | ||
result[0] = '('+result[0]; | ||
result[result.length-1] = result[result.length-1] + ')'; | ||
if(queryNode.alias) { | ||
result[result.length-1] = result[result.length-1] + ' ' + queryNode.alias; | ||
} | ||
//implicit 'from' | ||
if(!this._visitedFrom) { | ||
var select = result.slice(0, this._selectOrDeleteEndIndex); | ||
var from = this.visitFrom(new From().add(queryNode.table.toNode())); | ||
var rest = result.slice(this._selectOrDeleteEndIndex); | ||
result = select.concat(from).concat(rest); | ||
} | ||
result[0] = '('+result[0]; | ||
result[result.length-1] = result[result.length-1] + ') ' + queryNode.alias; | ||
return result; | ||
@@ -245,0 +249,0 @@ }; |
@@ -22,2 +22,5 @@ 'use strict'; | ||
break; | ||
case 'sqlite': | ||
this.dialect = require(__dirname + '/dialect/sqlite'); | ||
break; | ||
default: | ||
@@ -24,0 +27,0 @@ throw new Error(dialect + ' is unsupported'); |
'use strict'; | ||
var assert = require('assert'); | ||
var Node = function(type) { | ||
@@ -12,2 +14,3 @@ this.nodes = []; | ||
Node.prototype.add = function(node) { | ||
assert(node, 'Error while trying to add a non-existant node to a query'); | ||
this.nodes.push(typeof node === 'string' ? new TextNode(node) : node.toNode()); | ||
@@ -14,0 +17,0 @@ return this; |
@@ -44,4 +44,20 @@ 'use strict'; | ||
} | ||
// if this is a subquery then add reference to this column | ||
if(this.type === 'SUBQUERY') { | ||
for(var j = 0; j < select.nodes.length; j++) { | ||
var name = select.nodes[j].alias || select.nodes[j].name; | ||
var col = new Column(select.nodes[j]); | ||
col.name = name; | ||
col.table = this; | ||
if( this[name] === undefined ) { | ||
this[name] = col; | ||
} | ||
} | ||
} | ||
return this.add(select); | ||
}, | ||
star: function() { | ||
assert( this.type === 'SUBQUERY', 'star() can only be used on a subQuery'); | ||
return new Column({table: this, star: true}); | ||
}, | ||
from: function(tableNode) { | ||
@@ -48,0 +64,0 @@ var from = new From().add(tableNode); |
@@ -5,3 +5,3 @@ { | ||
"description": "sql builder", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"homepage": "https://github.com/brianc/node-sql", | ||
@@ -8,0 +8,0 @@ "repository": { |
@@ -10,2 +10,3 @@ 'use strict'; | ||
pg : 'SELECT COUNT("post".*) AS "post_count" FROM "post"', | ||
sqlite: 'SELECT COUNT("post".*) AS "post_count" FROM "post"', | ||
mysql : 'SELECT COUNT(`post`.*) AS `post_count` FROM `post`', | ||
@@ -18,2 +19,3 @@ params: [] | ||
pg : 'SELECT COUNT("post".*) AS "post_count" FROM "post"', | ||
sqlite: 'SELECT COUNT("post".*) AS "post_count" FROM "post"', | ||
msyql : 'SELECT COUNT(`post`.*) AS `post_count` FROM `post`', | ||
@@ -26,2 +28,3 @@ params: [] | ||
pg : 'SELECT COUNT("post".*) AS "post_amount" FROM "post"', | ||
sqlite: 'SELECT COUNT("post".*) AS "post_amount" FROM "post"', | ||
mysql : 'SELECT COUNT(`post`.*) AS `post_amount` FROM `post`', | ||
@@ -34,2 +37,3 @@ params: [] | ||
pg : 'SELECT COUNT("post"."content") AS "content_count" FROM "post"', | ||
sqlite: 'SELECT COUNT("post"."content") AS "content_count" FROM "post"', | ||
mysql : 'SELECT COUNT(`post`.`content`) AS `content_count` FROM `post`', | ||
@@ -42,2 +46,3 @@ params: [] | ||
pg : 'SELECT COUNT("post"."content") AS "content_count" FROM "post"', | ||
sqlite: 'SELECT COUNT("post"."content") AS "content_count" FROM "post"', | ||
mysql : 'SELECT COUNT(`post`.`content`) AS `content_count` FROM `post`', | ||
@@ -50,4 +55,5 @@ params: [] | ||
pg : 'SELECT COUNT("post"."content") AS "content_count" FROM "post"', | ||
sqlite: 'SELECT COUNT("post"."content") AS "content_count" FROM "post"', | ||
mysql : 'SELECT COUNT(`post`.`content`) AS `content_count` FROM `post`', | ||
params: [] | ||
}); |
@@ -10,2 +10,6 @@ 'use strict'; | ||
pg : 'ALTER TABLE "post" DROP COLUMN "content"', | ||
sqlite: { | ||
text : 'Sqlite cannot drop columns', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `post` DROP COLUMN `content`', | ||
@@ -18,2 +22,6 @@ params: [] | ||
pg : 'ALTER TABLE "post" DROP COLUMN "content", DROP COLUMN "userId"', | ||
sqlite: { | ||
text : 'Sqlite cannot drop columns', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `post` DROP COLUMN `content`, DROP COLUMN `userId`', | ||
@@ -26,2 +34,6 @@ params: [] | ||
pg : 'ALTER TABLE "post" DROP COLUMN "content", DROP COLUMN "userId"', | ||
sqlite: { | ||
text : 'Sqlite cannot drop columns', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `post` DROP COLUMN `content`, DROP COLUMN `userId`', | ||
@@ -45,2 +57,3 @@ params: [] | ||
pg : 'ALTER TABLE "group" ADD COLUMN "id" varchar(100)', | ||
sqlite: 'ALTER TABLE "group" ADD COLUMN "id" varchar(100)', | ||
mysql : 'ALTER TABLE `group` ADD COLUMN `id` varchar(100)', | ||
@@ -53,2 +66,6 @@ params: [] | ||
pg : 'ALTER TABLE "group" ADD COLUMN "id" varchar(100), ADD COLUMN "userId" varchar(100)', | ||
sqlite: { | ||
text : 'Sqlite cannot add more than one column at a time', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `group` ADD COLUMN `id` varchar(100), ADD COLUMN `userId` varchar(100)', | ||
@@ -61,2 +78,6 @@ params: [] | ||
pg : 'ALTER TABLE "group" ADD COLUMN "id" varchar(100), ADD COLUMN "userId" varchar(100)', | ||
sqlite: { | ||
text : 'Sqlite cannot add more than one column at a time', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `group` ADD COLUMN `id` varchar(100), ADD COLUMN `userId` varchar(100)', | ||
@@ -73,2 +94,6 @@ params: [] | ||
}, | ||
sqlite: { | ||
text : 'Sqlite cannot rename columns', | ||
throws: true | ||
}, | ||
params: [] | ||
@@ -80,2 +105,6 @@ }); | ||
pg : 'ALTER TABLE "group" RENAME COLUMN "userId" TO "newUserId"', | ||
sqlite: { | ||
text : 'Sqlite cannot rename columns', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `group` CHANGE COLUMN `userId` `newUserId` varchar(100)', | ||
@@ -88,4 +117,8 @@ params: [] | ||
pg : 'ALTER TABLE "group" RENAME COLUMN "userId" TO "id"', | ||
sqlite: { | ||
text : 'Sqlite cannot rename columns', | ||
throws: true | ||
}, | ||
mysql : 'ALTER TABLE `group` CHANGE COLUMN `userId` `id` varchar(100)', | ||
params: [] | ||
}); |
@@ -20,2 +20,3 @@ 'use strict'; | ||
pg : 'CREATE TABLE "group" ("id" varchar(100), "user_id" varchar(100))', | ||
sqlite: 'CREATE TABLE "group" ("id" varchar(100), "user_id" varchar(100))', | ||
mysql : 'CREATE TABLE `group` (`id` varchar(100), `user_id` varchar(100))', | ||
@@ -28,4 +29,5 @@ params: [] | ||
pg : 'CREATE TABLE IF NOT EXISTS "group" ("id" varchar(100), "user_id" varchar(100))', | ||
sqlite: 'CREATE TABLE IF NOT EXISTS "group" ("id" varchar(100), "user_id" varchar(100))', | ||
mysql : 'CREATE TABLE IF NOT EXISTS `group` (`id` varchar(100), `user_id` varchar(100))', | ||
params: [] | ||
}); |
@@ -9,4 +9,5 @@ 'use strict'; | ||
pg : 'DELETE FROM "post" WHERE ("post"."content" = $1)', | ||
sqlite: 'DELETE FROM "post" WHERE ("post"."content" = $1)', | ||
mysql : 'DELETE FROM `post` WHERE (`post`.`content` = ?)', | ||
params: [''] | ||
}); |
@@ -9,2 +9,3 @@ 'use strict'; | ||
pg : 'DROP TABLE "post"', | ||
sqlite: 'DROP TABLE "post"', | ||
mysql : 'DROP TABLE `post`', | ||
@@ -17,4 +18,5 @@ params: [] | ||
pg : 'DROP TABLE IF EXISTS "post"', | ||
sqlite: 'DROP TABLE IF EXISTS "post"', | ||
mysql : 'DROP TABLE IF EXISTS `post`', | ||
params: [] | ||
}); |
@@ -10,2 +10,3 @@ 'use strict'; | ||
pg : 'SELECT "post"."content" FROM "post" GROUP BY "post"."userId"', | ||
sqlite: 'SELECT "post"."content" FROM "post" GROUP BY "post"."userId"', | ||
mysql : 'SELECT `post`.`content` FROM `post` GROUP BY `post`.`userId`', | ||
@@ -18,2 +19,3 @@ params: [] | ||
pg : 'SELECT "post"."content" FROM "post" GROUP BY "post"."userId", "post"."id"', | ||
sqlite: 'SELECT "post"."content" FROM "post" GROUP BY "post"."userId", "post"."id"', | ||
mysql : 'SELECT `post`.`content` FROM `post` GROUP BY `post`.`userId`, `post`.`id`', | ||
@@ -26,2 +28,3 @@ params: [] | ||
pg : 'SELECT array_agg("post"."content") AS "contents" FROM "post" GROUP BY "post"."userId"', | ||
sqlite: 'SELECT GROUP_CONCAT("post"."content") AS "contents" FROM "post" GROUP BY "post"."userId"', | ||
mysql : 'SELECT GROUP_CONCAT(`post`.`content`) AS `contents` FROM `post` GROUP BY `post`.`userId`', | ||
@@ -34,4 +37,5 @@ params: [] | ||
pg : 'SELECT array_agg("post"."content") AS "post contents" FROM "post" GROUP BY "post"."userId"', | ||
sqlite: 'SELECT GROUP_CONCAT("post"."content") AS "post contents" FROM "post" GROUP BY "post"."userId"', | ||
mysql : 'SELECT GROUP_CONCAT(`post`.`content`) AS `post contents` FROM `post` GROUP BY `post`.`userId`', | ||
params: [] | ||
}); |
@@ -9,2 +9,3 @@ 'use strict'; | ||
pg : 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2)', | ||
sqlite: 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2)', | ||
mysql : 'INSERT INTO `post` (`content`, `userId`) VALUES (?, ?)', | ||
@@ -18,2 +19,3 @@ params: ['test', 1] | ||
pg : 'INSERT INTO "post" ("content") VALUES ($1)', | ||
sqlite: 'INSERT INTO "post" ("content") VALUES ($1)', | ||
mysql : 'INSERT INTO `post` (`content`) VALUES (?)', | ||
@@ -26,2 +28,3 @@ params: ['whoah'] | ||
pg : 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2)', | ||
sqlite: 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2)', | ||
mysql : 'INSERT INTO `post` (`content`, `userId`) VALUES (?, ?)', | ||
@@ -35,2 +38,3 @@ params: ['test', 2] | ||
pg : 'INSERT INTO "post" ("content") VALUES ($1), ($2)', | ||
sqlite: 'INSERT INTO "post" ("content") VALUES ($1), ($2)', | ||
mysql : 'INSERT INTO `post` (`content`) VALUES (?), (?)', | ||
@@ -43,2 +47,3 @@ params: ['whoah', 'hey'] | ||
pg : 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2), ($3, $4)', | ||
sqlite: 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2), ($3, $4)', | ||
mysql : 'INSERT INTO `post` (`content`, `userId`) VALUES (?, ?), (?, ?)', | ||
@@ -53,2 +58,3 @@ params: ['whoah', 1, 'hey', 2] | ||
pg : 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2), ($3, $4)', | ||
sqlite: 'INSERT INTO "post" ("content", "userId") VALUES ($1, $2), ($3, $4)', | ||
mysql : 'INSERT INTO `post` (`content`, `userId`) VALUES (?, ?), (?, ?)', | ||
@@ -66,2 +72,6 @@ params: ['whoah', 1, 'hey', 2] | ||
}, | ||
sqlite: { | ||
text: 'Sqlite requires the same number of columns in each insert row', | ||
throws: true | ||
}, | ||
mysql : { | ||
@@ -79,2 +89,6 @@ text: 'INSERT INTO `post` (`content`, `userId`) VALUES (?, ?), (?, DEFAULT)', | ||
}, | ||
sqlite: { | ||
text: 'Sqlite requires the same number of columns in each insert row', | ||
throws: true | ||
}, | ||
mysql : { | ||
@@ -86,2 +100,10 @@ text: 'INSERT INTO `post` (`userId`, `content`) VALUES (?, DEFAULT), (?, ?)', | ||
Harness.test({ | ||
query : post.insert({}), | ||
pg : 'INSERT INTO "post" DEFAULT VALUES', | ||
sqlite: 'INSERT INTO "post" DEFAULT VALUES', | ||
mysql : 'INSERT INTO `post` () VALUES ()', | ||
params: [] | ||
}); | ||
@@ -11,2 +11,3 @@ 'use strict'; | ||
pg : 'SELECT "user"."name", "post"."content" FROM "user" INNER JOIN "post" ON ("user"."id" = "post"."userId")', | ||
sqlite: 'SELECT "user"."name", "post"."content" FROM "user" INNER JOIN "post" ON ("user"."id" = "post"."userId")', | ||
mysql : 'SELECT `user`.`name`, `post`.`content` FROM `user` INNER JOIN `post` ON (`user`.`id` = `post`.`userId`)' | ||
@@ -25,2 +26,4 @@ }); | ||
' INNER JOIN "comment" ON ("post"."id" = "comment"."postId")', | ||
sqlite: 'SELECT "user"."name", "post"."content", "comment"."text" FROM "user" INNER JOIN "post" ON ("user"."id" = "post"."userId")' + | ||
' INNER JOIN "comment" ON ("post"."id" = "comment"."postId")', | ||
mysql : 'SELECT `user`.`name`, `post`.`content`, `comment`.`text` FROM `user` INNER JOIN `post` ON (`user`.`id` = `post`.`userId`)' + | ||
@@ -33,2 +36,3 @@ ' INNER JOIN `comment` ON (`post`.`id` = `comment`.`postId`)' | ||
pg : 'SELECT "user"."name", "post"."content" FROM "user" LEFT JOIN "post" ON ("user"."id" = "post"."userId")', | ||
sqlite: 'SELECT "user"."name", "post"."content" FROM "user" LEFT JOIN "post" ON ("user"."id" = "post"."userId")', | ||
mysql : 'SELECT `user`.`name`, `post`.`content` FROM `user` LEFT JOIN `post` ON (`user`.`id` = `post`.`userId`)' | ||
@@ -47,2 +51,4 @@ }); | ||
' LEFT JOIN "comment" ON ("post"."id" = "comment"."postId")', | ||
sqlite: 'SELECT "user"."name", "post"."content" FROM "user" LEFT JOIN "post" ON ("user"."id" = "post"."userId")' + | ||
' LEFT JOIN "comment" ON ("post"."id" = "comment"."postId")', | ||
mysql : 'SELECT `user`.`name`, `post`.`content` FROM `user` LEFT JOIN `post` ON (`user`.`id` = `post`.`userId`)' + | ||
@@ -52,13 +58,18 @@ ' LEFT JOIN `comment` ON (`post`.`id` = `comment`.`postId`)' | ||
var subposts = post | ||
.subQuery('subposts') | ||
.select( | ||
post.content, | ||
post.userId.as('subpostUserId')) | ||
.from(post); | ||
Harness.test({ | ||
query : user | ||
.select(user.name, post.content) | ||
.from(user.join( | ||
post | ||
.subQuery('subposts') | ||
.select(post.content, post.userId) | ||
.from(post)) | ||
.on(user.id.equals(post.userId))), | ||
pg : 'SELECT "user"."name", "post"."content" FROM "user" INNER JOIN (SELECT "post"."content", "post"."userId" FROM "post") subposts ON ("user"."id" = "post"."userId")', | ||
mysql : 'SELECT `user`.`name`, `post`.`content` FROM `user` INNER JOIN (SELECT `post`.`content`, `post`.`userId` FROM `post`) subposts ON (`user`.`id` = `post`.`userId`)' | ||
.select(user.name, subposts.content) | ||
.from(user.join(subposts) | ||
.on(user.id.equals(subposts.subpostUserId))), | ||
pg : 'SELECT "user"."name", "subposts"."content" FROM "user" INNER JOIN (SELECT "post"."content", "post"."userId" AS "subpostUserId" FROM "post") subposts ON ("user"."id" = "subposts"."subpostUserId")', | ||
sqlite: 'SELECT "user"."name", "subposts"."content" FROM "user" INNER JOIN (SELECT "post"."content", "post"."userId" AS "subpostUserId" FROM "post") subposts ON ("user"."id" = "subposts"."subpostUserId")', | ||
mysql : 'SELECT `user`.`name`, `subposts`.`content` FROM `user` INNER JOIN (SELECT `post`.`content`, `post`.`userId` AS `subpostUserId` FROM `post`) subposts ON (`user`.`id` = `subposts`.`subpostUserId`)' | ||
}); | ||
@@ -12,2 +12,3 @@ 'use strict'; | ||
pg : 'SELECT "user".* FROM "user" ORDER BY "user"."name" LIMIT 1', | ||
sqlite: 'SELECT "user".* FROM "user" ORDER BY "user"."name" LIMIT 1', | ||
mysql : 'SELECT `user`.* FROM `user` ORDER BY `user`.`name` LIMIT 1' | ||
@@ -19,2 +20,3 @@ }); | ||
pg : 'SELECT "user".* FROM "user" ORDER BY "user"."name" LIMIT 3 OFFSET 6', | ||
sqlite: 'SELECT "user".* FROM "user" ORDER BY "user"."name" LIMIT 3 OFFSET 6', | ||
mysql : 'SELECT `user`.* FROM `user` ORDER BY `user`.`name` LIMIT 3 OFFSET 6' | ||
@@ -26,3 +28,4 @@ }); | ||
pg : 'SELECT "user".* FROM "user" ORDER BY "user"."name" OFFSET 10', | ||
sqlite: 'SELECT "user".* FROM "user" ORDER BY "user"."name" OFFSET 10', | ||
mysql : 'SELECT `user`.* FROM `user` ORDER BY `user`.`name` OFFSET 10' | ||
}); |
@@ -12,2 +12,3 @@ 'use strict'; | ||
pg :'SELECT "u"."name" FROM "user" AS "u"', | ||
sqlite:'SELECT "u"."name" FROM "user" AS "u"', | ||
mysql :'SELECT `u`.`name` FROM `user` AS `u`' | ||
@@ -19,2 +20,3 @@ }); | ||
pg : 'SELECT "u".* FROM "user" AS "u"', | ||
sqlite: 'SELECT "u".* FROM "user" AS "u"', | ||
mysql : 'SELECT `u`.* FROM `user` AS `u`' | ||
@@ -27,2 +29,3 @@ }); | ||
pg : 'SELECT "u"."name" FROM "user" AS "u" INNER JOIN "post" AS "p" ON (("u"."id" = "p"."userId") AND ("p"."id" = $1))', | ||
sqlite: 'SELECT "u"."name" FROM "user" AS "u" INNER JOIN "post" AS "p" ON (("u"."id" = "p"."userId") AND ("p"."id" = $1))', | ||
mysql : 'SELECT `u`.`name` FROM `user` AS `u` INNER JOIN `post` AS `p` ON ((`u`.`id` = `p`.`userId`) AND (`p`.`id` = ?))', | ||
@@ -35,5 +38,8 @@ params : [3] | ||
pg : 'SELECT "p"."content", "u"."name" FROM "user" AS "u" INNER JOIN "post" AS "p" ON (("u"."id" = "p"."userId") AND ("p"."content" IS NOT NULL))', | ||
sqlite: 'SELECT "p"."content", "u"."name" FROM "user" AS "u" INNER JOIN "post" AS "p" ON (("u"."id" = "p"."userId") AND ("p"."content" IS NOT NULL))', | ||
mysql : 'SELECT `p`.`content`, `u`.`name` FROM `user` AS `u` INNER JOIN `post` AS `p` ON ((`u`.`id` = `p`.`userId`) AND (`p`.`content` IS NOT NULL))' | ||
}); | ||
// the quote property isn't implemented for columns, so all columns are quoted in generated queries | ||
var comment = Table.define({ | ||
@@ -53,2 +59,3 @@ name: 'comment', | ||
pg : 'SELECT "comment"."text", "comment"."userId" FROM "comment"', | ||
sqlite: 'SELECT "comment"."text", "comment"."userId" FROM "comment"', | ||
mysql : 'SELECT `comment`.`text`, `comment`.`userId` FROM `comment`' | ||
@@ -55,0 +62,0 @@ }); |
@@ -10,2 +10,3 @@ 'use strict'; | ||
pg : 'SELECT "post"."content" FROM "post" ORDER BY "post"."content"', | ||
sqlite: 'SELECT "post"."content" FROM "post" ORDER BY "post"."content"', | ||
mysql : 'SELECT `post`.`content` FROM `post` ORDER BY `post`.`content`' | ||
@@ -16,3 +17,4 @@ }); | ||
query : post.select(post.content).order(post.content, post.userId.descending), | ||
pg : 'SELECT "post"."content" FROM "post" ORDER BY "post"."content", ("post"."userId" DESC)', | ||
pg : 'SELECT "post"."content" FROM "post" ORDER BY "post"."content", "post"."userId" DESC', | ||
sqlite: 'SELECT "post"."content" FROM "post" ORDER BY "post"."content", "post"."userId" DESC', | ||
mysql : 'SELECT `post`.`content` FROM `post` ORDER BY `post`.`content`, `post`.`userId` DESC' | ||
@@ -23,4 +25,5 @@ }); | ||
query : post.select(post.content).order(post.content.asc, post.userId.desc), | ||
pg : 'SELECT "post"."content" FROM "post" ORDER BY "post"."content", ("post"."userId" DESC)', | ||
pg : 'SELECT "post"."content" FROM "post" ORDER BY "post"."content", "post"."userId" DESC', | ||
sqlite: 'SELECT "post"."content" FROM "post" ORDER BY "post"."content", "post"."userId" DESC', | ||
mysql : 'SELECT `post`.`content` FROM `post` ORDER BY `post`.`content`, `post`.`userId` DESC' | ||
}); |
@@ -16,2 +16,3 @@ 'use strict'; | ||
pg : 'SELECT "staging"."user"."id" FROM "staging"."user"', | ||
sqlite: 'SELECT "staging"."user"."id" FROM "staging"."user"', | ||
mysql : 'SELECT `staging`.`user`.`id` FROM `staging`.`user`' | ||
@@ -23,2 +24,3 @@ }); | ||
pg : 'SELECT "staging"."user"."id", "staging"."user"."name" FROM "staging"."user"', | ||
sqlite: 'SELECT "staging"."user"."id", "staging"."user"."name" FROM "staging"."user"', | ||
mysql : 'SELECT `staging`.`user`.`id`, `staging`.`user`.`name` FROM `staging`.`user`' | ||
@@ -31,2 +33,3 @@ }); | ||
pg :'SELECT "uws"."name" FROM "staging"."user" AS "uws"', | ||
sqlite:'SELECT "uws"."name" FROM "staging"."user" AS "uws"', | ||
mysql :'SELECT `uws`.`name` FROM `staging`.`user` AS `uws`' | ||
@@ -44,2 +47,3 @@ }); | ||
pg : 'SELECT "staging"."user"."name", "dev"."post"."content" FROM "staging"."user" INNER JOIN "dev"."post" ON ("staging"."user"."id" = "dev"."post"."userId")', | ||
sqlite: 'SELECT "staging"."user"."name", "dev"."post"."content" FROM "staging"."user" INNER JOIN "dev"."post" ON ("staging"."user"."id" = "dev"."post"."userId")', | ||
mysql : 'SELECT `staging`.`user`.`name`, `dev`.`post`.`content` FROM `staging`.`user` INNER JOIN `dev`.`post` ON (`staging`.`user`.`id` = `dev`.`post`.`userId`)' | ||
@@ -51,3 +55,4 @@ }); | ||
pg : 'SELECT "uws"."name", "dev"."post"."content" FROM "staging"."user" AS "uws" INNER JOIN "dev"."post" ON ("uws"."id" = "dev"."post"."userId")', | ||
sqlite: 'SELECT "uws"."name", "dev"."post"."content" FROM "staging"."user" AS "uws" INNER JOIN "dev"."post" ON ("uws"."id" = "dev"."post"."userId")', | ||
mysql : 'SELECT `uws`.`name`, `dev`.`post`.`content` FROM `staging`.`user` AS `uws` INNER JOIN `dev`.`post` ON (`uws`.`id` = `dev`.`post`.`userId`)' | ||
}); |
@@ -11,2 +11,3 @@ 'use strict'; | ||
pg : 'SELECT "user".* FROM "user"', | ||
sqlite: 'SELECT "user".* FROM "user"', | ||
mysql : 'SELECT `user`.* FROM `user`' | ||
@@ -18,2 +19,3 @@ }); | ||
pg : 'SELECT "user".* FROM "user" WHERE ("user"."name" = $1)', | ||
sqlite: 'SELECT "user".* FROM "user" WHERE ("user"."name" = $1)', | ||
mysql : 'SELECT `user`.* FROM `user` WHERE (`user`.`name` = ?)', | ||
@@ -26,2 +28,3 @@ params : [3] | ||
pg : 'SELECT "user".* FROM "user" WHERE (("user"."name" = $1) AND ("user"."id" = $2))', | ||
sqlite: 'SELECT "user".* FROM "user" WHERE (("user"."name" = $1) AND ("user"."id" = $2))', | ||
mysql : 'SELECT `user`.* FROM `user` WHERE ((`user`.`name` = ?) AND (`user`.`id` = ?))', | ||
@@ -35,2 +38,3 @@ params: [3,1] | ||
pg : 'SELECT "post"."content" FROM "post"', | ||
sqlite: 'SELECT "post"."content" FROM "post"', | ||
mysql : 'SELECT `post`.`content` FROM `post`' | ||
@@ -42,2 +46,3 @@ }); | ||
pg : 'SELECT "post"."content" FROM "post" WHERE ("post"."userId" = $1)', | ||
sqlite: 'SELECT "post"."content" FROM "post" WHERE ("post"."userId" = $1)', | ||
mysql : 'SELECT `post`.`content` FROM `post` WHERE (`post`.`userId` = ?)', | ||
@@ -44,0 +49,0 @@ params: [1] |
@@ -9,2 +9,3 @@ 'use strict'; | ||
pg : require('../../lib/dialect/postgres'), | ||
sqlite: require('../../lib/dialect/sqlite'), | ||
mysql : require('../../lib/dialect/mysql') | ||
@@ -11,0 +12,0 @@ }; |
@@ -9,2 +9,3 @@ 'use strict'; | ||
pg : 'SELECT "user"."id" FROM "user"', | ||
sqlite: 'SELECT "user"."id" FROM "user"', | ||
mysql : 'SELECT `user`.`id` FROM `user`' | ||
@@ -16,2 +17,3 @@ }); | ||
pg : 'SELECT "user"."id", "user"."name" FROM "user"', | ||
sqlite: 'SELECT "user"."id", "user"."name" FROM "user"', | ||
mysql : 'SELECT `user`.`id`, `user`.`name` FROM `user`' | ||
@@ -23,2 +25,3 @@ }); | ||
pg : 'SELECT "user".* FROM "user"', | ||
sqlite: 'SELECT "user".* FROM "user"', | ||
mysql : 'SELECT `user`.* FROM `user`' | ||
@@ -30,2 +33,3 @@ }); | ||
pg : 'SELECT "user"."id" FROM "user" WHERE ("user"."name" = $1)', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE ("user"."name" = $1)', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE (`user`.`name` = ?)', | ||
@@ -38,2 +42,3 @@ params: ['foo'] | ||
pg : 'SELECT "user"."id" FROM "user" WHERE (("user"."name" = $1) OR ("user"."name" = $2))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE (("user"."name" = $1) OR ("user"."name" = $2))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE ((`user`.`name` = ?) OR (`user`.`name` = ?))', | ||
@@ -46,2 +51,3 @@ params: ['foo', 'bar'] | ||
pg : 'SELECT "user"."id" FROM "user" WHERE (("user"."name" = $1) AND ("user"."name" = $2))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE (("user"."name" = $1) AND ("user"."name" = $2))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE ((`user`.`name` = ?) AND (`user`.`name` = ?))', | ||
@@ -54,2 +60,3 @@ params: ['foo', 'bar'] | ||
pg : 'SELECT "user"."id" FROM "user" WHERE (("user"."name" = $1) OR ("user"."name" = $2))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE (("user"."name" = $1) OR ("user"."name" = $2))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE ((`user`.`name` = ?) OR (`user`.`name` = ?))' | ||
@@ -61,2 +68,3 @@ }); | ||
pg : 'SELECT "user"."id" FROM "user" WHERE ((("user"."name" = $1) OR ("user"."name" = $2)) AND ("user"."name" = $3))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE ((("user"."name" = $1) OR ("user"."name" = $2)) AND ("user"."name" = $3))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE (((`user`.`name` = ?) OR (`user`.`name` = ?)) AND (`user`.`name` = ?))' | ||
@@ -68,2 +76,3 @@ }); | ||
pg : 'SELECT "user"."id" FROM "user" WHERE ("user"."name" IN ($1, $2))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE ("user"."name" IN ($1, $2))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE (`user`.`name` IN (?, ?))', | ||
@@ -76,2 +85,3 @@ params: ['foo', 'bar'] | ||
pg : 'SELECT "user"."id" FROM "user" WHERE (("user"."name" IN ($1, $2)) AND ("user"."id" = $3))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE (("user"."name" IN ($1, $2)) AND ("user"."id" = $3))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE ((`user`.`name` IN (?, ?)) AND (`user`.`id` = ?))', | ||
@@ -93,2 +103,3 @@ params: ['foo', 'bar', 1] | ||
pg : 'SELECT "user"."id" FROM "user" WHERE ((("user"."name" = $1) AND ("user"."id" = $2)) OR (("user"."name" = $3) AND ("user"."id" = $4)))', | ||
sqlite: 'SELECT "user"."id" FROM "user" WHERE ((("user"."name" = $1) AND ("user"."id" = $2)) OR (("user"."name" = $3) AND ("user"."id" = $4)))', | ||
mysql : 'SELECT `user`.`id` FROM `user` WHERE (((`user`.`name` = ?) AND (`user`.`id` = ?)) OR ((`user`.`name` = ?) AND (`user`.`id` = ?)))', | ||
@@ -101,2 +112,3 @@ params: ['boom', 1, 'bang', 2] | ||
pg : 'SELECT "user"."name" AS "user name", "user"."id" AS "user id" FROM "user"', | ||
sqlite: 'SELECT "user"."name" AS "user name", "user"."id" AS "user id" FROM "user"', | ||
mysql : 'SELECT `user`.`name` AS `user name`, `user`.`id` AS `user id` FROM `user`' | ||
@@ -108,2 +120,3 @@ }); | ||
pg : 'SELECT "user"."name" AS "user name" FROM "user" WHERE ("user"."name" = $1)', | ||
sqlite: 'SELECT "user"."name" AS "user name" FROM "user" WHERE ("user"."name" = $1)', | ||
mysql : 'SELECT `user`.`name` AS `user name` FROM `user` WHERE (`user`.`name` = ?)', | ||
@@ -117,2 +130,3 @@ params: ['brian'] | ||
pg : 'SELECT "user"."name" FROM "user" WHERE ("user"."name" = $1)', | ||
sqlite: 'SELECT "user"."name" FROM "user" WHERE ("user"."name" = $1)', | ||
mysql : 'SELECT `user`.`name` FROM `user` WHERE (`user`.`name` = ?)' | ||
@@ -124,2 +138,3 @@ }); | ||
pg : 'SELECT name FROM user WHERE name <> NULL', | ||
sqlite: 'SELECT name FROM user WHERE name <> NULL', | ||
mysql : 'SELECT name FROM user WHERE name <> NULL', | ||
@@ -132,2 +147,3 @@ params: [] | ||
pg : 'SELECT name,id FROM user WHERE name <> NULL', | ||
sqlite: 'SELECT name,id FROM user WHERE name <> NULL', | ||
mysql : 'SELECT name,id FROM user WHERE name <> NULL', | ||
@@ -147,2 +163,3 @@ params: [] | ||
pg : 'SELECT name FROM user WHERE ("user"."name" = $1)', | ||
sqlite: 'SELECT name FROM user WHERE ("user"."name" = $1)', | ||
mysql : 'SELECT name FROM user WHERE (`user`.`name` = ?)', | ||
@@ -155,4 +172,5 @@ params: ['brian'] | ||
pg : 'SELECT "user"."name" AS "quote""quote""tick`tick`" FROM "user"', | ||
sqlite: 'SELECT "user"."name" AS "quote""quote""tick`tick`" FROM "user"', | ||
mysql : 'SELECT `user`.`name` AS `quote"quote"tick``tick``` FROM `user`', | ||
params: [] | ||
}); |
@@ -10,2 +10,3 @@ 'use strict'; | ||
pg : 'UPDATE "post" SET "content" = $1', | ||
sqlite: 'UPDATE "post" SET "content" = $1', | ||
mysql : 'UPDATE `post` SET `content` = ?', | ||
@@ -18,2 +19,3 @@ params: ['test'] | ||
pg : 'UPDATE "post" SET "content" = $1, "userId" = $2', | ||
sqlite: 'UPDATE "post" SET "content" = $1, "userId" = $2', | ||
mysql : 'UPDATE `post` SET `content` = ?, `userId` = ?', | ||
@@ -26,2 +28,3 @@ params: ['test', 3] | ||
pg : 'UPDATE "post" SET "content" = $1, "userId" = $2', | ||
sqlite: 'UPDATE "post" SET "content" = $1, "userId" = $2', | ||
mysql : 'UPDATE `post` SET `content` = ?, `userId` = ?', | ||
@@ -34,2 +37,3 @@ params: [null, 3] | ||
pg : 'UPDATE "post" SET "content" = $1, "userId" = $2 WHERE ("post"."content" = $3)', | ||
sqlite: 'UPDATE "post" SET "content" = $1, "userId" = $2 WHERE ("post"."content" = $3)', | ||
mysql : 'UPDATE `post` SET `content` = ?, `userId` = ? WHERE (`post`.`content` = ?)', | ||
@@ -41,2 +45,3 @@ params: ['test', 3, 'no'] | ||
query : post.update({content: user.name}).from(user).where(post.userId.equals(user.id)), | ||
sqlite: 'UPDATE "post" SET "content" = "user"."name" FROM "user" WHERE ("post"."userId" = "user"."id")', | ||
pg : 'UPDATE "post" SET "content" = "user"."name" FROM "user" WHERE ("post"."userId" = "user"."id")', | ||
@@ -51,4 +56,5 @@ mysql : 'UPDATE `post` SET `content` = `user`.`name` FROM `user` WHERE (`post`.`userId` = `user`.`id`)', | ||
pg : 'UPDATE "post" SET "userId" = "user"."id" FROM "user" WHERE ("post"."userId" = "user"."id")', | ||
sqlite: 'UPDATE "post" SET "userId" = "user"."id" FROM "user" WHERE ("post"."userId" = "user"."id")', | ||
mysql : 'UPDATE `post` SET `userId` = `user`.`id` FROM `user` WHERE (`post`.`userId` = `user`.`id`)', | ||
params: [] | ||
}); | ||
}); |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
75722
63
2047
83