Uh oh!
There was an error while loading. Please reload this page.
Python: Alter table plumbing and REST support - #6323
Conversation
Uh oh!
There was an error while loading. Please reload this page.
d4b6a5b to
d7c795cCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| return self.load_table(to_identifier) | ||
| def _commit(self, *table_requests: CommitTableRequest) -> CommitTableResponse: |
There was a problem hiding this comment.
Do we want to combine these? Why not have separate commit_table and commit_transaction methods? Then we don't need the check that only one request is supported. I also like that you could previously pass requirements and updates to a public method. Are you trying to restrict access to those in the "public" API for some reason?
There was a problem hiding this comment.
+1, given this is called afterwards in Transaction, it feels more nature to call it just commit_table so we an use self._table.catalog.commit_table instead of self._table.catalog._commit
There was a problem hiding this comment.
Yes, thinking of it, that makes sense. Also, the return type is different for a table and a transaction. Thanks!
rdblue
commented
Jun 20, 2023
Looks good to me. We can always update the method signature later since this one is internal. I'd merge, but the lock file has conflicts. |
jackye1995
left a comment
There was a problem hiding this comment.
mostly looks good to me, +1 for merging so we can start adding implementations for the other catalogs.
| return self.load_table(to_identifier) | ||
| def _commit(self, *table_requests: CommitTableRequest) -> CommitTableResponse: |
There was a problem hiding this comment.
+1, given this is called afterwards in Transaction, it feels more nature to call it just commit_table so we an use self._table.catalog.commit_table instead of self._table.catalog._commit
| ALWAYS_TRUE = AlwaysTrue() | ||
| class Transaction: |
There was a problem hiding this comment.
Do we plan to have another MiltiTableTransaction for transactions across tables?
There was a problem hiding this comment.
I'd rather expect a List[Transaction]
Fokko
commented
Jun 21, 2023
Thank @jackye1995 for chiming in here! 🙏🏻 |
The plumbing to do an
table.alter().commit()with actions in between. We can reuse this later on to do multi table commits: