From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Lautaro Palamidessi <lpalamidessi(at)conexia(dot)com> |
Cc: | Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: ¿Extraño comportamiento en vista? |
Date: | 2019-09-10 13:20:39 |
Message-ID: | 20190910132039.GA15328@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Lautaro,
Lautaro Palamidessi escribió:
> --y para mi sorpresa veo que devuelve:
> " SELECT prueba.campo_fecha
> FROM prueba
> WHERE ((prueba.campo_fecha >= '2019-09-01 00:00:00'::timestamp without
> time zone) AND (prueba.campo_fecha <= '2019-09-02 00:00:00'::timestamp
> without time zone));"
>
> o sea: Al compilar y grabar la vista, mis "variables" se convirtieron en
> "constantes"!
Sí, la expansión se efectúa al momento de crear la vista.
> Las preguntas que hago a la lista son:
> Si 'today' y 'yesterday' fueran funciones, ¿hay un bug al grabarse en la
> vista como constantes?
> Si 'today' y 'yesterday' fueran constantes: ¿por qué hoy valen una cosa y
> mañana valen otra cosa?
> Si 'today' y 'yesterday' no son ni funciones ni constantes, ¿qué son?
No son funciones ni constantes: son valores que la función de entrada
del tipo timestamp interpreta al momento de ejecutarse, que es el
momento de crear la vista. El valor que retorna la función de entrada
es una constante, que es lo que se pone en la definición de la vista.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Byron Gallardo | 2019-09-10 13:23:26 | Re: pg_basebackup falla casi al terminar |
Previous Message | Anthony Sotolongo | 2019-09-10 13:15:50 | Re: ¿Extraño comportamiento en vista? |