Re: ecpg enhance patch
От | SAKAIDA Masaaki |
---|---|
Тема | Re: ecpg enhance patch |
Дата | |
Msg-id | 39386BDB2BC.2256SAKAIDA@smtp.psn.ne.jp обсуждение исходный текст |
Ответ на | Re: ecpg enhance patch (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: ecpg enhance patch
|
Список | pgsql-hackers |
Bruce Momjian <pgman@candle.pha.pa.us> wrote: > Can I get a comment on this? It has not been applied. It appears to > apply to an older release. New new file name is > interfaces/ecpg/lib/execute.c. The following patch could solve the next error cases in 6.5.3-ecpglib. case 1. strcpy(str, "T''EST'TEST"); exec sql insert into ecpg_test values ( 11, :str, 'kobe' ) ; error(-201)(Too manyarguments line 1025. case 2. str( str, "T'''?'ESTTEST"); exec sql insert into ecpg_test values ( 11, :str, 'kobe' ) ; error(-202)(Too few arguments line 1024.) However, these problems seems to be solved in 7.0-ecpglib. > > Here is a patch that would enhance the efficiency in that skip strings > > which have been already checked. The patch was made by Kazuko > > Nakagawa. Michael, can you comment on this? > > > > *** ecpglib.c.orig Wed Dec 22 13:13:21 1999 > > --- ecpglib.c Wed Dec 22 13:37:32 1999 > > *************** > > *** 398,403 **** > > --- 398,404 ---- > > PGresult *results; > > PGnotify *notify; > > struct variable *var; > > + int hostvarl = 0; > > > > copiedquery = ecpg_strdup(stmt->command, stmt->lineno); > > > > *************** > > *** 569,575 **** > > return false; > > > > strcpy(newcopy, copiedquery); > > ! if ((p = next_insert(newcopy)) == NULL) > > { > > > > /* > > --- 570,576 ---- > > return false; > > > > strcpy(newcopy, copiedquery); > > ! if ((p = next_insert(newcopy+hostvarl)) == NULL) > > { > > > > /* > > *************** > > *** 582,587 **** > > --- 583,589 ---- > > else > > { > > strcpy(p, tobeinserted); > > + hostvarl = strlen(newcopy); > > > > /* > > * The strange thing in the second argument is the rest of the > > > > > > ************ -- Regards, SAKAIDA Masaaki -- Osaka, Japan
В списке pgsql-hackers по дате отправления: