On Tue, Sep 2, 2008 at 6:30 PM, Alvaro Herrera <[EMAIL PROTECTED]> wrote:
> Alvaro Herrera escribió:
>
>> Hasta antes de 8.3, sólo se hacía inlining de funciones muy simples
>> (creo que ni siquiera podían tener cláusulas FROM).  En 8.3 se introdujo
>> tecnología un poquito mejor, pero de todas formas la cantidad de
>> funciones que se pueden mezclar es muy pequeña.
>
> Me equivoqué ... en CVS HEAD (8.4devel) sigue siendo sólo posible hacer
> inlining the funciones que son del tipo "SELECT expresión" y nada más.
>
> /*
>  * inline_function: try to expand a function call inline
>  *

ah! habia visto la funcion pero no me tome la molestia de leer el
comentario... :)

lo que significa que solo es_modalidad_temporal() se estaria
beneficiando del inlining mientras que
es_declaracion_modalidad_temporal() no...
en todo caso, me imagino (Carlos corrigeme si estoy suponiendo
demasiado) que la razon para usar las funciones es que necesitas
chequear lo mismo en varias consultas.
Entonces se me ocurre:
1) Dejar todo en una vista
o
2) Dejar la funcion es_modalidad_temporal() (que posiblemente es
suficientemente simple para el inlining) y convertir la otra en una
vista...

-- 
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. (593) 87171157
--
TIP 8: explain analyze es tu amigo

Responder a