unstale

pypi / elasticsearch-dbapi

elasticsearch-dbapi

What changed in elasticsearch-dbapi 0.2 to 0.3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-25.

12 breaking1 performance8 behavior and defaults6 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.6 on npm

elasticsearch-dbapi 0.326 changes

Breaking changes 12

  • Reflected byte and short fields report INTEGER, half_float reports FLOAT, scaled_float reports DOUBLE, and unsigned_long reports LONG.

    0.3.0release notes

  • Queries that may return truncated unpaged results now raise DataError instead of silently returning partial rows or groups.

    0.3.0release notes

  • Client exceptions are mapped to DB-API exceptions from es.exceptions; original Elasticsearch or OpenSearch exceptions are chained as __cause__.

    0.3.0release notes

  • Reflected double, float, half_float, and scaled_float columns use Float and Python float instead of Numeric and Decimal.

    0.3.0release notes

  • Grouped top-N queries ordered by aggregates are checked against the bucket ceiling and raise DataError when results may be incomplete; safe listings incur an additional SQL request.

    0.3.0release notes

  • An explicit LIMIT on a v2 plain SELECT bypasses plugins.query.size_limit; limits above 10000 use SQL cursors and raise DataError if cursors are unavailable.

    0.3.0release notes

  • Grouped-field ordering with OFFSET is probed and raises DataError at the bucket ceiling rather than silently returning incomplete results.

    0.3.0release notes

  • Open Distro plain SELECTs now return every row by requesting a search-window-sized result and paging with the SQL cursor when needed; unavailable cursors beyond 10000 rows raise DataError.

    0.3.0release notes

  • Full result sets are now fetched and held in memory. Add a LIMIT when querying large indices.

    0.3.0release notes

  • A subquery returning more than 10000 rows raises DataError because the SQL plugin cannot page it; narrow the subquery or use a physical dataset.

    0.3.0release notes

  • Supported SQL temporal values are returned as datetime, date, or time objects instead of strings; timezone-aware Elasticsearch values are normalized to UTC.

    0.3.0release notes

  • v2=false now disables v2 mode and keeps the legacy engine, rather than switching v2 mode on.

    0.3.0release notes

Performance 1

Behavior and default changes 7

  • Boolean URL arguments accept true/1/yes/on and false/0/no/off.

    0.3.0release notes

  • has_table returns true for aliases.

    0.3.0release notes

  • OpenSearch 1.x v2 plain SELECTs remain on the v2 engine to preserve floating values and timestamp objects; version discovery is best effort and cached.

    0.3.0release notes

  • The OpenSearch dialect supports OpenSearch 3, including its default SQL endpoint and unqualified single-table columns.

    0.3.0release notes

  • Table and view listing and the OpenSearch SELECT 1 ping work without cluster privileges.

    0.3.0release notes

  • The default OpenSearch SQL endpoint is _plugins/_sql; the driver falls back once to _opendistro/_sql when the endpoint is missing. An explicit setting is not replaced.

    0.3.0release notes

  • The OpenSearch dialect ignores and drops time_zone; the SQL plugin returns UTC. Remove the URL argument to silence the warning and convert to local time in the application.

    0.3.0release notes

Fixes and other changes 6

  • Elasticsearch and OpenSearch plain SELECT results are fetched across pages instead of being cut off at the first fetch_size page.

    0.3.0release notes

  • LIMIT queries on a v2 connection stay on v2, preserving its functions and timestamp result types instead of taking the legacy path.

    0.3.0release notes

  • Reflected fields report their corresponding SQL types, including DOUBLE, FLOAT, INTEGER, LONG, and BOOLEAN, rather than a generic LONG or FLOAT.

    0.3.0release notes

  • server_version_info is populated from the cluster.

    0.3.0release notes

  • Statements over subqueries now apply outer filters and limits correctly; subqueries receive an explicit search-window LIMIT and run on v2.

    0.3.0release notes

  • The legacy engine no longer confuses a table-qualified column with a select-list alias of the same name; aliases are renamed in the sent statement and restored in results.

    0.3.0release notes

elasticsearch-dbapi 0.21 changes

Behavior and default changes 1

  • OpenSearch queries now support removing default from the query.

    0.2.13release notes