Re: [gnome-db] Re: Lo que hablamos de los Oid en libgda.



> On Mon, 2002-12-23 at 22:27, Juan-Mariano de Goyeneche wrote:
> > entusiasmado, eso sí! ;-) ). Tú me dirás qué te parece. Y, como verás, está
> > todo muy basado en los lo_* de postgres, pero es que el darle un interfaz de
> > filesystem me parece muy buena idea.
> > 
> > Espero que te sirva de ayuda. Creo que para soportar bien los BLOB (sin
> > escapear, pasar a string, etc) harían falta unas funciones que sean algo 
> > así:
> > 
> > 
> > gint    gda_blob_open
> >                         (GdaConnection *connection,
> >                          GdaBlob blob);
> > 
> > gint    gda_blob_read
> >                         (GdaConnection *connection,
> >                          GdaBlob blob,
> >                          gchar* buf,
> >                          size_t len);
> > 
> > gint    gda_blob_write
> >                         (GdaConnection *connection,
> >                         GdaBlob blob,
> >                         gchar* buf,
> >                         size_t len);
> > 
> > gint    gda_blob_lseek
> >                         (GdaConnection *connection,
> >                         GdaBlob blob,
> >                         gint offset,
> >                         gint whence);
> > 
> > gint    gda_blob_unlink
> >                         (GdaConnection *connection,
> >                         GdaBlob blob);
> > 
> > gint    gda_blob_lseek
> >                         (GdaConnection *connection,
> >                         GdaBlob blob);
> > 
> > 

When opening the blob, we need a parameter that tells if we want to
create the blob or open an existing one + read/write mode.

Yes, this is tightly coupled to postgresql large objects interface and
that's why it's fine for postgresql...

...but, for example, BLOBs in MySQL are closer to postgresql 'bytea'
(binary strings) type than to postgresql blobs and it wouldn't make
sense to use this interface (we already have GDA_VALUE_TYPE_BINARY for
that).

I'd like to hear comments from people that implemented other providers
(oracle, sybase...) telling if they have an interface similar to this
one and any other comment on how blobs are stored/retrieved.

> > Creo que el GdaBlob se tendría que sacar de la DB con un SELECT. Por
> > ejemplo, si estás guardando ficheros en la DB podrías hacer algo así como
> > SELECT blobid from DB WHERE FILENAME=xxxx... y luego usar ese blobid como
> > GdaBlob en todos los gda_blob_*. ¿Cómo lo ves?

This is ok for postgresql, but not for mysql blobs.

-Gonzalo

-- 
Gonzalo Paniagua Javier <gonzalo gnome-db org>
http://www.gnome-db.org/~gonzalo/




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]