Comparing version 0.4.0 to 0.5.0
@@ -73,3 +73,3 @@ 'use strict'; | ||
this.whereClause = new Where(); | ||
this.whereClause.add(node); | ||
this.whereClause.add( this.whereClause.expr(node) ); | ||
return this.add(this.whereClause); | ||
@@ -76,0 +76,0 @@ }, |
'use strict'; | ||
var BinaryNode = require(__dirname + '/binary'); | ||
var TextNode = require(__dirname + '/text'); | ||
module.exports = require(__dirname).define({ | ||
type: 'WHERE', | ||
expr: function(other) { | ||
return typeof other === 'string' ? new TextNode('('+other+')') : other; | ||
}, | ||
or: function(other) { | ||
@@ -10,3 +14,3 @@ return this.nodes.push(new BinaryNode({ | ||
operator: 'OR', | ||
right: other | ||
right: this.expr(other) | ||
})); | ||
@@ -18,5 +22,5 @@ }, | ||
operator: 'AND', | ||
right: other | ||
right: this.expr(other) | ||
})); | ||
} | ||
}); |
@@ -5,3 +5,3 @@ { | ||
"description": "sql builder", | ||
"version": "0.4.0", | ||
"version": "0.5.0", | ||
"homepage": "https://github.com/brianc/node-sql", | ||
@@ -8,0 +8,0 @@ "repository": { |
@@ -123,5 +123,5 @@ 'use strict'; | ||
query : user.select('name').from('user').where('name <> NULL'), | ||
pg : 'SELECT name FROM user WHERE name <> NULL', | ||
sqlite: 'SELECT name FROM user WHERE name <> NULL', | ||
mysql : 'SELECT name FROM user WHERE name <> NULL', | ||
pg : 'SELECT name FROM user WHERE (name <> NULL)', | ||
sqlite: 'SELECT name FROM user WHERE (name <> NULL)', | ||
mysql : 'SELECT name FROM user WHERE (name <> NULL)', | ||
params: [] | ||
@@ -132,5 +132,5 @@ }); | ||
query : user.select('name,id').from('user').where('name <> NULL'), | ||
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', | ||
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)', | ||
params: [] | ||
@@ -141,4 +141,5 @@ }); | ||
query : user.select('name','id').from('user').where('name <> NULL'), | ||
pg : 'SELECT name, id FROM user WHERE name <> NULL', | ||
mysql : 'SELECT name, id FROM user WHERE name <> NULL', | ||
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)', | ||
params: [] | ||
@@ -148,2 +149,10 @@ }); | ||
Harness.test({ | ||
query : user.select('name','id').from('user').where('name <> NULL').and('id <> NULL'), | ||
pg : 'SELECT name, id FROM user WHERE ((name <> NULL) AND (id <> NULL))', | ||
sqlite: 'SELECT name, id FROM user WHERE ((name <> NULL) AND (id <> NULL))', | ||
mysql : 'SELECT name, id FROM user WHERE ((name <> NULL) AND (id <> NULL))', | ||
params: [] | ||
}); | ||
Harness.test({ | ||
query : user.select('name').from('user').where({name: 'brian'}), | ||
@@ -150,0 +159,0 @@ pg : 'SELECT name FROM user WHERE ("user"."name" = $1)', |
76356
2059
84