ClickHouse / ClickHouse/clickhouse-java

beta.row_binary_for_simple_insert fails on Uint64 values larger than long type passed as string

オープン
#2,619 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
area:jdbc-insert bug jdbc-v2
主要言語
Java
スター
1.6k
フォーク
636
平均マージ
2日 23時間
マージ済み PR(30日)
29

説明

### Describe your feedback
when you pass a very large number (larger than max long, but smaller than max UInt64) as a string in a simple insert, the client attempts to convert this value into a long using Long.parseLong, which will fail, as the string value is higher than the long boundary. something like BigInteger.longValue would be required for this translation.
### Code example
```
preparedStatement.setString(1, bignumber);
preparedStatement.addBatch();
```

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start at the row_binary_for_simple_insert path described in the issue and trace how setString values are converted, especially the Long.parseLong call. Reproduce the preparedStatement.setString and addBatch example with a Uint64 value above the long range, then verify that the simple insert completes successfully without changing smaller values.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
database
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。