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