↑↓ select↵ open⌫ change scopeOpen full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / SQLSTATE

HV090 — fdw_invalid_string_length_or_buffer_length

HV090 identifies an invalid string length or buffer length at an FDW boundary. The locked 18.6 core/contrib call scan has no resolved HV090 report group, so it does not establish a native buffer check or message.

English manual coverage begins with PostgreSQL 8.1. Source history and runtime observations have their own recorded version boundaries.

Reading PG 18·Select a recorded version

aliases
Unknown
class name
Foreign Data Wrapper Error (SQL/MED)
condition name
fdw_invalid_string_length_or_buffer_length
lang
en
sqlstate
HV090

Definition PG 18

HV090 — fdw_invalid_string_length_or_buffer_length

At a glance {#at-a-glance}

HV090 identifies an invalid string length or buffer length at an FDW boundary. The locked 18.6 core/contrib call scan has no resolved HV090 report group, so it does not establish a native buffer check or message.

Meaning {#meaning}

The condition can concern a string length, a destination buffer, or a wrapper-defined length field. The definition does not tell whether the invalid value was supplied by a remote response, a driver, or local wrapper code.

Messages and diagnostics {#messages}

No resolved 18.6 core/contrib message variant was found. Preserve the complete diagnostic, length and buffer context if exposed, encoding or type context, callback phase, and wrapper/driver version.

Diagnosis {#diagnosis}

Trace the wrapper's length validation and allocation boundary. Compare the value with the bounds and units used by that implementation, and distinguish bytes from characters only when the source or diagnostic supports it.

Response {#response}

Correct the producer or option that supplies the invalid length, or use the wrapper's supported buffer/encoding path. Avoid truncating a value blindly; confirm the wrapper's contract and whether a remote request has already been sent.

Versions {#versions}

HV090 is present in the locked definition snapshots from 9.1.24 through 18.6 and 19 Beta 3, with known_present_by 9.1.0. The available pre-9 definition material does not establish an exact introduction release.

Related {#related}

HV024 concerns an invalid attribute value; HV00A concerns invalid string format; HV091 concerns a descriptor field identifier.

Sources {#sources}

  • errcodes.txt — definition, SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.
  • fdwapi.h — generic FDW callback boundary.
  • Structured evidence — fixed 18.6 sources and bounded scan.

Compare versions

SQLSTATE evidence and recorded runtime versions

claims · identity
{
  "claim_id": "identity",
  "limits": "",
  "method": "Read the fixed errcodes definition row and macro.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "HV090 is fdw_invalid_string_length_or_buffer_length in SQL/MED Class HV."
}
claims · api-boundary
{
  "claim_id": "api-boundary",
  "limits": "Generic API context is background only and does not prove an emitting path for this SQLSTATE.",
  "method": "Read the fixed FDW callback signatures and FdwRoutine structure.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.fdwapi.18.6"
  ],
  "statement": "The condition name identifies an invalid FDW string or buffer length. The length units, buffer owner, and validation path remain implementation-specific."
}
claims · scan-boundary
{
  "claim_id": "scan-boundary",
  "limits": "This scan does not cover external wrappers, drivers, remote systems, or user callbacks; absence from the scan is not an absolute absence claim.",
  "method": "Compare resolved report groups with the fixed macro mapping.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.calls.REL_18_6",
    "src.errcodes.18.6"
  ],
  "statement": "No resolved HV090 report group was found in the locked PostgreSQL 18.6 core/contrib call scan."
}
claims · history-boundary
{
  "claim_id": "history-boundary",
  "limits": "Definition presence does not prove runtime use.",
  "method": "Compare the canonical release-definition facts with the available pre-9 source boundary.",
  "position": 3,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "The locked release definition snapshots establish presence from the known 9.1.0 boundary; the available pre-9 material does not establish an exact introduction release."
}
sources · src.errcodes.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/utils/errcodes.txt",
  "position": 0,
  "sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
  "source_id": "src.errcodes.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt"
}
sources · src.fdwapi.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/include/foreign/fdwapi.h",
  "position": 1,
  "sha256": "572ba892e6435ca92d3b3bc84dde5bbd3160cc3a082693daab8daa835c4d2cd7",
  "source_id": "src.fdwapi.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/include/foreign/fdwapi.h"
}
sources · src.calls.REL_18_6
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_18_6.jsonl",
  "position": 2,
  "sha256": "9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf",
  "source_id": "src.calls.REL_18_6",
  "tag": "",
  "url": ""
}

Source references

Full definition and evidence JSON

Definition sources

center · PostgreSQL 18 · english-manuals:17bb1a059ea7d52877cf44199ec3567ba4120651ba065920747a12a58be6390c

Text language: en · english-manuals:17bb1a059ea7d52877cf44199ec3567ba4120651ba065920747a12a58be6390c