Thread

Commits

  1. Fix flag tests in src/test/modules/test_oat_hooks

  2. Fix XID list support some more

  3. Add copy/equal support for XID lists

  4. Implement List support for TransactionId

  1. pgsql: Add copy/equal support for XID lists

    Alvaro Herrera <alvherre@alvh.no-ip.org> — 2022-07-12T14:12:49Z

    Add copy/equal support for XID lists
    
    Commit f10a025cfe97 added support for List to store Xids, but didn't
    handle the new type in all cases.  Add some obviously necessary pieces.
    As far as I am aware, this is all dead code as far as core code is
    concerned, but it seems unacceptable not to have it in case third-party
    code wants to rely on this type of list.  (Some parts of the List API
    remain unimplemented, but that can be fixed as and when needed -- see
    lack of list_intersection_oid, list_deduplicate_int as precedents.)
    
    Discussion: https://postgr.es/m/20220708164534.nbejhgt4ajz35p65@alvherre.pgsql
    
    Branch
    ------
    master
    
    Details
    -------
    https://git.postgresql.org/pg/commitdiff/5ca0fe5c8ad7987beee95669124c7e245f2816d8
    
    Modified Files
    --------------
    src/backend/nodes/copyfuncs.c                    | 5 +++--
    src/backend/nodes/equalfuncs.c                   | 8 ++++++++
    src/test/modules/test_oat_hooks/test_oat_hooks.c | 3 +++
    3 files changed, 14 insertions(+), 2 deletions(-)
    
    
  2. Re: pgsql: Add copy/equal support for XID lists

    Tom Lane <tgl@sss.pgh.pa.us> — 2022-07-12T14:36:45Z

    Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
    > Add copy/equal support for XID lists
    
    What about outfuncs/readfuncs?  I see that you fixed _outList,
    but not its caller outNode:
    
    	else if (IsA(obj, List) || IsA(obj, IntList) || IsA(obj, OidList))
    		_outList(str, obj);
    
    and the LEFT_PAREN case in nodeRead() doesn't know what to do either.
    
    			regards, tom lane
    
    
    
    
  3. test_oat_hooks bug (was: Re: pgsql: Add copy/equal support for XID lists)

    Alvaro Herrera <alvherre@alvh.no-ip.org> — 2022-07-12T15:20:59Z

    While looking for a place to host a test for XID lists support, I
    noticed a mistake in test_oat_hooks, fixed as per the attached.
    
    -- 
    Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
    
  4. Re: pgsql: Add copy/equal support for XID lists

    Alvaro Herrera <alvherre@alvh.no-ip.org> — 2022-07-12T18:35:16Z

    On 2022-Jul-12, Tom Lane wrote:
    
    > What about outfuncs/readfuncs?  I see that you fixed _outList,
    > but not its caller outNode:
    > 
    > 	else if (IsA(obj, List) || IsA(obj, IntList) || IsA(obj, OidList))
    > 		_outList(str, obj);
    > 
    > and the LEFT_PAREN case in nodeRead() doesn't know what to do either.
    
    Hmm, true -- naively grepping for OidList wasn't enough (moreso when I
    failed to notice one occurrence).  This patch closes the holes you
    mentioned.  I haven't found any others yet.
    
    -- 
    Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
    "La vida es para el que se aventura"
    
  5. Re: test_oat_hooks bug (was: Re: pgsql: Add copy/equal support for XID lists)

    Michael Paquier <michael@paquier.xyz> — 2022-07-13T01:02:27Z

    On Tue, Jul 12, 2022 at 05:20:59PM +0200, Alvaro Herrera wrote:
    > While looking for a place to host a test for XID lists support, I
    > noticed a mistake in test_oat_hooks, fixed as per the attached.
    
    Indeed.  Good catch.
    --
    Michael