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/
Show quoted text
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
Show quoted text
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
Show quoted text
...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
Show quoted text
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-----