gvSIG bugs #4695

Al cargar una tabla de H2 con geometrias a null da error

Added by Joaquín del Cerro Murciano over 6 years ago. Updated over 6 years ago.

Status:Closed% Done:

0%

Priority:NormalSpent time:-
Assignee:Joaquín del Cerro Murciano
Category:Database
Target version:2.4.0-2840 (rev. org.gvsig.desktop-2.0.208)
Severity:Minor Add-on version:
gvSIG version:2.4.0 Add-on build:
gvSIG build:2839 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch: Hito:
Add-on name:Unknown

Description

Al parecere ejecuta la sentencia:

SELECT ST_AsBinary("geometry"), "pk" FROM "ferrocarrilandal" ORDER BY "pk" ASC

Y al hacer el ST_AsBinary sobre la geometria a null falla.

ERROR 155667 [MapControl Drawer Worker] (NotificationManager.java:90) - There was errors loading from 'ferrocarrilandal (H2Spatial)'.

- Problems drawing layer
- Can't perform operation 'ResultSetForSetProviderOperation'.
- An JDBC exception was throw when execute SQL: 'SELECT ST_AsBinary("geometry"), "pk" FROM "ferrocarrilandal" ORDER BY "pk" ASC' with params {unknow}
- Caracteristica no soportada: "converting to class org.h2.value.ValueGeometry" 
  Feature not supported: "converting to class org.h2.value.ValueGeometry"; SQL statement:
  SELECT ST_AsBinary("geometry"), "pk" FROM "ferrocarrilandal" ORDER BY "pk" ASC [50100-188]

org.gvsig.fmap.dal.exception.ReadException: There was errors loading from 'ferrocarrilandal (H2Spatial)'.
        at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.draw(FLyrVect.java:346)
        at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer$DrawList.drawLayer(DefaultMapContextDrawer.java:549)
        at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer$DrawList.draw(DefaultMapContextDrawer.java:530)
        at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer$DrawList.drawLayers(DefaultMapContextDrawer.java:469)
        at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:147)
        at org.gvsig.fmap.mapcontext.MapContext.draw(MapContext.java:1183)
        at org.gvsig.fmap.mapcontrol.MapControl$PaintingRequest.paint(MapControl.java:1346)
        at org.gvsig.fmap.mapcontrol.MapControl$Drawer$Worker.run(MapControl.java:1566)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.LegendDrawingException: Problems drawing layer
        at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.internalDraw(AbstractVectorialLegend.java:466)
        at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.draw(AbstractVectorialLegend.java:352)
        at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.draw(AbstractVectorialLegend.java:142)
        at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.draw(FLyrVect.java:330)
        ... 8 more
Caused by: java.lang.RuntimeException: Can't perform operation 'ResultSetForSetProviderOperation'.
        at org.gvsig.fmap.dal.store.jdbc2.spi.operations.AbstractConnectionOperation.perform(AbstractConnectionOperation.java:45)
        at org.gvsig.fmap.dal.store.jdbc2.impl.JDBCSetProvider.createFastIterator(JDBCSetProvider.java:320)
        at org.gvsig.fmap.dal.store.jdbc2.impl.JDBCSetProvider.createFastIterator(JDBCSetProvider.java:291)
        at org.gvsig.fmap.dal.store.jdbc2.impl.JDBCSetProvider.createFastIterator(JDBCSetProvider.java:56)
        at org.gvsig.fmap.dal.feature.spi.AbstractFeatureSetProvider.fastIterator(AbstractFeatureSetProvider.java:99)
        at org.gvsig.fmap.dal.feature.spi.AbstractFeatureSetProvider.fastIterator(AbstractFeatureSetProvider.java:94)
        at org.gvsig.fmap.dal.feature.impl.featureset.FastDefaultIterator.<init>(FastDefaultIterator.java:52)
        at org.gvsig.fmap.dal.feature.impl.featureset.DefaultFeatureSet.fastIterator(DefaultFeatureSet.java:343)
        at org.gvsig.fmap.dal.feature.impl.featureset.AbstractFeatureSet.doAccept(AbstractFeatureSet.java:72)
        at org.gvsig.fmap.dal.feature.impl.featureset.AbstractFeatureSet.doAccept(AbstractFeatureSet.java:67)
        at org.gvsig.tools.visitor.impl.AbstractIndexedVisitable.doAccept(AbstractIndexedVisitable.java:63)
        at org.gvsig.tools.visitor.impl.AbstractVisitable.accept(AbstractVisitable.java:49)
        at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.drawFeaturesSingleLayer(AbstractVectorialLegend.java:554)
        at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.drawFeatures(AbstractVectorialLegend.java:536)
        at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.internalDraw(AbstractVectorialLegend.java:458)
        ... 11 more
