Proposal for sqlparser-rs 2.0
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 15/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- rust
- Lĩnh vực
- backend-api-design, databases
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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?
- Ngôn ngữ chính
- Rust
- Star
- 3.5k
- Fork
- 805
- Merge trung bình
- 2 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 116
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/datafusion-sqlparser-rs
-
Redshift
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
apache/datafusion-sqlparser-rs#2959 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Redshift
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
apache/datafusion-sqlparser-rs#2958 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PostgreSQL
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
apache/datafusion-sqlparser-rs#2862 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PostgreSQL
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
apache/datafusion-sqlparser-rs#2861 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PostgreSQL
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
apache/datafusion-sqlparser-rs#2858 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/datafusion-sqlparser-rs
Issue tương tự
-
area:schema documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
ElectronicWave/Elemental#252 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
dekobon/big-code-analysis#1887 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Shell中文符号输入异常Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày