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