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 >