Skip to content

Docs gaps found in the 26.11.1 audit: single-pass results, transactions, types, import/export, server mode, and stale statements #267

Open

Description

@tae898

A read-only audit of the docs (docs/modules/ROOT/, README) against the code on main (a53f9cd6cc) and the 26.11.1 engine release notes found gaps a typical user hits, and statements the code contradicts. Paths below are on main.

Missing (ranked by how many users hit it)

# Gap Code
1 A ResultSet is a lazy, single-pass cursor: closed when read to the end and by first(), one(), close(); a second pass reads nothing, a closed one raises; statement errors can surface while rows are read; an unclosed set keeps scan threads parked (arcadedb.parallelScanAbandonedTimeout); count() consumes the rows src/arcadedb/results.py:315-343, :1170, :1199, :1232
2 Transactions: 26.11.1 undoes a failed statement inside a transaction and the transaction goes on (refused commit above arcadedb.txStatementSavepointMaxEntries); GraphBatch refuses to run inside a caller's transaction; set_auto_transaction(True); run_in_transaction defaults; begin/commit/rollback and nested transaction() src/arcadedb/graph_batch.py:27-35, src/arcadedb/core.py:470, :636-652, :1930
3 Python types in and out, above all datetimes: naive stored as UTC wall clock, aware converted to UTC, DATE as date, DECIMAL as Decimal src/arcadedb/type_conversion.py:324-335, :364-380, :603-617, :855-862
4 Import and export (import_documents, export_database, export_to_csv; GraphML/GraphSON not bundled), promised in the README but never shown core.py:2238, :2354, :2398; importer.py:68; exporter.py:21, :199
5 DataFrame, Arrow and column paths (insert_dataframe, insert_arrow, insert_columns; to_arrow()/to_columns() return None without pyarrow/numpy) results.py:781-808, :956-981; core.py:1053, :1200, :1278; dataframe.py:116, :377
6 Server mode: host defaults to localhost (Docker and LAN clients cannot connect), how other keys map to arcadedb.* settings, the Postgres/Redis/Bolt plugins via server_plugins, no Studio on the native server src/arcadedb/server.py:50-120, :237, :288; src/arcadedb/_native/server.py:1, :106
7 Cypher 26.11.1 vector features (CREATE VECTOR INDEX, SEARCH ... IN (VECTOR INDEX ...)) are not on the vectors page engine 26.11.1 release notes
8 Python functions in SQL/Cypher and record events (register_function, db.on), only in example 28 core.py:1954, :2015, :2030; callbacks.py:281, :351, :397
9 Record objects (new_vertex, new_document, new_edge, lookup_by_key, modify().set().save()) core.py:664, :674, :1429, :1492; graph.py:55, :241, :368
10 set_wal_flush(...), and the 26.11.1 settings arcadedb.fileSync and arcadedb.txWalGroupCommit core.py:1855
11 AsyncExecutor usage (one shared executor per database; close() closes it for all callers) async_executor.py:242, :608; core.py:2078-2100
12 One line that the Python Schema API exists schema.py
13 find_nearest_by_key, and whether find_nearest's second element is a distance (lower is closer) vector.py:768, :582-640

Wrong or stale

  • installation.adoc:117, :266 and which-package.adoc:95: jvm_kwargs "do not exist" on native; the native create_database accepts and ignores them with a warning (_native/database.py:1649-1656).
  • installation.adoc:77 lists Studio in the shared "What is included" list; the native server has none.
  • Docstrings point to pages that do not exist: graph_batch.py:35 (docs/api/graph_batch.md), core.py:1977 ("the Python functions guide"), results.py:422 ("the performance guide").
  • README.md:91 "27 runnable scripts" (29 exist); README.md:32 "Python 3.11 to 3.14" for both packages (native installs on 3.15, tested 3.11 to 3.14); README.md:35 omits the polars extra of arcadedb-jvm.
  • Sample outputs from old versions: installation.adoc:107 (26.11.1.dev2), quickstart.adoc:24 (26.10.2.post1), quickstart.adoc:136 (JVM error text), concurrency.adoc:15-20 (native row labelled alpha, 26.10.2.dev1).
  • bulk-loads.adoc: the append_samples heading reads as native-only; the JVM executor has it too.
  • The pre-release notes (README.md:27, index.adoc:27, installation.adoc:29, quickstart.adoc:21, bulk-loads.adoc:167, the README status cells) must change when the 26.11.1 finals are on PyPI.

Plan: the wrong and stale items plus rows 1, 6, 7 and 13 go into #264 before the 26.11.1 tag; the pre-release notes change on release day; rows 2 to 5 and 8 to 12 follow as their own PRs after the release, the 26.11.1 transaction behaviour checked by a test first.

Activity

  1. added
    concurrencyThreads, transactions and conflicts
    performanceSpeed or memory of the bindings, with a measurement
    vectorVector indexes and find_nearest
    on Nov 5, 2026
  2. added 18 commits that reference this issue on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    concurrencyThreads, transactions and conflictsdocumentationImprovements or additions to documentationperformanceSpeed or memory of the bindings, with a measurementvectorVector indexes and find_nearest

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions