Skip to content

Add the operator_port_cache table #5969

Description

@Xiao-zhen-Liu

Task Summary

Part of #5882 (design: #5880; umbrella #5881).

Add the operator_port_cache table that records a materialized output port result so it can be reused across executions. Additive: nothing reads or writes it during execution yet, so it changes no behavior on its own.

Scope

  • A new table operator_port_cache, primary key (workflow_id, global_port_id, cache_key). It stores the cache key (hash), the serialized form it was computed from, the result's storage location, an optional row count, provenance (the source execution), and a database-managed updated-at timestamp. The foreign key to workflow is ON DELETE CASCADE.
  • Added to the schema file (sql/texera_ddl.sql) and as a Liquibase migration (sql/updates/26.sql) registered in sql/changelog.xml.

Why this is safe. The table starts empty and nothing reads or writes it during execution.

Notes. Generated jOOQ classes for the table are not committed; the change ships the .sql schema and migration and the build regenerates the rest. Adding to the schema file sends an automatic dev-list notification.

Depends on. None.

Out of scope. The read and write code and any execution-time use of the cache (#5885).

Task Type

  • Refactor / Cleanup
  • DevOps / Deployment / CI
  • Testing / QA
  • Documentation
  • Performance
  • Other

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions