Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

datalake_fdw: write path — INSERT to data files and a committed snapshot

Đang mở
#2,018 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ó
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
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
c, postgresql, spark

Hướng nghiên cứu

Start with write.c and the AM insert callbacks: tuple_insert, multi_insert, and finish_bulk_insert. Review dependencies A, B2, and B4, then exercise the local-file functions for rolling, FileMeta, and abort logic. Done means the listed INSERT and COPY acceptance cases pass, including commit visibility, cleanup, metadata, size limits, and memory refusal.

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

Mô tả

datalake

Part of #2008. Letters (A, B0–B7, C, D, E) are the PRs listed there; this is C.

Scope
  • write.c, the orchestration the format interface was written for: a writer per segment, rolling at the target size, Iceberg file naming under <location>/data/, a FileMeta per file (counts, sizes, per-column bounds and null counts) for commit.
  • AM insert callbacks (tuple_insert, multi_insert, finish_bulk_insert): slots into the batch builder, field ids from the Iceberg schema into WriterOptions.field_ids.
  • Segments write straight to object storage; the QD gathers every FileMeta and commits once at pre-commit. Abort anywhere leaves no data file (resource owner plus object delete) and no snapshot.
  • COPY ... FROM uses the same path.
  • With it: #1988 NUMERIC and #1990 timestamp units.
Out of scope

UPDATE/DELETE (E), partitioned tables (#1683 §2.3).

Depends on

A, B2, B4. Rolling, FileMeta and abort logic are testable with the local-file functions first.

Acceptance
  • A multi-segment INSERT ... SELECT yields files readable by pyarrow and Spark; manifest counts and bounds match the data.
  • Nothing visible before commit; abort leaves no files and no snapshot.
  • Row group and target file size honoured within one row group.
  • A large insert stays within gp_vmem_limit_per_query; refusal surfaces as ERRCODE_OUT_OF_MEMORY.
Ngôn ngữ chính
C
Star
1.4k
Fork
248
Merge trung bình
4 ngày 10 giờ
Pull request đã merge (30 ngày)
40

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

Mở hướng dẫn đóng góp

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/cloudberry

Tất cả issue của apache/cloudberry

Issue tương tự

Thêm issue về C

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.