richiebachala commented on PR #2173: URL: https://github.com/apache/iceberg-go/pull/2173#issuecomment-6113918304
Thanks @laskoviymishka. With #2165 merged, I merged `main` into this branch (no force-push), so the diff is now only the cross-namespace work: 8 files, +202/-17. The ListTables/DropTable/DropMissingTable slice you mentioned landed in #2165, so I've retitled this to what it now adds rather than widening it. Addressed in edcc0d0: - **REST 404 discrimination (blocker):** routed through `withErrorTypeOverride` on `doPost` and dropped the `errors.As` block. Since `handleNon200` only refines a status the caller mapped, a 5xx or 401/403 carrying `NoSuchNamespaceException` no longer reads as a missing namespace. New tests cover 503, 500, 401 and 403 with that type; all four fail against the previous code and pass now. I also added the empty and unknown `error.type` cases you suggested, which fall back to `ErrNoSuchTable`. - **Hive AlterTable race:** mapped `isAlreadyExistsError` on the `AlterTable` branch to `ErrTableAlreadyExists` and kept the pre-check, with a comment saying the pre-check is best-effort. A new unit test covers a destination that appears between the pre-check and `AlterTable`. - **Rejected-rename identity:** `RenameTableToExisting` now asserts that both `from` and `to` still carry their original table UUIDs, not just that they exist. - **Hadoop:** dropped the redundant message match, and switched the integration test to assert `ErrNotImplemented` (carried over from #2172, now closed as superseded). **Same-identifier rename (`from == to`):** I'd like to take this as a follow-up rather than pin it here. Hive now reports already-exists, while REST and SQL are unspecified, and I don't think the spec or Java's `CatalogTests` settle the expected result. I'll open an issue proposing a `RenameTableToSelf` case so the expected behavior is agreed before it's tested. Verified locally: `go test ./catalog/...`, lint, and the conformance suite against all four catalogs, with REST and Hive running against the integration containers. -- 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]
