Skip to content

FILE datatype: heap references with cold-backend blob storage #90

Description

@jamals86

Context

docs/roadmap.md lists FILE datatype as near-term priority #5. This is a KalamDB-style column type for binary/file payloads: the PostgreSQL heap stores a compact reference; the blob lives in the table’s registered cold backend (filesystem or object store).

Goal

  • Introduce a FILE (or equivalent) column type / storage contract for managed tables
  • Upload and fetch APIs read/write through the registered cold backend rather than embedding large values in row storage
  • Keep references durable across flush, backup/export, and scoped paths

Acceptance

  • Design note: type OID / SQL surface, reference format, GC / orphan rules, interaction with manage/unmanage
  • Heap stores compact reference only; blob bytes live in cold storage under the table’s storage binding
  • Upload + fetch APIs (SQL and/or documented operator path) with RLS/scope fail-closed for user-typed tables
  • Flush / demigrate / backup behavior defined (references remain valid; blobs included in export where required)
  • Tests for upload, fetch, delete/orphan cleanup, and scoped access denial
  • Docs in SQL API + roadmap

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions