2009/3/18 Jaime Casanova <jcasa...@systemguards.com.ec>

> 2009/3/17 Arturo Rossodivita <arossodiv...@gmail.com>:
> > hola lista como estan?
> >
> > les comento estoy realizando una extension al nucleo de postgreSQL en la
> > cual si un usario quiere crear una expresion para luego consultar
> > directamente alguna tabla lo haga directamente con esa funcion por
> ejemplo:
> >
> > SELECT * FROM X WHERE edad = aprox; donde ya previamente aprox fue
> definido
> > como una expresion que podria ser como la siguiente:
> >
> > (x+1.5) / (5.3+6) > 0 donde x es el campo de la tabla a consultar, en el
> > ejemplo anterior edad para lo cual la expresion quedaria de la siguiente
> > forma:
> >
> > (edad+1.5) / (5.3+6) > 0 quedando el nuevo query asi:
> >
> > SELECT * FROM X WHERE (edad+1.5) / (5.3+6) > 0;
> >
>
> no seria mas sencillo escribir algo como:
> SELECT * FROM X WHERE aprox(edad)
>
> donde aprox es una funcion previamente definida que hace el calculo que
> deseas
>
si seria mas sencillo pero precisamente el trabajo que se esta haciendo es
modificando el nucleo de PostgreSQL y no con plpsql por cuestiones de
rendimiento, esto debido a que el paradigma que se esta trabajando es el de
bases de datos difusas y uno de los problemas sobre los cuales los
desarrolladores de DBMS han estado renuentes a trabajar sobre esto es por el
tiempo añadido que representa el calculo del grado de membresia. Se esta
haciendo una extension para luego hacer pruebas y ver si efectivamente el
tiempo añadido es depreciable o no.


> lo que no me gusta de esto es que segun tu ejemplo anterior creas la
> expresion solo con un nombre y luego esa expresion hace uso del campo
> que este en el lado izquierdo de la condicion para expandirse... que
> pasa si en cambio escribo: SELECT * FROM X WHERE aprox = edad;
>
> existe alguna razon en especial por la que deseas hacerlo de este modo?
>
como ya te comente es por lo que se esta haciendo y si haces aprox = edad se
lanza un error sintactico por cuestiones de definicion del uso de la logica
difusa en bases de datos
Gracias por tus comentarios ;)

> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Asesoría y desarrollo de sistemas
> Guayaquil - Ecuador
> Cel. +59387171157
>

Responder a