po 30. 11. 2020 v 16:06 odesílatel David G. Johnston <
david.g.johns...@gmail.com> napsal:

> On Mon, Nov 30, 2020 at 12:51 AM Pavel Stehule <pavel.steh...@gmail.com>
> wrote:
>
>>
>>
>> po 30. 11. 2020 v 4:24 odesílatel David G. Johnston <
>> david.g.johns...@gmail.com> napsal:
>>
>>> On Thu, Nov 26, 2020 at 12:49 AM Pavel Stehule <pavel.steh...@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> čt 26. 11. 2020 v 6:41 odesílatel David G. Johnston <
>>>> david.g.johns...@gmail.com> napsal:
>>>>
>>>>> Hackers,
>>>>>
>>>>> Bug # 16519 [1] is another report of confusion regarding trying to use
>>>>> parameters in improper locations - specifically the SET ROLE command 
>>>>> within
>>>>> pl/pgsql.  I'm re-attaching the doc patch and am adding it to the
>>>>> commitfest.
>>>>>
>>>>
>>>> I checked this patch, and I think so it is correct - my comments are
>>>> just about enhancing by some examples
>>>>
>>>>>
>>>>>
>>> Thank you for the review.
>>>
>>> v2 attached.
>>>
>>> I added examples in the two places you noted.
>>>
>>> Upon re-reading, I decided that opening up the section by including
>>> everything then fitting in parameters with an exception for utility
>>> commands (without previously/otherwise identifying them) forced some
>>> undesirable verbosity.  Instead, I opened up with the utility commands as
>>> the main body of non-result returning commands and then moved onto
>>> delete/insert/update non-returning cases when the subsequent paragraph
>>> regarding parameters can then refer to the second class (by way of
>>> excluding the first class).  This seems to flow better, IMO.
>>>
>>
>> I have no objections, but maybe these pages are a little bit unclear
>> generally, because the core of the problem is not described.
>>
>>
>
>> Personally I miss a description of the reason why variables cannot be
>> used - the description "variables cannot be used in statements without
>> result" is true, but it is not core information.
>>
>
> In the section "executing commands that don't return results" it does seem
> like core information...but I get your point.
>
>
>> The important fact is usage of an execution plan or not.
>>
>
> This is already mentioned in the linked-to section:
>
> "Variable substitution currently works only in SELECT, INSERT, UPDATE, and
> DELETE commands, because the main SQL engine allows query parameters only
> in these commands. To use a non-constant name or value in other statement
> types (generically called utility statements), you must construct the
> utility statement as a string and EXECUTE it."
>
> I didn't feel the need to repeat that material in full in the "no results"
> section.  I left that pointing out the "results" dynamic there would be
> useful since the original wording seemed to forget about the presence of
> utility commands altogether which was confusing for that section.
>

ok

Pavel


> David J.
>
>

Reply via email to