st 24. 8. 2022 v 10:04 odesílatel Erik Rijkers <er@xs4all.nl> napsal:
Op 24-08-2022 om 08:37 schreef Pavel Stehule: >> > > I fixed these. >
> [v20220824-1-*.patch]
Hi Pavel,
I noticed just now that variable assignment (i.e., LET) unexpectedly (for me anyway) cast the type of the input value. Surely that's wrong? The documentation says clearly enough:
'The result must be of the same data type as the session variable.'
Example:
create variable x integer; let x=1.5; select x, pg_typeof(x); x | pg_typeof ---+----------- 2 | integer (1 row)
Is this correct?
If such casts (there are several) are intended then the text of the documentation should be changed.
I changed this
@@ -58,8 +58,9 @@ LET <replaceable class="parameter">session_variable</replaceable> = DEFAULT <term><literal>sql_expression</literal></term> <listitem> <para> - An SQL expression, in parentheses. The result must be of the same data type as the session - variable. + An SQL expression (can be subquery in parenthesis). The result must + be of castable to the same data type as the session variable (in + implicit or assignment context). </para> </listitem> </varlistentry>