Andrew Gierth <and...@tao11.riddles.org.uk> writes: > Here are two more, cumulative with the previous patch and each other: > The first removes the assumption in ordered_set_startup that the > aggcontext can be cached in fn_extra, and puts it in the transvalue > instead.
OK, done. (ATM it seems like we wouldn't need gcontext in the transvalue either, but I left it there in case we want it later.) > The second exposes the OSA* structures in a header file, so that > user-defined ordered-set aggs can use ordered_set_transition[_multi] > directly rather than having to cargo-cult it into their own code. I'm not very happy about this one; we intentionally did not expose these structs, so that we could freely make fixes like, for example, your immediately preceding patch. I think it'd be worth considering whether there's a way to allow third-party ordered-set aggs to use the infrastructure in orderedsetaggs.c while still treating these structs as opaque. In any case we'd need a more carefully thought-through API than just decreeing that some private structs are now public. regards, tom lane -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers