You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Date: 2017-07-11 16:45:10 +0200
From: Leon Helwerda <<l.s.helwerda>>
To: Martin van Dinther <<martin.van.dinther>>
Version: 11.25.15 (Dec2016-SP3)
CC: martin.van.dinther
Last updated: 2017-10-26 14:01:29 +0200
Comment 25451
Date: 2017-07-11 16:45:10 +0200
From: Leon Helwerda <<l.s.helwerda>>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0
Build Identifier:
Certain control characters, such as the carriage return ('\r') and form feed ('\f') are returned as the character that they are represented as, but even without the backslash ('r' and 'f', respectively) rather than as an actual control character. This makes such special characters indistinguishable from unrelated normal characters. Other characters like '\n' do work as expected.
Reproducible: Always
Steps to Reproduce:
$ java -jar ~/Downloads/jdbcclient.jar -d db
password:
Welcome to the MonetDB interactive JDBC terminal!
Database Server: MonetDB v11.25.15
JDBC Driver: MonetDB Native Driver v2.24 (Liberica 20161215 based on MCL v1.14)
Current Schema: sys
Type \q to quit, \h for a list of available commands
auto commit mode: on
sql> CREATE TABLE test (message TEXT);
Operation successful. Elapsed Time: 39 ms
sql> INSERT INTO test VALUES ('hello\r\nworld');
1 affected row. Elapsed Time: 26 ms
sql> INSERT INTO test VALUES ('hello\fworld');
1 affected row. Elapsed Time: 23 ms
Actual Results:
$ java -jar ~/Downloads/jdbcclient.jar
sql> SELECT * FROM test;
+--------------+
| message |
+==============+
| hellor
world |
| hellofworld |
+--------------+
2 rows
Elapsed Time: 24 ms
The 'r' and 'f' in these results are normal characters also visible in ResultSets, while the newline is (correctly) presented in the result.
Expected Results:
The result from mclient on the same table as create above (regardless of whether the rows were created with jdbcclient or mclient) shows a more expected result:
$ mclient -d db
password:
Welcome to mclient, the MonetDB/SQL interactive terminal (Dec2016-SP4)
Database: MonetDB v11.25.15 (Dec2016-SP3), 'mapi:monetdb://localhost:50000/db'
Type \q to quit, ? for a list of available commands
auto commit mode: on
sql>SELECT * FROM test;
+--------------+
| message |
+==============+
| hello |
: world :
| hello
world |
+--------------+
Obviously, in Java applications, the strings are supposed contain the appropriate control characters instead of the fancy output as shown here.
Date: 2017-07-11 16:45:10 +0200
From: Leon Helwerda <<l.s.helwerda>>
To: Martin van Dinther <<martin.van.dinther>>
Version: 11.25.15 (Dec2016-SP3)
CC: martin.van.dinther
Last updated: 2017-10-26 14:01:29 +0200
Comment 25451
Date: 2017-07-11 16:45:10 +0200
From: Leon Helwerda <<l.s.helwerda>>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0
Build Identifier:
Certain control characters, such as the carriage return ('\r') and form feed ('\f') are returned as the character that they are represented as, but even without the backslash ('r' and 'f', respectively) rather than as an actual control character. This makes such special characters indistinguishable from unrelated normal characters. Other characters like '\n' do work as expected.
Reproducible: Always
Steps to Reproduce:
$ java -jar ~/Downloads/jdbcclient.jar -d db
password:
Welcome to the MonetDB interactive JDBC terminal!
Database Server: MonetDB v11.25.15
JDBC Driver: MonetDB Native Driver v2.24 (Liberica 20161215 based on MCL v1.14)
Current Schema: sys
Type \q to quit, \h for a list of available commands
auto commit mode: on
sql> CREATE TABLE test (message TEXT);
Operation successful. Elapsed Time: 39 ms
sql> INSERT INTO test VALUES ('hello\r\nworld');
1 affected row. Elapsed Time: 26 ms
sql> INSERT INTO test VALUES ('hello\fworld');
1 affected row. Elapsed Time: 23 ms
Actual Results:
$ java -jar ~/Downloads/jdbcclient.jar
sql> SELECT * FROM test;
+--------------+
| message |
+==============+
| hellor
world |
| hellofworld |
+--------------+
2 rows
Elapsed Time: 24 ms
The 'r' and 'f' in these results are normal characters also visible in ResultSets, while the newline is (correctly) presented in the result.
Expected Results:
The result from mclient on the same table as create above (regardless of whether the rows were created with jdbcclient or mclient) shows a more expected result:
$ mclient -d db
password:
Welcome to mclient, the MonetDB/SQL interactive terminal (Dec2016-SP4)
Database: MonetDB v11.25.15 (Dec2016-SP3), 'mapi:monetdb://localhost:50000/db'
Type \q to quit, ? for a list of available commands
auto commit mode: on
sql>SELECT * FROM test;
+--------------+
| message |
+==============+
| hello |
: world :
| hello
world |
+--------------+
Obviously, in Java applications, the strings are supposed contain the appropriate control characters instead of the fancy output as shown here.
Comment 25673
Date: 2017-09-28 15:05:32 +0200
From: MonetDB Mercurial Repository <>
Changeset e5c67a23d7d6, made by Martin van Dinther martin.van.dinther@monetdbsolutions.com in the monetdb-java repo, refers to this bug.
For complete details, see https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=e5c67a23d7d6
Changeset description:
Comment 25674
Date: 2017-09-28 16:56:26 +0200
From: Martin van Dinther <<martin.van.dinther>>
Fix will be included in the next release of jdbcclient.jar and JDBC driver (v2.27)
The text was updated successfully, but these errors were encountered: