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

Reply via email to