]> granicus.if.org Git - postgresql/commit
Adjust range_adjacent to support different canonicalization rules.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 23 Nov 2011 22:13:02 +0000 (17:13 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 23 Nov 2011 22:13:02 +0000 (17:13 -0500)
commitb7056b832444696c931d59af057b0a345f5ae178
tree9f18a5e293fee7cf6fa54fb4080eebca278d6cc0
parenta912a2784be5d144aab89e447dfe8ca74b6ad079
Adjust range_adjacent to support different canonicalization rules.

The original coding would not work for discrete ranges in which the
canonicalization rule is to produce symmetric boundaries (either [] or ()
style), as noted by Jeff Davis.  Florian Pflug pointed out that we could
fix that by invoking the canonicalization function to see if the range
"between" the two given ranges normalizes to empty.  This implementation
of Florian's idea is a tad slower than the original code, but only in the
case where there actually is a canonicalization function --- if not, it's
essentially the same logic as before.
src/backend/utils/adt/rangetypes.c