Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ guard's former `E_GUARD_*` name), `message`, `span` (character `start` and `end`
listed with an explanation each in `crates/sqlquack-core/src/diagnostics/constants.rs`, which
`sqlquack explain <code>` prints; a code is never reused or renumbered. SQL that Snowflake parses
but then rejects, such as `INTERSECT ALL`, `FOR UPDATE WAIT`, `QUALIFY` without a window function,
or a `* ILIKE` `REPLACE` or `RENAME` of a column the pattern removes, is refused with its own
`SQ02xx` code instead of being converted.
a `* ILIKE` `REPLACE` or `RENAME` of a column the pattern removes, or `TIMESTAMP_NTZ(3) '...'`, is
refused with its own `SQ02xx` code instead of being converted.
A `VALUES` list of more than 1,000 rows is refused for now.
`--session NAME=VALUE` passes the caller's Snowflake session parameters
(`function` takes it too):
Expand Down
9 changes: 9 additions & 0 deletions coverage/syntax/cases/expressions.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,20 @@
{"capture":"execute","case_id":"sf.expressions.commands-model-function.model-version-or-alias.kec6e75a2820d","expect":"accept","obligations":["sf.expressions.commands-model-function.model-version-or-alias.o023"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT MODEL ( m1 , v1 )!\"SELECT\" ( 1 ) FROM t1 ;","sql_sha256":"ec6e75a2820de5b6f23ce1b22e835119ef4f07ee312c041ac2c1e402f7ba12e3","stage":"semantic"}
{"capture":"execute","case_id":"sf.expressions.commands-model-function.model-version-or-alias.kec9073852d8f","expect":"reject","obligations":["sf.expressions.commands-model-function.model-version-or-alias.o019"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT MODEL ( SELECT , v1 )!predict ( 1 ) FROM t1 ;","sql_sha256":"ec9073852d8fddcf064cf0b7b6a5780be8be50912b23502fc52f8f6993675b00"}
{"capture":"execute","case_id":"sf.expressions.commands-model-function.model-version-or-alias.kfa76fb256113","expect":"reject","obligations":["sf.expressions.commands-model-function.model-version-or-alias.o028"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT MODEL ( m1 , v1 )!predict 1 ) FROM t1 ;","sql_sha256":"fa76fb25611301afa1737408ad93d63ed2b6a1ee4ecad1f8a4d2e1a0b842af43"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k1a7982b7fb16","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o010"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMP_LTZ '2026-01-02 03:04:05' ;","sql_sha256":"1a7982b7fb162e7e1b9bed4697be078aa7e87e01fc6c916cc4340f2b62a5ff3d"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k45cf89eb2789","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o001","sf.expressions.data-types-datetime.date-time-constant.o002","sf.expressions.data-types-datetime.date-time-constant.o005"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT DATE '2026-01-01' ;","sql_sha256":"45cf89eb278932964361b3f4be3fbd806c5c2929b9978ba4abfdb4c632c68d30"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k4f7f4f66d4b6","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o006"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT DATE m1 ;","sql_sha256":"4f7f4f66d4b6e0387d2ff68d6366e031522c5b8dfcdecb66bec229bf079c60ee","stage":"semantic"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k5ee293529f1e","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o014"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMPTZ '2026-01-02 03:04:05' ;","sql_sha256":"5ee293529f1e0d950714db52afe68643c1932954fb352248b646860b14154b43"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k624d77c24c5c","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o012"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMPNTZ '2026-01-02 03:04:05' ;","sql_sha256":"624d77c24c5c78d9f76e7f5e9abc8334b1b11c008dafd006422a1c8d5ea43666"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k69fcf5144724","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o011"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMP_TZ '2026-01-02 03:04:05' ;","sql_sha256":"69fcf514472412f23dfd971799b928236fa3618f86a7a8b604e7de1e5d939a86"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k6cb397c64afd","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o003"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIME '2026-01-01' ;","sql_sha256":"6cb397c64afdf4c04273d895883d32343a4adfb58a7f99b016e10cb5728fa1f1","stage":"runtime"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k8a36862cebb9","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o009"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMP_NTZ '2026-01-02 03:04:05' ;","sql_sha256":"8a36862cebb9e2362f3742fed6479b8e95bf7e1d9cb0ff5fc2fa6c2b9a6f6c4e"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.k8b2b51653394","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o008"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT DATE ;","sql_sha256":"8b2b5165339438e2b5d8525374f49aeca053fb2e1a17f63f41693700b8e3729c","stage":"semantic"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.kaf2e829caa1c","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o013"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMPLTZ '2026-01-02 03:04:05' ;","sql_sha256":"af2e829caa1c08836aeff567645c775cafe64e3889241fe93b64eae9c9228220"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.kd5a5920217a9","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o004"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMP '2026-01-01' ;","sql_sha256":"d5a5920217a99e21c7cac1cbd42b0b07e8e95102f23b7431f800ef677ac82b41"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.kdf44dc074801","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o016"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMP_NTZ(3) '2026-01-02 03:04:05' ;","sql_sha256":"df44dc074801f38a70409c7bfd032ebc31ab4b48ab58c4ed0cbd5dc3ee583d19","stage":"semantic"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.kf2531b90a1d4","expect":"reject","obligations":["sf.expressions.data-types-datetime.date-time-constant.o015"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT DATETIME '2026-01-02 03:04:05' ;","sql_sha256":"f2531b90a1d45e1eefb1b10bd7904efccc0ebaf57b352e1176c960fdc52afe8d"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date-time-constant.kfadd3f560bcd","expect":"accept","obligations":["sf.expressions.data-types-datetime.date-time-constant.o017"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT TIMESTAMP_TZ(3) '2026-01-02 03:04:05' ;","sql_sha256":"fadd3f560bcd9345070e94a8684624818dc601cf8a9561861c5ba30443b001b6","stage":"semantic"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.date.k59a97475f0c8","expect":"accept","obligations":["sf.expressions.data-types-datetime.date.o001"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT CAST ( NULL AS DATE ) ;","sql_sha256":"59a97475f0c8b89764fe8721799bc7d86ac03d73a68936308a28bbf53bc4558b"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.datetime.k2fd95373b7e2","expect":"accept","obligations":["sf.expressions.data-types-datetime.datetime.o001"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT CAST ( NULL AS DATETIME ) ;","sql_sha256":"2fd95373b7e21051e0882240cf98b8bd7a71c503ddb7defdb1e68b48ca76a941"}
{"capture":"execute","case_id":"sf.expressions.data-types-datetime.interval-yearmonthqualifier-daytimequalifier.k0110f52d73ae","expect":"reject","obligations":["sf.expressions.data-types-datetime.interval-yearmonthqualifier-daytimequalifier.o070"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"SELECT CAST ( NULL AS INTERVAL DAY TO SECOND ( 3 ) ;","sql_sha256":"0110f52d73ae53e7c4b41b54703550937b2521160a9274dd6e4513b53fb3633a"}
Expand Down
86 changes: 86 additions & 0 deletions coverage/syntax/limits.toml
Original file line number Diff line number Diff line change
Expand Up @@ -82865,3 +82865,89 @@ sql = "DESC TRANSACTION SELECT ;"
expect = "observe"
context = "raw"

# Date and time constants: only DATE, TIME and TIMESTAMP take a string. The other timestamp names and
# DATETIME are recorded refused before one (errno 1003), and with a precision as unsupported literals
# (errno 2121), so those are observed.

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMP_NTZ in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMP_NTZ '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMP_LTZ in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMP_LTZ '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMP_TZ in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMP_TZ '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMPNTZ in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMPNTZ '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMPLTZ in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMPLTZ '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMPTZ in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMPTZ '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "DATETIME in place of DATE, TIME or TIMESTAMP"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT DATETIME '2026-01-02 03:04:05' ;"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMP_NTZ(3) in place of DATE, TIME or TIMESTAMP, observed"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMP_NTZ(3) '2026-01-02 03:04:05' ;"
expect = "observe"
context = "raw"

[[limit]]
form = "sf.expressions.data-types-datetime.date-time-constant"
kind = "negative_neighbour"
target = "{ DATE | TIME | TIMESTAMP }"
note = "TIMESTAMP_TZ(3) in place of DATE, TIME or TIMESTAMP, observed"
anchor = "doc.data-types-datetime / Date and time constants"
sql = "SELECT TIMESTAMP_TZ(3) '2026-01-02 03:04:05' ;"
expect = "observe"
context = "raw"
2 changes: 2 additions & 0 deletions coverage/syntax/marks/expressions.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
{"case_id":"sf.expressions.commands-model-function.model-version-or-alias.k4e8d393ab28f","mark":"settled accept (D133)","obligations":["sf.expressions.commands-model-function.model-version-or-alias.o027"],"sql_sha256":"4e8d393ab28f75265e63c31704cb8b0001489279385189a21afca86ef4e536a7"}
{"case_id":"sf.expressions.data-types-datetime.date-time-constant.k4f7f4f66d4b6","mark":"settled accept (D133)","obligations":["sf.expressions.data-types-datetime.date-time-constant.o006"],"sql_sha256":"4f7f4f66d4b6e0387d2ff68d6366e031522c5b8dfcdecb66bec229bf079c60ee"}
{"case_id":"sf.expressions.data-types-datetime.date-time-constant.k8b2b51653394","mark":"settled accept (D133)","obligations":["sf.expressions.data-types-datetime.date-time-constant.o008"],"sql_sha256":"8b2b5165339438e2b5d8525374f49aeca053fb2e1a17f63f41693700b8e3729c"}
{"case_id":"sf.expressions.data-types-datetime.date-time-constant.kdf44dc074801","mark":"settled accept (D133)","obligations":["sf.expressions.data-types-datetime.date-time-constant.o016"],"sql_sha256":"df44dc074801f38a70409c7bfd032ebc31ab4b48ab58c4ed0cbd5dc3ee583d19"}
{"case_id":"sf.expressions.data-types-datetime.date-time-constant.kfadd3f560bcd","mark":"settled accept (D133)","obligations":["sf.expressions.data-types-datetime.date-time-constant.o017"],"sql_sha256":"fadd3f560bcd9345070e94a8684624818dc601cf8a9561861c5ba30443b001b6"}
{"case_id":"sf.expressions.data-types-datetime.interval-yearmonthqualifier-daytimequalifier.k80bd5c6cb355","mark":"documented (D113)","obligations":["sf.expressions.data-types-datetime.interval-yearmonthqualifier-daytimequalifier.o089","sf.expressions.data-types-datetime.interval-yearmonthqualifier-daytimequalifier.o090"],"sql_sha256":"80bd5c6cb355a1ade71485591afa56dc706af0a75a52f7df37c18af0389577ba"}
{"case_id":"sf.expressions.data-types-datetime.interval.interval-constants.k4afa2b15ceda","mark":"settled accept (D133)","obligations":["sf.expressions.data-types-datetime.interval.interval-constants.o009"],"sql_sha256":"4afa2b15ceda38e24b46d1068390d50019c9f89ff05ee6fca618b0087f0a5797"}
{"case_id":"sf.expressions.data-types-datetime.interval.k0a322c8617c9","mark":"settled accept (D133)","obligations":["sf.expressions.data-types-datetime.interval.o087"],"sql_sha256":"0a322c8617c95c3819d5eb985d8ba0d662e20160907649a541e3ded96e31aa78"}
Expand Down
Loading