Changeset: 9ac391944bf2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9ac391944bf2 Modified Files: clients/nodejs/Tests/nodetest.js clients/nodejs/monetdb/mapiclient.js clients/nodejs/monetdb/package.json Branch: default Log Message:
Merge heads. diffs (52 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 @@ -112,6 +112,20 @@ conn.query("SELECT '\\\\asdf','\"', '\\\ assert.equal("'", res.data[0][4]); }); +/* Retrieving escaped characters from the database */ +conn.query('start transaction'). + query('create table foo(a string)'). + query("insert into foo values ('\t\n\r\n\tlalala\t\n\r')"); + +conn.query("select * from foo", function(err, res) { + assert.equal(null, err); + assert.equal(1, res.rows); + assert.equal('\t\n\r\n\tlalala\t\n\r', res.data[0][0]); +}); + +conn.query('delete from foo; drop table foo; rollback'); + + /* prepared statements can also be re-used */ conn.prepare('SELECT id from tables where name=? and type=? and temporary=?', function(err, res){ assert.equal(null, err); 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 @@ -386,7 +386,12 @@ exports.parsetuples = _parsetuples = fu break; case 'ESCAPED': state = 'INQUOTES'; - curtok += chr; + switch(chr) { + case 't': curtok += '\t'; break; + case 'n': curtok += '\n'; break; + case 'r': curtok += '\r'; break; + default: curtok += chr; + } break; case 'INQUOTES': if (chr == '"') { 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.5", + "version": "0.2.6", "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