Subject | Re: [firebird-support] BLOB Filter |
---|---|
Author | Ivan Prenosil |
Post date | 2004-05-28T12:57:42Z |
> From: "Martijn Tonies"It is too late to call blob filter that way - if you execute INSERT
> > > UPDATE blob_test
> > > SET blb_text = :zipped_file
> > > FILTER FROM -2 TO 1;
>
> Naah, won't do. Think of multiple SETs and INSERTs as
> well. A more generalized syntax would be better.
>
> How about:
>
> SET blb_text = FILTER(:zipped_file, -2, 1),
>
> INSERT INTO ... VALUES (FILTER(:zipped_file, -2, 1), ...)
(or UPDATE) statement, the (temporary) blob already exists
and you insert only its blob-id. (Unless you want yet another
temporary blob to be created by applying blob filter.)
Similar problem arises when transfering blob the other way - from server
to client. SELECT statement returns only blob-id, and subsequent api calls
to retrieve the blob itself (and possibly calling blob filter or transliterating charset)
have no idea about what statement was used to retrieve it, thus
the SELECT can't be used to request filtering.
(Again, unless the SELECT uses blob filter to create temporary blob
whose blob-id is returned to client.)
When invoking blob filters the standard way, no auxiliary blobs
are needed.
Ivan