Re: ¿Extraño comportamiento en vista?

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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?