Socket
Socket
Sign inDemoInstall

ee-query-builder

Package Overview
Dependencies
Maintainers
1
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ee-query-builder - npm Package Compare versions

Comparing version 0.1.27 to 0.2.0

59

lib/QueryBuilder.js

@@ -93,6 +93,28 @@ !function(){

SQLString += ' WHERE ' + (this._renderFilter(parameters, query.filter || {}) || 1);
if(query.limit && !isNaN(parseInt(query.limit, 10))) SQLString += ' LIMIT ' + parseInt(query.limit, 10);
if(query.offset && !isNaN(parseInt(query.offset, 10))) SQLString += ' OFFSET ' + parseInt(query.offset, 10);
if (this._type === 'postgres' && (query.limit >= 0 || query.offset >= 0)) {
// postgres cannot limit deletes, we have to build a subselect
log(query);
SQLString += ' WHERE CTID IN (' + this._render('query', {
select : [function() {return {keyWord: 'CTID'};}]
, from : query.from
, database : query.database
, filter : query.filter
, join : query.join
, order : query.order
, group : query.group
, limit : query.limit
, offset : query.offset
}, parameters).SQLString+')';
}
else {
// render filter (where statement)
if (query.join && query.join.length) SQLString += this._renderJoin(query.database, query.join);
if (query.order && query.order.length) SQLString += ' ORDER BY ' + (this._renderOrder(query.order || []) || 1);
SQLString += ' WHERE ' + (this._renderFilter(parameters, query.filter || {}) || 1);
if (query.limit && !isNaN(parseInt(query.limit, 10))) SQLString += ' LIMIT ' + parseInt(query.limit, 10);
if (query.offset && !isNaN(parseInt(query.offset, 10))) SQLString += ' OFFSET ' + parseInt(query.offset, 10);
}

@@ -150,8 +172,28 @@ return {SQLString: SQLString, parameters: parameters};

// render filter (where statement)
SQLString += ' WHERE ' + (this._renderFilter(parameters, query.filter || {}) || 1);
if (this._type === 'postgres' && (query.limit >= 0 || query.offset >= 0)) {
// postgres cannot limit updates, we have to build a subselect
log(query);
SQLString += ' WHERE CTID IN (' + this._render('query', {
select : [function() {return {keyWord: 'CTID'};}]
, from : query.from
, database : query.database
, filter : query.filter
, join : query.join
, order : query.order
, group : query.group
, limit : query.limit
, offset : query.offset
}, parameters).SQLString+')';
}
else {
// render filter (where statement)
if (query.join && query.join.length) SQLString += this._renderJoin(query.database, query.join);
if (query.order && query.order.length) SQLString += ' ORDER BY ' + (this._renderOrder(query.order || []) || 1);
if(query.limit && !isNaN(parseInt(query.limit, 10))) SQLString += ' LIMIT ' + parseInt(query.limit, 10);
if(query.offset && !isNaN(parseInt(query.offset, 10))) SQLString += ' OFFSET ' + parseInt(query.offset, 10);
SQLString += ' WHERE ' + (this._renderFilter(parameters, query.filter || {}) || 1);
if (query.limit && !isNaN(parseInt(query.limit, 10))) SQLString += ' LIMIT ' + parseInt(query.limit, 10);
if (query.offset && !isNaN(parseInt(query.offset, 10))) SQLString += ' OFFSET ' + parseInt(query.offset, 10);
}
return {SQLString: SQLString, parameters: parameters};

@@ -335,2 +377,5 @@ }

}
else if (command.keyWord) {
selects.push(command.keyWord);
}
break;

@@ -337,0 +382,0 @@ }

2

package.json
{
"name" : "ee-query-builder"
, "description" : "query builder for ee-orm"
, "version" : "0.1.27"
, "version" : "0.2.0"
, "homepage" : "https://github.com/eventEmitter/ee-query-builder"

@@ -6,0 +6,0 @@ , "author" : "Michael van der Weg <michael@eventemitter.com> (http://eventemitter.com/)"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc