Skip to content

Releases: itda-work/django-sqlalchemy-bridge

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 12:51
fb6d39c

What's Changed

  • feat: add execute_in and join_across for chunked IN lookups and cross-database joins (#79) by @allieus in #83
  • fix: compare JSON members of a tuple member by member on MySQL and Oracle (#76) by @allieus in #85
  • test: run join_across between every pair of SQLite, PostgreSQL, MySQL and Oracle by @allieus in #88
  • fix: convert tuple_() values by the left columns and spell Oracle JSON IN lists out (#86) by @allieus in #89
  • fix: spell MySQL's empty JSON IN list out and refuse an empty expanding JSON bindparam (#90) by @allieus in #91
  • chore: release 0.3.0rc1 by @allieus in #92
  • test: close worker threads' in-memory SQLite connections and fail the suite on warnings (#94) by @allieus in #96
  • feat: take params in execute_in and join_across (#95) by @allieus in #97
  • chore: release 0.3.0rc2 by @allieus in #98
  • docs: document empty bulk rows, join_across with no outer rows, and None outer keys (#99) by @allieus in #100
  • chore: release 0.3.0 (#93) by @allieus in #101

Full Changelog: v0.2.0...v0.3.0

v0.3.0rc2

v0.3.0rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 12:08
990707c

What's Changed

  • test: close worker threads' in-memory SQLite connections and fail the suite on warnings (#94) by @allieus in #96
  • feat: take params in execute_in and join_across (#95) by @allieus in #97
  • chore: release 0.3.0rc2 by @allieus in #98

Full Changelog: v0.3.0rc1...v0.3.0rc2

v0.3.0rc1

v0.3.0rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 11:00
92adbcb

What's Changed

  • feat: add execute_in and join_across for chunked IN lookups and cross-database joins (#79) by @allieus in #83
  • fix: compare JSON members of a tuple member by member on MySQL and Oracle (#76) by @allieus in #85
  • test: run join_across between every pair of SQLite, PostgreSQL, MySQL and Oracle by @allieus in #88
  • fix: convert tuple_() values by the left columns and spell Oracle JSON IN lists out (#86) by @allieus in #89
  • fix: spell MySQL's empty JSON IN list out and refuse an empty expanding JSON bindparam (#90) by @allieus in #91
  • chore: release 0.3.0rc1 by @allieus in #92

Full Changelog: v0.2.0...v0.3.0rc1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Oct 06:57
814f445

What's Changed

  • feat: cache compiled statements per statement object (#28) by @allieus in #29
  • feat: add tested examples of queries the ORM makes hard, and an llms.txt for AI agents (#30) by @allieus in #31
  • docs: write llms.txt and the agent snippet in English by @allieus in #33
  • docs: explain why INSERT … SELECT values need the target column type by @allieus in #40
  • feat: batch_size for bulk_update and bulk_insert (#35) by @allieus in #42
  • feat: compare column types with the live database in compare_table (#36) by @allieus in #43
  • feat: MySQL support (#37) by @allieus in #46
  • docs: add DRF and class-based view recipes (#44) by @allieus in #45
  • feat: support Oracle by @allieus in #48
  • docs: explain why SQLAlchemy Connection and Session stay out, even on a cursor shim by @allieus in #49
  • fix: convert compared values as ORM lookups and written values as ORM saves (#47) by @allieus in #52
  • feat: add execute_pipeline for PostgreSQL pipeline mode by @allieus in #53
  • docs: compare ORM and bridge implementations of the same requests (#51) by @allieus in #55
  • feat: bulk_insert(method="copy") for PostgreSQL COPY FROM STDIN (#54) by @allieus in #56
  • feat: add raw() to read bridge statements as a Django RawQuerySet (#57) by @allieus in #58
  • perf: cache result converters per connection object (#60) by @allieus in #61
  • feat: add copy_to() for PostgreSQL COPY TO STDOUT exports (#62) by @allieus in #63
  • ci: run the PostgreSQL suite again with server-side binding by @allieus in #65
  • fix: cast DecimalField expressions to NUMERIC on SQLite as the ORM does by @allieus in #66
  • feat!: drop table_for(using=) and document multi-database use by @allieus in #69
  • chore: release 0.2.0rc1 by @allieus in #70
  • fix: convert each member of a tuple IN through its column's Django field (#73) by @allieus in #75
  • fix: read expression results as the ORM reads expressions, not columns (#68) by @allieus in #77
  • fix: cast a DecimalField aggregate on SQLite wherever it appears outside its FILTER or window (#72) by @allieus in #78
  • fix: insert rows that leave every column to the database as bulk_create does (#74) by @allieus in #80
  • docs: correct the bulk_*, raw().using(), pipeline and tuple comparison notes (#71) by @allieus in #81
  • chore: release 0.2.0rc2 by @allieus in #82
  • chore: release 0.2.0 by @allieus in #84

Full Changelog: v0.1.0...v0.2.0

v0.2.0rc2

v0.2.0rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 06:43
342311a

What's Changed

  • fix: convert each member of a tuple IN through its column's Django field (#73) by @allieus in #75
  • fix: read expression results as the ORM reads expressions, not columns (#68) by @allieus in #77
  • fix: cast a DecimalField aggregate on SQLite wherever it appears outside its FILTER or window (#72) by @allieus in #78
  • fix: insert rows that leave every column to the database as bulk_create does (#74) by @allieus in #80
  • docs: correct the bulk_*, raw().using(), pipeline and tuple comparison notes (#71) by @allieus in #81
  • chore: release 0.2.0rc2 by @allieus in #82

Full Changelog: v0.2.0rc1...v0.2.0rc2

v0.2.0rc1

v0.2.0rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Oct 03:55
211ee8c

What's Changed

  • feat: cache compiled statements per statement object (#28) by @allieus in #29
  • feat: add tested examples of queries the ORM makes hard, and an llms.txt for AI agents (#30) by @allieus in #31
  • docs: write llms.txt and the agent snippet in English by @allieus in #33
  • docs: explain why INSERT … SELECT values need the target column type by @allieus in #40
  • feat: batch_size for bulk_update and bulk_insert (#35) by @allieus in #42
  • feat: compare column types with the live database in compare_table (#36) by @allieus in #43
  • feat: MySQL support (#37) by @allieus in #46
  • docs: add DRF and class-based view recipes (#44) by @allieus in #45
  • feat: support Oracle by @allieus in #48
  • docs: explain why SQLAlchemy Connection and Session stay out, even on a cursor shim by @allieus in #49
  • fix: convert compared values as ORM lookups and written values as ORM saves (#47) by @allieus in #52
  • feat: add execute_pipeline for PostgreSQL pipeline mode by @allieus in #53
  • docs: compare ORM and bridge implementations of the same requests (#51) by @allieus in #55
  • feat: bulk_insert(method="copy") for PostgreSQL COPY FROM STDIN (#54) by @allieus in #56
  • feat: add raw() to read bridge statements as a Django RawQuerySet (#57) by @allieus in #58
  • perf: cache result converters per connection object (#60) by @allieus in #61
  • feat: add copy_to() for PostgreSQL COPY TO STDOUT exports (#62) by @allieus in #63
  • ci: run the PostgreSQL suite again with server-side binding by @allieus in #65
  • fix: cast DecimalField expressions to NUMERIC on SQLite as the ORM does by @allieus in #66
  • feat!: drop table_for(using=) and document multi-database use by @allieus in #69
  • chore: release 0.2.0rc1 by @allieus in #70

Full Changelog: v0.1.0...v0.2.0rc1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 01:10
06caaac

What's Changed

  • Test harness, CI matrix and async README correction by @allieus in #9
  • feat: build sa.Table from Django models and check them for drift by @allieus in #10
  • feat: execute SQLAlchemy statements on Django's cursor (#5) by @allieus in #11
  • feat: stream rows in chunks through Django's chunked cursor (#6) by @allieus in #13
  • feat: bulk UPDATE and INSERT through unnest arrays on PostgreSQL by @allieus in #14
  • feat: arun — run a sync unit of work from async code in one thread hop by @allieus in #15
  • docs: record the spike pitfalls and the orchestration workflow in CLAUDE.md by @allieus in #16
  • feat: refuse RETURNING where the database lacks it and open jsonb operators on JSONField by @allieus in #18
  • fix: refuse statements that leave SQLAlchemy Python-side defaults unfilled (#19) by @allieus in #20
  • fix: read RETURNING columns from the compiler, not the memoized exported_columns by @allieus in #22
  • feat: add benchmarks and the README performance section (#2) by @allieus in #23
  • ci: add a manual benchmark workflow and read the newest result files by @allieus in #25
  • docs: replace the benchmark numbers with a GitHub Actions run by @allieus in #26
  • chore: release 0.1.0 by @allieus in #27

New Contributors

Full Changelog: v0.0.1...v0.1.0

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 04:16