Dear Iceberg devs,

My team is working on a custom index on top of Iceberg and right now it 
requires special semantics in the transaction conflict detection/resolution 
process. We have built custom PendingUpdates that we inject into the running 
transaction in order to get better control over our custom metadata. It would 
be nice if we could just call the method directly instead of using reflection 
or wrapping BaseTransaction.

I'm proposing a fairly simple change that could make an Iceberg transaction 
much more extensible: setting the visibility of the appendUpdate method in 
BaseTransaction to public instead of protected. I guess we would also have to 
create a getter for the transactionOpts field, or create an abstract version of 
PendingUpdate that has a callback to set the TableOperations, and then we 
overload appendUpdate with the new version that takes this base class, kind of 
like what Spark does with catalogs.


Let me know what you think,
Dzeri

Attachment: publickey - [email protected] - 0x5E7E90EC.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to