Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Support column default values (initial-default / write-default)

未關閉
#730 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 2 天內回覆

還沒有人認領這個 Issue。

  • #731 來自 @huan233usc —— 已關閉,未合併

評估

難度
4/5
預估耗時
3-5 天
新手友好度
42/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
冷清
技術堆疊
cpp

研究方向

從 Iceberg v3 的 default-values 規範開始,追蹤 SchemaField、JSON serde,以及範圍中指定的讀取和寫入路徑。完成的標準是實作 initial-default 和 write-default 行為,包括讀取缺少的欄位、寫入省略的值,以及所述的 required-column 和版本驗證。

由索引模型根據 Issue 內容生成。

描述

Sub-issue of #637 (item 2: Column Default Values).
Iceberg v3 allows schema evolution with column default values (spec — Default values (https://iceberg.apache.org/spec/#default-values)):

  • initial-default: returned for rows that predate the column's addition, i.e. applied on the read path when a data file does not contain the field.
  • write-default: applied on the write path when a writer does not supply a value or the column.

Planned scope:

  • Schema model: carry initial-default / write-default on SchemaField
  • JSON serde: parse/write the two fields using single-value serialization
  • Read path: project missing columns as the initial-default constant instead of null when reading data files written before the column existed
  • Write path: apply write-default where values are omitted; validation (e.g. adding a required column requires an initial-default, v3+ gating)
    I plan to work on this and will send PR(s) referencing this issue.
主要語言
C++
星號
226
分支
133
平均合併
6 天 2 小時
30 天內合併 PR
49

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

apache/iceberg-cpp 的其他 Issue

查看 apache/iceberg-cpp 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。