-
Notifications
You must be signed in to change notification settings - Fork 537
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
[client-v2] Underscore in column name is removed #1866
Comments
Proposed PR - register(): make underscore legal in column name |
@averemee-si thank you for reporting the issue! Thank you! |
Sergey, I'm not using a static POJO because we need to build a bootstrapped Oracle database with thousands of tables, each table with up to five hundred columns, and each name with an underscore. Due to these limitations, we use dynamic construction of the POJO
Thanks/ Заранее признателен! Aleksei |
@averemee-si Thank you for explaining! |
Good day, @averemee-si! Thanks! |
Hi Sergey, Thanks for the update. Regards, |
Hi Sergey, I started checking and realized that I can't download the nightly build. Please tell me where I can find it. Thanks. Regards, |
@averemee-si here is a gist with instructions https://gist.github.com/chernser/b4eacfde70093847449e3aef8e51ae8e |
Thanks! Tested with build 20241022-155731-21 Regards, |
@averemee-si |
Yes, thanks. Regards, |
Describe the bug
According to the documentation, underscore is a valid character in a column name:
But when I try to register an POJO for a table in the Java client-v2, an error occurs for any column that contains an underscore in the name:
Exception in thread "main" java.lang.IllegalArgumentException: No serializer found for column 'ORA_ROW_ID'. Did you forget to register it?
at com.clickhouse.client.api.Client.insert(Client.java:1178)
at com.clickhouse.client.api.Client.insert(Client.java:1124)
at solutions.a2.oracle.expimp.pipe.DtoTest.main(DtoTest.java:84)
Steps to reproduce
Expected behaviour
Successful execution
Code example
Error log
6:50:01,415 INFO main Client:build:886 - Using server timezone: UTC
06:50:01,712 INFO main Client:poolConnectionManager:201 - Connection reuse strategy: FIFO
06:50:01,745 INFO main Client::110 - client compression: true, server compression: true, http compression: false
06:50:01,746 INFO main Client::168 - Using new http client implementation
06:50:03,499 WARN main Client:register:1087 - No getter method found for column: orarowid
06:50:03,499 WARN main Client:register:1095 - No setter method found for column: orarowid
06:50:03,509 WARN main Client:register:1087 - No getter method found for column: originconid
06:50:03,509 WARN main Client:register:1095 - No setter method found for column: originconid
Exception in thread "main" java.lang.IllegalArgumentException: No serializer found for column 'ORA_ROW_ID'. Did you forget to register it?
at com.clickhouse.client.api.Client.insert(Client.java:1178)
at com.clickhouse.client.api.Client.insert(Client.java:1124)
at solutions.a2.oracle.expimp.pipe.DtoTest.main(DtoTest.java:84)
Configuration
Environment
ClickHouse server
24.6.2
CREATE TABLE
statements for tables involved:CREATE TABLE TEST4CH(
ORA_ROW_ID String,
OWNER String,
NAME String,
TYPE String,
LINE UInt32,
TEXT String,
ORIGIN_CON_ID Nullable(UInt32)) engine = MergeTree order by ();
The text was updated successfully, but these errors were encountered: