Skip to content

Migrate cluster timestamp surfaces to Jiff #789

Description

@danbi2990

Background

Cluster timestamp handling spans multiple related surfaces:

  • types::Cluster
  • tables::Cluster
  • private ClusterDbSchema

These are easy to confuse because the public DTO and stored table value are separate surfaces with similar timestamp fields.

Prerequisites

  • Default bincode table value baseline has landed.
  • Any cluster-specific public/stored fixture coverage has landed.
  • The table-value implementation umbrella is open and linked.
  • Old-byte fixture coverage for the exact tables::Cluster stored value exists before production type changes are made, or this issue adds that fixture coverage first.
  • Public/API fixture or compile coverage for types::Cluster exists before production type changes are made, or this issue adds that coverage first.

Scope

  • Migrate types::Cluster.last_modification_time.
  • Migrate tables::Cluster.last_modification_time.
  • Migrate private ClusterDbSchema.last_modification_time conversion/compile surface.
  • Preserve stored bytes for tables::Cluster where possible.
  • Preserve public API semantics for types::Cluster.

Acceptance criteria

  • Public DTO and stored table value roles are reviewed separately.
  • Old tables::Cluster stored bytes remain readable, or data migration is explicitly implemented.
  • Public/API impact of types::Cluster is visible in tests or compile checks.
  • Cluster query/conversion behavior still passes existing tests.
  • Any remaining chrono usage in the touched cluster surfaces is explicitly justified.

Out of scope

  • column_stats, even though it also uses NaiveDateTime.
  • Final chrono dependency cleanup.

Notes

Related discussion: #733

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

blockedPending another issue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions