Обсуждение: Changes to sequence.c

Поиск
Список
Период
Сортировка

Changes to sequence.c

От
"Billy G. Allie"
Дата:
I encountered a problem (bug? feature?) where "select currval('sequence')"
will generate an error if "select nextval('sequence')" is not executed first.
The attached patch will change this behaviour by reading the sequence tuple
and returning the last_value attribute if nextval has not been called on the
sequence yet.

The patched code appears to work as intended and did not have any effect on
the output of the regression test.
____       | Billy G. Allie    | Domain....: Bill.Allie@mug.org
|  /|      | 7436 Hartwell     | Compuserve: 76337,2061
|-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com
|/  |LLIE  | (313) 582-1540    |

Вложения

Re: [PATCHES] Changes to sequence.c

От
"Vadim B. Mikheev"
Дата:
Billy G. Allie wrote:
>
> I encountered a problem (bug? feature?) where "select currval('sequence')"
> will generate an error if "select nextval('sequence')" is not executed first.
> The attached patch will change this behaviour by reading the sequence tuple
> and returning the last_value attribute if nextval has not been called on the
> sequence yet.

This is feature :)
1. This is what Oracle does.
2. currval () is described as returning value returned by
   last nextval() in _session_.

Vadim

Re: [HACKERS] Re: [PATCHES] Changes to sequence.c

От
"Billy G. Allie"
Дата:
Vadim B. Mikheev wrote:
>Billy G. Allie wrote:
>>
>> I encountered a problem (bug? feature?) where "select currval('sequence')"
>> will generate an error if "select nextval('sequence')" is not executed
first.
>
>This is feature :)
>1. This is what Oracle does.
>2. currval () is described as returning value returned by
>   last nextval() in _session_.
>
>Vadim
>
Does this mean we should not modify this behavior because "this is what Oracle
does"?  I can envision where using currval() before nextval() can be useful.

--
____       | Billy G. Allie    | Domain....: Bill.Allie@mug.org
|  /|      | 7436 Hartwell     | Compuserve: 76337,2061
|-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com
|/  |LLIE  | (313) 582-1540    |



Re: [HACKERS] Re: [PATCHES] Changes to sequence.c

От
"Vadim B. Mikheev"
Дата:
Billy G. Allie wrote:
>
> Vadim B. Mikheev wrote:
> >Billy G. Allie wrote:
> >>
> >> I encountered a problem (bug? feature?) where "select currval('sequence')"
> >> will generate an error if "select nextval('sequence')" is not executed
> first.
> >
> >This is feature :)
> >1. This is what Oracle does.
> >2. currval () is described as returning value returned by
> >   last nextval() in _session_.
> >
> >Vadim
> >
> Does this mean we should not modify this behavior because "this is what Oracle
> does"?  I can envision where using currval() before nextval() can be useful.

Actually, what you are proposing was initial behaviour of currval().
This was changed to be more consistent with 1. & 2. (note - not only 1.,
but 2. also).

But personally I haven't objection against changing this again.
Men, vote pls!

Vadim