Skip to content

jsonUdtName

jsonUdtName(column): "json" | "jsonb" | "_json" | "_jsonb" | undefined

Defined in: packages/contracts/src/apply-strategy.ts:122

The Postgres udt_name of a json/jsonb column — json/jsonb for a scalar one, _json/_jsonb for an array one — and undefined for every other column. The single classifier for “is this a JSON column, and is it an array of them?”, shared by the read path’s wire decode (which parses the cell of a SCALAR json column — see envelopeToChange) and the COPY serializer’s udtName map, so the two cannot disagree about which columns carry JSON.

The array forms are reported but deliberately NOT decoded: an array column arrives (and stays) in Postgres’s own array_out text, which every apply tier hands straight back to array_in — the element JSON inside it is Postgres’s business, not ours.

SyncColumnType

"json" | "jsonb" | "_json" | "_jsonb" | undefined