Thread: functional index arg matching patch
Attached is a patch to allow functinal indecies to use functions that are for 'binary-compatible' types. eg create function foobar(text) returns text as .... create table vc ( a varchar ); create index on vc ( foobar(a) ); should now work. -- Mark Hollomon mhh@mindspring.com
Attachment
Mark Hollomon <mhh@mindspring.com> writes: > Attached is a patch to allow > functinal indecies to use functions that > are for 'binary-compatible' types. Um, thanks for working on this, but I already fixed that... regards, tom lane
Tom Lane wrote: > > Mark Hollomon <mhh@mindspring.com> writes: > > Attached is a patch to allow > > functinal indecies to use functions that > > are for 'binary-compatible' types. > > Um, thanks for working on this, but I already fixed that... > > regards, tom lane When? A message you sent on 8-11 indicated it wasn't. And I didn't see any code in CVS as of ~ 8-17 when I started. But I may have missed it. I'll be interested in seeing how you did it. -- Mark Hollomon mhh@nortelnetworks.com
"Mark Hollomon" <mhh@nortelnetworks.com> writes: > Tom Lane wrote: >> Um, thanks for working on this, but I already fixed that... > When? A message you sent on 8-11 indicated it wasn't. (Checks CVS) ... yesterday, actually. > I'll be interested in seeing how you did it. I just called the ambiguous-function-name-resolution code in parse_func.c and then checked to make sure it hadn't selected something the executor wasn't prepared to cope with --- ie, functions requiring runtime conversions of input data types. It looked like you had copied out a bunch of the parse_func.c code, which is OK in the short run but the duplicated code might be a headache to keep in sync later on. regards, tom lane
Tom Lane wrote: > > "Mark Hollomon" <mhh@nortelnetworks.com> writes: > > Tom Lane wrote: > >> Um, thanks for working on this, but I already fixed that... > > > When? A message you sent on 8-11 indicated it wasn't. > > (Checks CVS) ... yesterday, actually. Yea, I saw it when a refreshed last night. > > > I'll be interested in seeing how you did it. > > I just called the ambiguous-function-name-resolution code in > parse_func.c and then checked to make sure it hadn't selected > something the executor wasn't prepared to cope with --- ie, > functions requiring runtime conversions of input data types. > > It looked like you had copied out a bunch of the parse_func.c code, > which is OK in the short run but the duplicated code might be > a headache to keep in sync later on. > I had thought about doing it the way you did, but didn't know the consequences of some of the other coersions that parse_func.c tried to do. My guess that it wasn't harmless was correct judging from your code. -- Mark Hollomon mhh@nortelnetworks.com ESN 451-9008 (302)454-9008