Changeset: 682a836117eb for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=682a836117eb Modified Files: clients/nodejs/monetdb/mapiclient.js clients/nodejs/monetdb/package.json Branch: default Log Message:
Merge heads. diffs (78 lines): diff --git a/clients/nodejs/monetdb/mapiclient.js b/clients/nodejs/monetdb/mapiclient.js --- a/clients/nodejs/monetdb/mapiclient.js +++ b/clients/nodejs/monetdb/mapiclient.js @@ -162,9 +162,12 @@ MonetDBConnection.prototype.prepare = fu return this; } -MonetDBConnection.prototype.disconnect = +MonetDBConnection.prototype.disconnect = MonetDBConnection.prototype.close = function() { this.do_close = true; + if (this.queryqueue.length < 1) { + next_op.call(this); + } return this; } @@ -467,12 +470,42 @@ function __check_arg(options, argname, t } function __get_connect_args(options) { - __check_arg(options, 'dbname' , 'string' , 'demo'); - __check_arg(options, 'user' , 'string' , 'monetdb'); - __check_arg(options, 'password', 'string' , 'monetdb'); - __check_arg(options, 'host' , 'string' , 'localhost'); - __check_arg(options, 'port' , 'number' , 50000); - __check_arg(options, 'language', 'string' , 'sql'); - __check_arg(options, 'debug' , 'boolean', false); + __check_arg(options, 'dbname' , 'string' , 'demo'); + __check_arg(options, 'user' , 'string' , 'monetdb'); + __check_arg(options, 'password', 'string' , 'monetdb'); + __check_arg(options, 'host' , 'string' , 'localhost'); + __check_arg(options, 'port' , 'number' , 50000); + __check_arg(options, 'language', 'string' , 'sql'); + __check_arg(options, 'debug' , 'boolean' , false); + __check_arg(options, 'q' , 'function', undefined); + return options; } + +/* Q integration, <robin.cij...@monetdbsolutions.com> */ +['request', 'query', 'prepare'].forEach(function(funToQ) { + var funQ = funToQ + 'Q'; + MonetDBConnection.prototype[funQ] = function() { + if (this.options.q == undefined) { + console.warn('We need Q as part of the connect options (q).'); + return; + } + return this.options.q.npost(this, funToQ, arguments); + } +}); + +exports.connectQ = exports.openQ = function(options) { + if (options.q == undefined) { + console.warn('We need Q as part of the connect options (q).'); + return; + } + var deferred = options.q.defer(); + var conn = exports.open(options, function(err) { + if(err) { + return deferred.reject(new Error(err)); + } + deferred.resolve(conn); + }); + return deferred.promise; +} + diff --git a/clients/nodejs/monetdb/package.json b/clients/nodejs/monetdb/package.json --- a/clients/nodejs/monetdb/package.json +++ b/clients/nodejs/monetdb/package.json @@ -1,6 +1,6 @@ { "name": "monetdb", - "version": "0.1.6", + "version": "0.1.7", "description": "Connect MonetDB and node.js", "main": "mapiclient.js", "author": "Hannes Mühleisen <han...@cwi.nl>", _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list