Skip to content

Conversation

@cofin
Copy link
Member

@cofin cofin commented Nov 4, 2025

  • Added select_to_storage method to to all backends
  • Introduced StorageDriverMixin to provide common storage functionality across sync and async drivers.
  • Enhanced DatabaseConfigProtocol to include storage capabilities and caching mechanisms.
  • Created StoragePipeline classes for handling storage operations, including writing rows and Arrow tables.
  • Added telemetry support for storage operations to track metrics such as bytes processed and duration.
  • Implemented error handling for storage capabilities with StorageCapabilityError.
  • Added unit tests for storage capabilities in configuration.

cofin added 14 commits November 4, 2025 07:18
…and async drivers

- Added `select_to_storage` method to `AdbcDriver`, `AsyncpgDriver`, and `DuckDBDriver` for streaming query results to storage.
- Introduced `StorageDriverMixin` to provide common storage functionality across sync and async drivers.
- Enhanced `DatabaseConfigProtocol` to include storage capabilities and caching mechanisms.
- Created `StoragePipeline` classes for handling storage operations, including writing rows and Arrow tables.
- Added telemetry support for storage operations to track metrics such as bytes processed and duration.
- Implemented error handling for storage capabilities with `StorageCapabilityError`.
- Added unit tests for storage capabilities in configuration.
…dapters

- Added support for native Arrow and Parquet export in Aiosqlite, Asyncmy, Asyncpg, BigQuery, DuckDB, OracleDB, Psqlpy, and Psycopg configurations.
- Implemented `select_to_storage` method in Aiosqlite, Asyncmy, Asyncpg, BigQuery, DuckDB, OracleDB, Psqlpy, and Psycopg drivers to facilitate streaming Arrow results to storage.
- Introduced `load_from_arrow` and `load_from_storage` methods in DuckDB driver for loading Arrow data and reading from storage.
- Enhanced storage pipeline with methods for reading Arrow data from storage synchronously and asynchronously.
- Updated storage mixin to include Arrow table coercion and telemetry building for ingest operations.
- Simplified method calls in PsycopgSyncDriver and PsycopgAsyncDriver for better readability.
- Added support for native Arrow import and export in SqliteConfig.
- Implemented load_from_arrow and load_from_storage methods in SqliteDriver to handle Arrow data ingestion.
- Introduced telemetry enhancements to track source and backend information during storage operations.
- Added integration tests for AioSQLite, AsyncMy, and SQLite adapters to validate storage bridge functionality.
- Improved diagnostics for storage bridge metrics and serializer cache.
- Cleaned up redundant code in various driver classes and storage pipeline methods.
…ridge tests

refactor(tests): Simplify connection casting in SQLite driver tests
@cofin cofin merged commit 5a33229 into main Nov 5, 2025
16 checks passed
@cofin cofin deleted the feat/storage-driver-bridge branch November 5, 2025 03:49
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