有没有办法编写一个自定义聚合 Postgresql C 扩展函数,该函数从用户那里获取输入并将其设置为初始条件?如果是这样,怎么做?
我过去写过几个 Postgresql 扩展。输入始终是表格的列,但现在出于理论上的原因,我需要根据一个变化很大的用户输入进行聚合扩展。特别是,这些值也不能存储在数据库中。
编辑1: 例如,说我想运行该功能
aggregate fancy_select( int tmp_accum_value, int column, int *fancy_math_stuff){
return (row *** fancy_math_stuff)
}
其中 *** 是一个花哨的数学运算,它使用整个 fancy_math_stuff 数组,并且所述数组在第一次调用时传递,但它不作为列存储在数据库中。tmp_accum_value 是累积的中间状态。