dirsql 0.3.124__tar.gz → 0.3.125__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dirsql-0.3.124 → dirsql-0.3.125}/Cargo.lock +1 -1
- {dirsql-0.3.124 → dirsql-0.3.125}/PKG-INFO +1 -1
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/Cargo.toml +1 -1
- dirsql-0.3.125/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +3 -0
- dirsql-0.3.125/packages/python/e2e-attestations/feat-634-core-remove-injection.json +7 -0
- dirsql-0.3.125/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +51 -0
- dirsql-0.3.125/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md +3 -0
- dirsql-0.3.125/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md +55 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/lib.rs +14 -92
- dirsql-0.3.124/packages/python/e2e-attestations/feat-634-prep-python-selfemit.json +0 -7
- dirsql-0.3.124/packages/python/e2e-attestations/feat-662-query-default-cli.json +0 -7
- {dirsql-0.3.124 → dirsql-0.3.125}/Cargo.toml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/_async.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/binary_path.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/discover_plugins/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/discover_plugins/user_passed_config.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/is_windows.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/main.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/py.typed +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/resolve_config_extensions.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/.vitepress/config.ts +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/AGENTS.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/explanation.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/getting-started.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/define-tables.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/embed.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/load-extension.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/persist.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/query-without-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/skip-files.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/index.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/migrations.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/package.json +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/cli.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/columns.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/hooks.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/http-api.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/path-tables.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/docs/reference/sdk.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/CHANGELOG.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/MIGRATIONS.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/conftest.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/.vitepress/config.ts +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/AGENTS.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/query-without-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/index.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/migrations.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/package.json +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/path-tables.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/docs/reference/sdk.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/src/lib.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/integration/binding/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/python/tests/integration/hermetic/__init__.py +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/CHANGELOG.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/Cargo.toml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/MIGRATIONS.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-repeatable-cli-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-19-path-table-vtab.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-20-schema-inference.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-21-on-file-flag.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/query-without-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/index.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/migrations.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/path-tables.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/docs/reference/sdk.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/README.md +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/cli/execute.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/cli/init.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/cli/mod.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/cli/router.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/command.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/config.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/db.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/default_config.toml +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/infer.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/matcher.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/parsed_vtab.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/path_table.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/scanner.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/vtab.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.3.124 → dirsql-0.3.125}/pyproject.toml +0 -0
|
@@ -4,7 +4,7 @@ name = "dirsql-py-ext"
|
|
|
4
4
|
# pypi/maturin handler can rewrite it via `write-version` before
|
|
5
5
|
# `maturin build`. `pyproject.toml` declares `dynamic = ["version"]`
|
|
6
6
|
# and maturin reads this field. Mirrors `packages/rust/Cargo.toml`.
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.125"
|
|
8
8
|
# abi3 note: the `abi3-py311` pyo3 feature (below) builds ONE stable-ABI
|
|
9
9
|
# `cp311-abi3` wheel per platform that loads on every CPython >= 3.11
|
|
10
10
|
# (matching `pyproject.toml`'s `requires-python = ">=3.11"`), instead of
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
**Removed**
|
|
2
|
+
|
|
3
|
+
- **Removed the stat-fact injection layer** (core change, surfaced through the Python SDK). dirsql no longer auto-fills DDL columns named `path`/`basename`/`dir`/`ext`/`size`/`mtime`/`ctime` from filesystem stat. A `Table` now contains exactly what its `on_file` callback returns; a DDL column the callback never emits is `None`/`NULL`, not injected. To keep a stat column populated, emit it from the callback (e.g. derive `path` from the file argument), or query the path directly with a path-table (`FROM './'`). (#634)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
### Stat-fact injection removed (#634)
|
|
2
|
+
|
|
3
|
+
#### Summary
|
|
4
|
+
|
|
5
|
+
dirsql previously injected filesystem-derived values into any DDL column named
|
|
6
|
+
`path`, `basename`, `dir`, `ext`, `size`, `mtime`, or `ctime` — filling them
|
|
7
|
+
even when a table's `on_file` callback emitted nothing for that column. That
|
|
8
|
+
injection layer (in the shared Rust core) is gone. A `Table` now contains
|
|
9
|
+
**exactly what its `on_file` callback returns**; a declared column the callback
|
|
10
|
+
never emits is `None`/`NULL`. No Python API signature changes — runtime
|
|
11
|
+
behavior only.
|
|
12
|
+
|
|
13
|
+
#### Required changes
|
|
14
|
+
|
|
15
|
+
| Before (injected) | After (NULL unless emitted) | Fix |
|
|
16
|
+
| ----------------- | --------------------------- | --- |
|
|
17
|
+
| DDL declares `path TEXT`, callback omits it → column held the root-relative path | Column is `None` | Emit it from the callback: `Table("CREATE TABLE t (path TEXT)", "**/*", on_file=lambda path: [{"path": path}])`. |
|
|
18
|
+
| DDL declares `size INTEGER`, callback omits it → column held the file size | Column is `None` | Emit it: `on_file=lambda path: [{"size": os.path.getsize(path)}]`. |
|
|
19
|
+
| Want stat columns with **no** callback at all | (was injection) | Query the path directly with a path-table: `FROM './'`. |
|
|
20
|
+
|
|
21
|
+
#### Deprecations removed
|
|
22
|
+
|
|
23
|
+
_None._
|
|
24
|
+
|
|
25
|
+
#### Behavior changes without code changes
|
|
26
|
+
|
|
27
|
+
- A DDL column named `path`/`basename`/`dir`/`ext`/`size`/`mtime`/`ctime` that
|
|
28
|
+
the `on_file` callback does not emit is now `None`/`NULL` instead of an
|
|
29
|
+
injected filesystem value.
|
|
30
|
+
- A **strict** table whose DDL declares such a column but whose callback does
|
|
31
|
+
not emit it now raises a schema-validation error rather than being silently
|
|
32
|
+
filled.
|
|
33
|
+
|
|
34
|
+
#### Verification
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
from dirsql import DirSQL, Table
|
|
38
|
+
|
|
39
|
+
# Callback emits only "size"; DDL also declares "path".
|
|
40
|
+
db = DirSQL(root, tables=[Table(
|
|
41
|
+
ddl="CREATE TABLE files (path TEXT, size INTEGER)",
|
|
42
|
+
glob="**/*.txt",
|
|
43
|
+
on_file=lambda _path: [{"size": 42}],
|
|
44
|
+
)])
|
|
45
|
+
rows = db.query("SELECT path, size FROM files")
|
|
46
|
+
# Before: rows[0]["path"] == "a.txt" (injected)
|
|
47
|
+
# After: rows[0]["path"] is None (not emitted)
|
|
48
|
+
|
|
49
|
+
# Restore by emitting it:
|
|
50
|
+
# on_file=lambda path: [{"path": path, "size": 42}]
|
|
51
|
+
```
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
**Removed**
|
|
2
|
+
|
|
3
|
+
- **Removed the stat-fact injection layer.** dirsql no longer auto-fills DDL columns named `path`/`basename`/`dir`/`ext`/`size`/`mtime`/`ctime` from filesystem stat. A named table now contains exactly what its `on-file` hook emits; a DDL column the hook never emits is `NULL` (standard SQL), not injected. To keep a stat column populated, emit it from the hook (e.g. derive `path` from the file argument), or query the path directly with a path-table (`FROM './'`). (#634)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
### Stat-fact injection removed (#634)
|
|
2
|
+
|
|
3
|
+
#### Summary
|
|
4
|
+
|
|
5
|
+
dirsql previously injected filesystem-derived values into any DDL column named
|
|
6
|
+
`path`, `basename`, `dir`, `ext`, `size`, `mtime`, or `ctime` — filling them
|
|
7
|
+
even when the `on-file` hook emitted nothing for that column. That injection
|
|
8
|
+
layer is gone. A named table now contains **exactly what its hook emits**; a
|
|
9
|
+
declared column the hook never emits is `NULL` (standard SQL). No API signature
|
|
10
|
+
changes — this is a runtime behavior change.
|
|
11
|
+
|
|
12
|
+
#### Required changes
|
|
13
|
+
|
|
14
|
+
| Before (injected) | After (NULL unless emitted) | Fix |
|
|
15
|
+
| ----------------- | --------------------------- | --- |
|
|
16
|
+
| DDL declares `path TEXT`, hook emits neither `path` nor a value for it → column held the root-relative path | Column is `NULL` | Emit it from the hook. Config `on-file` shell hook (`$1` = abs path, `$2` = index root): `rel=${1#"$2"/}; jq -n --arg path "$rel" '[{path:$path}]'`. Rust SDK closure: `\|path\| vec![HashMap::from([("path".into(), Value::Text(path.to_string()))])]`. |
|
|
17
|
+
| DDL declares `size INTEGER`, hook emits neither → column held the file size | Column is `NULL` | Emit it from the hook: `jq -n --argjson size "$(stat -c%s "$1")" '[{size:$size}]'`, or in Rust read `std::fs::metadata(path)?.len()`. |
|
|
18
|
+
| Want stat columns with **no** hook code at all | (was injection) | Query the path directly with a path-table: `FROM './'`. |
|
|
19
|
+
|
|
20
|
+
#### Deprecations removed
|
|
21
|
+
|
|
22
|
+
_None._
|
|
23
|
+
|
|
24
|
+
#### Behavior changes without code changes
|
|
25
|
+
|
|
26
|
+
- A DDL column named `path`/`basename`/`dir`/`ext`/`size`/`mtime`/`ctime` that
|
|
27
|
+
the `on-file` hook does not emit is now `NULL` instead of an injected
|
|
28
|
+
filesystem value. Configs and SDK tables that relied on injection must emit
|
|
29
|
+
the column themselves (see the table above).
|
|
30
|
+
- A **strict** table whose DDL declares such a column but whose hook does not
|
|
31
|
+
emit it now fails schema validation (`missing columns for table …`) rather
|
|
32
|
+
than being silently filled.
|
|
33
|
+
|
|
34
|
+
#### Verification
|
|
35
|
+
|
|
36
|
+
Given `a.txt` in the index root and a non-strict table whose DDL is
|
|
37
|
+
`CREATE TABLE files (path TEXT, size INTEGER)` and whose hook emits only
|
|
38
|
+
`size`:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Config flags follow the subcommand: `dirsql query <sql> -c <cfg>`.
|
|
42
|
+
|
|
43
|
+
# Before this change (hook emits only size):
|
|
44
|
+
dirsql query "SELECT path, size FROM files" -c ./.dirsql.toml
|
|
45
|
+
# -> [{"path":"a.txt","size":42}] (path injected)
|
|
46
|
+
|
|
47
|
+
# After this change (same config):
|
|
48
|
+
dirsql query "SELECT path, size FROM files" -c ./.dirsql.toml
|
|
49
|
+
# -> [{"path":null,"size":42}] (path NULL — not emitted)
|
|
50
|
+
|
|
51
|
+
# Restore it by emitting path from the hook:
|
|
52
|
+
# on-file = 'rel=${1#"$2"/}; jq -n --arg path "$rel" '\''[{path:$path}]'\'''
|
|
53
|
+
dirsql query "SELECT path, size FROM files" -c ./.dirsql.toml
|
|
54
|
+
# -> [{"path":"a.txt", ...}] (path populated again)
|
|
55
|
+
```
|
|
@@ -547,8 +547,6 @@ impl DirSQL {
|
|
|
547
547
|
Err(e) => return vec![error_event(Some(table), rel_path, e.to_string())],
|
|
548
548
|
};
|
|
549
549
|
|
|
550
|
-
let stat = compute_stat_virtuals(rel_path, abs_path);
|
|
551
|
-
|
|
552
550
|
let strict = *self.inner.strict_map.get(table).unwrap_or(&false);
|
|
553
551
|
|
|
554
552
|
// Normalize, snapshot the file's previous rows, and apply the
|
|
@@ -559,11 +557,6 @@ impl DirSQL {
|
|
|
559
557
|
Ok(g) => g,
|
|
560
558
|
Err(e) => return vec![error_event(Some(table), rel_path, e.to_string())],
|
|
561
559
|
};
|
|
562
|
-
let declared_columns = match db.get_table_columns(table) {
|
|
563
|
-
Ok(cols) => cols,
|
|
564
|
-
Err(e) => return vec![error_event(Some(table), rel_path, e.to_string())],
|
|
565
|
-
};
|
|
566
|
-
let raw_rows = merge_filesystem_facts(raw_rows, &stat, &declared_columns);
|
|
567
560
|
let mut new_rows = Vec::with_capacity(raw_rows.len());
|
|
568
561
|
for raw in &raw_rows {
|
|
569
562
|
match db.normalize_row(table, raw, strict) {
|
|
@@ -840,10 +833,6 @@ impl DirSQL {
|
|
|
840
833
|
message: e.to_string(),
|
|
841
834
|
})?;
|
|
842
835
|
|
|
843
|
-
let stat_virtuals = compute_stat_virtuals(&rel_path, &abs_path);
|
|
844
|
-
let declared_columns = db.get_table_columns(&table_name).map_err(map_db_error)?;
|
|
845
|
-
let raw_rows = merge_filesystem_facts(raw_rows, &stat_virtuals, &declared_columns);
|
|
846
|
-
|
|
847
836
|
// When updating an existing file in the persistent cache, drop
|
|
848
837
|
// its old rows before inserting the new ones.
|
|
849
838
|
if persist_ready.is_some() {
|
|
@@ -1475,21 +1464,14 @@ fn relative_path(root: &Path, path: &Path) -> String {
|
|
|
1475
1464
|
|
|
1476
1465
|
/// Build [`Table`] objects from a parsed config.
|
|
1477
1466
|
///
|
|
1478
|
-
/// A
|
|
1479
|
-
///
|
|
1480
|
-
///
|
|
1481
|
-
///
|
|
1482
|
-
///
|
|
1483
|
-
///
|
|
1484
|
-
///
|
|
1485
|
-
///
|
|
1486
|
-
/// file (see [`run_on_file`]): the command reads the file and prints a JSON
|
|
1487
|
-
/// array of row objects on stdout, which becomes the file's rows (filesystem
|
|
1488
|
-
/// facts are still merged on top, user values winning). `config_dir` is the
|
|
1489
|
-
/// command's working directory (the config file's parent) and `root` is the
|
|
1490
|
-
/// resolved index root exposed as the `{root}` placeholder. `timeout` bounds
|
|
1491
|
-
/// each `on-file` run; the caller resolves it from the global
|
|
1492
|
-
/// `[dirsql].hook-timeout` key, falling back to
|
|
1467
|
+
/// A config-defined table runs its `on-file` command once per matched file
|
|
1468
|
+
/// (see [`run_on_file`]): the command reads the file and prints a JSON array of
|
|
1469
|
+
/// row objects on stdout, which becomes the file's rows verbatim. The core
|
|
1470
|
+
/// injects nothing — a DDL column the hook does not emit is NULL, validated
|
|
1471
|
+
/// against the DDL as usual. `config_dir` is the command's working directory
|
|
1472
|
+
/// (the config file's parent) and `root` is the resolved index root exposed as
|
|
1473
|
+
/// the `{root}` placeholder. `timeout` bounds each `on-file` run; the caller
|
|
1474
|
+
/// resolves it from the global `[dirsql].hook-timeout` key, falling back to
|
|
1493
1475
|
/// [`command::DEFAULT_COMMAND_TIMEOUT`].
|
|
1494
1476
|
/// Whether this build declared no tables by any route — neither a config file
|
|
1495
1477
|
/// nor a programmatic table. That is exactly the state in which `files` used to
|
|
@@ -1719,33 +1701,6 @@ fn find_capture_column_collision(glob: &str, declared_columns: &[String]) -> Opt
|
|
|
1719
1701
|
.find(|name| declared.contains(name.as_str()))
|
|
1720
1702
|
}
|
|
1721
1703
|
|
|
1722
|
-
/// Merge filesystem-fact columns (stat virtuals) into each raw row produced by
|
|
1723
|
-
/// an on_file closure. Auto-injected keys are filtered to those declared in
|
|
1724
|
-
/// `declared_columns`, so a strict-mode table with a minimal DDL is not broken
|
|
1725
|
-
/// by virtuals it didn't ask for. User-provided values in `raw_rows` win over
|
|
1726
|
-
/// auto-injected values: an on_file that explicitly emits e.g. `path` is
|
|
1727
|
-
/// honored.
|
|
1728
|
-
fn merge_filesystem_facts(raw_rows: Vec<Row>, stat: &Row, declared_columns: &[String]) -> Vec<Row> {
|
|
1729
|
-
let declared: std::collections::HashSet<&str> =
|
|
1730
|
-
declared_columns.iter().map(String::as_str).collect();
|
|
1731
|
-
|
|
1732
|
-
raw_rows
|
|
1733
|
-
.into_iter()
|
|
1734
|
-
.map(|raw| {
|
|
1735
|
-
let mut merged = Row::new();
|
|
1736
|
-
for (k, v) in stat {
|
|
1737
|
-
if declared.contains(k.as_str()) {
|
|
1738
|
-
merged.insert(k.clone(), v.clone());
|
|
1739
|
-
}
|
|
1740
|
-
}
|
|
1741
|
-
for (k, v) in raw {
|
|
1742
|
-
merged.insert(k, v);
|
|
1743
|
-
}
|
|
1744
|
-
merged
|
|
1745
|
-
})
|
|
1746
|
-
.collect()
|
|
1747
|
-
}
|
|
1748
|
-
|
|
1749
1704
|
/// Async wrapper around [`DirSQL`] whose constructor returns immediately while
|
|
1750
1705
|
/// the initial scan runs on a background thread.
|
|
1751
1706
|
///
|
|
@@ -2157,7 +2112,7 @@ mod internal_tests {
|
|
|
2157
2112
|
let db = DirSQL::with_ignore_and_fs(
|
|
2158
2113
|
&root,
|
|
2159
2114
|
vec![Table::new(
|
|
2160
|
-
"CREATE TABLE items (name TEXT
|
|
2115
|
+
"CREATE TABLE items (name TEXT)",
|
|
2161
2116
|
"**/*.txt",
|
|
2162
2117
|
|_| {
|
|
2163
2118
|
vec![Row::from_iter([(
|
|
@@ -2174,10 +2129,9 @@ mod internal_tests {
|
|
|
2174
2129
|
let events = db.process_file_event(FileEvent::Created(abs));
|
|
2175
2130
|
assert_eq!(events.len(), 1, "expected one insert: {events:?}");
|
|
2176
2131
|
match &events[0] {
|
|
2177
|
-
RowEvent::Insert {
|
|
2132
|
+
RowEvent::Insert { file_path, .. } => {
|
|
2178
2133
|
assert_eq!(
|
|
2179
|
-
|
|
2180
|
-
Some(&Value::Text("nested/a.txt".to_string())),
|
|
2134
|
+
file_path, "nested/a.txt",
|
|
2181
2135
|
"watch_root prefix must be stripped to a root-relative path"
|
|
2182
2136
|
);
|
|
2183
2137
|
}
|
|
@@ -2195,7 +2149,7 @@ mod internal_tests {
|
|
|
2195
2149
|
let mut db = DirSQL::with_ignore_and_fs(
|
|
2196
2150
|
&root,
|
|
2197
2151
|
vec![Table::new(
|
|
2198
|
-
"CREATE TABLE items (name TEXT
|
|
2152
|
+
"CREATE TABLE items (name TEXT)",
|
|
2199
2153
|
"**/*.txt",
|
|
2200
2154
|
|_| {
|
|
2201
2155
|
vec![Row::from_iter([(
|
|
@@ -2215,10 +2169,9 @@ mod internal_tests {
|
|
|
2215
2169
|
let events = db.process_file_event(FileEvent::Created(abs));
|
|
2216
2170
|
assert_eq!(events.len(), 1, "expected one insert: {events:?}");
|
|
2217
2171
|
match &events[0] {
|
|
2218
|
-
RowEvent::Insert {
|
|
2172
|
+
RowEvent::Insert { file_path, .. } => {
|
|
2219
2173
|
assert_eq!(
|
|
2220
|
-
|
|
2221
|
-
Some(&Value::Text("b.txt".to_string())),
|
|
2174
|
+
file_path, "b.txt",
|
|
2222
2175
|
"root fallback must strip the user-supplied root prefix"
|
|
2223
2176
|
);
|
|
2224
2177
|
}
|
|
@@ -3089,37 +3042,6 @@ mod internal_tests {
|
|
|
3089
3042
|
);
|
|
3090
3043
|
}
|
|
3091
3044
|
|
|
3092
|
-
#[test]
|
|
3093
|
-
fn merge_filesystem_facts_filters_to_declared_columns() {
|
|
3094
|
-
let mut stat = Row::new();
|
|
3095
|
-
stat.insert("path".to_string(), Value::Text("2024-01/a.txt".into()));
|
|
3096
|
-
stat.insert("size".to_string(), Value::Integer(9));
|
|
3097
|
-
let raw = vec![Row::from_iter([(
|
|
3098
|
-
"name".to_string(),
|
|
3099
|
-
Value::Text("x".into()),
|
|
3100
|
-
)])];
|
|
3101
|
-
let declared = vec!["name".to_string(), "path".to_string()];
|
|
3102
|
-
let merged = merge_filesystem_facts(raw, &stat, &declared);
|
|
3103
|
-
assert_eq!(merged.len(), 1);
|
|
3104
|
-
let row = &merged[0];
|
|
3105
|
-
assert_eq!(row["path"], Value::Text("2024-01/a.txt".into()));
|
|
3106
|
-
assert!(!row.contains_key("size"), "undeclared stat dropped");
|
|
3107
|
-
assert_eq!(row["name"], Value::Text("x".into()));
|
|
3108
|
-
}
|
|
3109
|
-
|
|
3110
|
-
#[test]
|
|
3111
|
-
fn merge_filesystem_facts_raw_value_wins_over_stat() {
|
|
3112
|
-
let mut stat = Row::new();
|
|
3113
|
-
stat.insert("path".to_string(), Value::Text("auto".into()));
|
|
3114
|
-
let raw = vec![Row::from_iter([(
|
|
3115
|
-
"path".to_string(),
|
|
3116
|
-
Value::Text("explicit".into()),
|
|
3117
|
-
)])];
|
|
3118
|
-
let declared = vec!["path".to_string()];
|
|
3119
|
-
let merged = merge_filesystem_facts(raw, &stat, &declared);
|
|
3120
|
-
assert_eq!(merged[0]["path"], Value::Text("explicit".into()));
|
|
3121
|
-
}
|
|
3122
|
-
|
|
3123
3045
|
#[test]
|
|
3124
3046
|
fn find_capture_column_collision_flags_a_placeholder_naming_a_column() {
|
|
3125
3047
|
let declared = vec!["thread_id".to_string(), "basename".to_string()];
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-plugin-discovery.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-13-repeatable-config.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-13-repeatable-cli-config.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
{dirsql-0.3.124 → dirsql-0.3.125}/packages/rust/migrations.d/2026-07-23-query-default-cli.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|