dirsql 0.4.1__tar.gz → 0.4.2__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.4.1 → dirsql-0.4.2}/Cargo.lock +1 -1
- {dirsql-0.4.1 → dirsql-0.4.2}/PKG-INFO +1 -1
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/Cargo.toml +1 -1
- dirsql-0.4.2/packages/python/e2e-attestations/claude-710-accumulate-onfile.json +7 -0
- dirsql-0.4.2/packages/rust/changelog.d/2026-07-29-on-file-failures-accumulate.md +8 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/lib.rs +60 -5
- dirsql-0.4.1/packages/python/e2e-attestations/claude-tackle-698-bz6ere.json +0 -7
- {dirsql-0.4.1 → dirsql-0.4.2}/Cargo.toml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/_async.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/_dirsql.pyi +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/binary_path.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/discover_plugins/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/discover_plugins/discovered_fragments.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/discover_plugins/discovery_disabled.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/discover_plugins/fragment_path.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/discover_plugins/user_passed_config.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/discover_plugins/with_discovered_plugins.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/is_windows.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/main.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/cli/resolve_config_extensions.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/py.typed +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/resolve_config_extensions.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/dirsql/resolve_extension.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/AGENTS.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/explanation.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/getting-started.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/embed.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/persist.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/index.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/migrations.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/package.json +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/cli.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/columns.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/hooks.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/http-api.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/docs/reference/sdk.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/CHANGELOG.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/MIGRATIONS.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-plugin-discovery.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-repeatable-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/conftest.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/.claude/CLAUDE.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/.vitepress/config.ts +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/.vitepress/theme/index.ts +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/.vitepress/theme/lang.ts +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/AGENTS.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/explanation.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/getting-started.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/embed.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/persist.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/index.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/migrations.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/package.json +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/pnpm-lock.yaml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/pnpm-workspace.yaml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/cli.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/columns.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/hooks.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/http-api.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/docs/reference/sdk.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-29-restore-python-310.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/src/lib.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/conftest.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/e2e/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/integration/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/integration/binding/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/integration/hermetic/__init__.py +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/CHANGELOG.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/Cargo.toml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/MIGRATIONS.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/benches/db_bench.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/benches/differ_bench.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/benches/matcher_bench.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/benches/scanner_bench.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-repeatable-cli-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-19-path-table-vtab.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-20-schema-inference.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-21-on-file-flag.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/explanation.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/getting-started.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/columns-from-paths.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/define-tables.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/embed.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/extract-from-contents.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/load-extension.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/parse-files-into-columns.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/persist.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/query-without-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/react-to-changes.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/search-by-meaning.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/skip-files.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/howto/write-a-plugin.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/index.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/migrations.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/cli.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/columns.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/hooks.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/http-api.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/path-tables.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/docs/reference/sdk.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-persist-wal.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-21-remove-glob-captures.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-23-query-default-cli.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/README.md +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/bin/dirsql.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/cli/execute.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/cli/init.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/cli/mod.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/cli/router.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/cli/serialize.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/cli/server.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/command.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/config.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/db.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/default_config.toml +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/differ.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/infer.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/matcher.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/parsed_vtab.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/path_table.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/persist.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/scanner.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/vtab.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/src/watcher.rs +0 -0
- {dirsql-0.4.1 → dirsql-0.4.2}/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.4.
|
|
7
|
+
version = "0.4.2"
|
|
8
8
|
# abi3 note: the `abi3-py310` pyo3 feature (below) builds ONE stable-ABI
|
|
9
9
|
# `cp310-abi3` wheel per platform that loads on every CPython >= 3.10
|
|
10
10
|
# (matching `pyproject.toml`'s `requires-python = ">=3.10"`), instead of
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
**Changed** — a scan now attempts every matched file instead of stopping at the
|
|
2
|
+
first whose `on-file` hook fails, and reports every failure rather than only the
|
|
3
|
+
first. A single failure still raises `DirSqlError::OnFile` unchanged; several
|
|
4
|
+
now raise a new `DirSqlError::OnFileMany` carrying one `OnFileFailure { path,
|
|
5
|
+
message }` per file.
|
|
6
|
+
|
|
7
|
+
A scan with failures still fails and still leaves the cache exactly as it was —
|
|
8
|
+
only the reporting improved. Committing a partial index is tracked in #697.
|
|
@@ -78,6 +78,16 @@ pub const DEFAULT_CONFIG_TOML: &str = include_str!("default_config.toml");
|
|
|
78
78
|
type BoxError = Box<dyn StdError + Send + Sync + 'static>;
|
|
79
79
|
type OnFileFn = dyn Fn(&str) -> std::result::Result<Vec<Row>, BoxError> + Send + Sync + 'static;
|
|
80
80
|
|
|
81
|
+
/// One file whose on-file hook failed, carried so a scan can report every
|
|
82
|
+
/// failure rather than only whichever came first.
|
|
83
|
+
#[derive(Debug, Clone, PartialEq, Eq)]
|
|
84
|
+
pub struct OnFileFailure {
|
|
85
|
+
/// Path relative to the scan root.
|
|
86
|
+
pub path: String,
|
|
87
|
+
/// The hook's error, as rendered by its `Display`.
|
|
88
|
+
pub message: String,
|
|
89
|
+
}
|
|
90
|
+
|
|
81
91
|
#[derive(Debug, Error)]
|
|
82
92
|
pub enum DirSqlError {
|
|
83
93
|
#[error(transparent)]
|
|
@@ -122,6 +132,20 @@ pub enum DirSqlError {
|
|
|
122
132
|
#[error("on-file error for {path}: {message}")]
|
|
123
133
|
OnFile { path: String, message: String },
|
|
124
134
|
|
|
135
|
+
/// Several files' on-file hooks failed during one scan. A scan attempts
|
|
136
|
+
/// every matched file, so more than one can fail; reporting only the first
|
|
137
|
+
/// would make the rest invisible until it was fixed and the scan re-run.
|
|
138
|
+
#[error(
|
|
139
|
+
"{} files failed their on-file hook:\n{}",
|
|
140
|
+
.failures.len(),
|
|
141
|
+
.failures
|
|
142
|
+
.iter()
|
|
143
|
+
.map(|OnFileFailure { path, message }| format!(" {path}: {message}"))
|
|
144
|
+
.collect::<Vec<_>>()
|
|
145
|
+
.join("\n")
|
|
146
|
+
)]
|
|
147
|
+
OnFileMany { failures: Vec<OnFileFailure> },
|
|
148
|
+
|
|
125
149
|
#[error("config error: {message}")]
|
|
126
150
|
Config {
|
|
127
151
|
message: String,
|
|
@@ -816,6 +840,7 @@ impl DirSQL {
|
|
|
816
840
|
}
|
|
817
841
|
|
|
818
842
|
let snapshot_ns = now_ns();
|
|
843
|
+
let mut on_file_failures: Vec<OnFileFailure> = Vec::new();
|
|
819
844
|
for ScannedFile {
|
|
820
845
|
rel_path,
|
|
821
846
|
table_name,
|
|
@@ -827,11 +852,20 @@ impl DirSQL {
|
|
|
827
852
|
})?;
|
|
828
853
|
let strict = *strict_map.get(&table_name).unwrap_or(&false);
|
|
829
854
|
let abs_path = root.join(&rel_path);
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
855
|
+
// A hook failure is this file's problem, not the scan's: record it
|
|
856
|
+
// and keep going, so one unreadable file cannot hide the state of
|
|
857
|
+
// every file after it. The collected failures still fail the build
|
|
858
|
+
// below -- whether a partial index commits is dirsql#697.
|
|
859
|
+
let raw_rows = match on_file(&abs_path.to_string_lossy()) {
|
|
860
|
+
Ok(rows) => rows,
|
|
861
|
+
Err(e) => {
|
|
862
|
+
on_file_failures.push(OnFileFailure {
|
|
863
|
+
path: rel_path.clone(),
|
|
864
|
+
message: e.to_string(),
|
|
865
|
+
});
|
|
866
|
+
continue;
|
|
867
|
+
}
|
|
868
|
+
};
|
|
835
869
|
|
|
836
870
|
// When updating an existing file in the persistent cache, drop
|
|
837
871
|
// its old rows before inserting the new ones.
|
|
@@ -870,6 +904,27 @@ impl DirSQL {
|
|
|
870
904
|
write_meta(db.conn(), meta).map_err(DirSqlError::sqlite)?;
|
|
871
905
|
}
|
|
872
906
|
|
|
907
|
+
// Returning before the commit drops `_tx`, so a scan with failures
|
|
908
|
+
// still leaves the cache exactly as it was -- the pre-existing
|
|
909
|
+
// behavior. The single-failure case keeps its original error verbatim;
|
|
910
|
+
// only the multi-failure case reports more than it used to. Whether a
|
|
911
|
+
// partial index should commit instead is dirsql#697.
|
|
912
|
+
match on_file_failures.len() {
|
|
913
|
+
0 => {}
|
|
914
|
+
1 => {
|
|
915
|
+
let only = on_file_failures.remove(0);
|
|
916
|
+
return Err(DirSqlError::OnFile {
|
|
917
|
+
path: only.path,
|
|
918
|
+
message: only.message,
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
_ => {
|
|
922
|
+
return Err(DirSqlError::OnFileMany {
|
|
923
|
+
failures: on_file_failures,
|
|
924
|
+
});
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
|
|
873
928
|
// Commit the ingest transaction.
|
|
874
929
|
_tx.commit().map_err(DirSqlError::sqlite)?;
|
|
875
930
|
|
|
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.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/changelog.d/2026-07-24-remove-stat-fact-injection.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
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-21-remove-glob-captures.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/migrations.d/2026-07-24-remove-stat-fact-injection.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/__init__.py
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/python/tests/e2e/fixtures/dirsql_plugin_fixture/dirsql.toml
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
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-batch-ingest-transaction.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-chained-pre-post-query-hooks.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-fan-out-file-table-matching.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-repeatable-builder-config.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-13-subcommand-local-config-flags.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-19-path-table-query-fallback.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/changelog.d/2026-07-24-remove-stat-fact-injection.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
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-drop-cwd-config-auto-detect.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-fan-out-file-table-matching.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-rename-extract-to-on-file.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-sdk-default-baked-in-config.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-13-subcommand-local-config-flags.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-20-drop-implicit-files-table.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-20-path-table-glob-semantics.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-23-init-escalation-example.md
RENAMED
|
File without changes
|
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-24-hookless-table-config-error.md
RENAMED
|
File without changes
|
{dirsql-0.4.1 → dirsql-0.4.2}/packages/rust/migrations.d/2026-07-24-remove-stat-fact-injection.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
|