-
Notifications
You must be signed in to change notification settings - Fork 543
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
Problems with huge Int data types (Tableau) #771
Comments
It's the Tableau problem. It does not support numbers bigger than Int64 such as UInt64/Int128/UInt128/Int256/UInt256. To overcome this issue, we should add to JDBC a new setting -- In case of In case of |
Thanks @artshevchenko for reporting the issue. Is the project analytikaplus/clickhouse-tableau-connector-jdbc? I'd strongly suggest you guys start to integrate with new JDBC driver for a couple of reasons:
Back to the issue, JDBC supports custom type mapping(between database native type and jdbc standard type), but I'm not sure if tableau supports that. If not, I can enhance the driver to expose additional parameters for type mapping. We're closing to release the new driver. Let me know your findings with the test build, and I'm happy to help. |
Hi @zhicwu , Testing the 0.3.2 pre-release drivers with Tableau Tried both *_shaded and *_all driver pack -- no luck. |
Thanks @yurifal and sorry it didn't work for you. It seems a ServiceLoader issue related to JPMS, which happens on a few clients(e.g. SQuirrel SQL). The workaround is to put the driver in class path explicitly. Let me download a Tableau Destop and see if I can fix the issue and provide a new build. Update: it's not related to JPMS but the class loader passed to ServiceLoader. I'm now able to connect to ClickHouse on both SQuirrel SQL and Tableau Desktop. Will publish a new build tonight. |
Please use *_http or *_all of v0.3.2-test2 to test. If you keep seeing error like |
Better this time, can connect and read a schema. The attempt to read from any table gives the error. Please find the attached jprotocolserver.log |
Sorry, I'd not call that better :p Could you download the driver and try again? I re-published the test build using same version. |
@zhicwu No prob, I've connected & made it working Minor glitches do far (RIP http session_id ;-) I'd like to SET join_use_nulls=1 (in the Initial SQL |
Good to know. Sounds like the default implementation using
session_id will be automatically set when executing multi-statement query, but currently it cannot be set via connection URL or properties. Why do you need manually set session_id? Is that just for execute SET statement and/or creating temporary tables?
All settings(except session_id and query_id I think) can be customized in below two ways:
|
OK, I could live with the join_use_nulls=1 written to the designated Profile in the users.xml ) Back to the original issue (on huge int / uint), could you please try Int8 -- I1 UInt8 -- UI1 Thanks in advance. |
Are all remote types defined at here should be added? I'm not going to mess Moving forward, there'll be a |
Are all remote types defined at here should be added? |
Hi there, ClickHouse/clickhouse-odbc#356 - I see that in ODBC driver the same problem has been resolved with |
Hi there! To sum up:
|
@artshevchenko & @nvm1, could you try clickhouse-jdbc-0.3.2-test3-http.jar? I'm about to release 0.3.2 tonight, which is almost same as 0.3.2-test3. You can set connection property @yurifal suggested to add aliases like UI8 etc. but I think we probably no longer need that. |
@zhicwu wrote "... My Tableau desktop was expired... " There's an old beta key (still valid as of 2021-12-31) FYI starting from October 2021, Tableau does no longer issue Desktop Creator keys. |
Thank you @yurifal. Just actived Tableau and |
nice to see @zhicwu . could you please share which version of the driver I've run the TDVT tests from Tableau Connector SDK You can test for some of them manually (right in Tableau) |
clickhouse-jdbc-0.3.2-test3-http.jar
Is there stack trace you can provide? To me, it seems working fine for DateTime but not Date. I had to map Date to String.
I added a calculation field using above expression against a DateTime field and it works. |
I think the custom type mapping should address the issue - if not, please feel free to reopen the issue or create a new one. |
Hi! Our team is developing a Tableau connector to ClickHouse based on this JDBC driver. During testing, we encountered problems when working with data types UInt64, UInt256, Int128, Int256:
In the case of UInt64, we get an error parsing a number as Long
It looks like problem in lines 171-173 of ClickHouseRowBinaryStream.java
In the case of the other listed data types, the number is truncated
Looks like problems with declared precision in ClickHouseDataType.java
Is this a bug or a feature?
The text was updated successfully, but these errors were encountered: