Async CSV/COPY: import_csv / export_csv / import_text / export_text on AsyncConnection
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ó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 58/100
Hướng nghiên cứu
Start in hyperdb-api/src/copy.rs at the listed Connection methods and compare them with AsyncClient::copy_in and copy_out. Review the existing TestConnection patterns in hyperdb-api/tests/ and examples in hyperdb-api/examples/. Done means all six AsyncConnection methods, real Hyper tests for each async path, and an async CSV import/export example with streaming I/O.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
The copy module is sync-only — import_csv, export_csv, import_text, export_text are all defined under impl Connection and have no async counterparts on AsyncConnection. Async users either block-on-thread or fall back to the Arrow path. The underlying primitives (AsyncClient::copy_in / copy_out) already exist, so this is plumbing, not new protocol work.
Current state
All four CSV/text COPY methods live in hyperdb-api/src/copy.rs:
Connection::export_csv— copy.rs:276Connection::export_text— copy.rs:320Connection::export_csv_string— copy.rs:365Connection::import_csv— copy.rs:401Connection::import_csv_with_header— copy.rs:415Connection::import_text— copy.rs:460
AsyncConnection exposes none of these. Original gap analysis: §4 of docs/RUST_API_GAP_ANALYSIS.md (predecessor repo).
Proposed work
- Add async equivalents on
AsyncConnection:export_csv,export_text,export_csv_string,import_csv,import_csv_with_header,import_text. Useimpl AsyncRead/AsyncWrite(fromtokio::io) instead ofstd::io::Read/Write. - Mirror the existing sync API surface and behavior exactly — same arguments, same return types, same error semantics.
- Add tests that exercise each async path against a real Hyper instance (use the existing
TestConnectionpatterns inhyperdb-api/tests/). - Add an example under
hyperdb-api/examples/demonstrating async CSV import + export.
Backwards compatibility
Purely additive. New methods on AsyncConnection only.
Performance note
The plumbing path is AsyncClient::copy_in/copy_out (already implemented). The async wrappers should stream through chunked I/O without buffering the full CSV — match the streaming behavior of the sync versions.
- Ngôn ngữ chính
- Rust
- Star
- 2
- Fork
- 2
- Merge trung bình
- 22 giờ 10 phút
- Pull request đã merge (30 ngày)
- 58
Chuẩn bị môi trường
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 tableau/hyper-api-rust
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
tableau/hyper-api-rust#294 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
tableau/hyper-api-rust#311 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
tableau/hyper-api-rust#305 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Windows Named Pipe: verify DACL denies other users, and measure read-path perf for MCP workloadsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
tableau/hyper-api-rust#302 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
tableau/hyper-api-rust#300 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của tableau/hyper-api-rust
Issue tương tự
-
area: dogs area: lookout bug security
Độ khó 2/5 1-3 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
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
OpenDevicePartnership/ina4230#31 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:breg criticality:p3 documentation triage:needs-implementation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
registrystack/registry-stack#1713 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Rename CLAUDE.md to AGENTS.mdĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
posit-dev/ggsql#565 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày