Thread: plpgsql: support identif%TYPE[], (from ToDo)
Hello I would to solve some points from ToDo. I began with TYPE [] support. I thing, so this should be relative simple, but there are one issue. There are syntax for declare array from scalar type - create or replace function x(a int) returns ... as $$ declare f a%type[] <-- begin ... but there are not syntax for inversion - scalar from array. Theoretically we could to define variable with same type (array) and everywhere work with first element. Or we should to define some syntax: My first idea is using word element: create or replace function x(a int[]) ... declare f a%element; begin ... any ideas? regards Pavel
On Tue, Jul 28, 2009 at 10:53:08PM +0200, Pavel Stehule wrote: > Hello > > I would to solve some points from ToDo. I began with TYPE [] support. > I thing, so this should be relative simple, but there are one issue. <snip> > My first idea is using word element: > > create or replace function x(a int[]) > ... > declare f a%element; > begin > ... I would have thought: declare f a[0]%type; as in: the type of a[0]. Perhaps a[]%type but that seems less natural. Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Please line up in a tree and maintain the heap invariant while > boarding. Thank you for flying nlogn airlines.
Pavel Stehule <pavel.stehule@gmail.com> writes: > I would to solve some points from ToDo. I began with TYPE [] support. plpgsql's %type support is a crock that's going to have to be rewritten from the ground up as soon as we consolidate the lexer with the core. I wouldn't suggest spending any time in that area now. regards, tom lane
2009/7/29 Tom Lane <tgl@sss.pgh.pa.us>: > Pavel Stehule <pavel.stehule@gmail.com> writes: >> I would to solve some points from ToDo. I began with TYPE [] support. > > plpgsql's %type support is a crock that's going to have to be rewritten > from the ground up as soon as we consolidate the lexer with the core. > I wouldn't suggest spending any time in that area now. ook Pavel > > regards, tom lane >
On Wed, Jul 29, 2009 at 1:44 AM, Pavel Stehule<pavel.stehule@gmail.com> wrote: > 2009/7/29 Tom Lane <tgl@sss.pgh.pa.us>: >> Pavel Stehule <pavel.stehule@gmail.com> writes: >>> I would to solve some points from ToDo. I began with TYPE [] support. >> >> plpgsql's %type support is a crock that's going to have to be rewritten >> from the ground up as soon as we consolidate the lexer with the core. >> I wouldn't suggest spending any time in that area now. > > ook There's also the fact that we still have almost half the patches in this CommitFest that have yet to be closed out. If you're looking for something to do.... ...Robert
2009/7/29 Robert Haas <robertmhaas@gmail.com>: > On Wed, Jul 29, 2009 at 1:44 AM, Pavel Stehule<pavel.stehule@gmail.com> wrote: >> 2009/7/29 Tom Lane <tgl@sss.pgh.pa.us>: >>> Pavel Stehule <pavel.stehule@gmail.com> writes: >>>> I would to solve some points from ToDo. I began with TYPE [] support. >>> >>> plpgsql's %type support is a crock that's going to have to be rewritten >>> from the ground up as soon as we consolidate the lexer with the core. >>> I wouldn't suggest spending any time in that area now. >> >> ook > > There's also the fact that we still have almost half the patches in > this CommitFest that have yet to be closed out. If you're looking for > something to do.... > I am bad man for review and I understand little bit only to plpgsql. I am preparing plan for next commitfest. Pavel > ...Robert >
2009/7/28 Martijn van Oosterhout <kleptog@svana.org>: > On Tue, Jul 28, 2009 at 10:53:08PM +0200, Pavel Stehule wrote: >> Hello >> >> I would to solve some points from ToDo. I began with TYPE [] support. >> I thing, so this should be relative simple, but there are one issue. > > <snip> > >> My first idea is using word element: >> >> create or replace function x(a int[]) >> ... >> declare f a%element; >> begin >> ... > > I would have thought: > > declare f a[0]%type; > > as in: the type of a[0]. Perhaps a[]%type but that seems less natural. > It's clean so a[0] means element of array, but why zero. PostgreSQL array should to start from any int value :(. And this syntax is little bit difficult parserable. What do you thing about: declare f array of a%type; x element of f%type; ?? regards Pavel > Have a nice day, > -- > Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ >> Please line up in a tree and maintain the heap invariant while >> boarding. Thank you for flying nlogn airlines. > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > > iD8DBQFKb2lxIB7bNG8LQkwRApwuAJ4snkAtixsMa2ju8r0jYYIH2hIJ6ACeOVQj > /oiBdGmX8zQddwmwsvjLnOM= > =xtg2 > -----END PGP SIGNATURE----- > >