https://github.com/tvondra/hashset
On Mon, Aug 14, 2023 at 11:23 PM Florents Tselai <florents.tse...@gmail.com> wrote: > > Has anyone put this in a git repo / extension package or similar ? > > I’d like to try it out outside the core pg tree. > > > On 1 Jul 2023, at 12:04 PM, Joel Jacobson <j...@compiler.org> wrote: > > > > On Fri, Jun 30, 2023, at 06:50, jian he wrote: > >> more like a C questions > >> in this context does > >> #define HASHSET_GET_VALUES(set) ((int32 *) ((set)->data + > >> CEIL_DIV((set)->capacity, 8))) > >> define first, then define struct int4hashset_t. Is this normally ok? > > > > Yes, it's fine. Macros are just text substitutions done pre-compilation. > > > >> Also does > >> #define HASHSET_GET_VALUES(set) ((int32 *) ((set)->data + > >> CEIL_DIV((set)->capacity, 8))) > >> > >> remove (int32 *) will make it generic? then when you use it, you can > >> cast whatever type you like? > > > > Maybe, but might be less error-prone more descriptive with different > > macros for each type, e.g. INT4HASHSET_GET_VALUES, > > similar to the existing PG_GETARG_INT4HASHSET > > > > Curious to hear what everybody thinks about the interface, documentation, > > semantics and implementation? > > > > Is there anything missing or something that you think should be > > changed/improved? > > > > /Joel > > > > > -- I recommend David Deutsch's <<The Beginning of Infinity>> Jian