[Gvsig_desarrolladores] Error al editar una capa postgis sobre la que no se tienen permisos de escritura

Francisco José Peñarrubia fpenarru en gmail.com
Lun Nov 9 10:10:25 CET 2009


Hola Javier.

Ante todo, disculpa la tardanza en responder, y muchas gracias por el 
código. Me parece un arreglo que viene muy bien, e intentaremos meterlo 
en el SVN. El problema es que ahora mismo estamos intentando cerrar la 
1.9, y cualquier cambio nos obliga a pasar la bateria de tests para 
asegurarnos de que no hemos roto nada.... :-(

En cualquier caso, he mirado el parche, y yo creo que no rompería nada, 
pero el proceso de estabilización final nos obliga a ser muy cuidadosos 
con cualquier cambio (no depende de mí, la verdad).

También estoy mirando el parche que envió Pablo Xanxiao para hacer que 
las configuraciones de usuario no se pisen si hay varios gvSIG 
instalados. Mis disculpas también para él, y lo mismo, intentaremos 
meter esto en el SVN para que se pueda testear una vez hallamos salido 
con la versión estable.

Espero que nuestros errores y lentitudes no os hagan desesperar y podais 
seguir contribuyendo parches al proyecto. Muchísimas gracias por vuestra 
ayuda, y continuad así en el Cartolab :-).

También vamos a intentar que esto no pase en el futuro, y que podamos 
agilizar estas ayudas.

Saludos.

Fran Peñarrubia
Equipo gvSIG.



Javier Estévez escribió:
> Hola.
>
> En gvSIG 1.9 RC2, build 1250 (y en versiones anteriores, ya que lo 
> hemos detectado también en la 1.1.2) no hay ningún impedimento a la 
> hora de poner en edición una capa sobre la que no hay permisos de 
> escritura (por ejemplo, en la que el usuario tiene tan sólo el 
> privilegio SELECT). Esto conlleva a que cuando se quieren guardar los 
> cambios de la capa el usuario se encuentra con un error y pierde la 
> conexión a la BD.
>
> Investigando en el código me he encontrado con que en el driver de 
> PostGIS no comprueba si la capa es editable, simplemente devuelve 
> siempre true en el método isWritable. Así que propongo los parches 
> adjuntos para los archivos PostGISDriver y PostGISWriter para que se 
> efectúen las comprobaciones necesarias.
>
> Como una pequeña mejora a la situación actual, en la función 
> canSaveEdits (PostGISWriter) se hace una consulta de privilegios sobre 
> la tabla para comprobar si se tienen los privilegios INSERT, UPDATE y 
> DELETE. Y en isWritable se llama a esta función.
>
> Además también se propone otra consulta en canAlterTable 
> (PostGISWriter) para comprobar si el usuario es dueño de la tabla o 
> superusuario para saber así si tiene permisos de modificación de 
> estructura de la tabla.
>
> Espero que sirva de ayuda.
> Un saludo.
>
> -- 
> Javier Estévez Valiñas
> Grupo de Desarrollo
> Cartolab - Laboratorio de Ingeniería Cartográfica
> http://www.cartolab.es
>
> ETS Ingeniería de Caminos, Canales y Puertos
> Universidade da Coruña
> Campus de Elviña - 15071 A Coruña (España)
> (34)981167000 ext. 5493
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores



More information about the gvSIG_desarrolladores mailing list