Files
airflow/providers
AldoandCursor Agent 50a2f28840 Use bulk ingest in AdbcHook.insert_rows when fast_executemany is set (#76363)
* Use bulk ingest in AdbcHook.insert_rows when fast_executemany is set

AdbcHook.insert_rows built an Arrow RecordBatch per commit_every chunk
and bound it with cursor.executemany. Several ADBC drivers run a bound
stream once per row, so the previous fast_executemany path was a no-op
that set cursor.fast_executemany inside suppress(AttributeError).

Route fast_executemany (now the default) to cursor.adbc_ingest in
append mode. Keep executemany when fast_executemany is False, and
always bind when replace=True because bulk ingest cannot carry the
dialect's conflict clause. Chunking, commits, target_fields, and
schema.table splitting are unchanged.

Co-authored-by: Aldo <aoelvp94@gmail.com>

* Fall back to binding when the ADBC driver has no bulk ingest

Co-authored-by: Aldo <aoelvp94@gmail.com>

* Use Logger spec and patch decorators in ADBC insert_rows tests

Match AGENTS.md: spec every mock, and prefer @mock.patch.object over
a with-block for the replace=True insert_rows tests.

Co-authored-by: Aldo <aoelvp94@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-03 16:16:15 +01:00
..
…