| Previous | Next |
| QUERY_E_DIR_ON_REMOVABLE_DRIVE | QUERY_E_ALLNOISE_AND_NO_RELDOC |
QUERY_S_NO_QUERY
The catalog indexes content but currently rejects queries
QUERY_S_NO_QUERY is HRESULT 0x8004160C. Windows documents it as “The catalog is in a state where indexing continues, but queries are not allowed.”
Contract and failing stage
This result belongs to legacy Windows query execution and is returned while checking query readiness while ingestion or maintenance remains active. The exact condition is: an asymmetric catalog state; despite the historical S name, 0x8004160C has failure severity.
Conditions that produce it
A failed command or empty rowset is only the visible symptom; it does not identify which restriction, projection, sort, scope, timeout or catalog state violated the query contract.
Evidence to preserve
- Compare failing and known-good values for raw value and severity under the same provider or handler version.
- Record the source and normalization path of catalog generation, not only its display form.
- Record query-readiness check before releasing the relevant objects.
- Associate duration of the state with the exact UTC timestamp and correlation identifier.
- Compare failing and known-good values for provider command text and dialect under the same provider or handler version.
Redact private literals if necessary, but keep clause boundaries, canonical properties, parameter types, dialect and parser or provider offsets.
Diagnostic sequence
- Capture raw value and severity and catalog generation at the call boundary that returns this result.
- Confirm the operation reached checking query readiness while ingestion or maintenance remains active with the intended maintenance event.
- correlate the same endpoint’s catalog generation with initialization, recovery, upgrade or administrative state.
Begin with a known-good minimal command against the same catalog and restore projection, restriction, sorting, grouping and scope one component at a time.
Recovery and retry
Use delayed bounded retry only for a documented finite transition and investigate a persistent nonqueryable state. Backoff helps only with measured transient load or timeout; it cannot repair invalid clauses, projection metadata, scopes or command state.
What the code does not prove
It does not by itself prove catalog corruption, service outage, access denial or absence of matches; the query stage and provider records must identify the failing clause or state.
Related HRESULT values
QUERY_E_TIMEDOUT means accepted work ran too long; this value rejects query service before normal execution.
Developer and administrator guidance
Retain final command text, dialect, catalog generation, parameter values, timeout, cancellation state and chained OLE DB error records. Before rebuilding the catalog or restarting the provider, reproduce the minimal command and preserve its chained errors.
Practical scenario
After recovery, document counts increase before query readiness. The client waits for an explicit ready transition instead of treating the S name as success.
Official Microsoft references
Looking for a different code? Search another status or error code.
