ClickHouse / ClickHouse/clickhouse-java

When serialize FixedString and string is bigger than size defined in Table definition

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

説明

### Describe your feedback
Currently, the behavior is that if the string that is sent to serialize is bigger, we send only the length defined in the table schema.

A good approach is to have a flag that indicates if it's a bigger throw Exception or send only a string of a defined size.

### Code example
How it's done today
writeFixedString only what is needed.
```java
BinaryStreamUtils.writeFixedString(stream, convertToString(value), column.getPrecision());
```

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

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

調査の方向性

Java クライアントの BinaryStreamUtils.writeFixedString へのシリアライズ呼び出しから始めます。そこでは column.getPrecision() が値を制限します。FixedString カラムがどのように表現され、シリアライズエラーがどのように処理されるかを確認します。完了とは、長すぎる文字列に対して選択した動作が設定可能で、テストでカバーされていることを意味しますが、この issue では既存のテストファイルは指定されていません。

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

評価

技術スタック
java
領域
databases
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

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

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