From cb1e32fd9e6b6892a13c7093eacfb913b5aeb523 Mon Sep 17 00:00:00 2001 From: LucaCappelletti94 Date: Fri, 19 Jun 2026 16:04:25 +0200 Subject: [PATCH] Add contentious-construct rule registry, secondary recall metric, and failures-view feedback buttons --- .../ISSUE_TEMPLATE/contentious-construct.yml | 63 +++ .github/ISSUE_TEMPLATE/not-contentious.yml | 51 ++ .github/ISSUE_TEMPLATE/should-be-rejected.yml | 51 ++ CONTRIBUTING.md | 18 + Cargo.toml | 5 + contentious/duplicate-target-columns.toml | 23 + contentious/sqlite-nonstandard-alter.toml | 27 + contentious/tcl-variables.toml | 24 + src/contentious.rs | 473 ++++++++++++++++++ src/export.rs | 54 +- src/lib.rs | 1 + src/report.rs | 24 +- viz/src/chart.rs | 1 + viz/src/lib.rs | 2 +- viz/src/schema.rs | 44 ++ web/assets/bench.json.zst | Bin 128660 -> 138820 bytes web/assets/main.css | 70 ++- web/src/components.rs | 249 +++++++-- 18 files changed, 1133 insertions(+), 47 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/contentious-construct.yml create mode 100644 .github/ISSUE_TEMPLATE/not-contentious.yml create mode 100644 .github/ISSUE_TEMPLATE/should-be-rejected.yml create mode 100644 contentious/duplicate-target-columns.toml create mode 100644 contentious/sqlite-nonstandard-alter.toml create mode 100644 contentious/tcl-variables.toml create mode 100644 src/contentious.rs diff --git a/.github/ISSUE_TEMPLATE/contentious-construct.yml b/.github/ISSUE_TEMPLATE/contentious-construct.yml new file mode 100644 index 0000000..7559f91 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/contentious-construct.yml @@ -0,0 +1,63 @@ +name: Contentious construct (a parser may reasonably reject) +description: Propose a statement that the engine accepts but that a parser may reasonably decline to support. +title: "[contentious] " +labels: ["contentious"] +body: + - type: markdown + attributes: + value: | + Use this form when the reference engine accepts a statement but you think a parser may reasonably reject it anyway (for example an engine-specific quirk, a non-standard extension, or a construct with surprising semantics). This feeds the contentious-construct rule registry described in [docs/contentious-constructs.md](https://github.com/LucaCappelletti94/sql_ast_benchmark/blob/main/docs/contentious-constructs.md). The strict, engine-graded recall is never changed by this. Most fields are prefilled when you arrive here from the failures view. + - type: input + id: dialect + attributes: + label: Dialect + description: The reference dialect whose engine accepts the statement. + validations: + required: true + - type: input + id: parser + attributes: + label: Parser + description: The parser whose failures view you came from (optional context). + validations: + required: false + - type: textarea + id: statement + attributes: + label: Statement + description: The SQL the engine accepts but a parser may reasonably reject. Prefilled from the failures view. + validations: + required: true + - type: textarea + id: parser_error + attributes: + label: Parser error + description: The error the parser returned (prefilled from the failures view). + validations: + required: false + - type: dropdown + id: category + attributes: + label: Category + description: Why is this construct contentious? See the design doc for the meaning of each category. + options: + - engine-specific + - non-standard + - lossy-or-ambiguous + - deprecated + validations: + required: true + - type: textarea + id: rationale + attributes: + label: Why a parser may reasonably reject it + description: Explain the divergence and why declining to support it is defensible. + validations: + required: true + - type: textarea + id: references + attributes: + label: References + description: Links to the SQL standard, engine documentation, or peer-parser behavior that support the category. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/not-contentious.yml b/.github/ISSUE_TEMPLATE/not-contentious.yml new file mode 100644 index 0000000..be73eb2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/not-contentious.yml @@ -0,0 +1,51 @@ +name: Dispute a contentious classification +description: Argue that a statement currently marked as a contentious construct is not actually contentious and a parser should be expected to accept it. +title: "[not-contentious] " +labels: ["contentious-dispute"] +body: + - type: markdown + attributes: + value: | + Use this form to push back on a statement the site marks as a contentious construct (an intentional divergence). If you think it is a normal statement that a parser should accept, not a quirk a parser may reasonably reject, say so here. This challenges the rule, not any parser. See [docs/contentious-constructs.md](https://github.com/LucaCappelletti94/sql_ast_benchmark/blob/main/docs/contentious-constructs.md). Most fields are prefilled when you arrive here from the failures view. + - type: input + id: rule + attributes: + label: Contentious rule being disputed + description: The rule that currently tags this statement (prefilled from the failures view). + validations: + required: true + - type: input + id: dialect + attributes: + label: Dialect + description: The reference dialect the statement is from. + validations: + required: true + - type: input + id: parser + attributes: + label: Parser + description: The parser whose failures view you came from (optional context). + validations: + required: false + - type: textarea + id: statement + attributes: + label: Statement + description: The statement tagged contentious. Prefilled from the failures view. + validations: + required: true + - type: textarea + id: parser_error + attributes: + label: Parser error + description: The error the parser returned (prefilled from the failures view). + validations: + required: false + - type: textarea + id: rationale + attributes: + label: Why it is not contentious + description: Explain why this is a normal statement a parser should accept, not a quirk a parser may reasonably reject. + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/should-be-rejected.yml b/.github/ISSUE_TEMPLATE/should-be-rejected.yml new file mode 100644 index 0000000..f19a2ef --- /dev/null +++ b/.github/ISSUE_TEMPLATE/should-be-rejected.yml @@ -0,0 +1,51 @@ +name: Statement should be rejected (invalid syntax) +description: Report a statement the reference engine accepted but that is actually invalid, so its valid label is wrong. +title: "[invalid-label] " +labels: ["oracle-label"] +body: + - type: markdown + attributes: + value: | + Use this form when a statement is shown as a parser miss but you believe the statement is actually invalid and should be rejected. The benchmark labels a statement valid only when the reference database engine accepts it, so this report is about the engine's label, not about any parser. Most fields are prefilled when you arrive here from the failures view. + - type: input + id: dialect + attributes: + label: Dialect + description: The reference dialect whose engine labeled the statement valid. + validations: + required: true + - type: input + id: parser + attributes: + label: Parser + description: The parser whose failures view you came from (optional context). + validations: + required: false + - type: textarea + id: statement + attributes: + label: Statement + description: The SQL the engine accepted. Prefilled from the failures view. + validations: + required: true + - type: textarea + id: parser_error + attributes: + label: Parser error + description: The error the parser returned (prefilled from the failures view). + validations: + required: false + - type: textarea + id: rationale + attributes: + label: Why it should be rejected + description: Explain why this statement is invalid SQL despite the engine accepting it. + validations: + required: true + - type: textarea + id: references + attributes: + label: References + description: Links to the SQL standard, the engine's own documentation, or anything showing the statement should be rejected. + validations: + required: false diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33c3423..4ebaf19 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,6 +34,24 @@ cargo run --bin sqlbench -- export # read all of the above, write web/asse The charts are rendered in the browser from the JSON by the shared `viz` crate (plotters, SVG backend), so no chart images are committed. +## Contentious constructs + +A contentious construct is one the reference engine accepts but a parser may reasonably decline to support (a niche engine quirk, a non-standard extension, a lossy or deprecated form). The benchmark keeps strict, oracle-graded recall as the headline number and adds a secondary "recall excluding contentious" beside it, plus a per-statement badge on the failures view. The design is written up in [docs/contentious-constructs.md](docs/contentious-constructs.md). + +Rules are data: one TOML file per rule under `contentious/`. A regex rule needs no Rust (the pattern is matched against a masked form of the statement, so string literals and comments cannot trigger it). A structural rule (for a property a regex cannot express, like a repeated identifier) names a built-in predicate added in `src/contentious.rs`. Each file declares `id`, `title`, `category` (`engine-specific`, `non-standard`, `lossy-or-ambiguous`, or `deprecated`), the `dialects` it may fire in, `description`, `references`, and `matches` / `non_matches` example statements. See the two existing files for the shape. + +To add a rule: + +```bash +# 1. write contentious/.toml +cargo test -p sql_ast_benchmark --lib contentious # guards: examples match/non-match, + # ids unique, each rule covers >=1 + # engine-valid corpus statement +cargo run --release --bin sqlbench -- export # refresh web/assets/bench.json.zst +``` + +Then open a PR. A regex rule is a data-only change. Review is a data review: is the construct genuinely engine-valid, is the category honest, are the references real. The classifier only ever runs on engine-valid statements, so a rule can never change strict recall or excuse genuinely-invalid SQL. + ## Time machine (per-version history) The `timemachine` crate benchmarks several historical versions of each pure-Rust parser and writes `web/assets/history.json.zst` (committed, embedded and decompressed in wasm with `ruzstd`, so the site still does no runtime fetch). It hosts many versions of one crate at once with `package`-rename aliases, which works because different `0.x` minors are semver-incompatible. The FFI parsers (`pg_query`) are excluded: two libpg_query builds export the same C symbols and collide at link. diff --git a/Cargo.toml b/Cargo.toml index 5943d3a..2d7ada6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,6 +39,7 @@ sqlite3-parser = "0.16.0" turso_parser = "0.6.1" fallible-iterator = "0.3.0" viz = { path = "viz" } +serde = { version = "1", features = ["derive"] } serde_json = "1" # Compress the per-(dialect, parser) rejected-statement TSV downloads. zstd = "0.13" @@ -46,6 +47,10 @@ zstd = "0.13" # time, so the web viewer ships no runtime syntax highlighter. `default-fancy` # uses the pure-Rust regex engine, avoiding the oniguruma C dependency. syntect = { version = "5", default-features = false, features = ["default-fancy"] } +# Contentious-construct rule registry: regex rules matched in guaranteed linear +# time (no backreferences) and one TOML file per rule under `contentious/`. +regex = "1" +toml = "0.8" [[bench]] name = "parsing" diff --git a/contentious/duplicate-target-columns.toml b/contentious/duplicate-target-columns.toml new file mode 100644 index 0000000..24b8831 --- /dev/null +++ b/contentious/duplicate-target-columns.toml @@ -0,0 +1,23 @@ +id = "duplicate-target-columns" +title = "Duplicate columns in a target list" +category = "non-standard" +dialects = ["sqlite"] +# A repeated identifier inside one group cannot be a regex (Rust's regex has no +# backreferences), so this is a structural rule backed by a named predicate. +kind = "structural" +predicate = "duplicate_columns" +description = "A column named more than once in an INSERT target list, an UPDATE SET column group, or a USING clause. SQLite accepts these (INSERT keeps the first value for a repeated column, UPDATE ... SET keeps the last), but PostgreSQL rejects them and a parser that does the same is arguably safer." +references = [ + "https://github.com/gwenn/lemon-rs/issues/89", + "https://www.postgresql.org/docs/current/sql-insert.html", +] +matches = [ + "INSERT INTO dup1(a,b,c,a,b,c) VALUES(1,2,3,4,5,6)", + "UPDATE t1 SET (a,a,a,b)=(SELECT 99,100,101,102)", + "SELECT y FROM t1 JOIN t1 USING (y,y)", +] +non_matches = [ + "INSERT INTO t(a,b,c) VALUES(1,2,3)", + "UPDATE t1 SET (a,b)=(SELECT 1,2)", + "SELECT y FROM t1 JOIN t2 USING (y)", +] diff --git a/contentious/sqlite-nonstandard-alter.toml b/contentious/sqlite-nonstandard-alter.toml new file mode 100644 index 0000000..dbfdd73 --- /dev/null +++ b/contentious/sqlite-nonstandard-alter.toml @@ -0,0 +1,27 @@ +id = "sqlite-nonstandard-alter" +title = "Non-standard SQLite ALTER TABLE operations" +category = "non-standard" +dialects = ["sqlite"] +kind = "regex" +# SQLite's documented ALTER TABLE supports only RENAME, ADD COLUMN, RENAME COLUMN, +# and DROP COLUMN. Its grammar nonetheless tolerates ADD/DROP CONSTRAINT, ADD +# CHECK, and ALTER [COLUMN] SET/DROP NOT NULL without a syntax error, so the +# engine labels them valid. The alternation is anchored on ALTER TABLE and targets +# only the unsupported operations, so the supported forms never match. +pattern = '(?i)\balter\s+table\b.*(\b(add|drop)\s+constraint\b|\badd\s+check\b|\balter\s+(column\s+)?\S+\s+(set|drop)\s+not\s+null\b)' +description = "ALTER TABLE operations the SQLite grammar accepts without a syntax error but that are not part of supported SQLite (ADD/DROP CONSTRAINT, ADD CHECK, ALTER COLUMN SET/DROP NOT NULL). A parser modeling real SQLite may reasonably reject them." +references = [ + "https://www.sqlite.org/lang_altertable.html", + "https://github.com/tursodatabase/turso", +] +matches = [ + "ALTER TABLE t1 ADD CONSTRAINT c1 CHECK(a=b)", + "ALTER TABLE t2 ALTER x SET NOT NULL", + "ALTER TABLE abc DROP CONSTRAINT two", + "ALTER TABLE abc ADD CHECK (z>=0)", +] +non_matches = [ + "ALTER TABLE t ADD COLUMN c INTEGER", + "ALTER TABLE t RENAME TO t2", + "ALTER TABLE t DROP COLUMN c", +] diff --git a/contentious/tcl-variables.toml b/contentious/tcl-variables.toml new file mode 100644 index 0000000..446ee22 --- /dev/null +++ b/contentious/tcl-variables.toml @@ -0,0 +1,24 @@ +id = "tcl-variables" +title = "TCL bind variables" +category = "engine-specific" +dialects = ["sqlite"] +kind = "regex" +# Matched against the masked form (string and blob literals and comments +# replaced), so `$::x` inside a string literal does not trigger. Covers `$::name` +# and `$namespace::name`. +pattern = '\$\w*::' +description = "Bind variables using TCL :: namespaces, valid only because SQLite began as a TCL extension and meaningless outside a TCL interpreter." +references = [ + "https://sqlite.org/lang_expr.html#parameters", + "https://github.com/gwenn/lemon-rs/issues/102", +] +matches = [ + "INSERT INTO t1 VALUES($::w,$::x,$::y,$::z)", + "select $testnamespace::xyz", + "SELECT strftime($::FMT,$::TS,'unixepoch')", +] +non_matches = [ + "SELECT :w, :x", + "SELECT '$::x' AS lit", + "SELECT x::int", +] diff --git a/src/contentious.rs b/src/contentious.rs new file mode 100644 index 0000000..ddc2bbf --- /dev/null +++ b/src/contentious.rs @@ -0,0 +1,473 @@ +//! Contentious-construct classifier and rule registry. +//! +//! A *contentious* construct is one the reference engine accepts but a parser may +//! reasonably decline to support (a niche engine quirk, a non-standard extension, +//! a lossy or deprecated form). Strict, oracle-graded recall is never affected by +//! this layer: it only tags statements for presentation and the secondary metric. +//! +//! Rules are data, one TOML file per rule under [`RULES_DIR`]. A rule is either a +//! `regex` rule (a [`regex`] pattern matched against a masked form of the +//! statement) or a `structural` rule (a named built-in predicate for properties a +//! regex cannot express, such as a repeated identifier). The `regex` crate matches +//! in guaranteed linear time with no backreferences, so a contributed pattern +//! cannot run arbitrary code or cause catastrophic backtracking. + +use crate::datasets::Dialect; +use regex::Regex; +use serde::Deserialize; +use std::collections::HashSet; +use std::path::Path; +use std::sync::OnceLock; + +/// Directory holding the committed rule files, relative to the working directory. +pub const RULES_DIR: &str = "contentious"; + +/// Why a construct is contentious. A small fixed enum so meaning stays stable and +/// new categories are a deliberate change, not a contributor free-for-all. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize)] +#[serde(rename_all = "kebab-case")] +pub enum Category { + /// A quirk tied to one engine's history or embedding (e.g. TCL variables). + EngineSpecific, + /// Accepted by the engine but outside the SQL standard and rejected by peers. + NonStandard, + /// Accepted but with surprising or implementation-defined semantics. + LossyOrAmbiguous, + /// Accepted for backward compatibility but discouraged by the engine's docs. + Deprecated, +} + +impl Category { + /// The kebab-case wire form, also used in the rule files and the export. + #[must_use] + pub const fn as_str(self) -> &'static str { + match self { + Self::EngineSpecific => "engine-specific", + Self::NonStandard => "non-standard", + Self::LossyOrAmbiguous => "lossy-or-ambiguous", + Self::Deprecated => "deprecated", + } + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize)] +#[serde(rename_all = "lowercase")] +enum Kind { + Regex, + Structural, +} + +/// One rule file under [`RULES_DIR`], deserialized from TOML. +#[derive(Debug, Clone, Deserialize)] +pub struct RuleFile { + pub id: String, + pub title: String, + pub category: Category, + /// Dir names of the dialects this rule may fire in, or a single `"all"`. + pub dialects: Vec, + kind: Kind, + /// The regex pattern (regex rules only). + #[serde(default)] + pub pattern: Option, + /// The built-in predicate name (structural rules only). + #[serde(default)] + pub predicate: Option, + #[serde(default)] + pub description: String, + #[serde(default)] + pub references: Vec, + /// Statements the rule must match (verified in tests). + #[serde(default)] + pub matches: Vec, + /// Statements the rule must not match (verified in tests). + #[serde(default)] + pub non_matches: Vec, +} + +/// A built-in structural predicate, run against the original statement. +type Predicate = fn(&str) -> bool; + +enum Matcher { + Regex(Regex), + Structural(Predicate), +} + +/// A loaded, compiled rule: its metadata plus its matcher. +pub struct Rule { + pub meta: RuleFile, + matcher: Matcher, +} + +impl Rule { + /// Whether this rule is allowed to fire in `dialect`. + #[must_use] + pub fn applies_to(&self, dialect: Dialect) -> bool { + self.meta + .dialects + .iter() + .any(|d| d == "all" || d == dialect.dir_name()) + } + + /// Whether this rule matches. Regex rules see the masked form, structural + /// rules see the original statement. + fn is_match(&self, masked: &str, original: &str) -> bool { + match &self.matcher { + Matcher::Regex(re) => re.is_match(masked), + Matcher::Structural(p) => p(original), + } + } +} + +/// Map a structural predicate name to its built-in implementation. Structural +/// rules are a closed set, extended only by a PR that touches this file. +fn structural_predicate(name: &str) -> Option { + match name { + "duplicate_columns" => Some(duplicate_columns), + _ => None, + } +} + +/// The loaded rule registry. +pub struct Registry { + pub rules: Vec, +} + +impl Registry { + /// Load and compile every `*.toml` rule under `dir`, in id order. + /// + /// # Errors + /// + /// Returns an error (rather than panicking) on a bad file, a bad regex, an + /// unknown predicate, a missing `pattern`/`predicate`, or a duplicate id, so + /// callers can fail the build or a test with a precise message. + pub fn load(dir: &Path) -> Result { + let mut paths: Vec<_> = std::fs::read_dir(dir) + .map_err(|e| format!("reading {}: {e}", dir.display()))? + .filter_map(Result::ok) + .map(|e| e.path()) + .filter(|p| p.extension().is_some_and(|x| x == "toml")) + .collect(); + paths.sort(); + + let mut rules = Vec::new(); + let mut ids = HashSet::new(); + for path in paths { + let text = std::fs::read_to_string(&path) + .map_err(|e| format!("reading {}: {e}", path.display()))?; + let meta: RuleFile = + toml::from_str(&text).map_err(|e| format!("parsing {}: {e}", path.display()))?; + if !ids.insert(meta.id.clone()) { + return Err(format!("duplicate rule id `{}`", meta.id)); + } + let matcher = + match meta.kind { + Kind::Regex => { + let pat = meta.pattern.as_ref().ok_or_else(|| { + format!("rule `{}`: regex rule needs `pattern`", meta.id) + })?; + Matcher::Regex( + Regex::new(pat) + .map_err(|e| format!("rule `{}`: bad regex: {e}", meta.id))?, + ) + } + Kind::Structural => { + let name = meta.predicate.as_ref().ok_or_else(|| { + format!("rule `{}`: structural rule needs `predicate`", meta.id) + })?; + Matcher::Structural(structural_predicate(name).ok_or_else(|| { + format!("rule `{}`: unknown predicate `{name}`", meta.id) + })?) + } + }; + rules.push(Rule { meta, matcher }); + } + Ok(Self { rules }) + } + + /// The first rule that fires for `sql` in `dialect`, if any. A statement is + /// contentious when this returns `Some`. + #[must_use] + pub fn classify(&self, sql: &str, dialect: Dialect) -> Option<&Rule> { + let masked = mask(sql); + self.rules + .iter() + .find(|r| r.applies_to(dialect) && r.is_match(&masked, sql)) + } +} + +/// The process-wide registry, loaded once from [`RULES_DIR`]. +/// +/// # Panics +/// +/// Panics with the load error if the rule files are malformed, which fails the +/// export build. +#[must_use] +pub fn registry() -> &'static Registry { + static REGISTRY: OnceLock = OnceLock::new(); + REGISTRY.get_or_init(|| { + Registry::load(Path::new(RULES_DIR)).unwrap_or_else(|e| panic!("contentious registry: {e}")) + }) +} + +/// Produce a masked form of `sql` for matching. +/// +/// String and blob literals and comments are replaced by a single space and runs +/// of whitespace are collapsed, so a regex rule matches a predictable token stream +/// and a literal like `'$::x'` or a comment cannot trigger a false match. +/// Double-quoted, backtick, and bracket identifiers are left intact, since an +/// identifier is not a literal. +#[must_use] +pub fn mask(sql: &str) -> String { + let b = sql.as_bytes(); + // Build raw bytes: only whole literal/comment regions (delimited by ASCII + // bytes that never occur mid-UTF-8) are dropped, so the result stays valid + // UTF-8 and multibyte identifiers pass through unchanged. + let mut out: Vec = Vec::with_capacity(b.len()); + let mut i = 0; + while i < b.len() { + let c = b[i]; + // Line comment: -- ... end of line. + if c == b'-' && i + 1 < b.len() && b[i + 1] == b'-' { + out.push(b' '); + i += 2; + while i < b.len() && b[i] != b'\n' { + i += 1; + } + continue; + } + // Block comment: /* ... */. + if c == b'/' && i + 1 < b.len() && b[i + 1] == b'*' { + out.push(b' '); + i += 2; + while i + 1 < b.len() && !(b[i] == b'*' && b[i + 1] == b'/') { + i += 1; + } + i = (i + 2).min(b.len()); + continue; + } + // Blob literal: x'...' or X'...', but only when `x` starts a token. After + // an identifier character it is concatenation like `max` + `'foo'`, not a + // blob, so the following string is masked by the single-quote branch. + let x_starts_token = i == 0 || !(b[i - 1].is_ascii_alphanumeric() || b[i - 1] == b'_'); + if (c == b'x' || c == b'X') && x_starts_token && i + 1 < b.len() && b[i + 1] == b'\'' { + out.push(b' '); + i += 2; + while i < b.len() && b[i] != b'\'' { + i += 1; + } + i = (i + 1).min(b.len()); + continue; + } + // Single-quoted string with '' escape. + if c == b'\'' { + out.push(b' '); + i += 1; + while i < b.len() { + if b[i] == b'\'' { + if i + 1 < b.len() && b[i + 1] == b'\'' { + i += 2; + continue; + } + i += 1; + break; + } + i += 1; + } + continue; + } + out.push(c); + i += 1; + } + // Collapse whitespace runs to single spaces. + String::from_utf8_lossy(&out) + .split_whitespace() + .collect::>() + .join(" ") +} + +/// Structural predicate: a column named more than once in an `INSERT` target +/// list, an `UPDATE ... SET (cols) = ...` group, or a `USING (cols)` clause. +/// Operates on the masked form so a `)` inside a string literal cannot break the +/// list capture. Identifier comparison is case-insensitive. +fn duplicate_columns(sql: &str) -> bool { + static LISTS: OnceLock> = OnceLock::new(); + let lists = LISTS.get_or_init(|| { + vec![ + // INSERT INTO ( ) + Regex::new(r"(?i)\binsert\s+into\s+[^\s(]+\s*\(([^)]*)\)").unwrap(), + // SET ( ) = + Regex::new(r"(?i)\bset\s*\(([^)]*)\)\s*=").unwrap(), + // USING ( ) + Regex::new(r"(?i)\busing\s*\(([^)]*)\)").unwrap(), + ] + }); + let masked = mask(sql); + for re in lists { + for caps in re.captures_iter(&masked) { + if let Some(list) = caps.get(1) { + if has_duplicate_identifier(list.as_str()) { + return true; + } + } + } + } + false +} + +/// Whether a comma-separated identifier list names any identifier twice +/// (case-insensitive, surrounding quotes or backticks stripped). Case-insensitive +/// comparison is correct for `SQLite` (the only dialect declaring this rule +/// today). A case-sensitive dialect would want quoted identifiers compared as-is. +fn has_duplicate_identifier(list: &str) -> bool { + let mut seen = HashSet::new(); + for part in list.split(',') { + let id = part + .trim() + .trim_matches(|c| c == '"' || c == '`' || c == '[' || c == ']') + .to_ascii_lowercase(); + if id.is_empty() { + continue; + } + if !seen.insert(id) { + return true; + } + } + false +} + +#[cfg(test)] +mod tests { + use super::*; + + fn reg() -> Registry { + Registry::load(Path::new(RULES_DIR)).expect("load registry") + } + + #[test] + fn registry_loads_and_ids_are_unique() { + let r = reg(); + assert!(!r.rules.is_empty(), "expected at least one rule"); + let mut ids: Vec<_> = r.rules.iter().map(|x| x.meta.id.as_str()).collect(); + ids.sort_unstable(); + let n = ids.len(); + ids.dedup(); + assert_eq!(n, ids.len(), "rule ids must be unique"); + } + + #[test] + fn every_rule_matches_its_examples_and_skips_non_matches() { + let r = reg(); + for rule in &r.rules { + // Examples are checked against the dialects the rule declares (the + // first one is enough, a rule fires identically in any allowed one). + let dialect = rule + .meta + .dialects + .iter() + .find_map(|d| Dialect::from_dir_name(d)) + .unwrap_or(Dialect::Sqlite); + for ex in &rule.meta.matches { + let masked = mask(ex); + assert!( + rule.is_match(&masked, ex), + "rule `{}` should match `{ex}`", + rule.meta.id + ); + } + for ex in &rule.meta.non_matches { + let masked = mask(ex); + assert!( + !rule.is_match(&masked, ex), + "rule `{}` should not match `{ex}`", + rule.meta.id + ); + } + // Sanity: the rule applies to at least one real dialect. + assert!( + rule.applies_to(dialect) || rule.meta.dialects.iter().any(|d| d == "all"), + "rule `{}` declares no resolvable dialect", + rule.meta.id + ); + } + } + + #[test] + fn mask_hides_literals_and_comments() { + assert_eq!(mask("SELECT '$::x' AS lit"), "SELECT AS lit"); + assert_eq!(mask("SELECT 1 -- $::x\n, 2"), "SELECT 1 , 2"); + assert_eq!(mask("SELECT /* $::y */ 1"), "SELECT 1"); + assert_eq!(mask("SELECT x'4869' "), "SELECT"); + // `x` ending an identifier is concatenation, not a blob: the identifier + // survives and only the adjacent string is masked. + assert_eq!(mask("SELECT max'foo'"), "SELECT max"); + // Doubled '' escape stays inside one string. + assert_eq!(mask("SELECT 'a''b' x"), "SELECT x"); + // Outside a literal, the token survives. + assert_eq!(mask("select $::xyz"), "select $::xyz"); + } + + #[test] + fn every_category_string_roundtrips() { + for (c, s) in [ + (Category::EngineSpecific, "engine-specific"), + (Category::NonStandard, "non-standard"), + (Category::LossyOrAmbiguous, "lossy-or-ambiguous"), + (Category::Deprecated, "deprecated"), + ] { + assert_eq!(c.as_str(), s); + } + } + + /// Coverage guard against the real corpus: every rule must match at least one + /// engine-valid statement, so a dead or misscoped rule cannot land silently. + /// + /// Scope (a rule never excusing genuinely-invalid SQL) is enforced at the call + /// sites, not here: the classifier is only ever consulted on engine-valid + /// statements (`contentious_valid` filters to valid first, and failure tags + /// come from the expected-valid set), so a rule matching an invalid statement + /// has no effect. A construct like duplicate columns legitimately appears in + /// otherwise-invalid statements too, so we count coverage among valid ones. + #[test] + fn every_rule_covers_at_least_one_valid_corpus_statement() { + crate::datasets::ensure_corpus().expect("prepare datasets"); + let registry = reg(); + for rule in ®istry.rules { + let mut hits = 0usize; + for d in Dialect::ALL + .iter() + .copied() + .filter(|&d| rule.applies_to(d) && crate::has_reference(d)) + { + for s in crate::report::load_dialect(d) { + if crate::reference_accepts(&s, d) != Some(true) { + continue; + } + if rule.is_match(&mask(&s), &s) { + hits += 1; + } + } + } + assert!( + hits > 0, + "rule `{}` matched no engine-valid corpus statement (dead rule)", + rule.meta.id + ); + } + } + + #[test] + fn duplicate_columns_predicate() { + assert!(duplicate_columns( + "INSERT INTO dup1(a,b,c,a,b,c) VALUES(1,2,3,4,5,6)" + )); + assert!(duplicate_columns( + "UPDATE t1 SET (a,a,a,b)=(SELECT 99,100,101,102)" + )); + assert!(duplicate_columns("SELECT y FROM t1 JOIN t1 USING (y,y)")); + assert!(!duplicate_columns("INSERT INTO t(a,b,c) VALUES(1,2,3)")); + assert!(!duplicate_columns("UPDATE t1 SET (a,b)=(SELECT 1,2)")); + assert!(!duplicate_columns("SELECT y FROM t1 JOIN t2 USING (y)")); + // A repeated name inside a string literal must not count. + assert!(!duplicate_columns("INSERT INTO t(a,b) VALUES('x,x,x', 1)")); + } +} diff --git a/src/export.rs b/src/export.rs index f9fff06..60d9acb 100644 --- a/src/export.rs +++ b/src/export.rs @@ -10,12 +10,12 @@ use crate::datasets::Dialect; use crate::report::{self, DialectReport}; -use crate::{bench_dist, stats, BenchParser, Parser}; +use crate::{bench_dist, contentious, stats, BenchParser, Parser}; use std::cmp::Ordering; use std::path::Path; use viz::{ Bundle, CoverageFile, CoverageMatrix, DialectData, MemDist, ParserBatch, ParserFailures, - ParserMem, ParserMetrics, ParserPerf, + ParserMem, ParserMetrics, ParserPerf, RuleMeta, }; /// Output path (relative to repo root, where `cargo run` runs from). @@ -115,11 +115,22 @@ fn metrics(report: &DialectReport) -> Vec { version: p.version.to_string(), accepted_valid: s.accepted_valid, accepted_invalid: s.accepted_invalid, + accepted_valid_contentious: s.accepted_valid_contentious, recall_pct: if reference { pct(s.accepted_valid, report.valid_total) } else { None }, + recall_excl_contentious_pct: if reference { + // Drop contentious valid statements from both numerator and + // denominator. `pct` returns None when V == Cv (zero base). + pct( + s.accepted_valid - s.accepted_valid_contentious, + report.valid_total - report.contentious_valid, + ) + } else { + None + }, false_positive_pct: if reference && report.invalid_total > 0 { pct(s.accepted_invalid, report.invalid_total) } else { @@ -288,7 +299,7 @@ fn read_batch_mem() -> Vec { /// Merge batch time and batch memory rows for one dialect into per-parser /// `ParserBatch`. Every batch-capable parser has a time row carrying its accuracy -/// (the time bench runs them all), so it appears here; memory is added where the +/// (the time bench runs them all), so it appears here. Memory is added where the /// parser's allocations are Rust-visible. Pure, so the merge is testable. fn batch_for(dir: &str, perf: &[BatchPerfRow], mem: &[BatchMemRow]) -> Vec { use std::collections::BTreeMap; @@ -407,6 +418,8 @@ fn failures_for(dir: &str, parsers: &[&dyn Parser]) -> Vec { expected_total: f.total, preview_html: Vec::new(), preview_reasons: Vec::new(), + preview_sql: Vec::new(), + preview_tags: Vec::new(), download: None, }); continue; @@ -423,6 +436,25 @@ fn failures_for(dir: &str, parsers: &[&dyn Parser]) -> Vec { .take(FAIL_PREVIEW) .cloned() .collect::>(); + // Raw statement text for each previewed row, aligned with `preview`, so the + // failures-view feedback buttons can prefill an issue with the statement. + let preview_sql = f + .rejected + .iter() + .take(FAIL_PREVIEW) + .cloned() + .collect::>(); + // Tag each previewed statement with the contentious rule it matches (if + // any), so the viewer can mark it an intentional divergence. Rules are + // dialect-scoped, so this is a no-op where no rule applies. + let preview_tags = preview_sql + .iter() + .map(|s| { + contentious::registry() + .classify(s, dialect) + .map(|r| r.meta.id.clone()) + }) + .collect::>(); let file = format!("{dir}__{}.tsv.zst", stats::slug(name)); match write_failure_tsv(&file, &f.rejected, &f.reasons) { Ok(()) => out.push(ParserFailures { @@ -431,6 +463,8 @@ fn failures_for(dir: &str, parsers: &[&dyn Parser]) -> Vec { expected_total: f.total, preview_html: preview, preview_reasons, + preview_sql, + preview_tags, download: Some(format!("failures/{file}")), }), Err(e) => { @@ -441,6 +475,8 @@ fn failures_for(dir: &str, parsers: &[&dyn Parser]) -> Vec { expected_total: f.total, preview_html: preview, preview_reasons, + preview_sql, + preview_tags, download: None, }); } @@ -570,6 +606,7 @@ pub fn run() -> Result<(), Box> { has_reference: report.has_reference, valid_total: report.valid_total, invalid_total: report.invalid_total, + contentious_valid: report.contentious_valid, correctness: metrics(&report), perf: perf_for(d.dir_name(), &summary), coverage: coverage_for(d, &dyn_parsers), @@ -584,6 +621,17 @@ pub fn run() -> Result<(), Box> { git_commit: git_short(), parsers: parsers.iter().map(|p| p.name().to_string()).collect(), dialects, + contentious_rules: contentious::registry() + .rules + .iter() + .map(|r| RuleMeta { + id: r.meta.id.clone(), + title: r.meta.title.clone(), + category: r.meta.category.as_str().to_string(), + description: r.meta.description.clone(), + references: r.meta.references.clone(), + }) + .collect(), }; // Compact JSON, zstd-compressed: the viewer embeds and decompresses it in diff --git a/src/lib.rs b/src/lib.rs index d3f31b4..d264b14 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -914,6 +914,7 @@ impl Parser for BenchParser { pub mod batch; pub mod bench_dist; +pub mod contentious; pub mod datasets; pub mod export; pub mod mem; diff --git a/src/report.rs b/src/report.rs index f2a4f16..21bd1db 100644 --- a/src/report.rs +++ b/src/report.rs @@ -9,7 +9,7 @@ //! for speed. use crate::datasets::Dialect; -use crate::{has_reference, reference_accepts, Parser, ParserId}; +use crate::{contentious, has_reference, reference_accepts, Parser, ParserId}; use std::fs; use std::path::{Path, PathBuf}; @@ -27,6 +27,10 @@ pub struct ParserStat { /// provenance dialect (no reference) every statement is treated as valid, so /// this is the plain acceptance count. pub accepted_valid: usize, + /// Accepted among reference-valid statements that are also contentious (the + /// `Avc` subtracted from the secondary "recall excluding contentious" metric). + /// Always a subset of `accepted_valid`. Reference dialects only. + pub accepted_valid_contentious: usize, /// Accepted among reference-invalid statements (false-positive numerator). pub accepted_invalid: usize, /// Round-trip-stable among accepted-valid. @@ -43,6 +47,7 @@ pub struct ParserStat { impl ParserStat { const fn merge(&mut self, other: &Self) { self.accepted_valid += other.accepted_valid; + self.accepted_valid_contentious += other.accepted_valid_contentious; self.accepted_invalid += other.accepted_invalid; self.roundtrip_ok += other.roundtrip_ok; self.attempted += other.attempted; @@ -55,6 +60,10 @@ pub struct DialectReport { pub dialect: Dialect, pub has_reference: bool, pub valid_total: usize, + /// Reference dialects: valid statements matched by at least one contentious + /// rule (`Cv`, the denominator adjustment for the secondary metric). 0 on + /// provenance dialects. + pub contentious_valid: usize, pub invalid_total: usize, /// Identity (family + version) of each graded parser, aligned with `stats`. pub parsers: Vec, @@ -69,6 +78,7 @@ impl DialectReport { dialect, has_reference: has_reference(dialect), valid_total: 0, + contentious_valid: 0, invalid_total: 0, parsers: parsers.iter().map(|p| p.id()).collect(), stats: parsers @@ -84,6 +94,7 @@ impl DialectReport { /// Add another report's tallies (same dialect and parser order assumed). pub fn merge(&mut self, other: &Self) { self.valid_total += other.valid_total; + self.contentious_valid += other.contentious_valid; self.invalid_total += other.invalid_total; for (a, b) in self.stats.iter_mut().zip(other.stats.iter()) { a.merge(b); @@ -115,6 +126,14 @@ pub fn grade_chunk(stmts: &[String], dialect: Dialect, parsers: &[&dyn Parser]) } else { report.invalid_total += 1; } + // Classify once per statement (a property of the SQL, not the parser). + // Only reference dialects carry a contentious layer, and the rules are + // dialect-scoped, so this is a no-op elsewhere. + let is_contentious = + reference && is_valid && contentious::registry().classify(sql, dialect).is_some(); + if is_contentious { + report.contentious_valid += 1; + } for (i, &p) in parsers.iter().enumerate() { // A panic is still a non-acceptance (it does not enter the accepted @@ -134,6 +153,9 @@ pub fn grade_chunk(stmts: &[String], dialect: Dialect, parsers: &[&dyn Parser]) } if is_valid { report.stats[i].accepted_valid += 1; + if is_contentious { + report.stats[i].accepted_valid_contentious += 1; + } if report.stats[i].can_reprint && p.roundtrips(sql, dialect) == Some(true) { report.stats[i].roundtrip_ok += 1; } diff --git a/viz/src/chart.rs b/viz/src/chart.rs index 71cc492..3a3f4b6 100644 --- a/viz/src/chart.rs +++ b/viz/src/chart.rs @@ -650,6 +650,7 @@ mod tests { has_reference: true, valid_total: 90, invalid_total: 10, + contentious_valid: 0, correctness: vec![], perf: vec![perf], coverage: CoverageMatrix { diff --git a/viz/src/lib.rs b/viz/src/lib.rs index 1c9cc8e..3569316 100644 --- a/viz/src/lib.rs +++ b/viz/src/lib.rs @@ -21,5 +21,5 @@ pub use marker::{marker_for, Marker}; pub use schema::{ Bundle, CoverageFile, CoverageMatrix, DepthReport, DepthScan, DialectData, DialectRun, FamilyHistory, FeatureCounts, FeatureScan, LintPolicy, MemDist, ParserBatch, ParserFailures, - ParserFeatures, ParserMem, ParserMetrics, ParserPerf, VersionRun, + ParserFeatures, ParserMem, ParserMetrics, ParserPerf, RuleMeta, VersionRun, }; diff --git a/viz/src/schema.rs b/viz/src/schema.rs index 7d30f4c..dc39b63 100644 --- a/viz/src/schema.rs +++ b/viz/src/schema.rs @@ -129,6 +129,23 @@ pub struct Bundle { pub parsers: Vec, /// One entry per dialect, in display order. pub dialects: Vec, + /// Display metadata for every contentious-construct rule, so the viewer's + /// legend and per-row badges are data-driven (empty in older snapshots). + #[serde(default)] + pub contentious_rules: Vec, +} + +/// Display metadata for one contentious-construct rule, copied into the export so +/// the web viewer needs no code change when a rule is added. The matching logic +/// stays in the native crate. +#[derive(Serialize, Deserialize, Clone, Debug)] +pub struct RuleMeta { + pub id: String, + pub title: String, + /// Kebab-case category (`engine-specific`, `non-standard`, ...). + pub category: String, + pub description: String, + pub references: Vec, } /// Everything the viewer shows for one dialect. @@ -139,6 +156,10 @@ pub struct DialectData { pub has_reference: bool, pub valid_total: usize, pub invalid_total: usize, + /// Reference dialects: number of valid statements matched by at least one + /// contentious rule (`Cv`). 0 in older snapshots and on provenance dialects. + #[serde(default)] + pub contentious_valid: usize, /// Per-parser correctness metrics (reference dialects) or acceptance /// (provenance dialects). pub correctness: Vec, @@ -247,6 +268,18 @@ pub struct ParserFailures { /// `preview_html` (same index). Plain text, escaped by the viewer at render. #[serde(default)] pub preview_reasons: Vec, + /// The raw SQL of each previewed statement, aligned with `preview_html` (same + /// index). The highlighted `preview_html` is not usable as plain text, so the + /// failures-view feedback buttons read the statement from here to prefill a + /// GitHub issue. Empty in older snapshots. + #[serde(default)] + pub preview_sql: Vec, + /// The contentious-rule id matched by each previewed statement, aligned with + /// `preview_html` (same index), or `None` for a genuine gap. Drives the + /// per-row "intentional divergence" badge and the dispute button. Empty in + /// older snapshots. + #[serde(default)] + pub preview_tags: Vec>, /// Path (relative to the site root) of the full `.tsv.zst` download, or /// `None` when there were no failures to ship. pub download: Option, @@ -264,8 +297,19 @@ pub struct ParserMetrics { pub version: String, pub accepted_valid: usize, pub accepted_invalid: usize, + /// Reference dialects: accepted-valid statements that are also contentious + /// (`Avc`), the numerator adjustment for `recall_excl_contentious_pct`. 0 in + /// older snapshots. + #[serde(default)] + pub accepted_valid_contentious: usize, /// Reference dialects: accepted among reference-valid. pub recall_pct: Option, + /// Reference dialects: recall excluding contentious constructs, + /// `(accepted_valid - accepted_valid_contentious) / (valid_total - + /// contentious_valid)`. `None` on provenance dialects, in older snapshots, or + /// when every valid statement is contentious. + #[serde(default)] + pub recall_excl_contentious_pct: Option, /// Reference dialects: accepted among reference-invalid (lower is better). pub false_positive_pct: Option, /// Display round-trip rate among accepted (None without a printer). diff --git a/web/assets/bench.json.zst b/web/assets/bench.json.zst index 1715f309cda275b9239dfc2ecd6252e9218f56a6..189ed13d82c75c08cdaad9cabda34377311b6463 100644 GIT binary patch literal 138820 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%0D}BS-9Cl5o}hc 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

79q3KWBpr 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 Fs{xntup9sY diff --git a/web/assets/main.css b/web/assets/main.css index 0aea08d..229328b 100644 --- a/web/assets/main.css +++ b/web/assets/main.css @@ -86,7 +86,7 @@ main { display: block; } .intro { padding: 2rem 1.2rem 0.5rem; } .intro h1 { font-size: 1.9rem; margin: 0 0 0.3em; letter-spacing: -0.01em; } -/* Title row with the snapshot/commit pills; wraps under the title on mobile. */ +/* Title row with the snapshot/commit pills, wraps under the title on mobile. */ .intro-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 0.8rem; } .intro-head h1 { margin-bottom: 0; } .stamp { display: flex; flex-wrap: wrap; gap: 0.4rem; } @@ -270,7 +270,7 @@ main { display: block; } border-radius: 999px; font-size: 0.78rem; } -/* The source-repository pill is a link; keep the pill look, add a hover cue. */ +/* The source-repository pill is a link. Keep the pill look, add a hover cue. */ .meta-link { text-decoration: none; color: inherit; cursor: pointer; transition: border-color 0.12s ease, background 0.12s ease; } .meta-link:hover { border-color: var(--accent); background: var(--card-hover, #eef2f7); } .meta-val { font-weight: 700; color: var(--fg); } @@ -280,7 +280,7 @@ main { display: block; } letter-spacing: 0.03em; font-size: 0.7rem; } -/* Constrain the icon so it never balloons; size is set on the SVG by the icon. */ +/* Constrain the icon so it never balloons. Size is set on the SVG by the icon. */ .meta-ico { flex: none; display: inline-flex; color: var(--accent); } .meta-ico svg { width: 12px; height: 12px; display: block; } /* A problematic fact (not fuzzed, no test suite, no benchmarks) flagged red. */ @@ -475,11 +475,21 @@ main { display: block; } background: #fbfbfb; color: #1f2328; } -/* Copy-to-clipboard button, revealed on hover over a preview. */ -.copy-btn { +/* Action buttons (copy, and the two feedback reports) over a preview, revealed + on hover or when one is focused. */ +.fail-actions { position: absolute; top: 6px; right: 6px; + display: inline-flex; + gap: 4px; + opacity: 0; + transition: opacity 0.12s ease; +} +.fail-code-wrap:hover .fail-actions, +.fail-actions:focus-within { opacity: 1; } +.copy-btn, +.report-btn { display: inline-flex; align-items: center; justify-content: center; @@ -491,12 +501,11 @@ main { display: block; } background: #fff; color: var(--muted); cursor: pointer; - opacity: 0; - transition: opacity 0.12s ease, color 0.12s ease, border-color 0.12s ease; + text-decoration: none; + transition: color 0.12s ease, border-color 0.12s ease; } -.fail-code-wrap:hover .copy-btn, -.copy-btn:focus-visible { opacity: 1; } -.copy-btn:hover { color: #1f2328; border-color: #b9b9b9; } +.copy-btn:hover, +.report-btn:hover { color: #1f2328; border-color: #b9b9b9; } /* The parser's error message for a rejected statement, under its preview. */ .fail-reason { margin: 0.2rem 0 0; @@ -509,6 +518,47 @@ main { display: block; } white-space: pre-wrap; overflow-wrap: anywhere; } +/* Marks a previewed statement as a known contentious construct (an intentional + divergence the engine accepts but a parser may reasonably reject). Neutral and + non-red on purpose: red is reserved for genuine rejections, and the category is + carried as text rather than a color, per the contentious-constructs design. */ +.contentious-badge { + margin: 0.2rem 0 0; + padding: 0.3rem 0.5rem 0.3rem 0.7rem; + border-left: 3px solid #c4c8d4; + background: #eef0f4; + color: #45506b; + font-size: 0.78rem; + line-height: 1.35; + overflow-wrap: anywhere; +} +/* Legend explaining the intentional-divergence badges, shown on the failures + view when a parser has at least one tagged statement. */ +.contentious-legend { + margin: 0.2rem 0 0.9rem; + padding: 0.5rem 0.7rem; + border: 1px solid var(--line); + border-radius: 8px; + background: #f7f8fa; + font-size: 0.8rem; + color: var(--muted); +} +.contentious-legend h3 { + font-size: 0.82rem; + margin: 0 0 0.3rem; + color: var(--fg); +} +.contentious-legend ul { margin: 0; padding-left: 1.1rem; } +.contentious-legend li { margin: 0.15rem 0; } +.contentious-legend .cat { color: var(--fg); font-weight: 600; } +/* Secondary value under a table cell (e.g. recall excluding contentious). */ +.cell-sub { + margin-top: 0.1rem; + font-size: 0.7rem; + font-weight: 400; + color: var(--muted); + white-space: nowrap; +} /* Tables */ .scroll { overflow-x: auto; } diff --git a/web/src/components.rs b/web/src/components.rs index 95348fe..86d3c27 100644 --- a/web/src/components.rs +++ b/web/src/components.rs @@ -700,13 +700,14 @@ pub fn ParserView(name: String) -> Element { name: d.display_name.clone(), }, cells: vec![ - Cell::pct(m.and_then(|m| { - if d.has_reference { - m.recall_pct - } else { - m.accept_pct - } - })), + if d.has_reference { + Cell::recall( + m.and_then(|m| m.recall_pct), + m.and_then(|m| m.recall_excl_contentious_pct), + ) + } else { + Cell::pct(m.and_then(|m| m.accept_pct)) + }, Cell::pct(m.and_then(|m| m.false_positive_pct)), Cell::pct(m.and_then(|m| m.roundtrip_pct)), Cell::ns(p.map(|p| p.median)), @@ -1189,23 +1190,124 @@ fn parser_memory_section(b: &viz::Bundle, parser: &str) -> Element { /// rejected-statement count, a short syntax-highlighted preview, and a download /// link to the full capped `.tsv.zst`. Renders nothing if the parser rejected /// nothing anywhere (or has no recorded failure data). +/// Render one failing-statement preview: the highlighted SQL, the copy button, +/// the per-row feedback buttons (reference dialects only), and, when the +/// statement matches a contentious rule, an intentional-divergence badge with a +/// dispute button in place of the "propose" button. +#[allow(clippy::too_many_arguments)] +fn fail_preview_row( + b: &viz::Bundle, + di: usize, + i: usize, + dialect: &str, + has_ref: bool, + parser: &str, + f: &viz::ParserFailures, + html: &str, +) -> Element { + let reason = f.preview_reasons.get(i).map(String::as_str).unwrap_or(""); + let sql = f.preview_sql.get(i).map(String::as_str); + // The contentious rule this statement matched, if any, resolved against the + // exported rule metadata. + let rule = f + .preview_tags + .get(i) + .and_then(|t| t.as_deref()) + .and_then(|id| b.contentious_rules.iter().find(|r| r.id == id)); + rsx! { + div { class: "fail-code-wrap", key: "{i}", + div { class: "fail-actions", + button { + class: "copy-btn", + r#type: "button", + aria_label: "Copy this statement to the clipboard", + title: "Copy statement", + onclick: move |_| { + document::eval(&format!( + "{{ const el = document.getElementById('fail-{di}-{i}'); if (el) {{ navigator.clipboard.writeText(el.textContent); }} }}" + )); + }, + Icon { width: 13, height: 13, fill: "currentColor".to_string(), icon: FaCopy } + } + // Feedback reports only where the engine assigned a validity label. + if has_ref { + if let Some(sql) = sql { + a { + class: "report-btn", + href: issue_url("should-be-rejected.yml", dialect, parser, sql, reason, &[]), + target: "_blank", + rel: "noopener noreferrer", + aria_label: "Report that this statement should be rejected as invalid", + title: "Should be rejected (invalid syntax)", + Icon { width: 13, height: 13, fill: "currentColor".to_string(), icon: FaCircleXmark } + } + if let Some(rule) = rule { + // Already tagged contentious: let people argue it is not. + a { + class: "report-btn", + href: issue_url("not-contentious.yml", dialect, parser, sql, reason, &[("rule", rule.title.as_str())]), + target: "_blank", + rel: "noopener noreferrer", + aria_label: "Dispute this: argue the statement is not actually contentious", + title: "Dispute: argue this is not contentious", + Icon { width: 13, height: 13, fill: "currentColor".to_string(), icon: FaBan } + } + } else { + a { + class: "report-btn", + href: issue_url("contentious-construct.yml", dialect, parser, sql, reason, &[]), + target: "_blank", + rel: "noopener noreferrer", + aria_label: "Propose this as a contentious construct a parser may reasonably reject", + title: "Parser may reject (contentious)", + Icon { width: 13, height: 13, fill: "currentColor".to_string(), icon: FaScaleBalanced } + } + } + } + } + } + pre { id: "fail-{di}-{i}", class: "fail-code", dangerous_inner_html: "{html}" } + if let Some(rule) = rule { + div { class: "contentious-badge", title: "{rule.description}", + "Intentional divergence: {rule.title} ({rule.category})" + } + } + if !reason.is_empty() { + div { class: "fail-reason", "{reason}" } + } + } + } +} + fn failures_section(b: &viz::Bundle, parser: &str) -> Element { // Gather (dialect display name, failures) for dialects where this parser // has at least one rejected statement. - let entries: Vec<(&str, &viz::ParserFailures)> = b + let entries: Vec<(&str, bool, &viz::ParserFailures)> = b .dialects .iter() .filter_map(|d| { d.failures .iter() .find(|f| f.parser == parser && f.rejected_total > 0) - .map(|f| (d.display_name.as_str(), f)) + .map(|f| (d.display_name.as_str(), d.has_reference, f)) }) .collect(); if entries.is_empty() { return rsx! {}; } + // Rules that tag at least one of this parser's previewed statements, used to + // build a legend explaining the badges below. + let tagged: std::collections::BTreeSet<&str> = entries + .iter() + .flat_map(|(_, _, f)| f.preview_tags.iter().filter_map(Option::as_deref)) + .collect(); + let legend_rules: Vec<&viz::RuleMeta> = b + .contentious_rules + .iter() + .filter(|r| tagged.contains(r.id.as_str())) + .collect(); + rsx! { section { class: "block", h2 { @@ -1215,7 +1317,29 @@ fn failures_section(b: &viz::Bundle, parser: &str) -> Element { p { class: "fail-intro", "Statements this parser was expected to accept but rejected. Each dialect links to the full set (capped at 1,000) as a compressed TSV." } - for (di , (dialect , f)) in entries.into_iter().enumerate() { + if !legend_rules.is_empty() { + div { class: "contentious-legend", + h3 { "Intentional divergences" } + p { + "Statements tagged below are engine-accepted constructs a parser may reasonably reject. They are flagged for context and do not change the strict recall above." + } + ul { + for r in legend_rules.iter() { + li { key: "{r.id}", + span { class: "cat", "{r.title}" } + " ({r.category}): {r.description}" + for (k , href) in r.references.iter().enumerate() { + span { key: "{k}", + " " + a { class: "inline-link", href: "{href}", target: "_blank", rel: "noopener noreferrer", "[ref]" } + } + } + } + } + } + } + } + for (di , (dialect , has_ref , f)) in entries.into_iter().enumerate() { div { class: "fail-dialect", key: "{dialect}", div { class: "fail-head", span { class: "fail-title", @@ -1233,24 +1357,7 @@ fn failures_section(b: &viz::Bundle, parser: &str) -> Element { } } for (i , html) in f.preview_html.iter().enumerate() { - div { class: "fail-code-wrap", key: "{i}", - button { - class: "copy-btn", - r#type: "button", - aria_label: "Copy this statement to the clipboard", - title: "Copy statement", - onclick: move |_| { - document::eval(&format!( - "{{ const el = document.getElementById('fail-{di}-{i}'); if (el) {{ navigator.clipboard.writeText(el.textContent); }} }}" - )); - }, - Icon { width: 13, height: 13, fill: "currentColor".to_string(), icon: FaCopy } - } - pre { id: "fail-{di}-{i}", class: "fail-code", dangerous_inner_html: "{html}" } - if let Some(reason) = f.preview_reasons.get(i).filter(|r| !r.is_empty()) { - div { class: "fail-reason", "{reason}" } - } - } + {fail_preview_row(b, di, i, dialect, has_ref, parser, f, html)} } } } @@ -1258,6 +1365,53 @@ fn failures_section(b: &viz::Bundle, parser: &str) -> Element { } } +// ---- feedback issue links ---- + +/// Percent-encode a value for safe inclusion in a URL query string. Only the +/// RFC 3986 unreserved set passes through unescaped, so newlines, spaces, and SQL +/// punctuation are all encoded. +fn url_encode(s: &str) -> String { + let mut out = String::with_capacity(s.len()); + for b in s.bytes() { + match b { + b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'_' | b'.' | b'~' => { + out.push(b as char); + } + _ => out.push_str(&format!("%{b:02X}")), + } + } + out +} + +/// Build a link to a prefilled GitHub issue form. `template` is the issue-form +/// file name under `.github/ISSUE_TEMPLATE/`, and the values prefill the form +/// fields with matching `id`s. `extra` carries any form-specific fields (e.g. the +/// disputed rule). Long statements may be truncated by GitHub's URL length limit, +/// in which case the reader pastes via the copy button. +fn issue_url( + template: &str, + dialect: &str, + parser: &str, + sql: &str, + reason: &str, + extra: &[(&str, &str)], +) -> String { + let mut url = format!( + "{REPO}/issues/new?template={template}&dialect={}&parser={}&statement={}&parser_error={}", + url_encode(dialect), + url_encode(parser), + url_encode(sql), + url_encode(reason), + ); + for (key, value) in extra { + url.push('&'); + url.push_str(key); + url.push('='); + url.push_str(&url_encode(value)); + } + url +} + // ---- formatting helpers ---- fn commas(n: usize) -> String { @@ -1743,7 +1897,7 @@ fn empirical_panic_pill(totals: Option<(usize, usize)>) -> Element { /// expected to accept, summed across every dialect. Neutral (informational): /// every parser misses some real-world SQL, so this is a coverage figure, not an /// alarm, and a red flag on every parser would dilute the genuine red flags. The -/// value is the absolute count the user asked for; the rate is in the tooltip. +/// value is the absolute count the user asked for, and the rate is in the tooltip. fn failures_pill(totals: Option<(usize, usize)>) -> Element { let (value, desc) = match totals { None => ( @@ -1950,6 +2104,9 @@ impl Head { struct Cell { text: String, num: Option, + /// Optional small grey second line under the value (e.g. recall excluding + /// contentious constructs). Display only, never a sort key. + sub: Option, } impl Cell { @@ -1958,6 +2115,23 @@ impl Cell { Cell { text: fmt_pct(v), num: v, + sub: None, + } + } + /// Recall cell with a grey sub-line showing recall excluding contentious + /// constructs, shown only when it differs from strict recall. The strict value + /// stays the text and the sort key, so the headline number is unchanged. + fn recall(strict: Option, excl: Option) -> Cell { + let sub = match (strict, excl) { + (Some(s), Some(e)) if (s - e).abs() >= 0.05 => { + Some(format!("{} excl. contentious", fmt_pct(Some(e)))) + } + _ => None, + }; + Cell { + text: fmt_pct(strict), + num: strict, + sub, } } /// Nanosecond cell from an optional value (comma-grouped, "N/A" if missing). @@ -1965,6 +2139,7 @@ impl Cell { Cell { text: v.map_or_else(|| "N/A".to_string(), |x| commas(x as usize)), num: v, + sub: None, } } /// Byte cell from an optional value, formatted as B / KB / MB ("N/A" if missing). @@ -1972,11 +2147,16 @@ impl Cell { Cell { text: v.map_or_else(|| "N/A".to_string(), fmt_bytes), num: v, + sub: None, } } /// Cell with explicit text and a numeric sort key. fn with(text: String, num: Option) -> Cell { - Cell { text, num } + Cell { + text, + num, + sub: None, + } } } @@ -2169,7 +2349,12 @@ fn SortTable( tr { key: "{row.key}", {render_head(&row.head)} for cell in row.cells.iter() { - td { "{cell.text}" } + td { + "{cell.text}" + if let Some(sub) = &cell.sub { + div { class: "cell-sub", "{sub}" } + } + } } } } @@ -2365,7 +2550,7 @@ fn correctness_table(d: &DialectData) -> Element { head: Head::Parser(m.parser.clone()), cells: if reference { vec![ - Cell::pct(m.recall_pct), + Cell::recall(m.recall_pct, m.recall_excl_contentious_pct), Cell::pct(m.false_positive_pct), Cell::pct(m.roundtrip_pct), ]

trib0466R@R_1BW7Xf`=&pMnJj0WM)cB$J> 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