Skip to content

Commit 4832c4c

Browse files
committed
doc: explain use of json_populate_record{set}()
The set-returning nature of these functions make their use unclear. The modified paragraph was added in PG 9.4. Reported-by: yshaladi@denodo.com Discussion: https://postgr.es/m/152571684246.9460.18059951267371255159@wrigleys.postgresql.org Backpatch-through: 9.4
1 parent 1bebfb9 commit 4832c4c

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

doc/src/sgml/func.sgml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11457,14 +11457,28 @@ table2-mapping
1145711457

1145811458
<note>
1145911459
<para>
11460-
In <function>json_populate_record</>, <function>json_populate_recordset</>,
11461-
<function>json_to_record</> and <function>json_to_recordset</>,
11462-
type coercion from the JSON is <quote>best effort</> and may not result
11463-
in desired values for some types. JSON keys are matched to
11464-
identical column names in the target row type. JSON fields that do not
11465-
appear in the target row type will be omitted from the output, and
11466-
target columns that do not match any JSON field will simply be NULL.
11460+
While the examples for the functions
11461+
<function>json_populate_record</function>,
11462+
<function>json_populate_recordset</function>,
11463+
<function>json_to_record</function> and
11464+
<function>json_to_recordset</function> use constants, the typical use
11465+
would be to reference a table in the <literal>FROM</literal> clause
11466+
and use one of its <type>json</type> or <type>jsonb</type> columns
11467+
as an argument to the function. Extracted key values can then be
11468+
referenced in other parts of the query, like <literal>WHERE</literal>
11469+
clauses and target lists. Extracting multiple values in this
11470+
way can improve performance over extracting them separately with
11471+
per-key operators.
1146711472
</para>
11473+
11474+
<para>
11475+
JSON keys are matched to identical column names in the target
11476+
row type. JSON type coercion for these functions is <quote>best
11477+
effort</quote> and may not result in desired values for some types.
11478+
JSON fields that do not appear in the target row type will be
11479+
omitted from the output, and target columns that do not match any
11480+
JSON field will simply be NULL.
11481+
</para>
1146811482
</note>
1146911483

1147011484
<note>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy