Skip to content

fix: rest namespace integration with table version apis#5980

Merged
jackye1995 merged 3 commits intolance-format:mainfrom
jackye1995:ext-fix
Feb 23, 2026
Merged

fix: rest namespace integration with table version apis#5980
jackye1995 merged 3 commits intolance-format:mainfrom
jackye1995:ext-fix

Conversation

@jackye1995
Copy link
Copy Markdown
Contributor

During testing, found some issue with RestNamespace implementation of the table versions API, which was not 100% according to the spec definition.

@github-actions github-actions Bot added bug Something isn't working python labels Feb 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

PR Review

Summary

This PR aligns the RestNamespace implementation with the Lance namespace spec, changing HTTP methods and paths for list_table_versions and describe_table_version APIs.

Potential Issue (P1)

list_table_versions body serialization (rest.rs:1189):

self.post_json(&path, &query, &(), "list_table_versions", &id)

Passing &() as the body will serialize to JSON null. If the server expects an empty object {} or validates that the body is not null, this could cause runtime failures. Consider:

  • Confirming the spec allows null body for this POST endpoint, OR
  • Using an empty struct or serde_json::Value::Object that serializes to {} if needed

Minor Observations

  1. No test coverage for changed endpoints: The list_table_versions and describe_table_version methods don't have dedicated tests with wiremock. Consider adding tests that validate the HTTP method (POST), path (/version/list, /version/describe), and body format to prevent future regressions.

  2. Python create_table_version_json additions: The new JSON wrapper methods look correct for Rust FFI compatibility. The pattern matches similar methods in the codebase.

@jackye1995 jackye1995 changed the title fix: table version api drift from lance namespace spec fix: rest namespace integration with table version apis Feb 22, 2026
@jackye1995 jackye1995 merged commit 3882c20 into lance-format:main Feb 23, 2026
29 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants