Skip to content

Resolve config [[table]] glob './/x' like './x' - #1665

Open
thekevinbot wants to merge 4 commits into
mainfrom
bot/1629-dotslash-glob-1105
Open

thekevinbot wants to merge 4 commits into
mainfrom
bot/1629-dotslash-glob-1105

Conversation

@thekevinbot

@thekevinbot thekevinbot commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #1629

A config [[table]] glob written .//a/*.json now anchors at the config directory with glob a/*.json, as bash reads it (bash -O globstar: .//a/*.json expands to the same file as ./a/*.json). config_anchor_as stripped ./ but kept the leftover /, so the glob matched nothing. It now trims the separators after ./, as resolve_as already does for path-tables.

Red (test-only commit 04bbe6a, failing for the asserted reason — left: Some(("/cfg", "//a/*.json"))): https://github.com/thekevinscott/dirsql/actions/runs/42127724414/job/127596107854

Sibling #1627 (.. folding in config globs) is a different code path (absolute_target/normalize) and is not addressed here.

Changelog / Migrations

  • Changelog fragment added under packages/rust/changelog.d/2026-11-05-config-glob-dot-double-slash.md
  • Migration fragment with the same slug added under packages/rust/migrations.d/

E2E Verification

  • Ran e2e suites locally for every affected SDK
  • Python SDK e2e: pass
  • TypeScript SDK e2e: pass
  • Rust core e2e (if applicable): pass (cargo test --test config_anchor --lib)
  • packages/python/e2e-attestations/<branch>.json receipt written
  • packages/ts/e2e-attestations/<branch>.json receipt written
  • Command(s) run:
    • cd packages/python && uv run maturin develop --release; cargo build --release -p dirsql --features cli
    • testing-conventions e2e attest 'uv run python -m pytest tests/e2e/declared_table_name_test.py tests/e2e/fanout_test.py tests/e2e/fresh_declared_repros_test.py tests/e2e/on_file_value_types_test.py tests/e2e/on_file_failure_test.py tests/e2e/query_contract_test.py tests/e2e/root_at_construction_test.py tests/e2e/relative_root_chdir_test.py tests/e2e/use_case_transcripts_test.py -x -q'
    • cd packages/ts && pnpm build; testing-conventions e2e attest 'pnpm exec vitest run --dir tests/e2e declared-table-name fanout fresh-declared-repros query-contract root-at-construction'
  • Result summary: Python 27 passed; TS 22 passed. Issue repro by hand returns [{"dd":1,"single":1}].

This branch has not been deployed

No deployments
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.

Resolve config [[table]] glob './/x' like './x'

1 participant