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

Node.JS client: exporting MAPI tuple parser


diffs (80 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
@@ -83,8 +83,8 @@ conn.query('MEHR BIER',
 
 
 /* fire-and-forget query with parameters */
-conn.query('SELECT id from tables where name=? and type=? and readonly=?',
-       ['connections', 0, false], function(err, res) {
+conn.query('SELECT id from tables where name=? and type=? and temporary=?',
+       ['connections', 0, 0], function(err, res) {
                assert.equal(null, err);
                assert(res.rows > 0);
 }); 
@@ -95,8 +95,8 @@ conn.log_callback = function(message, er
        assert(message); // message must contain something
        ++nr_log_callbacks;
 }
-conn.query('SELECT id FROM tables WHERE name=? AND type=? AND readonly=?',
-       ['connections', 0, false], function(err, res) {
+conn.query('SELECT id FROM tables WHERE name=? AND type=? AND temporary=?',
+       ['connections', 0, 0], function(err, res) {
                assert.equal(null, err);
                assert(nr_log_callbacks > 0);
                conn.log_callback = null;       
@@ -113,11 +113,11 @@ conn.query("SELECT '\\\\asdf','\"', '\\\
 });
 
 /* prepared statements can also be re-used  */
-conn.prepare('SELECT id from tables where name=? and type=? and readonly=?', 
function(err, res){
+conn.prepare('SELECT id from tables where name=? and type=? and temporary=?', 
function(err, res){
        assert.equal(null, err);
 
        /* parameters can also be given as array */
-       res.exec(['connections', 0, false], function(err, res) {
+       res.exec(['connections', 0, 0], function(err, res) {
                assert.equal(null, err);
                assert(res.rows > 0);
        });
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
@@ -321,7 +321,7 @@ function __sha512(str) {
        return crypto.createHash('sha512').update(str).digest('hex');
 }
 
-function _parsetuples(names, types, lines) {
+exports.parsetuples =  _parsetuples = function(types, lines) {
        var state = 'INCRAP';
        var resultarr = [];
        for (li in lines) {
@@ -334,7 +334,7 @@ function _parsetuples(names, types, line
                        var chr = line.charAt(curPos);
                        switch (state) {
                        case 'INCRAP':
-                               if (chr != '\t' && chr != ',') {
+                               if (chr != '\t' && chr != ',' && chr != ' ') {
                                        if (chr == '"') {
                                                state = 'INQUOTES';
                                        } else {
@@ -437,7 +437,7 @@ function _parseresponse(msg) {
                        resp.col[colinfo.column] = colinfo.index;
                        resp.structure.push(colinfo);
                }
-               resp.data = _parsetuples(column_names, column_types, 
lines.slice(5, lines.length-1));
+               resp.data = _parsetuples(column_types, lines.slice(5, 
lines.length-1));
        }
        return resp;
 }
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.2.3",
+  "version": "0.2.4",
   "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