Skip to content

chore: minor fixes for dblint + docs#637

Merged
psteinroe merged 8 commits intomainfrom
chore/dblint-docs
Jan 26, 2026
Merged

chore: minor fixes for dblint + docs#637
psteinroe merged 8 commits intomainfrom
chore/dblint-docs

Conversation

@psteinroe
Copy link
Collaborator

@psteinroe psteinroe commented Jan 16, 2026

check each commit for changes

  • we now consistently print { enabled: true } for all features in the initial config. some were just an empty object before.
  • added docs for dblint
  • updated nix stuff
  • added global ignore field to splinter configuration (applies to all rules)

let _e = pushenv("RUSTUP_TOOLCHAIN", "nightly");
// Only set RUSTUP_TOOLCHAIN if nightly isn't already on PATH (e.g., in Nix)
let _e = if !is_nightly_rustfmt_available() {
Some(pushenv("RUSTUP_TOOLCHAIN", "nightly"))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wofür brauchen wir überhaupt nightly? nix für den PR, aber wir können vllt. einfach die Version nehmen, die in der rust-toolchaim.toml specified ist

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wir nutzen die version aus der toolchain file (2024) im repo, aber der format style ist noch nicht stable.

https://rust-lang.github.io/rfcs/3338-style-evolution.html

}

// Then check per-rule ignore
let rule_name = diag.category.name().split('/').next_back().unwrap_or("");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: we might filter out rules with the same name but different categories, e.g.

lint/safety/rlsDislabed – findet statements wo DISABLE ROW LEVEL SECURITY steht
splinter/safety/rlsDisabled – findet tables, die schon existieren, bei denen RLS disabled ist

wenn du jetzt rlsDisabled irgendwo rein packst, disablest du beides, willst aber vllt. nur die zweite.

Klingt erstmal nach edge-case, könnte uns aber beißen

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

die configs sind separat, und let rule_matchers = config.rules.get_ignore_matchers(); zieht sich nur die ignore config fuer den splinter.

Markdown tables need blank lines before headers to render properly.
Without them, headers were being treated as table content.
- Add database_linting.md feature page
- Add database_rules.md with Performance/Security rule groups
- Add database_rule_sources.md with Splinter attribution
- Extend codegen to generate splinter rules index and sources
- Update navigation in mkdocs.yml
- Add taplo and nightly rustfmt to flake.nix
- Extract only nightly rustfmt binary to avoid nightly rustc taking
  precedence over stable
- Make xtask detect nightly rustfmt on PATH before falling back to
  RUSTUP_TOOLCHAIN env var
- Remove deprecated config warning from dblint test snapshots
- Add missing execSync import in CLI bin script that was causing
  Linux tests to fail
Add top-level `ignore` field to splinter configuration that applies to
all rules, in addition to existing per-rule ignore.

Example configuration:
```json
{
  "splinter": {
    "ignore": ["audit.*", "temp_*"],
    "rules": { ... }
  }
}
```
@psteinroe psteinroe merged commit d34d4d4 into main Jan 26, 2026
9 checks passed
@psteinroe psteinroe deleted the chore/dblint-docs branch January 26, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants