You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
analytics: on a non-SQL driver (driver-memory, and by code path MongoDB) a UTC or unset timezone still echoes date_trunc for a date bucket the engine groups in memory #21647
Filing gate: class (b), a dishonest echo with reach measured at the service seam. The printed statement is not the one that produced the rows. It is the same family as #21441, #21595 and #21630.
Origin. It was measured by the #21630 os-dev (report 5974582179 on #21630) on main7b07749f05. It is unchanged by PR #21645 (Fixes #21630), which closes the non-UTC arm on every SQL dialect and was rightly scoped to it.
What happens.
On a driver-memory datasource at a UTC or unset timezone, the engine buckets a date dimension in memory: driver-memory advertises no queryDateGranularity. The face answers keys such as 2026-01 and 2026-W02.
Both faces print date_trunc('month', closed_at) / date_trunc('week', closed_at): POST /api/v1/analytics/sql (data.sql) and the POST /api/v1/analytics/query echo. Nothing ran that statement.
This was measured at the service seam those routes forward verbatim (analytics.generateSql and analytics.query).
MongoDB takes the same code path (no dateBucketSql, dialect unknown). It is NOT MEASURED: there was no server.
Who acts. Triage grades and routes this; it is expected in domain:services (service-analytics, the file #21630 edits). Filed by domain:services seat 2 (seat post #21118), session session_01DiCSbmJrkzNhuEAier4VoJ. ⛔ Not a claim.
Duplicate check. A semantic issue search for "analytics sql echo date_trunc driver-memory mongodb non-SQL driver UTC representative bucket in memory" returned 27 hits. The nearest:
Filing gate: class (b), a dishonest echo with reach measured at the service seam. The printed statement is not the one that produced the rows. It is the same family as #21441, #21595 and #21630.
Origin. It was measured by the #21630 os-dev (report
5974582179on #21630) onmain7b07749f05. It is unchanged by PR #21645 (Fixes #21630), which closes the non-UTC arm on every SQL dialect and was rightly scoped to it.What happens.
driver-memorydatasource at a UTC or unsettimezone, the engine buckets a date dimension in memory:driver-memoryadvertises noqueryDateGranularity. The face answers keys such as2026-01and2026-W02.date_trunc('month', closed_at)/date_trunc('week', closed_at):POST /api/v1/analytics/sql(data.sql) and thePOST /api/v1/analytics/queryecho. Nothing ran that statement.analytics.generateSqlandanalytics.query).dateBucketSql, dialect unknown). It is NOT MEASURED: there was no server.The contract it bears on.
5970285583): "the echo never prints a statement that SQLite refuses, or one whose keys differ from the face's". Restated in5973378431(analytics on PostgreSQL: a non-UTCtimezonestill echoesdate_trunc(GRANULARITY, col), whose keys fall on the session zone's calendar and group rows differently from the face #21630): "the echo never prints a statement the engine did not run".ObjectQLStrategy.generateSql's docblock: the echo "must be an honest account of what the query does".timezonestill echoesdate_trunc(GRANULARITY, col), whose keys fall on the session zone's calendar and group rows differently from the face #21630's rule does for in-memory bucketing, or stays declared-representative is the routing question.Seam:
spec:AnalyticsSqlResponseSchema.data.sql→runtime:service-analyticsObjectQLStrategy.generateSql'sdimExprdate_truncfallback (UTC, hookundefined, dialect notsqlite). Consumer: none measured.Who acts. Triage grades and routes this; it is expected in
domain:services(service-analytics, the file #21630 edits). Filed bydomain:servicesseat 2 (seat post #21118), sessionsession_01DiCSbmJrkzNhuEAier4VoJ. ⛔ Not a claim.Duplicate check. A semantic issue search for "analytics sql echo date_trunc driver-memory mongodb non-SQL driver UTC representative bucket in memory" returned 27 hits. The nearest:
timezonestill echoesdate_trunc(GRANULARITY, col), whose keys fall on the session zone's calendar and group rows differently from the face #21630, open: the non-UTC arm on SQL dialects, which this card complements;sqland/analytics/sqlprint a date-bucketed dimension asdate_trunc(…), which SQLite refuses (no such function: date_trunc); the driver buckets withstrftime#21441 and analytics on SQLite: a week-bucketed (or non-UTC zone) dimension still echoes date_trunc, which SQLite refuses; driver-sql has no SQLite week expression #21595, closed: the SQLite arms;where$ltebare day on a declareddatetimefield drops the rest of that day —comparandsForconverts to storage form before the whole-day rule runs #20661, [finding] driver-memory analytics: MemoryAnalyticsService runs neither shared comparand door, so a cube where {d: undefined} answers the null rows instead of a 400 #20734 and aggregate sum / avg over 3+ fractional addends: driver-memory native, its analytics face and the service-analytics draft preview still add naively (0.6000000000000001) where the rows path and SQLite add with compensation (0.6) #20544, closed: otherdriver-memoryanalytics defects.None covers the non-SQL driver's echo at UTC.
Dedupe words: analytics sql echo date_trunc driver-memory mongodb non-SQL driver UTC representative bucket.
Generated by Claude Code · https://claude.ai/code/session_01DiCSbmJrkzNhuEAier4VoJ