Re: Variable-length FunctionCallInfoData

2019-02-17 Thread Andrew Dunstan
On 1/26/19 11:20 PM, Andrew Dunstan wrote: > On 1/26/19 9:46 PM, Tom Lane wrote: >> Andres Freund writes: >>> The buildfarm largely seems to have had no problem with it, but handfish >>> failed: >>> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=handfish&dt=2019-01-26%2022%3A57%3A19 >>>

Re: Variable-length FunctionCallInfoData

2019-01-26 Thread Andres Freund
Hi, On 2019-01-27 08:03:17 +0100, Greg Stark wrote: > I assume you already considered and rejected having a fixed size null > bitmap followed by a variable size array of datums. That seems like it > would be denser and work better with cpu cache. It'd be more expensive to access individually (off

Re: Variable-length FunctionCallInfoData

2019-01-26 Thread Greg Stark
I assume you already considered and rejected having a fixed size null bitmap followed by a variable size array of datums. That seems like it would be denser and work better with cpu cache. I guess the reason you prefer the struct is because it can be used elsewhere on its own?

Re: Variable-length FunctionCallInfoData

2019-01-26 Thread Andrew Dunstan
On 1/26/19 9:46 PM, Tom Lane wrote: > Andres Freund writes: >> The buildfarm largely seems to have had no problem with it, but handfish >> failed: >> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=handfish&dt=2019-01-26%2022%3A57%3A19 >> but I have no idea what the error is, nor whether

Re: Variable-length FunctionCallInfoData

2019-01-26 Thread Tom Lane
Andres Freund writes: > The buildfarm largely seems to have had no problem with it, but handfish > failed: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=handfish&dt=2019-01-26%2022%3A57%3A19 > but I have no idea what the error is, nor whether it's related to this > failure, because for

Re: Variable-length FunctionCallInfoData

2019-01-26 Thread Andres Freund
Hi, On 2019-01-25 12:51:02 -0800, Andres Freund wrote: > Updated patch attached. Besides the above changes, there's a fair bit > of comment changes, and I've implemented the necessary JIT changes. I pushed a further polished version of this. The buildfarm largely seems to have had no problem wi

Re: Variable-length FunctionCallInfoData

2018-12-15 Thread Andres Freund
Hi, On 2018-12-15 10:45:21 -0500, Tom Lane wrote: > Andrew Gierth writes: > > "Andres" == Andres Freund writes: > >> I think it'd probably good to add accessors for value/nullness in > >> arguments that hide the difference between >> sake of extension authors. Would probably mostly make sense i

Re: Variable-length FunctionCallInfoData

2018-12-15 Thread Tom Lane
Andrew Gierth writes: > "Andres" == Andres Freund writes: >> I think it'd probably good to add accessors for value/nullness in >> arguments that hide the difference between > sake of extension authors. Would probably mostly make sense if we >> backpatched those for compatibility. > Speaking as a

Re: Variable-length FunctionCallInfoData

2018-12-14 Thread Andrew Gierth
> "Andres" == Andres Freund writes: >> I think it'd probably good to add accessors for value/nullness in >> arguments that hide the difference between > sake of extension authors. Would probably mostly make sense if we >> backpatched those for compatibility. Speaking as an affected extens

Re: Variable-length FunctionCallInfoData

2018-12-14 Thread Andres Freund
Hi, On 2018-10-09 12:18:02 -0700, Andres Freund wrote: > Here's an updated version of the patch. Besides a rebase the biggest > change is that I've wrapped: > > On 2018-06-05 10:29:52 -0700, Andres Freund wrote: > > There's some added uglyness, which I hope we can polish a bit > > further. Right

Re: Variable-length FunctionCallInfoData

2018-06-05 Thread Andres Freund
Hi, On 2018-06-05 15:08:33 -0400, Peter Eisentraut wrote: > On 6/5/18 13:29, Andres Freund wrote: > > Besides the change here, I think we should also go much further with the > > conversion to NullableDatum. There's two main areas of change: I want > > to move the execExpr.c related code so steps

Re: Variable-length FunctionCallInfoData

2018-06-05 Thread Peter Eisentraut
On 6/5/18 13:29, Andres Freund wrote: > Besides the change here, I think we should also go much further with the > conversion to NullableDatum. There's two main areas of change: I want > to move the execExpr.c related code so steps return data into > NullableDatums - that removes a good chunk of p

Re: Variable-length FunctionCallInfoData

2018-06-05 Thread Serge Rielau
Yeah, our approach had to mergeable. You can rip that bandaid.

Re: Variable-length FunctionCallInfoData

2018-06-05 Thread Andres Freund
Hi, On 2018-06-05 10:40:22 -0700, se...@rielau.com wrote: > Big +1 on this one. Cool. > Here is what we did. It's very crude, but minimized the amount of pain: I think I'd rather go for my approach in core though. Needlessly carrying around a bunch of pointers, and adding the necessary indirec

RE: Variable-length FunctionCallInfoData

2018-06-05 Thread serge
Big +1 on this one. Here is what we did. It's very crude, but minimized the amount of pain: It helps that the C compiler treats arrays and pointers the same. I can dig for the complete patch if you want... Cheers Serge /* * This struct is the data actually passed to an fmgr-called function