}
}
-/* 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.
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));