list rewrite committed

From: Neil Conway <neilc(at)samurai(dot)com>
To: PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org>
Subject: list rewrite committed
Date: 2004-05-26 04:47:26
Message-ID: 40B4215E.2090806@samurai.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've applied the list rewrite patch to CVS HEAD. I've also sent a
copy of the patch I applied to the -patches list.

Notes:

- the tree compiles without warnings and passes the regression
tests. I'm not aware of any bugs, regression failures, or compiler
warnings caused by the list rewrite patch -- please let me know if
you encounter anything

- client code that uses the List API is _not_ source compatible with
the new List API. The most common change will be the need to change
the foreach() iteration variable to a ListCell*, rather than a
List*. There are also some subtle changes in behavior: for example,
lcons() is now destructive (in the sense that you cannot call it on
a list and expect the list you pass to lcons() to be unmodified;
this was the case with the old list API)

Remaining work:

- investigate inline functions for non-GCC compilers

- disable the use of the compatibility API throughout the tree and
change the code over to use the new API function names. This ought
to be largely a mechanical search and replace operation -- any
patches are welcome. I plan to start converting the remainder of the
tree in this fashion tomorrow.

- use the new for_each_cell() and forboth() macros throughout the
tree, as appropriate.

- remove the FastList API -- there is no need for it anymore. Tom,
would you like to do this or should I?

- anything else?

Thanks to Tom and Alvaro for their assistance in completing this work.

-Neil

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christopher Kings-Lynne 2004-05-26 05:34:29 Re: list rewrite committed
Previous Message Bruce Momjian 2004-05-26 03:42:04 Re: [COMMITTERS] pgsql-server: Add code to identify_system_timezone()