On 5-6-2018 18:10, Lester Caine wrote:
I do not recall seeing any discussion on the ground rules for handling timezone offsets prior to an implementation being proposed? It could then have been pointed out that the SQL rules simply don't work in a lot of cases. The idea of listing the end time assumes that there will only ever be 4 decimal places of second accuracy, but the involves cropping current time systems. Avoiding the problem makes a lot more sense.

Firebird timestamps have a precision of 100 microseconds. No more, no less, so 4 decimals precision is correct there. This clearly defines the boundaries as [start, end]. You have a transition that starts at time x, this means that the previous transition end (inclusive) is at the previous tick (100 microseconds before time x).

So you get

1. [start_1, end_1] (where end_1 = start_1 - 1 tick (100 microseconds))
2. [start_2, end_2]
...

BTW: earlier you complained about it being fractional, and now you're complaining about the precision of those fractions not being precise enough?

I don't think I understand what you're arguing for and what the problem is, unless you are arguing that the range end should be exclusive, so [start, end), which means that "end" is the same value as "start" of the next one, eg

1. [start_1, start_2)
2. [start_2, start_3)
...

Which might seem nice from a theory perspective, but does not play nice with for example usage of BETWEEN.

Mark
--
Mark Rotteveel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to