tanmayrauth opened a new pull request, #902:
URL: https://github.com/apache/iceberg-go/pull/902
Adds the four remaining table update types required for REST catalog
compatibility. Without these, any commit response containing these actions
fails with "unknown update action".
Changes:
- table/encryption.go: new file; defines EncryptionKey type (key-id,
key-metadata, key-algorithm) separate from statistics types
- table/statistics.go: remove EncryptionKey (moved to encryption.go)
- table/updates.go: add constants and update structs for set-statistics,
remove-statistics, add-encryption-key, remove-encryption-key; register all four
in UnmarshalJSON
- table/metadata.go:
- add EncryptionKeys() iter.Seq2[string, EncryptionKey] to Metadata
interface and implement on commonMetadata
- add EncryptionKeyMap field to commonMetadata with JSON tag
encryption-keys (omitempty; inert on V1/V2 tables)
- add encryptionKeyMap to MetadataBuilder; initialize in
NewMetadataBuilder alongside refs; copy in MetadataBuilderFromBase; write
through in buildCommonMetadata
- add SetStatistics (upsert by snapshot-id), RemoveStatistics,
AddEncryptionKey, RemoveEncryptionKey builder methods
- include EncryptionKeyMap in commonMetadata.Equals
- table/updates_test.go: unmarshal and Apply tests for all four update types
including replace-not-append semantics for SetStatistics and no-op remove cases
Feature #492
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]