• Robert Haas's avatar
    Introduce extensible node types. · bcac23de
    Robert Haas authored
    An extensible node is always tagged T_Extensible, but the extnodename
    field identifies it more specifically; it may also include arbitrary
    private data.  Extensible nodes can be copied, tested for equality,
    serialized, and deserialized, but the core system doesn't know
    anything about them otherwise.  Some extensions may find it useful to
    include these nodes in fdw_private or custom_private lists in lieu of
    arm-wrestling their data into a format that the core code can
    understand.
    
    Along the way, so as not to burden the authors of such extensible
    node types too much, expose the functions for writing serialized
    tokens, and for serializing and deserializing bitmapsets.
    
    KaiGai Kohei, per a design suggested by me.  Reviewed by Andres Freund
    and by me, and further edited by me.
    bcac23de
extensible.c 2.44 KB