PostgreSQL: Support `PRIMARY KEY USING INDEX` syntax in `ALTER TABLE`

Đang mở
#2,132 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
postgresql, rust, sql
Lĩnh vực
compilers, databases

Hướng nghiên cứu

Bắt đầu bằng cách xác định grammar của ALTER TABLE và cách xử lý các ràng buộc bảng trong parser SQL Rust. Sử dụng ví dụ PostgreSQL từ issue này làm đầu vào parsing, sau đó bổ sung coverage cho PRIMARY KEY USING INDEX và xác nhận rằng câu lệnh được parse mà không yêu cầu danh sách cột.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

The parser fails to parse the PostgreSQL-specific PRIMARY KEY USING INDEX index_name syntax in ALTER TABLE statements:

ALTER TABLE version_downloads
  ADD CONSTRAINT version_downloads_pkey PRIMARY KEY USING INDEX version_downloads_unique;
Expected: a list of columns in parentheses, found: INDEX

Expected behavior

This is valid PostgreSQL syntax per the ALTER TABLE documentation. The grammar allows:

ADD table_constraint_using_index

Where table_constraint_using_index can be:

[ CONSTRAINT constraint_name ]
{ UNIQUE | PRIMARY KEY } USING INDEX index_name
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

Note that PRIMARY KEY USING INDEX index_name is a distinct form that does not require a column list - it promotes an existing unique index to be the primary key constraint.

Ngôn ngữ chính
Rust
Star
3.5k
Fork
774
Merge trung bình
3 ngày 4 giờ
Pull request đã merge (30 ngày)
19

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của apache/datafusion-sqlparser-rs

Tất cả issue của apache/datafusion-sqlparser-rs

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.