Re: Una pregunta!!!!

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Rodolfo Vegas <vegasster(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org, José Tomás Cadenas <jtcadenas(at)usb(dot)ve>
Subject: Re: Una pregunta!!!!
Date: 2009-04-17 15:07:44
Message-ID: 20090417150744.GD7709@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Rodolfo Vegas escribió:
> Hola como estan? Como ya sabran me encuentro todavía implementando las
> operaciones conjuntistas difusas, pero hay que validar una cosa puede
> existir el caso que en un intersect un select sea difuso y el otro no, el
> select que no es difuso el grado de membresía hay que inicializarlo en 1, la
> idea que tengo es recorrer el árbol setop que genera porque si un select no
> es difuso en targetentry no tiene un nodo de mas que sería el atributo de
> grado de membresía y al hacer la intersección el resultTupleslot no tiene
> valor y acceder a esa posición me da error porque no existe, la idea que yo
> pensaba era recorrer el árbol, veo si un seqscan es difuso y los demás los
> convierto en difuso pero seria ineficiente recorrer todo el árbol ya que
> puede tener muchos elementos y tardaría demasiado, otra cosa que yo pensaba
> era algo asi como la función en php "*isset*($variable)" verifica si existe
> esa variable, no habra una función asi en *C* , la verdad ya estoy
> desesperado porque son muchas cosas, a parte presento inconvenientes en el
> except y la union

Creo que debes recorrer el árbol. Creo que tu explicación de "tardaría
demasiado" no tiene asidero; después de todo, es así como trabaja el
optimizador.

Para esto puedes usar expression_tree_walker(). Simplemente debes
escribir un walker que modifique el atributo de difuso en los scans. El
comentario en expression_tree_walker explica los detalles de
implementación. Debería ser razonablemente simple ...

--
Alvaro Herrera http://www.advogato.org/person/alvherre
"¿Qué importan los años? Lo que realmente importa es comprobar que
a fin de cuentas la mejor edad de la vida es estar vivo" (Mafalda)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-04-17 15:08:17 Re: Una pregunta!!!!
Previous Message Emanuel Calvo Franco 2009-04-17 13:21:21 Re: Error con --with-perl Compilando 8.4 test