Slightly refactor varstr_sortsupport() to improve readability.
Author: Andreas Karlsson Discussion: https://postgr.es/m/69c2a864-846f-4309-bd5a-aaa1c34f9a11@proxel.se
This commit is contained in:
parent
15c1abd977
commit
a95ff1fe2e
@ -1917,25 +1917,25 @@ varstr_sortsupport(SortSupport ssup, Oid typid, Oid collid)
|
||||
}
|
||||
else
|
||||
ssup->comparator = varlenafastcmp_locale;
|
||||
}
|
||||
|
||||
/*
|
||||
* Unfortunately, it seems that abbreviation for non-C collations is
|
||||
* broken on many common platforms; see pg_strxfrm_enabled().
|
||||
*
|
||||
* Even apart from the risk of broken locales, it's possible that there
|
||||
* are platforms where the use of abbreviated keys should be disabled at
|
||||
* compile time. Having only 4 byte datums could make worst-case
|
||||
* performance drastically more likely, for example. Moreover, macOS's
|
||||
* strxfrm() implementation is known to not effectively concentrate a
|
||||
* significant amount of entropy from the original string in earlier
|
||||
* transformed blobs. It's possible that other supported platforms are
|
||||
* similarly encumbered. So, if we ever get past disabling this
|
||||
* categorically, we may still want or need to disable it for particular
|
||||
* platforms.
|
||||
*/
|
||||
if (!collate_c && !pg_strxfrm_enabled(locale))
|
||||
abbreviate = false;
|
||||
/*
|
||||
* Unfortunately, it seems that abbreviation for non-C collations is
|
||||
* broken on many common platforms; see pg_strxfrm_enabled().
|
||||
*
|
||||
* Even apart from the risk of broken locales, it's possible that there
|
||||
* are platforms where the use of abbreviated keys should be disabled at
|
||||
* compile time. Having only 4 byte datums could make worst-case
|
||||
* performance drastically more likely, for example. Moreover, macOS's
|
||||
* strxfrm() implementation is known to not effectively concentrate a
|
||||
* significant amount of entropy from the original string in earlier
|
||||
* transformed blobs. It's possible that other supported platforms are
|
||||
* similarly encumbered. So, if we ever get past disabling this
|
||||
* categorically, we may still want or need to disable it for particular
|
||||
* platforms.
|
||||
*/
|
||||
if (!pg_strxfrm_enabled(locale))
|
||||
abbreviate = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* If we're using abbreviated keys, or if we're using a locale-aware
|
||||
|
Loading…
x
Reference in New Issue
Block a user