From a1ad4caea414a3b99650dd6880c0f8fb3a861653 Mon Sep 17 00:00:00 2001 From: "Timothy J. Warren" Date: Tue, 28 Oct 2014 09:05:27 -0400 Subject: [PATCH] Fix an issue with multiple group by columns --- README.md | 2 ++ docs/index.html | 1 + lib/query-builder.js | 8 ++++---- tests/query-builder-base.js | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1f8b0e3..209a62b 100755 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ A node query builder for various SQL databases, based on CodeIgniter's query builder. +[![Build Status](https://travis-ci.org/timw4mail/node-query.svg?branch=master)](https://travis-ci.org/timw4mail/node-query) + ### Basic use var nodeQuery = require('node-query'); diff --git a/docs/index.html b/docs/index.html index 9113bbc..707e059 100644 --- a/docs/index.html +++ b/docs/index.html @@ -93,6 +93,7 @@

Node-query

A node query builder for various SQL databases, based on CodeIgniter's query builder.

+

Build Status

Basic use

var nodeQuery = require('node-query');
 
 var connection = ... // Database module connection 
diff --git a/lib/query-builder.js b/lib/query-builder.js
index 29293b6..030c46b 100755
--- a/lib/query-builder.js
+++ b/lib/query-builder.js
@@ -273,8 +273,8 @@ var QueryBuilder = function(driver, adapter) {
 			{
 				sql = _p.compile(type, table);
 			}
-//console.log(sql);
-//console.log('------------------------');
+console.log(sql);
+console.log('------------------------');
 
 			if ( ! vals)
 			{
@@ -621,10 +621,10 @@ var QueryBuilder = function(driver, adapter) {
 	 * @return this
 	 */
 	this.groupBy = function(field) {
-		if (Array.isArray(field))
+		if ( ! helpers.isScalar(field))
 		{
 			var newGroupArray = field.map(driver.quoteIdentifiers);
-			state.groupArray.concat(newGroupArray);
+			state.groupArray = state.groupArray.concat(newGroupArray);
 		}
 		else
 		{
diff --git a/tests/query-builder-base.js b/tests/query-builder-base.js
index 7b8ba03..fa502ff 100644
--- a/tests/query-builder-base.js
+++ b/tests/query-builder-base.js
@@ -185,7 +185,8 @@ module.exports = (function()  {
 					.from('create_test')
 					.where('id >', 0)
 					.where('id <', 9000)
-					.groupBy('id')
+					.groupBy('k')
+					.groupBy(['id', 'val'])
 					.orderBy('id', 'DESC')
 					.orderBy('k', "ASC")
 					.limit(5, 2)