Thread: Some corrections on psqlodbc driver

Some corrections on psqlodbc driver

From
Franco Violi
Date:
I subscribed the gborg site 2 days ago. The reason was that we are
openoffice users under linux and we have some problems that make
postgres unusable on openoffice/linux. The issue 17455 and 17500 on
openoffice.org points to the problem. I debug the latest version of the
driver and corrected some ( i think) bugs.

One problem was that openoffice send to the driver escape istructions in
uppercase and the driver was testing just lowercase.

Another problem was that on snprintf You cannot use the same buffer
as source and destination, because in this way the result is a null string.

Here are the modification I made on convert.c. I am not sure that on Windows
the strcasecmp system call exist. By the way:

2785d2784
<     char        tmpbuf[1024];    // temporary snprintf destination
2838c2837
<     if (strcasecmp(key, "d") == 0)
---
>     if (strcmp(key, "d") == 0)
2842,2843c2841,2842
<         prtlen = snprintf(tmpbuf, sizeof(buf), "%s::date ", buf);
<         CVT_APPEND_DATA(qb, tmpbuf, prtlen);
---
>         prtlen = snprintf(buf, sizeof(buf), "%s::date ", buf);
>         CVT_APPEND_DATA(qb, buf, prtlen);
2845c2844
<     else if (strcasecmp(key, "t") == 0)
---
>     else if (strcmp(key, "t") == 0)
2849,2850c2848,2849
<         prtlen = snprintf(tmpbuf, sizeof(buf), "%s::time", buf);
<         CVT_APPEND_DATA(qb, tmpbuf, prtlen);
---
>         prtlen = snprintf(buf, sizeof(buf), "%s::time", buf);
>         CVT_APPEND_DATA(qb, buf, prtlen);
2852c2851
<     else if (strcasecmp(key, "ts") == 0)
---
>     else if (strcmp(key, "ts") == 0)
2857c2856
<             prtlen = snprintf(tmpbuf, sizeof(buf), "%s::datetime", buf);
---
>             prtlen = snprintf(buf, sizeof(buf), "%s::datetime", buf);
2859,2860c2858,2859
<             prtlen = snprintf(tmpbuf, sizeof(buf), "%s::timestamp", buf);
<         CVT_APPEND_DATA(qb, tmpbuf, prtlen);
---
>             prtlen = snprintf(buf, sizeof(buf), "%s::timestamp", buf);
>         CVT_APPEND_DATA(qb, buf, prtlen);
2862c2861
<     else if (strcasecmp(key, "oj") == 0) /* {oj syntax support for 7.1 *
servers */
---
>     else if (strcmp(key, "oj") == 0) /* {oj syntax support for 7.1 * servers */
2867c2866
<     else if (strcasecmp(key, "fn") == 0)
---
>     else if (strcmp(key, "fn") == 0)


Re: Some corrections on psqlodbc driver

From
"Simeó Reig (Informes Incofisa)"
Date:
A question please, is in your TODO list the SSL encryption and/or
compression of stream ?

Thanks !!

Simeó Reig


Re: Some corrections on psqlodbc driver

From
Franco Violi
Date:
I do not understand the question. The problem is just that when openoffice
start a selections on date fields, it send something like this to the driver

select my_date from my_table where my_date = { D '2002-01-01' }

and all that I know is that with this patch the request is processed,
otherwise you get a parse error message.


Alle 20:24, sabato 30 agosto 2003, hai scritto:
> A question please, is in your TODO list the SSL encryption and/or
> compression of stream ?
>
> Thanks !!
>
> Simeó Reig
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org


Re: Some corrections on psqlodbc driver

From
Hiroshi Inoue
Date:
Franco Violi wrote:
>
> I subscribed the gborg site 2 days ago. The reason was that we are
> openoffice users under linux and we have some problems that make
> postgres unusable on openoffice/linux. The issue 17455 and 17500 on
> openoffice.org points to the problem. I debug the latest version of the
> driver and corrected some ( i think) bugs.
>
> One problem was that openoffice send to the driver escape istructions in
> uppercase and the driver was testing just lowercase.

OK I would take care of it.

> Another problem was that on snprintf You cannot use the same buffer
> as source and destination, because in this way the result is a null
> string.

Which version of driver are you using ?
The bug was fixed in 7.03.0100.

Thanks.
Hiroshi Inoue
    http://www.geocities.jp/inocchichichi/psqlodbc/

Re: Some corrections on psqlodbc driver

From
Franco Violi
Date:
Alle 11:37, lunedì 1 settembre 2003, Hiroshi Inoue ha scritto:
> Franco Violi wrote:
> > I subscribed the gborg site 2 days ago. The reason was that we are
> > openoffice users under linux and we have some problems that make
> > postgres unusable on openoffice/linux. The issue 17455 and 17500 on
> > openoffice.org points to the problem. I debug the latest version of the
> > driver and corrected some ( i think) bugs.
> >
> > One problem was that openoffice send to the driver escape istructions in
> > uppercase and the driver was testing just lowercase.
>
> OK I would take care of it.
>
> > Another problem was that on snprintf You cannot use the same buffer
> > as source and destination, because in this way the result is a null
> > string.
>
> Which version of driver are you using ?
> The bug was fixed in 7.03.0100.

7.02.0004. I will upgrade. Thanks.
>
> Thanks.
> Hiroshi Inoue
>     http://www.geocities.jp/inocchichichi/psqlodbc/


Re: Some corrections on psqlodbc driver

From
Hiroshi Inoue
Date:
Franco Violi wrote:
>
> Alle 11:37, luned\xEC 1 settembre 2003, Hiroshi Inoue ha scritto:
> > Franco Violi wrote:
> > > I subscribed the gborg site 2 days ago. The reason was that we are
> > > openoffice users under linux and we have some problems that make
> > > postgres unusable on openoffice/linux. The issue 17455 and 17500 on
> > > openoffice.org points to the problem. I debug the latest version of the
> > > driver and corrected some ( i think) bugs.
> > >
> > > One problem was that openoffice send to the driver escape istructions in
> > > uppercase and the driver was testing just lowercase.
> >
> > OK I would take care of it.

Please try the snapshot dll at
    http://www.geocities.jp/inocchichichi/psqlodbc/ .

regards,
Hiroshi Inoue
    http://www.geocities.jp/inocchichichi/psqlodbc/