Proposal for sqlparser-rs 2.0
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 15/100
- issue の種類
- リファクタリング
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- rust
調査の方向性
The proposal describes a broad sqlparser-rs 2.0 redesign, but names no files, tests, or entry points to start from. Read the issue thread to understand the community’s response and the proposed design; the goal would be a decided path for the 2.0 work, with parity against v1 and the described correctness fixes.
索引モデルが issue の本文から書いたものです。
説明
Over the weekend, I started from a clean slate and implemented a new version of the sqlparser-rs crate using the design that I had originally wanted but did not know how to build (I was still quite new to Rust at the time).
The new version has one trait per dialect and all dialect-specific parsing lives in that trait. There is no longer one huge "core" parser containing conditional logic for different dialects. Related dialects can also share logic. For example, the Hive and Databricks dialects both call into the Spark dialect for common pieces.
The new version also has ~10x fewer memory allocations (no more copying Strings everywhere) and is ~10x faster.
I am nearly finished porting all of the existing dialects over. The actual parsing code is taken from the current implementation, so that is not re-written. I have ported over all the tests as well, and am working towards 100% parity with v1, although v2 contains quite a lot of correctness fixes compared to v1.
What is the appetite in the community for me pushing this to a new 2.0 branch in the Apache repo?
Another option would be for me to file a huge issue explaining the design in detail, and let the community rebuild it.
WDYT?
- 主要言語
- Rust
- スター
- 3.5k
- フォーク
- 805
- 平均マージ
- 2日 3時間
- マージ済み PR(30日)
- 116
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/datafusion-sqlparser-rs のほかの issue
-
Redshift
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
apache/datafusion-sqlparser-rs#2959 ·
メンテナーはふだん 1 日以内に返信
-
Redshift
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
apache/datafusion-sqlparser-rs#2958 ·
メンテナーはふだん 1 日以内に返信
-
PostgreSQL
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
apache/datafusion-sqlparser-rs#2862 ·
メンテナーはふだん 1 日以内に返信
-
PostgreSQL
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apache/datafusion-sqlparser-rs#2861 ·
メンテナーはふだん 1 日以内に返信
-
PostgreSQL
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
apache/datafusion-sqlparser-rs#2858 ·
メンテナーはふだん 1 日以内に返信
apache/datafusion-sqlparser-rs の issue をすべて見る
似ている issue
-
area:schema documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
ElectronicWave/Elemental#252 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
dekobon/big-code-analysis#1887 ·
メンテナーはふだん 1 日以内に返信
-
Shell中文符号输入异常オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信