Re: Acerca del rendimiento de una consulta

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Carolina Román Salgado <rossyr(at)abulafia(dot)ciencias(dot)uchile(dot)cl>
Cc: Foro PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Acerca del rendimiento de una consulta
Date: 2009-10-28 23:41:45
Message-ID: 20091028234144.GM5018@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Carolina Román Salgado escribió:

> Para que mi código respete los permisos definidos por el sistema, yo
> debo pasar mis búsquedas sql por una función que se llama
> db_rewrite_sql, que despedaza mi búsqueda y le agrega cláusulas para
> asegurar que cada usuario ve una lista con las páginas que está
> autorizado a ver. Después de pasar por esa función, la misma consulta
> que está arriba se ve:
>
> SELECT
> area.title, area.brief_description, area.main_picture
> FROM (SELECT DISTINCT ON (nid) * FROM node) n JOIN area USING (vid)
> INNER JOIN node_access na ON na.nid = n.nid
> WHERE (na.grant_view >= 1
> AND ((na.gid = 0 AND na.realm = 'all')
> OR (na.gid = 2 AND na.realm = 'term_access')
> OR (na.gid = 6 AND na.realm = 'term_access'))
> )
> ORDER BY title;

No se ve muy bonito, ¿por qué no implementas el control de acceso
con una vista en vez de reescribir manualmente la consulta?

--
Alvaro Herrera Vendo parcela en Valdivia: http://alvherre.cl/caboblanco
"Someone said that it is at least an order of magnitude more work to do
production software than a prototype. I think he is wrong by at least
an order of magnitude." (Brian Kernighan)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin Quijada 2009-10-29 02:24:50 RE: Backup PostgreSQL
Previous Message Carlos Bazán 2009-10-28 20:36:36 Consulta a catálogo