From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Ole Gjerde <gjerde(at)icebox(dot)org> |
Cc: | Postgres Hackers List <hackers(at)postgreSQL(dot)org> |
Subject: | Re: [HACKERS] v6.5 release ToDo |
Date: | 1999-05-17 05:03:50 |
Message-ID: | 6574.926917430@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Ole Gjerde <gjerde(at)icebox(dot)org> writes:
> gdb of core:
> #0 0x4013a30a in _IO_default_xsputn (f=0xbf8006f4, data=0x81377e0, n=20)
> at genops.c:382
> #1 0x40129980 in _IO_vfprintf (s=0xbf8006f4,
> format=0x81377e0 " COLUMNDEF :colname %s :typename ", ap=0xbf800c08)
> at vfprintf.c:1048
> #2 0x40137d16 in _IO_vsnprintf (string=0xbf8007f8 "", maxlen=1024,
> format=0x81377e0 " COLUMNDEF :colname %s :typename ", args=0xbf800c08)
> at vsnprintf.c:129
> #3 0x809ccfb in appendStringInfo ()
> #4 0x80b637b in _outColumnDef ()
> #5 0x80b8107 in _outNode ()
> #6 0x80b7d79 in _outNode ()
> #7 0x80b7cab in _outConstraint ()
> #8 0x80b84b7 in _outNode ()
> #9 0x80b7d79 in _outNode ()
> #10 0x80b63bb in _outColumnDef ()
> #11 0x80b8107 in _outNode ()
> #12 0x80b7d79 in _outNode ()
> And this keeps going and going and going..
Hmm, that looks like a column constraint has somehow gotten recursively
linked back to its parent column definition node.
I poked around in the code for serial-column constraints, and found that
Lockhart's last patch had a subtle bug --- he wrote more characters in
the constraint text without increasing the space palloc'd for the
string. That could maybe cause such a problem, depending on what
happened to be living next door to the string... But I don't really
think this explains your complaint, because according to the cvs log
that change was made on 5/13, and you reported a problem quite some time
before that. Still, please fetch the current cvs sources or apply this
patch:
*** src/backend/parser/analyze.c.orig Sun May 16 10:29:33 1999
--- src/backend/parser/analyze.c Mon May 17 00:50:07 1999
***************
*** 545,551 ****
constraint = makeNode(Constraint);
constraint->contype = CONSTR_DEFAULT;
constraint->name = sname;
! cstring = palloc(9 + strlen(constraint->name) + 2 + 1);
strcpy(cstring, "nextval('\"");
strcat(cstring, constraint->name);
strcat(cstring, "\"')");
--- 545,551 ----
constraint = makeNode(Constraint);
constraint->contype = CONSTR_DEFAULT;
constraint->name = sname;
! cstring = palloc(10 + strlen(constraint->name) + 3 + 1);
strcpy(cstring, "nextval('\"");
strcat(cstring, constraint->name);
strcat(cstring, "\"')");
and let us know if anything changes...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Ole Gjerde | 1999-05-17 05:11:09 | Re: [HACKERS] v6.5 release ToDo |
Previous Message | Bruce Momjian | 1999-05-17 04:53:53 | Re: [HACKERS] Memory leaks in relcache |