[ psqlodbc-Bugs-1000719 ] string representation for large objects ist wrong
am 20.10.2006 05:58:41 von noreplyBugs item #1000719, was opened at 2006-08-29 13:17
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=10007 19&group_id=1000125
Category: None
Group: None
>Status: Closed
Resolution: None
Priority: 3
Submitted By: Thomas Zehbe (thomasz)
>Assigned to: Hiroshi Inoue (hinoue)
Summary: string representation for large objects ist wrong
Initial Comment:
Trying the db sample of wxWidgets 2.7.0-1 the postgreSQL server logged this message:
LOG: Anweisung: INSERT INTO contacts (NAME,ADDRESS1,ADDRESS2,CITY,STATE,POSTCODE,COUNTRY,JOINDATE ,IS_DEV,CONTRIBS,
LINE_CNT,LANGUAGE,PICSIZE,PICTURE) VALUES ('t','','','','','','','1980-01-01 00:00:00'::timestamp,0,0,0,0,28151,'11
8667'::lo)
FEHLER: Typ »lo« existiert nicht
The isnert statement tries to insert a blob and the string represanttion ind psqlodbc driver is actually "lo", wich isn't accepted.
After changing the represantion in 2 files to "oid" blob support works.
I changed the following files:
psqlodbc.h
changed #define PG_TYPE_LO_NAME "lo"
to #define PG_TYPE_LO_NAME "oid"
and
convert.c in the ResolveOneParam() function at line 2983
from sprintf(param_string, "'%d'::lo", lobj_oid);
to sprintf(param_string, "'%d'::oid", lobj_oid);
My versions are psqlodbc 8.01.0200 and PostgreSQL 8.0.1
Hope this helps.
Regards
Thomas
------------------------------------------------------------ ----------
Comment By: Hiroshi Inoue (hinoue)
Date: 2006-08-30 00:49
Message:
OID doesn't necessarily pointing large objects.
If you are to handle large objects with psqlodbc
driver, please use the type LO.
regards,
Hiroshi Inoue
------------------------------------------------------------ ----------
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=10007 19&group_id=1000125
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match