Re: Nombre de tabla entre parentesis

From: Oswaldo Hernández <listas(at)soft-com(dot)es>
To: Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Nombre de tabla entre parentesis
Date: 2008-01-14 16:55:39
Message-ID: 478B940B.6010802@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Raul Andres Duque escribió:
>
>
>
>> Oswaldo Hernández escribió:
>>> Alvaro Herrera escribió:
>...
>
> Y si generalizas y siempre tu aplicación parametrizas es una sentencia
> SQL ... por ejemplo si quieres la tabla "a" debes parametrizar "select *
> from a" (podría ser transparente para el usuario que parametriza ya que
> tu aplicación sería la que haga la "conversión") ... lo que no sé es si
> se pierde algo de performance entre:
>
> select * from a
>
> y
>
> select * from (select * from a)
>
> Aunque lo que comenta Alvaro sería más sencillo de manajer: Siempre
> manejar un alias de la tabla/consulta para que no te importe el tema de
> si pueden ir o no los parentesis.
>

El problema es que la funcion puede recibir de forma indistinta un nombre de tabla o una sentencia
SQL. Esperaba que postgres resolviera el problema ejecutandolo como:
select * from (parametro) as a
pero no ha funcionado en el caso de tablas

De momento he resuelto el problema haciendo que la función consulte si el parametro existe como
tabla o vista en pg_class y segun esto pongo o no los parentesis.
Solo espero que la aplicación que utiliza esta función no envie el nombre de tabla con parentesis ;) .

Saludos.
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-01-14 17:36:40 Re: problam instalacion postgis
Previous Message Raul Andres Duque 2008-01-14 16:49:31 Duda pl/perl