[Gvsig_desarrolladores] timestamp

marcos boullón magán marcosboullon en gmail.com
Lun Sep 11 20:59:19 CEST 2006


Hola Francisco,

Acabo de instalar la versión RC1 para ver si, como dices, lo del
timestamp está corregido y... hay un pequeño problema; en la tabla de
atributos aparecen cubiertos los campos correspondientes al timestamp,
pero con unos valores incorrectos:

Desde la base de datos obtengo:

ampliacion=# select id_reserva_espacio, fecha_inicio_evento,
fecha_fin_evento from reservados;
 id_reserva_espacio | fecha_inicio_evento |  fecha_fin_evento
--------------------+---------------------+---------------------
                  1 | 2006-09-04 09:00:00 | 2006-09-04 21:00:00
                  2 | 2006-09-05 16:00:00 | 2006-09-05 19:00:00
(2 filas)

Desde gvSIG, cargando la capa y abriendo la tabla de atributos:

[...] id_reserva_espacio [...] fecha_inicio_evento fecha_fin_evento
-----
[...] 1 [...] 1999-12-32 23:00:00.0 1999-12-32 23:00:00.0
[...] 2 [...] 1999-12-32 23:00:00.0 1999-12-32 23:00:00.0


Todavía no está colgado el código fuente de esta versión de gvSIG (¿o
me estoy confundiendo?) así que no he podido tracear este error hasta
el origen, pero viendo los resultados ¿se te ocurre qué puede fallar?

Gracias por vuestro interés,

Marcos

PD: A propósito, el GUI tiene un aspecto estupendo en la nueva versión.

