summaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/varlena.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2011-04-10 00:14:20 +0300
committerPeter Eisentraut <peter_e@gmx.net>2011-04-10 00:15:41 +0300
commit11745364d074f3a7ee54c98fad55cfb5c5149326 (patch)
treee2466c56cc7fc79cf1ec8ca3e9eb16cb4e6e62e9 /src/backend/utils/adt/varlena.c
parent00f11f419caa873b44d70071d4ade0b8c75e7f36 (diff)
Add collation support on Windows (MSVC build)
There is not yet support in initdb to populate the pg_collation catalog, but if that is done manually, the rest should work.
Diffstat (limited to 'src/backend/utils/adt/varlena.c')
-rw-r--r--src/backend/utils/adt/varlena.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index 3587fe45951..7a545214755 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -1374,6 +1374,11 @@ varstr_cmp(char *arg1, int len1, char *arg2, int len2, Oid collid)
((LPWSTR) a2p)[r] = 0;
errno = 0;
+#ifdef HAVE_LOCALE_T
+ if (mylocale)
+ result = wcscoll_l((LPWSTR) a1p, (LPWSTR) a2p, mylocale);
+ else
+#endif
result = wcscoll((LPWSTR) a1p, (LPWSTR) a2p);
if (result == 2147483647) /* _NLSCMPERROR; missing from mingw
* headers */