I know more now about why Date columns are not handled correction with virtual
tables. I'm working on what exactly to do about it (suggestions are quite
welcome).
In JDBCFeatureSource.buildFeatureType() it calls a different overload of
getColumnMetadata() depending on whether it comes from a vtable. The overload
for vtables uses the following line of code to set the binding for my date
column:
column.binding = store.getMapping(column.sqlType);
In my case the sqlType is 93 and that results in a binding of
java.sql.Timestamp.
In the case of real tables the following line of code sets the binding for my
date column:
column.binding = dialect.getMapping(columns, cx);
The above generates an apparently more correct binding of java.sql.Date and
then correctly handles the column in my WFS use.
From: Walter Stovall
Sent: Wednesday, May 10, 2017 6:08 AM
To: geoserver-devel@lists.sourceforge.net
Subject: [Geoserver-devel] Oracle DATE treated as TIMESTAMP makes WFS handle
the value incorrectly when using a VTABLE
I'm having a problem with date vs. timestamp columns. The problem happens when
the layer depends on a geoserver view/vtable.
If I create a layer and just point to the database table then it works as
expected. In the console GUI some layer attributes show as Timestamp and others
show as Date. But if I base the layer on a geoserver view ALL columns of
either type DATE or TIMESTAMP show as Timestamp in the console GUI. My view
simply selects each column that I want to publish on the layer.
This leads downstream problems where the date value is treated as date/time.
On input (such as WFS-T) GeoServer expects date AND time when it should be just
date. And on output both date and time are provided when it should be just
date.
Any clues about what to do with this problem?
Thanks for any help!
Walter Stovall - Byers Engineering Company
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel