File tree 1 file changed +12
-0
lines changed
1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -846,6 +846,18 @@ bpcharcmp(PG_FUNCTION_ARGS)
846
846
len2 ;
847
847
int cmp ;
848
848
849
+ /*
850
+ * Trimming trailing spaces off of both strings can cause a string
851
+ * with a character less than a space to compare greater than a
852
+ * space-extended string, e.g. this returns false:
853
+ * SELECT E'ab\n'::CHAR(10) < E'ab '::CHAR(10);
854
+ * even though '\n' is less than the space if CHAR(10) was
855
+ * space-extended. The correct solution would be to trim only
856
+ * the longer string to be the same length of the shorter, if
857
+ * possible, then do the comparison. However, changing this
858
+ * might break existing indexes, breaking binary upgrades.
859
+ * For details, see http://www.postgresql.org/message-id/CAK+WP1xdmyswEehMuetNztM4H199Z1w9KWRHVMKzyyFM+hV=zA@mail.gmail.com
860
+ */
849
861
len1 = bcTruelen (arg1 );
850
862
len2 = bcTruelen (arg2 );
851
863
You can’t perform that action at this time.
0 commit comments