Thanks a lot,
That did the trick

Best regards

On 30 July 2017 at 18:26, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Gabriel Furstenheim Milerud <furstenh...@gmail.com> writes:
> > I'm trying to execute the equivalent to '~' with regexp from within C
> code.
>
> >   text * s = cstring_to_text("aa");
> >   text * p = cstring_to_text("a");
> >   return DatumGetBool(DirectFunctionCall2(textregexeq,
> PointerGetDatum(s),
> > PointerGetDatum(p)));
>
> > But I'm getting an error with collate:
> > ERROR:  could not determine which collation to use for regular expression
> > HINT:  Use the COLLATE clause to set the collation explicitly.
>
> Yes, you need to use DirectFunctionCall2Coll() if you're trying to invoke
> a collation-aware function.  It's probably good enough to pass
> DEFAULT_COLLATION_OID, although if you're inside a SQL function of
> your own, passing down whatever collation was passed to you would
> be a better plan.
>
>                         regards, tom lane
>

Reply via email to