Re: Nombre de tabla entre parentesis

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Oswaldo Hernández <listas(at)soft-com(dot)es>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Nombre de tabla entre parentesis
Date: 2008-01-14 14:33:25
Message-ID: 20080114143325.GG4584@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Oswaldo Hernández escribió:
> Alvaro Herrera escribió:
>> Oswaldo Hernández escribió:
>>> Hola,
>>>
>>> Al desarrolar unas funciones nos hemos dado cuenta de que no esta
>>> permitido poner el nombre de una tabla entre paréntesis:
>>
>>> ¿Es normal esto? ¿Hay algun motivo especial para que no se permita?
>>
>> ¿Porque no tiene sentido?
>
> No quiero decir que no tenga sentido,

Me entendiste mal -- no quise decir que tu dijeras que no tenía sentido,
sino que yo digo que no tiene sentido.

En todo caso, las reglas de uso de parentesis en SELECT son complicadas.
Echale un vistazo al codigo fuente si te place:

https://projects.commandprompt.com/public/pgsql/browser/trunk/pgsql/src/backend/parser/gram.y#L6105

La parte relevante es el table_ref (al que llegas despues de pasar por
from_list, from_clause, simple_select, select_no_parens).

Nota que lo siguiente si deberia funcionar, de acuerdo con mi lectura de
la gramatica (linea 6570):

select * from (foo) foo;

Ah, el comentario en la linea 6579 explica el por que a tu pregunta
inicial.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-01-14 14:50:44 Re: sobre transacciones...
Previous Message Luis D. García 2008-01-14 14:20:26 Re: Pruebas de estres de Postgresql