Unix Technical Forum

[ psqlodbc-Bugs-1000719 ] string representation for large objects ist wrong

This is a discussion on [ psqlodbc-Bugs-1000719 ] string representation for large objects ist wrong within the pgsql Interfaces odbc forums, part of the PostgreSQL category; --> Bugs item #1000719, was opened at 2006-08-29 13:17 You can respond by visiting: http://pgfoundry.org/tracker/?func=d...oup_id=1000125 Category: None Group: None >Status: ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Interfaces odbc

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-17-2008, 05:17 PM
noreply@pgfoundry.org
 
Posts: n/a
Default [ psqlodbc-Bugs-1000719 ] string representation for large objects ist wrong

Bugs item #1000719, was opened at 2006-08-29 13:17
You can respond by visiting:
http://pgfoundry.org/tracker/?func=d...oup_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,COUNTR Y,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':id", lobj_oid);

My versions are psqlodbc 8.01.0200 and PostgreSQL 8.0.1

Hope this helps.
Regards

Thomas

----------------------------------------------------------------------

Comment By: Thomas Zehbe (thomasz)
Date: 2007-04-18 10:29

Message:
Some days ago I found the reason what I did wrong. I read
the docs of the driver and found the hint that I have to
define the type 'lo' in Postgres. Shame on me :-)
A simple
create domain lo as oid;
did the job.

Sorry for wasting your time.
Regards,
Thomas

----------------------------------------------------------------------

Comment By: Thomas Zehbe (thomasz)
Date: 2006-10-23 07:55

Message:
Hello Hiroshi Inoue,
I aggree that OIDs are not necessarily point to large
objects. But large objects are are represented by oids.A
snippet from 8.0.3 docs: "SELECT lo_creat(-1); --
returns OID of new, empty large object"

Maybe you have overseen the reported Error message:
FEHLER: Typ »lo« existiert nicht
what means in english:
ERROR: Type >lo> doesn't exist
Thats a cleartext message from the servers logfile an is
concerned this part of the insert statement reported:
28151,'118667'::lo
The first part is the number of bytes of the LO, the
second is what the driver generates for the LO. My changes
suggested are leading to this version of insert statement:
24153,'121224':id
which is not refused by the server.

I use 8.0.3 currently. Is it misconfigured? Any hints
would be greatly appreciated as the "lo"-version definitly
does not work.

Best 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=d...oup_id=1000125

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:41 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com