bugfix proposal for ecpglib prepare's parse code
От | Daniel Verite |
---|---|
Тема | bugfix proposal for ecpglib prepare's parse code |
Дата | |
Msg-id | 20040930131206.2513124@localhost обсуждение исходный текст |
Ответы |
Re: bugfix proposal for ecpglib prepare's parse code
|
Список | pgsql-interfaces |
Hello, A problem with ecpg reported in pgsql-fr-general: http://archives.postgresql.org/pgsql-fr-generale/2004-09/msg00024.php boils down to ecpglib interpreting two consecutive colons as a placeholder (or maybe two) for a host variable in the context of an EXEC SQL PREPARE :stmt This leads to failure when '::' is used in the statement as a cast operator, as it is in the message pointed above. The small patch below is a fix for this (it applies within pg8.0.0-beta3 to src/interfaces/ecpg/ecpglib/prepare.c): *** prepare.c~ Fri May 21 15:50:12 2004 --- prepare.c Wed Sep 29 17:35:58 2004 *************** *** 46,54 **** if (!string && *ptr == ':') { ! *ptr = '?'; ! for (++ptr; *ptr && isvarchar(*ptr); ptr++) ! *ptr = ' '; } } } --- 46,59 ---- if (!string && *ptr == ':') { ! if (ptr[1]==':') ! ptr+=2; /* skip '::' */ ! else ! { ! *ptr = '?'; ! for (++ptr; *ptr && isvarchar(*ptr); ptr++) ! *ptr = ' '; ! } } } } Regards, -- DanielPostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org
В списке pgsql-interfaces по дате отправления: