Re: [RFC] Add an until-0 loop in psql

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Corey Huinker <corey(dot)huinker(at)gmail(dot)com>
Cc: Pierre Ducroquet <pierre(dot)ducroquet(at)people-doc(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [RFC] Add an until-0 loop in psql
Date: 2018-04-28 09:37:06
Message-ID: CAFj8pRDMdWs4dr7JKvmbsTAmhT0D1revCxyoY6QuyacYwH9MFA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2018-04-28 7:36 GMT+02:00 Corey Huinker <corey(dot)huinker(at)gmail(dot)com>:

>
>
>
>>> What you don't see here is that you're using your psql process's
>>> available open file handles as a stack, and when you hit that limit psql
>>> will fail. If you remove that limit, then you get a bit further before psql
>>> segfaults on you. I think I got ~2700 files deep before that happened. Your
>>> stackage may vary.
>>>
>>> I'm not saying this is a good solution, quite the contrary. I think the
>>> sane solution is right around the corner in Version 11.
>>>
>>> Now if we just had a way of passing parameters into DO blocks...
>>>
>>
>> I hope so there will be schema (temporal) variables:
>>
>> create temp variable foo int default 10;
>>
>> do $$
>> begin
>> for i in 1..foo loop
>> raise notice '%', i;
>> end loop;
>> end;
>> $$;
>>
>
> That would be nice too.
>
> A while back, somebody explained why implementing parameters in a DO block
> was so hard, but I don't recall why, and the search terms "do" and
> "parameter" don't really narrow things down.
>

I did it too. It is not too hard - there was not a agreement on syntax.

can be nice some like CTE

WITH PROCEDURE x(a int, b int) AS ... $$ SELECT x(10);

Maybe Oracle supports this syntax

Pavel

>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2018-04-28 11:25:35 Re: WIP: a way forward on bootstrap data
Previous Message Michael Paquier 2018-04-28 07:39:35 Cold welcoming message when installing anything because of LLVM bitcode stuff