Skip to content

feat: add backfill columns and refresh materialized view operations#335

Merged
jackye1995 merged 7 commits into
lance-format:mainfrom
jackye1995:jack/sync-geneva-apis
May 4, 2026
Merged

feat: add backfill columns and refresh materialized view operations#335
jackye1995 merged 7 commits into
lance-format:mainfrom
jackye1995:jack/sync-geneva-apis

Conversation

@jackye1995
Copy link
Copy Markdown
Collaborator

@jackye1995 jackye1995 commented May 4, 2026

Summary

  • Update add_columns and alter_columns schemas: remove identity, context, id from requests, remove transaction_id from responses, rename NewColumnTransform to AddColumnsEntry, adopt OpenAPI 3.1 nullable style
  • Add POST /v1/table/{id}/backfill_column (AlterTableBackfillColumns) — trigger async backfill job for a computed column, returns 202 with job_id
  • Add POST /v1/table/{id}/refresh (RefreshMaterializedView) — trigger async materialized view refresh, returns 202 with job_id
  • Add new operations to LanceNamespace interfaces (Python, Java sync, Java async)
  • Regenerate all clients (Rust, Python, Java)
  • Update operation docs and REST impl spec

Test plan

  • YAML validates successfully
  • All $ref targets resolve
  • Rust client compiles
  • Java builds with mvnw
  • Python imports verified

jackye1995 and others added 3 commits May 4, 2026 14:40
…fill/refresh endpoints

Align add_columns and alter_columns schemas with phalanx (sophon) OpenAPI spec:
- Remove identity/context/id from requests, transaction_id from responses
- Rename NewColumnTransform to AddColumnsEntry
- Adopt type array nullable style (OpenAPI 3.1)

Add new async job endpoints:
- POST /v1/table/{id}/backfill_column (AlterTableBackfillColumns)
- POST /v1/table/{id}/refresh (RefreshMaterializedView)

Co-Authored-By: Claude <noreply@anthropic.com>
- Rename where_clause to where (matches client field name)
- Add all PhalanxClient BackfillRequest fields: intra_applier_concurrency,
  min_checkpoint_size, max_checkpoint_size,
  batch_checkpoint_flush_interval_seconds, read_version, task_size,
  num_frags, checkpoint_size, commit_granularity

Co-Authored-By: Claude <noreply@anthropic.com>
Regenerate the Rust REST client to include:
- Updated AddColumnsEntry (renamed from NewColumnTransform)
- Stripped identity/context/id from requests, transaction_id from responses
- New AlterTableBackfillColumnsRequest/Response models and API function
- New RefreshMaterializedViewRequest/Response models and API function
- Added serde_with dependency for nullable field serialization

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added enhancement New feature or request rust Rust features labels May 4, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the python Python features label May 4, 2026
Run `make build` to regenerate Java (apache, async, springboot),
Python, Rust clients and operation docs.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the java Java features label May 4, 2026
jackye1995 and others added 2 commits May 4, 2026 16:18
Add alterTableBackfillColumns and refreshMaterializedView to:
- Python LanceNamespace ABC
- Java LanceNamespace interface (sync)
- Java LanceNamespaceAsync interface (async)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add AlterTableBackfillColumns and RefreshMaterializedView to the
  operations table in docs/src/client/operations/index.md
- Add corresponding HTTP endpoint entries in docs/src/rest/impl-spec.md
- Fix incorrect paths for add_columns and alter_columns (was /alter/*)

Co-Authored-By: Claude <noreply@anthropic.com>
@jackye1995 jackye1995 changed the title feat(rest): sync Geneva/Phalanx APIs and add backfill/refresh endpoints feat(rest): add backfill_column and refresh endpoints, update add/alter_columns schemas May 4, 2026
@jackye1995 jackye1995 changed the title feat(rest): add backfill_column and refresh endpoints, update add/alter_columns schemas feat: add backfill columns and refresh materialized view operations May 4, 2026
@jackye1995 jackye1995 merged commit 7375095 into lance-format:main May 4, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request java Java features python Python features rust Rust features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant