Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getCharacterStream() currently not supported #6400

Closed
monetdb-team opened this issue Nov 30, 2020 · 0 comments
Closed

getCharacterStream() currently not supported #6400

monetdb-team opened this issue Nov 30, 2020 · 0 comments

Comments

@monetdb-team
Copy link

@monetdb-team monetdb-team commented Nov 30, 2020

Date: 2017-09-01 14:09:30 +0200
From: Fabio <>
To: clients devs <>
Version: 11.27.5 (Jul2017-SP1)
CC: martin.van.dinther, @PedroTadim

Last updated: 2017-10-26 14:01:40 +0200

Comment 25607

Date: 2017-09-01 14:09:30 +0200
From: Fabio <>

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Build Identifier:

I use DBeaver as a GUI (https://dbeaver.jkiss.org/) for MonetDB. The connection to the database is done with the MonetDB JDBC driver. Because some tables where created by R, string columns where defined as 'TEXT' (which MonetDB translate to SQL type 'CLOB'). Problem is: when I try to use DBeaver to visualize data, it gives an error: getCharacterStream() currently not supported. The message also shows the exception: java.sql.SQLFeatureNotSupportedException: Operation getCharacterStream() currently not supported at nl.cwi.monetdb.jdbc.MonetClob.getCharacterStream. This only happens with MonetDB JDBC driver. The same does not occurs with PostgreSQL JDBC driver in the same conditions, for example.

Reproducible: Always

Steps to Reproduce:

  1. Configure MonetDB connection in DBeaver using JDBC driver. Select option 'Cache CLOB values' in Preferences > Database > Result Sets > Binaries to see the content of CLOB columns
  2. Create a test table with one column of type 'TEXT' and insert a single string in it: CREATE TABLE foo (name TEXT); INSERT INTO foo VALUES ('Manolo');
  3. Try to vizualize table contents. Column 'name' will show as 'NULL' (which is not). Double click the cell to watch your content and you will see one exception instead.

Actual Results:

exception java.sql.SQLFeatureNotSupportedException: Operation getCharacterStream() currently not supported at nl.cwi.monetdb.jdbc.MonetClob.getCharacterStream.

Expected Results:

String content

If I cast column type from CLOB to VARCHAR(1024), for example, I'm able to see the column content in DBeaver. But this is an expensive operation, because column types update are not implemented in MonetDB yet (that is: I have to create a temporary column, copy the values of the old column to the temporary one, drop the old column, create a new column with the same name as the old one, copy the values of the temporary column to the new one, and finally drop the temporary column). The ideal scenario is MonetDB JDBC driver to implement CLOB cache values function.

Comment 25608

Date: 2017-09-01 14:36:21 +0200
From: @PedroTadim

We got a commit fixing this issue about two weeks ago: https://dev.monetdb.org/hg/monetdb-java/rev/1e49fc74dba4 It should be fixed in the next release.

Comment 25609

Date: 2017-09-01 14:36:53 +0200
From: @PedroTadim

We got a commit fixing this issue about two weeks ago: https://dev.monetdb.org/hg/monetdb-java/rev/1e49fc74dba4 It should be available in the next release.

Comment 25618

Date: 2017-09-07 13:32:49 +0200
From: Martin van Dinther <<martin.van.dinther>>

Fix will be included in the next release (v2.27)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant