Support column default values (initial-default / write-default)
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
- #731 de @huan233usc — fechado sem integrar
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 42/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- cpp
- Domínio
- data-engineering
Direção de pesquisa
Comece pela especificação de default-values do Iceberg v3 e rastreie SchemaField, JSON serde e os caminhos de leitura e escrita indicados no escopo. O trabalho estará concluído quando o comportamento de initial-default e write-default estiver implementado, incluindo leituras de colunas ausentes, escritas de valores omitidos e a validação indicada de required-column e da versão.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C++
- Estrelas
- 226
- Forks
- 133
- Merge médio
- 3d 13h
- PRs com merge (30d)
- 27
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/iceberg-cpp
-
bug: ListTypeFromJson hits undefined behavior when a list type has no "element"Talvez já em andamento @LuciferYang assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/iceberg-cpp#996 ·
Mantenedores costumam responder em até 2 dias
-
bug: ReferenceVisitor::GetReferencedFieldIds dereferences null on a bound COUNT(*)Talvez já em andamento @LuciferYang assumiu há 9 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
apache/iceberg-cpp#978 ·
Mantenedores costumam responder em até 2 dias
-
bug: InMemoryCatalog skips the namespace existence check in CreateTable and RegisterTableTalvez já em andamento @LuciferYang assumiu há 9 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/iceberg-cpp#977 ·
Mantenedores costumam responder em até 2 dias
-
Support Iceberg table encryption (Java-compatible)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 8/100
apache/iceberg-cpp#988 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
bug: expression JSON deserialization throws an uncaught exception on a non-string "type"/"term"Talvez já em andamento @LuciferYang assumiu há 9 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 75/100
apache/iceberg-cpp#979 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de apache/iceberg-cpp
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
mesonbuild/wrapdb#2961 ·
Mantenedores costumam responder em até 1 dia
-
80 Instance - Raid - Northrend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
azerothcore/azerothcore-wotlk#28075 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
objectionary/eo-graphs#80 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
scanaislop/aislop#476 ·
Mantenedores costumam responder em até 1 dia