Thread: Text comparison suddenly can't find collation?
Hi all, Why would a string comparison work in one case and not another? In the following example, it works to compare a and b, but not a and d. This is in a C module which calls DirectFunctionCall2( text_le, d1, d2 ); DEBUG: Comparing a == b DEBUG: Comparing a == d ERROR: could not determine which collation to use for string comparison I'll try and see if I can come up with a minimal example in a bit. -- Johann Oskarsson http://www.2ndquadrant.com/ |[] PostgreSQL Development, 24x7 Support, Training andServices --+-- | Blog: http://my.opera.com/myrkraverk/blog/
"Johann 'Myrkraverk' Oskarsson" <johann@2ndquadrant.com> writes: > Why would a string comparison work in one case and not another? In > the following example, it works to compare a and b, but not a and d. > This is in a C module which calls > DirectFunctionCall2( text_le, d1, d2 ); As of 9.1, I'd expect that coding to fail every time. text_le needs to be passed a collation, and you aren't doing so. You need to be using DirectFunctionCall2Coll. Where to get the collation from might be an interesting question too, but without more context it's hard to guess what will be appropriate for you. regards, tom lane