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)
--
TIP 4: No hagas 'kill -9' a postmaster

Responder a