Large Objects
От | Eid, Bilal |
---|---|
Тема | Large Objects |
Дата | |
Msg-id | E336B070B4B1D111B8F000A0C99D75440141CFEC@ca-exchange4.nai.com обсуждение исходный текст |
Список | pgsql-sql |
Hi everyone, My name is Bilal Eid, I'm software Engineer "consultant" at Network Associates. I'm in middle of an ODBC application for the PostgreSQL. On Linux platform. This application is a security application for Network Associates. I need your help with the following issue. The problem I'm facing is that the table and its columns are too large, Some columns are exceeding 16K, and the whole table might come close to 64k in total. I understand that the solution is to use the Large Object technique as it mention in FAQ, and its syntax Chapter 15 of PostgreSQL Programmer's Guide. It works fine when I used the interactive on-line tool "psql", following the example of "Built in registered functions": CREATE TABLE image ( name text, raster oid ); INSERT INTO image (name, raster) VALUES ('beautiful image', lo_import('/etc/motd')); SELECT lo_export(image.raster, "/tmp/motd") from image WHERE name = 'beautiful image'; The problem with that is I have to read and write to a file. In my case I'm reading from a buffer so I can not use this technique as it. The other way "programming one using the Large Object Functions: Oid lo_creat(PGconn *conn, int mode) inv_oid = lo_creat(INV_READ|INV_WRITE|INV_ARCHIVE); Oid lo_import(PGconn *conn, text *filename) int lo_open(PGconn *conn, Oid lobjId, int mode, ...) int lo_export(PGconn *conn, Oid lobjId, text *filename) int lo_write(PGconn *conn, int fd, char *buf, int len) int lo_lseek(PGconn *conn, int fd, int offset, int whence) int lo_close(PGconn *conn, int fd) As you see, according to these functions the object will be created and attached to the database not to a specific table in the database, I tried a lot of possibility I could think of to make it work. to accessing an existing object on a table and read/write from it from/to a buffer, but with out any success. Again, and in short, I need to attach an object to a table using the iODBC application and using buffer instead of file as input/output. Is there any way to do that? I need your help and may be some example to follow. Please, Help me I'm running out of time. Note: I'm already connected to the database at the time of read/write to the table. Your help is gratefully appreciated And thank you in advance Network Associates Inc. Bilal Eid
В списке pgsql-sql по дате отправления: