Re: linked list rewrite

From: Neil Conway <neilc(at)samurai(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: linked list rewrite
Date: 2004-04-26 03:50:09
Message-ID: D0669FFC-9734-11D8-B054-000A95AB279E@samurai.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

(To resurrect an old thread, I've finally got some time to devote to
this; I'll post a patch once I've got something ready for public
consumption.)

On 23-Mar-04, at 4:59 PM, Tom Lane wrote:
> Let's see ... fleshing out this idea a bit, here's a rundown of all the
> symbols in pg_list.h and suggested new names: [...]

Most of your suggestions are agreeable; a few minor quibbles follow.

> lfirstcell new function to get first cell, or NULL if none
[...]
> llastnode llastcell

What do you think of list_head() and list_tail() instead?

> set_union list_union
> set_ptrUnion list_union_ptr
> list_union_int not currently used
> set_uniono list_union_oid

I don't see the need for anything more than set_difference() and
set_difference_ptr() -- if we're passed a T_IntList or a T_OidList, we
can examine the list tag and do the Right Thing automagically. ISTM we
only need the xxx_int() and xxx_oid() variants when something in the
function's signature depends on the type of the list's elements.

> set_difference list_difference
> set_ptrDifference list_difference_ptr
> list_difference_int not currently used
> set_differenceo list_difference_oid

Ibid.

-Neil

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message tech tech 2004-04-26 03:53:39 Re: PostgreSQL 7.4.2 initdb problem
Previous Message Bruce Momjian 2004-04-26 03:44:30 Re: thread_test.c problems

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2004-04-26 04:06:04 Re: thread_test.c problems
Previous Message Bruce Momjian 2004-04-26 03:44:30 Re: thread_test.c problems