[idea] pg2arrowの最適クエリ生成機能
Opened this issue · 1 comments
kaigai commented
pg2arrowでArrowファイルを生成する時に、数値型の最大/最小値を調べて、適切なクライアントSQLを生成する。
背景:numericの対応がDecimal(128bit)だけど、場合によってはデカすぎる。
sakaik commented
この機能を実装される場合には、「常に適切な(=最小の)サイズを採用する」のではなく、PostgreSQL上でのデータ型に応じて今まで通りに固定で型が決まるなど、オプション等で制御可能になっていると助かります。
シナリオとしては、arrow_fdwを "DIR" で使用しており、デイリーでディレクトリ内に新たな1日分のArrowファイルを追加する運用を行っている場合:
- たまたま1日目は列に 1~15 の数字しかなかったので、この数値に応じた「適切な」小さい型でArrowが作られる
- 2日目には 70000 みたいな数字が来ると、1日目とは違う型でArrowが作られる
この2つのArrowファイルは定義が異なるので、”DIR" での使用時にエラーになるのでは? と危惧しています。