Skip to content

[coverage] Conformance findings: COMPLEX-016 #520

Open

Description

@peco-engineer-bot

Summary

Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-go. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-go) is fixed, then flips green as a tripwire.

Findings

  • COMPLEX-016 [sea]: SEA/kernel backend applies the session-zone conversion to nested TIMESTAMP_NTZ leaves: an NTZ leaf inside ARRAY/MAP/STRUCT renders 05:15:00.123456 instead of the literal's 09:15:00.123456 under America/New_York, while the top-level NTZ column is correct — the container walk forwards one session location to every child instead of resolving the render location per child field
    • failing test: TestNestedTimestampNtzKeepsItsWallClockInArrayMapAndStruct (see the coverage PR diff under tests/)
  • COMPLEX-016: SEA/kernel backend applies the session-zone conversion to nested TIMESTAMP_NTZ leaves: under America/New_York an NTZ leaf inside ARRAY/MAP/STRUCT renders 05:15:00.123456 instead of the literal's 09:15:00.123456, while the top-level NTZ column is rendered correctly — the container walk forwards one session location to every child instead of resolving the render location per child field

Reproduce & Expected

COMPLEX-016 — Verify that under a NON-UTC session time zone a TIMESTAMP_NTZ leaf nested inside an ARRAY element, a MAP value, a STRUCT field, and a STRUCT inside a STRUCT keeps the exact wall clock the literal car…

Reproduce:

  • Set the session time zone through whichever surface the driver exposes -- a
    session parameter on connect (e.g. a timezone session param) or, where no
    such option exists, SET TIME ZONE 'America/New_York' on the same session
    before the test query. A NON-UTC zone is REQUIRED: under a UTC session the
    shifted and unshifted NTZ renderings coincide and the case proves nothing.

Expected (per the shared spec):

  • result has exactly 1 row(s)
  • full assertion contract:
result:
- row_count: 1
- timestamp_wall_clock:
    path: ntz_array[0]
    equals: '2024-06-15 09:15:00.123456'
- timestamp_wall_clock:
    path: ntz_map['a']
    equals: '2024-06-15 09:15:00.123456'
- timestamp_wall_clock:
    path: ts_struct.ntz
    equals: '2024-06-15 09:15:00.123456'
- timestamp_wall_clock:
    path: ts_struct.inner.ntz
    equals: '2024-06-15 09:15:00.123456'
- timestamp_instant:
    path: ts_struct.zoned
    equals: '2024-06-15T13:15:00.123456Z'
- struct_field:
    column: ts_struct
    field: label
    equals: pt

Context

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions