On Tue, Dec 3, 2013 at 10:29 AM, Andrea Aime
<[email protected]>wrote:
> On Mon, Dec 2, 2013 at 11:47 PM, Martin Davis <[email protected]> wrote:
>
>> Further to this issue, there's good news and bad news.
>>
>> The good news is that including the TIME= parameter eliminates the error,
>> and appears to work *as designed*. (Although it would be nice to be able
>> to omit the TIME= parameter and have some sensible default in place to
>> avoid the error. Perhaps the default could be TIME=<current time> ?)
>>
>> The bad news is that the temporal query emitted by GeoServer does not
>> match the temporal semantics of Oracle, and thus does not return enough
>> data. For a query of a time instant:
>>
>> GeoServer emits: SELECT ... WHERE ((? >= VALID_START AND ? <=
>> VALID_END) AND SDO_FILTER(... )
>>
>> As I mentioned before, Oracle uses a closed-open period model, with
>> VALID-END = NULL representing an open period. Therefore to return all
>> records current at the given time the query should be:
>>
>> SELECT ... WHERE ((? >= VALID_START AND (? <= VALID_END OR VALID_END IS
>> NULL) AND SDO_FILTER(... )
>>
>
> This filter is actually written as an OGC filter somewhere in the WMS
> module (WMS class, buildDimensionFilter method), adding an extra to it
> would be easy.
> DB2 should not break because of the extra condition right? I mean, the
> validation should be done on inserts/updates, but now on the
> queries being performed on the data, or am I missing something?
>
> As far as I remember Ian added support for time periods in GeoServer
> vector data, would be useful to also hear
> his perspective on this (maybe there was a reason to setup the code to
> work on closed periods only?)
>
Sorry for the delay and I got lucky in even seeing this email - have to
adjust my filters :(
I'm not totally clear on the question being asked but it sounds like you
have records with a start but no end and a time instant query is not
returning the correct results because the null check is missing? The
semantics make sense to me and I cannot recall any reason why only closed
periods were implemented. I can also verify the current query emitted does
not work correctly on postgres w/ respect to the desired semantics.
No need to reply unless I'm not understanding things :)
--
Ian Schneider
Software Engineer | Boundless
[email protected]
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users