> The first fix, isGeometry function, a mix was done on Geometry
> object/class:
>
> https://github.com/nicolas-f/h2database/commit/ac5fab9fffbf5cfd63f7e67e8ce4fa90da727dbc
>
This commit makes no sense at all.
- you have created a unnecessary recursive call in DataType#isGeometry
- you have broken the case where the geometry stuff is not on the classpath
- you have removed a test case from TestSpatial for no reason that I can
see.
> Second fix, WKB export, SRID and Z was missing:
>
> https://github.com/nicolas-f/h2database/commit/f8df369622defb0413aa15b8e78ee35b0d461ca8
This fix assumes that Geometry will always be 3D, which means that we
will no longer support 2D geometry, which does not seem like a good idea
to me.
>
> Third fix, ValueGeometry.equals, GeometryCollection throws an error
> when equals is used, using a work around through binary comparison:
>
> https://github.com/nicolas-f/h2database/commit/57d141acb4a97b960f704860994a283b33e69d40
This commit also makes no sense. Why is the Geometry class throwing an
IllegalArgumentException? We need more explanation here.
>
> Fourth fix, update OSGi bundle manifest in order to optionally import
> JTS and export some other package of h2 to be able to write a table
> engine in a remote OSGi bundle.
>
> https://github.com/nicolas-f/h2database/commit/0042bf99cc677515cee6b91d4b8723e3330507bd
I'm going to leave this for Thomas to comment on.
Historically we have been very loathe to expose more of H2's internals
because we have no intention of making all of this stuff part of our
"supported API".
> The first fix, isGeometry function, a mix was done on Geometry
> object/class:
>
> https://github.com/nicolas-f/h2database/commit/ac5fab9fffbf5cfd63f7e67e8ce4fa90da727dbc
>
This commit makes no sense at all.
- you have created a unnecessary recursive call in DataType#isGeometry
- you have broken the case where the geometry stuff is not on the classpath
- you have removed a test case from TestSpatial for no reason that I can
see.
This is not recursive, it uses the other function that test class, not object.
the second function test if static geometry constant is null.
The random test case is covered by Thomas MVMap unit test in a cleaner way (without random, and way more faster)
> Second fix, WKB export, SRID and Z was missing:
>
> https://github.com/nicolas-f/h2database/commit/f8df369622defb0413aa15b8e78ee35b0d461ca8
This fix assumes that Geometry will always be 3D, which means that we
will no longer support 2D geometry, which does not seem like a good idea
to me.
You are right, we can replace the constructor by this:
new WKBWriter(geometry.getDimension(), geometry.getSRID() != 0)
>
> Third fix, ValueGeometry.equals, GeometryCollection throws an error
> when equals is used, using a work around through binary comparison:
>
> https://github.com/nicolas-f/h2database/commit/57d141acb4a97b960f704860994a283b33e69d40
This commit also makes no sense. Why is the Geometry class throwing an
IllegalArgumentException? We need more explanation here.
Geometry compute the intersection matrix (more robust to rounding errors), this cannot be done with GeometryCollection, then it throws an exception. Test all geometries inside the collection separatly may be another solution.
>
> Fourth fix, update OSGi bundle manifest in order to optionally import
> JTS and export some other package of h2 to be able to write a table
> engine in a remote OSGi bundle.
>
> https://github.com/nicolas-f/h2database/commit/0042bf99cc677515cee6b91d4b8723e3330507bd
I'm going to leave this for Thomas to comment on.
Historically we have been very loathe to expose more of H2's internals
because we have no intention of making all of this stuff part of our
"supported API".
There is the TableEngine in the api package, however it has dependency on other (hidden) packages.
--
You received this message because you are subscribed to the Google Groups "H2 Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email to h2-database+unsubscribe@googlegroups.com.
To post to this group, send email to h2-da...@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "H2 Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email to h2-database...@googlegroups.com.
CreateTableDatawith getter/setter method place it in the API package and let the original CreateTableData implement that interface.
Some things are still missing:
- Equals method of Geometry is not the one expected by ValueGeometry, we should do a wkb binary comparison as it is the only way to avoid false duplicate. (The cache return another geometry with other srid or z)
- JTS is not imported in the H2 manifest
About GeometryValue.equals they answered that this is the expected result http://sourceforge.net/p/jts-topo-suite/bugs/40/ .
I've already said that patch is not acceptable.