[Bug]: vec0 vector chunk tables are not reported as shadow tables

Author: burdiyanCreated Sep 14, 2026Updated Sep 14, 2026

Description

The vec0 module does not report its vector chunk backing tables as SQLite shadow tables through PRAGMA table_list.

The vec0ShadowName callback recognizes names such as rowids, chunks, auxiliary, info, and metadatachunksNN, but it does not recognize vector_chunksNN.

Reproduction

sql
CREATE VIRTUAL TABLE embeddings USING vec0(
  embedding int8[384]
);

SELECT name, type
FROM pragma_table_list
WHERE name LIKE embeddings%
ORDER BY name;

Expected

embeddings_vector_chunks00 should be reported with type = shadow, like the other vec0 backing tables.

Actual

embeddings_vector_chunks00 is reported with type = table.

This makes generic schema introspection and code generators include the implementation table as if it were an application table. SQLite documents the xShadowName module callback as the mechanism used to identify virtual-table shadow tables.

Suggested fix

Include the vector_chunksNN shadow-table names in vec0ShadowName, including the names generated for each supported vector column and index mode.