Re: ecpg enhance patch - Mailing list pgsql-hackers

From SAKAIDA Masaaki
Subject Re: ecpg enhance patch
Date
Msg-id 39386BDB2BC.2256SAKAIDA@smtp.psn.ne.jp
Whole thread Raw
In response to Re: ecpg enhance patch  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: ecpg enhance patch
List 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 by date:

Previous
From: Lamar Owen
Date:
Subject: Re: config files in /data
Next
From: Tom Lane
Date:
Subject: Re: Problems with recent CVS versions and Solaris.