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]

Reply via email to