# 01003 — null_value_eliminated_in_set_function

> PostgreSQL SQLSTATE 01003 names a warning for null values eliminated by a set function; the fixed core scan provides no emitting path.
---

# 01003 — null_value_eliminated_in_set_function

## At a glance {#at-a-glance}

`01003` is a warning-category condition whose name describes null elimination in a set function. No resolved 18.6 core/contrib report group was found, so no PostgreSQL aggregate, message, or client severity path is confirmed here.

<!-- BEGIN SQLSTATE FACTS: generated by scripts/generate.py; do not edit -->

| Field | Value |
| --- | --- |
| SQLSTATE | `01003` |
| Condition | `null_value_eliminated_in_set_function` |
| Status | `active` |
| Known present by | `7.4` |
| Locked snapshots | `9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3` |
| Macros | `ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION` |
| Aliases | `—` |

<!-- source facts: data/errcodes/01003.json -->
<!-- END SQLSTATE FACTS -->

## Meaning {#meaning}

The definition names null elimination in a set function, but the fixed source scan does not locate a PostgreSQL emitter. The producer may be a server extension, client, or another implementation.

## Messages and diagnostics {#messages}

No resolved 18.6 message variant was found. Preserve the original warning text, statement, aggregate or set-function context, and the server/client source that emitted it.

## Diagnosis {#diagnosis}

Identify the producer before changing the query: the SQLSTATE alone does not establish which aggregate or driver behavior occurred. Check whether the producer reported a warning, notice, or only a diagnostic code, and distinguish null elimination from a query returning no rows.

## Response {#response}

If the identified implementation documents a setting or expression change, apply that targeted change and verify the result. Do not suppress or retry every warning generically.

## Versions {#versions}

`01003` is present from the locked 9.0.23 snapshot through 18.6 and 19 Beta 3, with `known_present_by` 7.4. This establishes definition presence, not a confirmed current server emitter.

## Related {#related}

[`01004`](../01004/) is string truncation warning; [`02000`](../02000/) is no-data; [`00000`](../00000/) is successful completion.

## Sources {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L87) — definition, SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`.
- [Structured evidence](../data/evidence/01003.json) — fixed sources, message groups, and runtime boundary.