El 11/09/06, Francisco José<fpenarru en iver.es> escribió:
>
>  Hola Marcos.
>
>  Como puedes ver, no nos hemos olvidado de este error. Hemos estado
> intentando arreglarlo, y en la nueva versión 1.0 rc1 creemos que está
> solucionado. Por favor, pruebalo a ver.
>  De todas formas, todavía no funciona bien con datos de tipo Time (sí
> debería funcionar con TimeStamp y Date). Seguiremos trabajando en esto, y
> espero que en la 1.0 ya tengamos algo que funcione también con el tipo de
> datos Time.
>
>  Aparte de esto, me gustaría comentar un par de cosas para los que estáis
> desarrollando sobre el código de la 1.0 inestable. Supongo que ya lo habreis
> notado, pero por si acaso:
>  Hemos cambiado el nombre de unas cuantas clases que se usan mucho.
>  1.- View de Andami para a llamarse IWindow, para evitar muchos equívocos
> con View de appGvSIG. Las clases relacionadas también se han cambiado.
>  2.- FMap ha pasado a llamarse MapContext, por coherencia.
>
>  Nada más (por ahora), un saludo, y espero que nos veamos en las jornadas de
> gvSIG.
>
>  marcos boullón magán escribió:
> Hola,
>
>
>  Aquí va (adjunto) un ejemplo sencillo.
>
>  Una tabla almacena entidades con geometria (espacios), otra tabla
>  almacena información sobre reservas de las anteriores
>  (reservas_espacios, utiliza timestamp), y una vista hace la consulta
>  de entidades reservadas (reservados).
>
>  Intentad visualizar la vista en gvSIG (id_reserva_espacio, nombre,
>  geometria, fecha_inicio_evento, fecha_final_evento), y mirar la tabla
>  de atributos. A mí me aparece vacía en los campos de fechas.
>
>  Gracias,
>
>  M.
>
>  PD: En cualquier caso, si encontrais qué código añadir para que
>  soporte esos tipos de datos... ¿sería para la versión 1.0 alpha, o
>  para la 1.0 rc1?
>
>
>  El 4/09/06, Francisco José<fpenarru en iver.es> escribió:
>
> Hola Marcos
>
>  ¿Nos puedes enviar un trocito de la tabla para que hagamos pruebas
>  aquí?. Así te aseguras que con la RC1 te funcionará... .(y nosotros
>  también de que soportamos time y timestamp como se debe).
>
>  Salu2.
>
>  marcos boullón magán escribió:
>  > Hola Francisco,
>  >
>  > Me parece que ese método no aparece en la versión 1.0 alpha de gvSIG
>  > (tal vez sea específico del 1.0 rc1 sobre el que trabajais). Lo más
>  > próximo que he encontrado es:
>  >
>  > fichero
>  >
> extGeoProcessing/src/com/iver/cit/gvsig/geoprocess/core/fmap/XTypes.java
>  > public static Value getValue(Object object, int fieldType) {
>  >     [...]
>  >     case Types.DATE:
>  >     Date dtval = (Date) object;
>  >     solution = ValueFactory.createValue(dtval);
>  >     break;
>  >     [...]
>  >
>  > fichero
>  >
> extJDBC/src/com/iver/cit/gvsig/fmap/drivers/jdbc/postgis/PostGisDriver.java
>  >
>  > public Value getFieldValue(long rowIndex, int idField)
>  >     throws
> com.hardcode.gdbms.engine.data.driver.DriverException {
>  >         [...]
>  >         ByteBuffer buf = ByteBuffer.wrap(byteBuf);
>  >         [...]
>  >         if (metaData.getColumnType(fieldId) == Types.INTEGER)
>  >             return ValueFactory.createValue(buf.getInt());
>  >         [...]
>  >
>  >
>  > Así que he modificado el fichero PostGisDriver.java para añadir...
>  >
>  > if (metaData.getColumnType(fieldId) == Types.TIME)
>  >  return ValueFactory.createValue(rs.getTime(fieldId));
>  > if (metaData.getColumnType(fieldId) == Types.TIMESTAMP)
>  >  return ValueFactory.createValue(rs.getTimestamp(fieldId));
>  >
>  > ... y de momento NO funciona. En vez de mostrarme esos campos
>  > cubiertos ahora me aparecen todos vacíos (en la tabla de atributos si
>  > los cargo en capa vectorial, pero se siguen viendo bien si los cargo
>  > como tabla alfanumérica). Cambiar getTime(), getTimestamp() por
>  > getString() tampoco me vale porque devuelve códigos extraños (supongo
>  > que las fechas en binario puro) en esos campos.
>  >
>  > (No es importante para lo que estoy haciendo, pero queda feo.)
>  >
>  > Gracias,
>  >
>  > M.
>  >
>  > El 4/09/06, Francisco José<fpenarru en iver.es> escribió:
>  >> Hola Marcos.
>  >>
>  >> Pues acabas de reportarnos un bug.
>  >>
>  >> A la clase XTypes, en libFMap
> (com.iver.cit.gvsig.fmap.drivers.XTypes)
>  >> le faltan unas cuantas líneas. No están puestos todos los tipos que
>  >> puede soportar una base de datos, así que habrá que ir poniéndolos poco
>  >> a poco. No lo he probado, pero seguramente añadiendo éstas líneas se
>  >> corregirá el problema. En la siguiente versión, esto ya irá "de serie".
>  >>
>  >>             if (metaData.getColumnType(fieldId) == Types.TIME)
>  >>                 val = ValueFactory.createValue(rs.getTime(fieldId));
>  >>             if (metaData.getColumnType(fieldId) == Types.TIMESTAMP)
>  >>                 val =
>  >> ValueFactory.createValue(rs.getTimestamp(fieldId));
>  >>
>  >> (Insertar después de la línea 152, en el método
>  >> public static Value getValue(ResultSet rs, int fieldId) throws
>  >> SQLException
>  >>
>  >> Gracias por tu ayuda, y hasta otra.
>  >>
>  >> marcos boullón magán escribió:
>  >> > Hola,
>  >> >
>  >> > Quería saber si alguien me puede confirmar que observa este efecto, o
>  >> > si es un problema de mi extensión.
>  >> >
>  >> > Resulta que leyendo capas vectoriales desde una base de datos PostGIS
>  >> > que meto en la vista activa, veo que en la tabla de atributos de la
>  >> > capa hay campos en blanco. Son campos que en SQL tienen el tipo de
>  >> > dato "timestamp", el que se utiliza para almacenar fechas ('2006-09-02
>  >> > 12:00'):
>  >> >
>  >> > En la tabla original de la base de datos puedo verlos. Si los cargo en
>  >> > gvSIG como tabla de datos alfanumérica, puedo verlos. Si los cargo
>  >> > como capa vectorial, al mostrar la tabla de atributos están vacíos.
>  >> >
>  >> > Datos:  Java 1.4.2_11, gvSIG 1.0 alpha, PostGIS 1.1.0 (driver de
>  >> > PostGis parcheado para resolver un problema de iteradores...  ver el
>  >> > hilo "consulta SQL involucrando varias tablas")...
>  >> >
>  >> > Gracias,
>  >> >
>  >> > marcos
>  >> >
>  >>
>  >>
>  >> --
>  >> Francisco José Peñarrubia
>  >> Equipo gvSIG
>  >>
>  >> IVER T.I. S.A.
>  >> c/Salamanca 50
>  >> 46005 Valencia
>  >> Spain
>  >>
>  >>
>  >> _______________________________________________
>  >> gvSIG_desarrolladores mailing list
>  >> gvSIG_desarrolladores en runas.cap.gva.es
>  >>
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>  >>
>  >
>
>
>  --
>  Francisco José Peñarrubia
>  Equipo gvSIG
>
>  IVER T.I. S.A.
>  c/Salamanca 50
>  46005 Valencia
>  Spain
>
>
>  _______________________________________________
>  gvSIG_desarrolladores mailing list
>  gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
>
>
> ________________________________
>
>  _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
>
>  --
> Francisco José Peñarrubia
> Equipo gvSIG
>
> IVER T.I. S.A.
> c/Salamanca 50
> 46005 Valencia
> Spain
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>
>


-- 
-- marcos boullón magán
-- universidade de Santiago de Compostela



Más información sobre la lista de distribución gvSIG_desarrolladores