Caused by: org.gvsig.fmap.dal.store.jdbc.exception.JDBCExecutePreparedSQLException: An JDBC exception was throw when execute SQL: 'SELECT ST_AsBinary("geometry"), "pk" FROM "ferrocarrilandal" ORDER BY "pk" ASC' with params {unknow}
        at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:198)
        at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:163)
        at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:21)
        at org.gvsig.fmap.dal.store.jdbc2.spi.operations.ResultSetForSetProviderOperation.createResultSet(ResultSetForSetProviderOperation.java:189)
        at org.gvsig.fmap.dal.store.jdbc2.spi.operations.ResultSetForSetProviderOperation.perform_operation(ResultSetForSetProviderOperation.java:67)
        at org.gvsig.fmap.dal.store.jdbc2.spi.operations.AbstractConnectionOperation.perform(AbstractConnectionOperation.java:41)
        ... 25 more
Caused by: org.h2.jdbc.JdbcSQLException: Caracteristica no soportada: "converting to class org.h2.value.ValueGeometry" 
Feature not supported: "converting to class org.h2.value.ValueGeometry"; SQL statement:
SELECT ST_AsBinary("geometry"), "pk" FROM "ferrocarrilandal" ORDER BY "pk" ASC [50100-188]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
        at org.h2.message.DbException.get(DbException.java:179)
        at org.h2.message.DbException.get(DbException.java:155)
        at org.h2.message.DbException.getUnsupportedException(DbException.java:216)
        at org.h2.value.DataType.convertTo(DataType.java:1204)
        at org.h2.engine.FunctionAlias$JavaMethod.getValue(FunctionAlias.java:460)
        at org.h2.expression.JavaFunction.getValue(JavaFunction.java:38)
        at org.h2.command.dml.Select.queryFlat(Select.java:538)
        at org.h2.command.dml.Select.queryWithoutCache(Select.java:643)
        at org.h2.command.dml.Query.query(Query.java:322)
        at org.h2.command.dml.Query.query(Query.java:290)
        at org.h2.command.dml.Query.query(Query.java:36)
        at org.h2.command.CommandContainer.query(CommandContainer.java:90)
        at org.h2.command.Command.executeQuery(Command.java:197)
        at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:108)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
        at org.gvsig.fmap.dal.store.jdbc2.JDBCUtils.executeQuery(JDBCUtils.java:38)
        at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:189)
        ... 30 more
 INFO 158629 [AWT-EventQueue-0] (DefaultActionInfo.java:326) - org.gvsig.app.mainplugin:org.gvsig.app.extension.ViewControls.execute('view-change-scale', Object[] args

Associated revisions

Revision 43546
Added by Joaquín del Cerro Murciano over 6 years ago

refs #4695, arreglado que se puedan cargar capas de H2 con geometrias a null

History

#1 Updated by Joaquín del Cerro Murciano over 6 years ago

Modificando la funcion ST_AsBinary de H2 con:

   NVL2({0}, ST_AsBinary({0}), null)

Lo que generaria la SQL:
SELECT NVL2("geometry", ST_AsBinary("geometry"), null), "pk" FROM "ferrocarrilandal" ORDER BY "pk" ASC

Parece que lo arreglaria.

Habria que comprobar como se comportan otros gestores de BBDD cuando tienen geometrias a null.

#2 Updated by Joaquín del Cerro Murciano over 6 years ago

  • Assignee set to Joaquín del Cerro Murciano
  • Status changed from New to Fixed

#3 Updated by Joaquín del Cerro Murciano over 6 years ago

  • Target version changed from 2.4.0-2850-final (rev. org.gvsig.desktop-2.0.220) to 2.4.0-2840 (rev. org.gvsig.desktop-2.0.208)

#4 Updated by Álvaro Anguix over 6 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF