]> granicus.if.org Git - postgresql/commit
More fixes for abbreviated keys infrastructure.
authorRobert Haas <rhaas@postgresql.org>
Thu, 22 Jan 2015 16:58:58 +0000 (11:58 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 22 Jan 2015 16:58:58 +0000 (11:58 -0500)
commitb181a91981203f6ec9403115a2917bd3f9473707
tree0d58d25fd10aeab0b253d1ec26bbd96ab4553092
parentb529b65d1bf8537ca7fa024760a9782d7c8b66e5
More fixes for abbreviated keys infrastructure.

First, when LC_COLLATE = C, bttext_abbrev_convert should use memcpy()
rather than strxfrm() to construct the abbreviated key, because the
authoritative comparator uses memcpy().  If we do anything else here,
we might get inconsistent answers, and the buildfarm says this risk
is not theoretical.  It should be faster this way, too.

Second, while I'm looking at bttext_abbrev_convert, convert a needless
use of goto into the loop it's trying to implement into an actual
loop.

Both of the above problems date to the original commit of abbreviated
keys, commit 4ea51cdfe85ceef8afabceb03c446574daa0ac23.

Third, fix a bogus assignment to tss->locale before tss is set up.
That's a new goof in commit b529b65d1bf8537ca7fa024760a9782d7c8b66e5.
src/backend/utils/adt/varlena.c