mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
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
This commit is contained in:
parent
645929c545
commit
faff43e6d2
@ -11018,14 +11018,28 @@ table2-mapping
|
|||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
In <function>json_populate_record</>, <function>json_populate_recordset</>,
|
While the examples for the functions
|
||||||
<function>json_to_record</> and <function>json_to_recordset</>,
|
<function>json_populate_record</function>,
|
||||||
type coercion from the JSON is <quote>best effort</> and may not result
|
<function>json_populate_recordset</function>,
|
||||||
in desired values for some types. JSON keys are matched to
|
<function>json_to_record</function> and
|
||||||
identical column names in the target row type. JSON fields that do not
|
<function>json_to_recordset</function> use constants, the typical use
|
||||||
appear in the target row type will be omitted from the output, and
|
would be to reference a table in the <literal>FROM</literal> clause
|
||||||
target columns that do not match any JSON field will simply be NULL.
|
and use one of its <type>json</type> or <type>jsonb</type> columns
|
||||||
|
as an argument to the function. Extracted key values can then be
|
||||||
|
referenced in other parts of the query, like <literal>WHERE</literal>
|
||||||
|
clauses and target lists. Extracting multiple values in this
|
||||||
|
way can improve performance over extracting them separately with
|
||||||
|
per-key operators.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
JSON keys are matched to identical column names in the target
|
||||||
|
row type. JSON type coercion for these functions is <quote>best
|
||||||
|
effort</quote> and may not result in desired values for some types.
|
||||||
|
JSON fields that do not appear in the target row type will be
|
||||||
|
omitted from the output, and target columns that do not match any
|
||||||
|
JSON field will simply be NULL.
|
||||||
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user