Re: [Geoserver-users] Wrong time values for Oracle DATE columns
Hi, as I'm running a geodata infrastructure publishing other people's data, changing the column type in the orginal database table isn't always an option. It looks like I have to convert the data for myself before publishing them. Thanks to everyone for the help. Regards Daniel From: Andrea Aime Sent: Freitag, 19. April 2024 09:26 To: Calliess Daniel Ing. Cc: geoserver-users@lists.sourceforge.net Subject: [EXTERN!]: Re: [Geoserver-users] Wrong time values for Oracle DATE columns Hi Daniel, the Oracle datastore tests seem to confirm what Ian says, they create a table to store a date, a timestamp, and a time column (some databases can handle the three types as separate) and the syntax is the following: CREATE TABLE DATES (D DATE, DT TIMESTAMP, T TIMESTAMP) and then they check the mappings work, overriding the test because Oracle has no notion of "time" alone: /* * Oracle has no concept of just "Time". Sigh... * @see org.geotools.jdbc.JDBCDateTest#testMappings() */ @Override public void testMappings() throws Exception { SimpleFeatureType ft = dataStore.getSchema(tname("dates")); assertEquals(Date.class, ft.getDescriptor(aname("d")).getType().getBinding()); assertEquals(Timestamp.class, ft.getDescriptor(aname("dt")).getType().getBinding()); assertEquals(Timestamp.class, ft.getDescriptor(aname("t")).getType().getBinding()); } So yes, if you want GeoServer to handle date+time, use the TIMESTAMP column type. Regards, Andrea Aime == GeoServer Professional Services from the experts! Visit http://bit.ly/gs-services-us for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions Group phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 https://www.geosolutionsgroup.com/ http://twitter.com/geosolutions_it --- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail On Thu, Apr 18, 2024 at 1:06 PM Calliess Daniel Ing. mailto:daniel.calli...@stadt-salzburg.at>> wrote: Hi, I just discovered that GeoServer is rounding Oracle DATE attribute values down to zero or twelve hours when I'm publishing data from a 'Oracle NG (OCI)' data store. Examples: 1.1.2024 17:34:12 becomes 1.1.2024 12:00:00 or 1.1.2024 03:17:05 becomes 1.1.2024 00:00:00 This happens only when I'm publishing a complete table, not when I'm defining an SQL view. Directly after creating the new layer, the column type is set to the Java data type 'Date'. Comparing to an SQL view I saw that there the column is defined as 'Timestamp'. But also changing the data type using the 'Customize attributes' function to 'Timestamp' or 'Time' doesn't help. This happend in GeoServer 2.23.0 and also 2.25.0. Does anybody have an idea what's going on here. Thank you and best regards Daniel ___ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net<mailto:Geoserver-users@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/geoserver-users ___ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guid
Re: [Geoserver-users] Wrong time values for Oracle DATE columns
Op 18-04-2024 om 11:39 schreef Calliess Daniel Ing.: Hi, I just discovered that GeoServer is rounding Oracle DATE attribute values down to zero or twelve hours when I'm publishing data from a 'Oracle NG (OCI)' data store. Examples: 1.1.2024 17:34:12 becomes 1.1.2024 12:00:00 or 1.1.2024 03:17:05 becomes 1.1.2024 00:00:00 You might want to look into and experiment with the "oracle.jdbc.J2EE13Compliant" connection option of the Oracle JDBC driver ___ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users
Re: [Geoserver-users] Wrong time values for Oracle DATE columns
Hi Daniel, the Oracle datastore tests seem to confirm what Ian says, they create a table to store a date, a timestamp, and a time column (some databases can handle the three types as separate) and the syntax is the following: CREATE TABLE DATES (D DATE, DT TIMESTAMP, T TIMESTAMP) and then they check the mappings work, overriding the test because Oracle has no notion of "time" alone: /* * Oracle has no concept of just "Time". Sigh... * @see org.geotools.jdbc.JDBCDateTest#testMappings() */ @Override public void testMappings() throws Exception { SimpleFeatureType ft = dataStore.getSchema(tname("dates")); assertEquals(Date.class, ft.getDescriptor(aname("d")).getType().getBinding()); assertEquals(Timestamp.class, ft.getDescriptor(aname("dt")).getType().getBinding()); assertEquals(Timestamp.class, ft.getDescriptor(aname("t")).getType().getBinding()); } So yes, if you want GeoServer to handle date+time, use the TIMESTAMP column type. Regards, Andrea Aime == GeoServer Professional Services from the experts! Visit http://bit.ly/gs-services-us for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions Group phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 https://www.geosolutionsgroup.com/ http://twitter.com/geosolutions_it --- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail On Thu, Apr 18, 2024 at 1:06 PM Calliess Daniel Ing. < daniel.calli...@stadt-salzburg.at> wrote: > Hi, > > > > I just discovered that GeoServer is rounding Oracle DATE attribute values > down to zero or twelve hours when I'm publishing data from a 'Oracle NG > (OCI)' data store. Examples: > > > > 1.1.2024 17:34:12 becomes 1.1.2024 12:00:00 or > > 1.1.2024 03:17:05 becomes 1.1.2024 00:00:00 > > > > This happens only when I'm publishing a complete table, not when I'm > defining an SQL view. Directly after creating the new layer, the column > type is set to the Java data type 'Date'. Comparing to an SQL view I saw > that there the column is defined as 'Timestamp'. But also changing the data > type using the 'Customize attributes' function to 'Timestamp' or 'Time' > doesn't help. > > > > This happend in GeoServer 2.23.0 and also 2.25.0. > > > > Does anybody have an idea what's going on here. > > > > Thank you and best regards > Daniel > ___ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to > this list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > > Geoserver-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-users > ___ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users
Re: [Geoserver-users] Wrong time values for Oracle DATE columns
That's the expected behaviour - if you need to preserve the time of the date make the column a timestamp (preferably with timezone) rather than a data which only stores the year, month and day. Ian On Thu, 18 Apr 2024 at 10:56, Calliess Daniel Ing. < daniel.calli...@stadt-salzburg.at> wrote: > Hi, > > > > I just discovered that GeoServer is rounding Oracle DATE attribute values > down to zero or twelve hours when I'm publishing data from a 'Oracle NG > (OCI)' data store. Examples: > > > > 1.1.2024 17:34:12 becomes 1.1.2024 12:00:00 or > > 1.1.2024 03:17:05 becomes 1.1.2024 00:00:00 > > > > This happens only when I'm publishing a complete table, not when I'm > defining an SQL view. Directly after creating the new layer, the column > type is set to the Java data type 'Date'. Comparing to an SQL view I saw > that there the column is defined as 'Timestamp'. But also changing the data > type using the 'Customize attributes' function to 'Timestamp' or 'Time' > doesn't help. > > > > This happend in GeoServer 2.23.0 and also 2.25.0. > > > > Does anybody have an idea what's going on here. > > > > Thank you and best regards > Daniel > ___ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to > this list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > > Geoserver-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-users > -- Ian Turton ___ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users
[Geoserver-users] Wrong time values for Oracle DATE columns
Hi, I just discovered that GeoServer is rounding Oracle DATE attribute values down to zero or twelve hours when I'm publishing data from a 'Oracle NG (OCI)' data store. Examples: 1.1.2024 17:34:12 becomes 1.1.2024 12:00:00 or 1.1.2024 03:17:05 becomes 1.1.2024 00:00:00 This happens only when I'm publishing a complete table, not when I'm defining an SQL view. Directly after creating the new layer, the column type is set to the Java data type 'Date'. Comparing to an SQL view I saw that there the column is defined as 'Timestamp'. But also changing the data type using the 'Customize attributes' function to 'Timestamp' or 'Time' doesn't help. This happend in GeoServer 2.23.0 and also 2.25.0. Does anybody have an idea what's going on here. Thank you and best regards Daniel ___ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users