Repository navigation
playground: a sample schema, help for an undeclared table, and conversion notes - #132
Merged
Merged
Conversation
…sion notes The schema box starts with ORDERS, CUSTOMERS, PRODUCTS, ORDER_ITEMS and EVENTS (with a VARIANT payload and timestamps), and the fixture rows fill each, so common queries translate and run without editing the schema. When a statement reads a table the schema does not declare, the Translate stage says SQLQuack needs its columns and Snowflake types and offers to add a stub entry to fill in. The stub's placeholder type is not a type, so the statement stays refused until it is filled in; nothing is inferred. Each known divergence a translation relies on, which the policy allows, is shown as a note with the policy's reason, as convert names it on standard error. The engine reports them per statement, and any notes the report carries are shown the same way.
…ised A building block raises Snowflake's errors as tagged text, which DuckDB reports inside its own message, such as a failed cast of the tag. The engine now lists each statement's raise IDs with their source locations, and run_failure reads a DuckDB error back as the Snowflake error number, SQLSTATE and message. The Run stage shows that error and underlines the expression that raised it, instead of DuckDB's message.
kvlonge
added a commit
that referenced
this pull request
Nov 6, 2026
An assumption gives a wrong value silently where it does not hold, so the note says "Relies on assumption", as convert does, instead of "known divergence". An id with a suffix, such as declared_offset:REL.COL, takes its reason from the divergence before the colon. The page no longer reads a notes list the engine does not report.
kvlonge
added a commit
that referenced
this pull request
Nov 6, 2026
…yground-sample-schema
Contributor
Author
|
D94 gate passed on the exact head c2cbe9d (#132 at 8f8b12e, merged with main 9c008e0), auditor approval record 698b87b.
GitHub Actions can't run because of the account billing block, so this local gate is the check for this landing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
D321, with the coordinator's D316 note addition.
Tto the Schema box.", and an "Add T to schema" button. The button appends"T": [["COLUMN_NAME", "SNOWFLAKE_TYPE"]]and selects the placeholder. Nothing is inferred: the placeholder type is not a Snowflake type, so the statement stays refused (SQ0004) until it's filled in, and the hint then reads "Fill inT's …".translate.notes, as a note rather than an error. So any warn-level divergence, including D316's clock and time-zone caveat if it comes through as an allowed divergence, reaches visitors the same way.CAST('shipped' AS NUMBER)), the Run stage showserror[100038]: Numeric value is not recognizedwith a caret under the expression that raised it, and also underlines it in the editor. DuckDB's own message, which wraps the raw tag, is no longer shown. The engine lists each statement's raise IDs with their source locations, and the newrun_failureexport reads the DuckDB error back with sqlquack-core'sduckdb_failureandraise_id.Engine changes are in website/wasm only. The core crates are unchanged.
Checks: build_engine, build, check_figures, check_links (17 pages, 0 broken), test:engine 10/10 (three new tests), generate_diagnostics --check, cargo fmt. In agent-browser at 1280 and 390: every example stops at its intended stage, and valid and decimal still run in DuckDB-WASM with the same rows.
SELECT * FROM customersand a CUSTOMERS–ORDERS join run, and the hint, button and note render without overflow.Known, and not part of this PR: on main, under the built-in default,
SELECT … FROM eventsrefuses with SQ0008 json_fidelity (fixed by D322 in fix/builtin-launch-refusals), andSUM(quantity)over NUMBER(38,0) refuses with SQ0008 numeric_range.