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.
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 |