Re: ecpg Oracle compatibility issue
От | Bruce Momjian |
---|---|
Тема | Re: ecpg Oracle compatibility issue |
Дата | |
Msg-id | 200212132029.gBDKT8k01910@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: ecpg Oracle compatibility issue (Roland Karch <rdkarch@immd3.informatik.uni-erlangen.de>) |
Список | pgsql-bugs |
OK, patch applied. Thanks. --------------------------------------------------------------------------- Roland Karch wrote: > On Thu, Dec 12, 2002 at 04:49:30PM -0500, Bruce Momjian wrote: > > I applied the attached patch. Your version looked like it would have > > doubled the double-quotes. > > Oops - yes, I got that wrong. > > > As you mentioned, you couldn't get bison to > > work, so you weren't able to test it. Please look over this patch and > > make sure it is correct. > > It works fine, just got bison to work on my other computer. > > > Also check the other use of ECPGdisconnect(). > > Is that correct? Does it need "CURRENT"? > > Yes, it's needed. Supplying a NULL pointer instead results in a segfault > for me. However, it would work if src/interfaces/ecpg/lib/connect.c line > 468 was patched - checking for NULL before dereferencing a user-supplied > pointer is generally a good idea. > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 Index: src/interfaces/ecpg/preproc/preproc.y =================================================================== RCS file: /cvsroot/pgsql-server/src/interfaces/ecpg/preproc/preproc.y,v retrieving revision 1.204 diff -c -c -r1.204 preproc.y *** src/interfaces/ecpg/preproc/preproc.y 12 Dec 2002 21:50:01 -0000 1.204 --- src/interfaces/ecpg/preproc/preproc.y 13 Dec 2002 20:27:24 -0000 *************** *** 554,560 **** if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for disconnect statement.\n"); ! fprintf(yyout, "{ ECPGdisconnect(__LINE__, %s);", $1); whenever_action(2); free($1); } --- 554,561 ---- if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for disconnect statement.\n"); ! fprintf(yyout, "{ ECPGdisconnect(__LINE__, %s);", ! $1 ? $1 : "\"CURRENT\""); whenever_action(2); free($1); }
В списке pgsql-bugs по дате отправления: