Skip to content

A SELECT ... WHERE 1 = 0 column-existence probe against _objectstack_sequences is logged at ERROR on a normal boot, before the table exists #17175

Description

@zhuangjianguo

Found while upgrading objectstack-ai/hotclm from @objectstack/* 17.3.0 to 17.4.0 (hotclm#35 / hotclm PR #37). Filed at the destination per that repo's AGENTS.md rule for platform gaps — report, never patch. Not triaged: no domain:*, no priority, no assignee.

Symptom

On a clean single-tenant SQLite dev database, every boot after the first logs, at ERROR level:

[sql-driver] DATABASE_ERROR ... SELECT "tenant_id" FROM "_objectstack_sequences" WHERE 1 = 0
  - no such table: _objectstack_sequences

WHERE 1 = 0 is the shape of a column-existence probe — a query written to return no rows and answer only "does this column exist". The probe runs against a table that has not been created yet, the driver raises, and the raise is logged at error severity rather than being handled as the negative answer the probe was asking for.

Nothing downstream breaks: the boot completes, capabilities are not degraded, and no application data is touched.

Why it is worth a card even though nothing breaks

Consumers are told to read their boot log. objectstack-ai/hotclm's AGENTS.md says, verbatim:

A boot that logs warnings is not a passing boot. Read the startup banner. System started with degraded capabilities, no such table, or a plugin that failed to load each mean the app is running as something other than the product.

That rule now fires on a healthy boot. An app author following the documented discipline must either ignore an ERROR line — which trains them to ignore the next one, the one that matters — or chase a platform-internal probe they cannot fix. A probe's negative answer should not be indistinguishable from a real driver failure.

Version boundary

  • 17.3.0 — line absent.
  • 17.4.0 — line present.

Measured on the same application, same worktree, same clean .objectstack/data, both boots read at seeder quiescence rather than at the ready banner.

Reproduce

git clone https://github.com/objectstack-ai/hotclm && cd hotclm
pnpm install          # resolves @objectstack/* 17.4.0
rm -rf .objectstack/data
pnpm demo             # boot 1
pnpm demo             # boot 2 — the ERROR line appears here

Expected

A column-existence probe against a table that does not exist yet answers "no" without a DATABASE_ERROR at error severity — either by checking table existence first, or by classifying no such table from a WHERE 1 = 0 probe as the negative result rather than a failure.

Related

Sibling finding from the same boot, different root cause, filed separately: the sys_oauth_resource bootstrap re-insert now surfacing as an ERROR.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions