Skip to main content
Common errors you might hit, and how to fix them. Each entry states the cause and the fix.

update / delete fails on an in-memory connection

These require durable storage. Connect with a path or s3:// URI, not memory://:
db = infino.connect("./data")   # not "memory://"

update reports a cardinality mismatch

update replaces matched rows 1:1, so the number of rows your predicate matches must equal the number of replacement rows you pass. Match a specific set (e.g. by doc_id) and supply exactly that many rows.

”Table already exists” on create_table

The table is already in the catalog. Use open_table to get a handle to the existing table, or drop_table first if you mean to recreate it.

”Unknown table” / “not found”

The table name doesn’t exist in the catalog (a typo, or it was never created). Check list_tables(). In SQL, the table name passed to a search function (bm25_search('docs', …)) must be an existing catalog table.

Schema or vector-dimension mismatch on append

Appended rows must match the table’s declared schema (column names and types). For the vector column, each vector’s length must equal the index dimension you declared in IndexSpec.vector(column, dim, …), and that must match your embedding model’s output.

Node.js: an integer column rejects a number

Arrow int64 columns expect a JavaScript bigint, not a number. Pass 2021n, not 2021 (or coerce with BigInt(x)).

Rust: “cannot have two global allocators”

Infino installs mimalloc by default. If your process already sets a global allocator, turn Infino’s off:
infino = { version = "0.1", default-features = false }

A vector query in SQL is rejected

vector_search / hybrid_search expect the query vector as a comma-separated string literal ('0.12,0.04,...') or a SQL array literal ([0.12, 0.04, ...]), not a bare column or an unquoted list.

Deleted rows still show up when reading Parquet directly

A raw Parquet read returns the rows as stored in the superfiles and does not apply tombstones. For the live view (with update / delete applied), query through Infino rather than reading the files directly. See Open format.

See also

Last modified on June 29, 2026