Changeset: a07960b87746 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a07960b87746
Modified Files:
        clients/nodejs/Tests/nodetest.js
        clients/nodejs/monetdb/mapiclient.js
        clients/nodejs/monetdb/package.json
Branch: default
Log Message:

Node.JS connector: call chaining


diffs (75 lines):

diff --git a/clients/nodejs/Tests/nodetest.js b/clients/nodejs/Tests/nodetest.js
--- a/clients/nodejs/Tests/nodetest.js
+++ b/clients/nodejs/Tests/nodetest.js
@@ -18,16 +18,15 @@ monetdb.connect({dbname:dbname, user:'no
 });
 
 /* now actually connect */
-var conn = monetdb.connect({dbname:dbname, port:dbport, debug: true}, 
function(err) {
+var conn = monetdb.connect({dbname:dbname, port:dbport, debug: false}, 
function(err) {
        assert.equal(null, err);
 });
 
 
-/* some querying */
-conn.query('start transaction');
-
-conn.query('create table foo(a int, b float, c clob)');
-conn.query("insert into foo values 
(42,4.2,'42'),(43,4.3,'43'),(44,4.4,'44'),(45,4.5,'45')");
+/* some querying, call chaining */
+conn.query('start transaction').
+       query('create table foo(a int, b float, c clob)').
+       query("insert into foo values 
(42,4.2,'42'),(43,4.3,'43'),(44,4.4,'44'),(45,4.5,'45')");
 
 conn.query('select * from foo', function(err, res) {
        assert.equal(null, err);
@@ -44,10 +43,11 @@ conn.query('select * from foo', function
        assert.equal(4, res.data.length);
 
        assert.equal(42, res.data[0][res.structure[0].index]);
-       assert.equal(4.3, res.data[1][1]);
+       assert.equal(4.3, res.data[1][res.col['b']]);
        assert.equal('44', res.data[2][2]);
 });
 
+/* we can also just put the queries in one .query call */
 conn.query('delete from foo; drop table foo; rollback');
 
 /* query that will stress multi-block operations */
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
@@ -102,6 +102,7 @@ MonetDBConnection.prototype.query = func
                }
                this.queryqueue.push({'message' : message , 'callback' : 
callback});
        }
+       return this;
 }
 
 MonetDBConnection.prototype.prepare = function(query, callback) {
@@ -147,12 +148,14 @@ MonetDBConnection.prototype.prepare = fu
                        callback(error);
                }
        });
+       return this;
 }
 
 /* we need to wait till everything is done before we close the socket */
 MonetDBConnection.prototype.disconnect = 
 MonetDBConnection.prototype.close = function() {
        this.do_close = true;
+       return this;
 }
 
 exports.connect = exports.open = function() {
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.0.8",
+  "version": "0.1.1",
   "description": "Connect MonetDB and node.js",
   "main": "mapiclient.js",
   "author": "Hannes Mühleisen <[email protected]>",
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to