aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistbuildbuffers.c
diff options
context:
space:
mode:
authorAlexander Korotkov <akorotkov@postgresql.org>2019-08-11 22:54:53 +0300
committerAlexander Korotkov <akorotkov@postgresql.org>2019-08-11 22:55:21 +0300
commit3218ff5c6aea5841ab547ecca26927716419fe4b (patch)
treec9a32dd05eab1feee32196bf5cff5cd636c4c65a /src/backend/access/gist/gistbuildbuffers.c
parent6ce0366be2a3f92a46202acaba40be3aa72fa073 (diff)
downloadpostgresql-3218ff5c6aea5841ab547ecca26927716419fe4b.tar.gz
postgresql-3218ff5c6aea5841ab547ecca26927716419fe4b.zip
Adjust string comparison in jsonpath
We have implemented jsonpath string comparison using default database locale. However, standard requires us to compare Unicode codepoints. This commit implements that, but for performance reasons we still use per-byte comparison for "==" operator. Thus, for consistency other comparison operators do per-byte comparison if Unicode codepoints appear to be equal. In some edge cases, when same Unicode codepoints have different binary representations in database encoding, we diverge standard to achieve better performance of "==" operator. In future to implement strict standard conformance, we can do normalization of input JSON strings. Original patch was written by Nikita Glukhov, rewritten by me. Reported-by: Markus Winand Discussion: https://postgr.es/m/8B7FA3B4-328D-43D7-95A8-37B8891B8C78%40winand.at Author: Nikita Glukhov, Alexander Korotkov Backpatch-through: 12
Diffstat (limited to 'src/backend/access/gist/gistbuildbuffers.c')
0 files changed, 0 insertions, 0 deletions