index f2ecef000a0c131620b5534c874e1d6239e1c705..7c6391a2760e403af6cd9ad38486eec8bb6e79a9 100644 (file)
}
}
-/* varstr_cmp()
- * Comparison function for text strings with given lengths.
- * Includes locale support, but must copy strings to temporary memory
- * to allow null-termination for inputs to strcoll().
- * Returns an integer less than, equal to, or greater than zero, indicating
- * whether arg1 is less than, equal to, or greater than arg2.
+/*
+ * varstr_cmp()
+ *
+ * Comparison function for text strings with given lengths, using the
+ * appropriate locale. Returns an integer less than, equal to, or greater than
+ * zero, indicating whether arg1 is less than, equal to, or greater than arg2.
*
* Note: many functions that depend on this are marked leakproof; therefore,
* avoid reporting the actual contents of the input when throwing errors.
@@ -1541,12 +1541,6 @@ varstr_cmp(const char *arg1, int len1, const char *arg2, int len2, Oid collid)
check_collation_set(collid);
- /*
- * Unfortunately, there is no strncoll(), so in the non-C locale case we
- * have to do some memory copying. This turns out to be significantly
- * slower, so we optimize the case where LC_COLLATE is C. We also try to
- * optimize relatively-short strings by avoiding palloc/pfree overhead.
- */
if (lc_collate_is_c(collid))
{
result = memcmp(arg1, arg2, Min(len1, len2));