Re: system catalog relation of a table and a serial sequence - Mailing list pgsql-hackers

From Brent Verner
Subject Re: system catalog relation of a table and a serial sequence
Date
Msg-id 20011217141954.GA15077@rcfile.org
Whole thread Raw
In response to Re: system catalog relation of a table and a serial sequence  (Brent Verner <brent@rcfile.org>)
Responses Re: [PATCHES] system catalog relation of a table and a serial sequence  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
[2001-12-16 06:30] Brent Verner said:
| [2001-12-16 00:42] Tom Lane said:
| | Brent Verner <brent@rcfile.org> writes:
| | > How about strtok_r?  I /really/ like the fact that strtok will
| | > eat either of the tokens ['"] that might be around the sequence
| | > name... just call me lazy :-)
| |
| | That behavior creates one of the "corner cases" I was alluding to.
| | Shall I leave the difficulty as an exercise for the student?
|
| Ok... I ended up working longer than I'd thought :-)
|
| * no strtok were used in this patch. ;-)
| * Handles both serial-sequences and user-sequences referenced in
|   nextval(...) default column defs.
| * Loop over tables so we can check wildcard table name in the future
|   per your suggestion.  I've only noted a TODO: regarding the wildcard
|   matching.
| * Instead of using a NULL terminated char** array to hold the collected
|   sequence names, I put in a simple strarray ADT -- mostly so I could
|   have the strarrayContains() test to call from the conditional around
|   dumpSequence().  If this is just dumb, I'll replace it with a simple
|   char** implementation.  Did I overlook some utility funcs in the
|   PG source that already does this?  If so, I'll gladly use those.
| * Patch is really attached :-P

This patch needs a fix already...  I just realized (while playing with
this code in a different context) that I forgot to change the malloc
line in strarrayInit() after typedef'ing strarray as pointer to struct,
instead of just the struct.

-  strarray _ary = (strarray)malloc(sizeof(strarray));
+  strarray _ary = (strarray)malloc(sizeof(struct strarray));

cheers.
  brent

--
"Develop your talent, man, and leave the world something. Records are
really gifts from people. To think that an artist would love you enough
to share his music with anyone is a beautiful thing."  -- Duane Allman

pgsql-hackers by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: Re: Size restriction on patches list
Next
From: Brent Verner
Date:
Subject: Re: [PATCHES] system catalog relation of a table and a serial sequence