Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/UPSTREAM.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ before it is filed.
| 2026-09-04 | SingleStore Connector/ODBC | [memsql/singlestore-odbc-connector#45](https://github.com/memsql/singlestore-odbc-connector/issues/45) | `SQLGetTypeInfo` fails `42S22 Unknown column 'json' in 'field list' (1054)` whenever `sql_mode` contains `ANSI_QUOTES`: the type-info result set is built from a template with double-quoted string literals (`ma_info.c`), which that mode turns into identifiers. `SQLTables`/`SQLColumns`/queries unaffected; MySQL Connector/ODBC fine on the same server. | **fixed** — **fix PR [#48](https://github.com/memsql/singlestore-odbc-connector/pull/48) (ours)**, opened 2026-09-17, approved and merged 2026-09-23 by the maintainer (Pavlo Mishchenko), merge commit `182ae5b515`, closing the issue the same minute: single-quoted literals in the template, with a test under `ANSI_QUOTES`. Verified against SingleStore 9.1.1, and the driver was rebuilt from the merged branch here on 2026-09-23 with the whole `info` suite green in both the client-side and the server-side prepared-statement modes. Review asked for the test to run on its own connection, following the project's `odbc143`, and to restore `sql_mode` before disconnecting; both landed in the second commit. Not yet in a release: `master` is still 1.2.2, so the shipped-in line waits for the next tag |
| 2026-09-05 | ArcadeDB | [ArcadeData/arcadedb#7178](https://github.com/ArcadeData/arcadedb/issues/7178) (opened by the maintainer from the [discussion follow-up](https://github.com/ArcadeData/arcadedb/discussions/6888#discussioncomment-18309009)) | The Arrow native PostgreSQL ADBC driver cannot connect to ArcadeDB's PostgreSQL-protocol plugin: its type-resolver bootstrap `SELECT oid, typname, typreceive, typbasetype, typrelid, typarray FROM pg_catalog.pg_type WHERE …` is answered with zero columns (`Expected 5 or 6 columns from type resolver pg_type query but got 0`), because the emulated `pg_type` knows neither `typreceive` nor `typsend` and its WHERE parser accepts only a single equality. Found by the 2026-09-05 native-driver probe; the maintainer's own diagnosis is in the issue. | **fixed on main**: [ArcadeData/arcadedb#7179](https://github.com/ArcadeData/arcadedb/pull/7179), opened by the maintainer the same day and merged 2026-09-06 (558e6042); ships in ArcadeDB 26.10.1 (October 2026, per the maintainer) and is in `26.10.1-SNAPSHOT` now. Verified on the PR's CI build with the fixture types present: the native driver connects and `GetObjects` lists the types; with the driver's defaults it then stops at the first result set because ArcadeDB has no `COPY (…) TO STDOUT (FORMAT binary)` (the CockroachDB, CrateDB and YDB stop); with `adbc.postgresql.use_copy=false` reads work end to end and only `GetTableSchema` (its `$1::regclass::oid` lookup) returns an empty schema. Follow-up issue [#7180](https://github.com/ArcadeData/arcadedb/issues/7180) carried the driver's exact statements; its `GetTableSchema` item (the `::regclass` cast) is **fixed in [#7187](https://github.com/ArcadeData/arcadedb/pull/7187)**, merged 2026-09-06 (ec871770), verified on its CI build: five and eight fields with the right Arrow types. Binary `COPY` was tracked as [#7188](https://github.com/ArcadeData/arcadedb/issues/7188), implemented in [#7398](https://github.com/ArcadeData/arcadedb/pull/7398) on 2026-09-10 and framed like PostgreSQL's in [#7607](https://github.com/ArcadeData/arcadedb/pull/7607) on 2026-09-15; with all three, the native driver passes the whole probe with its defaults on `26.10.1-SNAPSHOT`. |
| 2026-09-06 | ArcadeDB | [ArcadeData/arcadedb#7188](https://github.com/ArcadeData/arcadedb/issues/7188) (opened by the maintainer from the probe follow-up) | `COPY (<query>) TO STDOUT`, text and binary, is not supported by the PostgreSQL-protocol plugin; the Arrow native PostgreSQL ADBC driver reads every result through binary `COPY` by default, so with defaults it stops at the first result set. The driver's `adbc.postgresql.use_copy=false` statement option reads through ordinary binary-format results and works end to end on ArcadeDB, which the issue records. | **fixed on main**: [ArcadeData/arcadedb#7398](https://github.com/ArcadeData/arcadedb/pull/7398) (merged 2026-09-10) implemented `COPY (<query>) TO STDOUT` in text, csv and binary on both protocol paths; the one framing detail left between it and the Arrow driver's default path (the binary header sent as its own `CopyData` message, [reported](https://github.com/ArcadeData/arcadedb/issues/7188#issuecomment-5647328956) with both servers' chunk dumps on 2026-09-12) was fixed by the maintainer in [ArcadeData/arcadedb#7607](https://github.com/ArcadeData/arcadedb/pull/7607), merged 2026-09-15 (3bdb3451b). Verified the same morning on `26.10.1-SNAPSHOT` build 99f4cb48: the Arrow PostgreSQL ADBC driver 1.12.0 with its defaults passes all seven probe steps and decodes real rows (int64, string, double, date32, bool) through binary COPY, no `use_copy=false` needed. The maintainer closed the issue on 2026-09-15; re-verified the same day past the probe — an empty result set (header and trailer with no rows, the case the fix names), one row, 10,000 rows in one `COPY`, a NULL in every column, non-BMP text, `GetTableSchema` and `GetObjects` — all correct with the driver's defaults. Ships in ArcadeDB 26.10.1 |
| 2026-09-04 | SingleStore Connector/ODBC | [memsql/singlestore-odbc-connector#46](https://github.com/memsql/singlestore-odbc-connector/issues/46) | `SQLColumns` with a NULL `CatalogName` segfaults the client on a connection opened without `Database=`: `TABLE_CAT` falls back to the client library's current-database field, which stays NULL after `USE`, and `strdup(NULL)` is called (`ma_statement.c`). Zero matching rows, an explicit catalog, or `Database=` in the connection string avoid it. | open — **fix PR [#47](https://github.com/memsql/singlestore-odbc-connector/pull/47) (ours)**, opened 2026-09-17: `TABLE_CAT` NULL instead of `strdup(NULL)` in `SQLColumns` and `SQLPrimaryKeys`, with a test; verified against SingleStore 9.1.1 |
| 2026-09-04 | SingleStore Connector/ODBC | [memsql/singlestore-odbc-connector#46](https://github.com/memsql/singlestore-odbc-connector/issues/46) | `SQLColumns` with a NULL `CatalogName` segfaults the client on a connection opened without `Database=`: `TABLE_CAT` falls back to the client library's current-database field, which stays NULL after `USE`, and `strdup(NULL)` is called (`ma_statement.c`). Zero matching rows, an explicit catalog, or `Database=` in the connection string avoid it. | **fixed** — **fix PR [#47](https://github.com/memsql/singlestore-odbc-connector/pull/47) (ours)**, opened 2026-09-17, approved and merged 2026-09-23 by the maintainer (Pavlo Mishchenko), merge commit `e760503629`, closing the issue the same minute and with no changes requested: `TABLE_CAT` NULL instead of `strdup(NULL)` in `SQLColumns` and `SQLPrimaryKeys`, with a test in `test/catalog2.c` for the connection shape that triggered it. Verified against SingleStore 9.1.1. Not yet in a release: `master` is still 1.2.2, so the shipped-in line waits for the next tag |
| 2026-09-21 | ArcadeDB | [ArcadeData/arcadedb#8090](https://github.com/ArcadeData/arcadedb/issues/8090) | A `DATETIME_MICROS` (also `DATETIME_NANOS`, `DATETIME`) value written as a string with a space separator **and** a fractional second — `'2024-02-29 13:45:10.123456'`, exactly the form psqlodbc renders a bound timestamp in — is stored as `NULL` while the `INSERT` reports success. Either half alone is fine: the `T` separator round-trips, and the space form without a fraction round-trips. Carried into the project's own tracker by a maintainer after we documented it in the compatibility notes, with the root cause named: a blanket catch in `Type.convert()` logs at `FINE` and returns `null`. Every PostgreSQL-wire client that binds a timestamp against a sub-second property is affected, not only this driver | **fixed** in [#8096](https://github.com/ArcadeData/arcadedb/pull/8096), merged 2026-09-22 by the project (Luca Garulli), who had filed the issue on 2026-09-21 as `severity:critical`, crediting the report and naming the root cause. The space-and-fraction form is now accepted, and a value no parser can read fails the write with an error naming it instead of storing `NULL`; reads stay lenient and return `NULL`. Verified here on `26.10.1-SNAPSHOT` (build `382ae09d`, 60 commits past the merge) on 2026-09-22: the literal and the bound parameter both round-trip to the microsecond, an unreadable value raises SQLSTATE 22023 through psqlodbc, and the column now reaches Arrow as `timestamp[us]` rather than a string. Awaiting the 26.10.1 release. ArcadeDB published an account of this and the three earlier findings on 2026-09-21: [arcadedb.com](https://arcadedb.com/blog/arcadedb-apache-arrow-adbc-postgresql-wire/) |

## Documented here, not yet reported
Expand Down
Loading