Thread: for statement, adding a STEP clause?

for statement, adding a STEP clause?

From
"Jaime Casanova"
Date:
Hi,

there is a chance to add a STEP clause to the FOR statement in plpgsql?

something like

FOR i IN 1..100 STEP 2 LOOP
END LOOP

the STEP value must be a positive value because of the effect of the
REVERSE clause...

i think it's just a matter of fixing  gram.y, plpgsql.h (to add
another PLpgSQL_expr to the stmt_fori) and pl_exec.c (the way the
internal variable is incremented here makes me think that i wasn't the
first one with this idea)

i'm missing something? is "STEP" a good name for this? i will make a
try tomorrow

any ideas and suggestions are welcome...

--
regards,
Jaime Casanova

"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."                          Randal L. Schwartz


Re: for statement, adding a STEP clause?

From
Tom Lane
Date:
"Jaime Casanova" <systemguards@gmail.com> writes:
> there is a chance to add a STEP clause to the FOR statement in plpgsql?

This is not free: it'd require making STEP a reserved word (at least
within plpgsql) which is contrary to spec.  I think you need to make
a pretty good case why the value of the feature outweighs breaking
applications that have perfectly-legally used "step" as an identifier.
        regards, tom lane


Re: for statement, adding a STEP clause?

From
Andrew Dunstan
Date:
Tom Lane wrote:

>"Jaime Casanova" <systemguards@gmail.com> writes:
>  
>
>>there is a chance to add a STEP clause to the FOR statement in plpgsql?
>>    
>>
>
>This is not free: it'd require making STEP a reserved word (at least
>within plpgsql) which is contrary to spec.  I think you need to make
>a pretty good case why the value of the feature outweighs breaking
>applications that have perfectly-legally used "step" as an identifier.
>  
>

This isn't available in PL/SQL, is it? That doesn't mean we shouldn't do it, of course, but it might lessen any
perceivedimperative.
 

Maybe using BY instad of STEP as the keyword would make it easier, since its occurrence in SQL makes it less likely to
beused as a variable.
 

cheers

andrew