apache / apache/datafusion-sqlparser-rs

snowflake column identifier for copy into / query data staged in files

オープン
#519 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
3.5k
フォーク
772
平均マージ
4日 9時間
マージ済み PR(30日)
17

説明

According to documentation, Snowflake allows:
* [query data staged in files](https://docs.snowflake.com/en/user-guide/querying-stage.html#required-parameters) with an identifier of a form `[.]$[.]`
* [copy into table](https://docs.snowflake.com/en/user-guide/data-load-transform.html) with an column identifier containing `$` character like `select t.$1,t.$2,t.$3 from @~/datafile.csv.gz t;`

Although the feature seems to be snowflake specific, it cannot be implemented within snowflake dialect. It's because tokens starting with `$` character are tokenized into `Token::Placeholder`. That's why parser's change is required.

Initial OpenLineage project issue: https://github.com/OpenLineage/OpenLineage/issues/814

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

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

lexer と parser から始め、`$` で始まるトークンの処理、特に現在 `Token::Placeholder` を生成している経路を確認し、Snowflake 方言の処理を見直します。文書化されている staged-file と COPY INTO のカラム形式が既存のプレースホルダー構文を後退させることなく正しくパースできれば、作業は完了です。

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

評価

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

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

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