Re: Sobre variable targetList en una estructura Query

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "LDC - Carmen Brando" <carmen(at)ldc(dot)usb(dot)ve>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Sobre variable targetList en una estructura Query
Date: 2006-09-25 06:01:00
Message-ID: c2d9e70e0609242301p58eb92c3v3b28fd0b2638f4bf@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 9/24/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> LDC - Carmen Brando escribió:
> >
> > Hola,
> > Disculpe el abuso pero como su respuesta fue tan rapida :-),
> > aprevechamos de preguntarle otra duda que surgio, que es un RegProcedure?
> > lo vimos en backend/util/sort/tuplesort.c.
>
> Registered Procedure
>
> En SQL, uno puede usar algo como
>
> select 'pg_class'::regclass
>
> y obtener la representacion apropiada de la tabla pg_catalog.pg_class.
> O tambien puede hacer
>
> select '1260'::regclass
> y obtener exactamente lo mismo. La conveniencia aqui es ignorar si la
> tabla fue pasada como Oid o como nombre.
>
>
> Con RegProcedure puedes hacer algo similar:
>
> alvherre=# select 'generate_series(int,int4)'::regprocedure;
> regprocedure
> ----------------------------------
> generate_series(integer,integer)
> (1 fila)
>

esa consulta puede ser confusa porque pareceria que regresa la misma
cadena de caracteres. esta deja claro que lo que retorna es un oid

template1=# select * from pg_proc
template1 -# where oid = 'generate_series(int,int4)'::regprocedure;
proname | pronamespace | proowner | prolang | proisagg |
prosecdef | proisstrict | proretset | provolatile | pronargs |
prorettype | proargtypes | proallargtypes | proargmodes | proargnames
| prosrc | probin | proacl
-----------------+--------------+----------+---------+----------+-----------+-------------+-----------+-------------+----------+------------+-------------+----------------+-------------+-------------+----------------------+--------+--------
generate_series | 11 | 10 | 12 | f | f
| t | t | v | 2 | 23 |
23 23 | | | |
generate_series_int4 | - |
(1 row)

o quiza esta:

template1=# select 'generate_series(int,int4)'::regprocedure::oid;
oid
------
1067
(1 row)

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message vhr 2006-09-25 11:37:42 RV: Como utilizar LIMIT en postgresql
Previous Message Daniel Hernandez 2006-09-25 02:45:03 Re: pg_hba.conf - Configurar IP variable