ne 7. 7. 2024 v 9:31 odesílatel Pavel Stehule <pavel.steh...@gmail.com> napsal:
> > > ne 7. 7. 2024 v 0:14 odesílatel Tom Lane <t...@sss.pgh.pa.us> napsal: > >> Michael Nolan <htf...@gmail.com> writes: >> > Shouldn't declaring a field that is also an OUT parameter throw an >> error? >> >> No. The DECLARE is a block nested within the function, >> and the parameter is declared at function scope. >> So this is a standard case of an inner declaration masking >> an outer one. >> >> Possibly plpgsql_check can be set to complain about such cases, >> but they're legal according to the language specification. >> > > yes, it does > > (2024-07-07 09:27:14) postgres=# select * from > plpgsql_check_function('test_function'); > ┌───────────────────────────────────────────────────────────────┐ > │ plpgsql_check_function │ > ╞═══════════════════════════════════════════════════════════════╡ > │ warning:00000:10:statement block:parameter "d3" is overlapped │ > │ Detail: Local variable overlap function parameter. │ > │ warning extra:00000:8:DECLARE:never read variable "d3" │ > │ warning extra:00000:unused parameter "$1" │ > │ warning extra:00000:unused parameter "$2" │ > │ warning extra:00000:unused parameter "$3" │ > │ warning extra:00000:unmodified OUT variable "d3" │ > └───────────────────────────────────────────────────────────────┘ > (7 rows) > > but looks so there are false alarms related to using an alias. It is > interesting so I have not any report about this issue, so probably using > aliases is not too common today. > I was blind, plpgsql_check is correct Regards Pavel > > Regards > > Pavel > > >> >> regards, tom lane >> >> >>