Re: [Firebird-devel] System package for blob manipulation in PSQL
> > I would argue that S3 is *the* standard for cloud based storage. > > It isn't really. It is only if you're using AWS (and yes, I know other > cloud vendors offer 'compatible' APIs). I don't see it as something that > belongs in core Firebird. It is something that can be done in a UDR, so > can be released as a separate library. I agree with you Mark. -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
On 27-6-2019 19:11, Leyne, Sean wrote: About S3, it's a non-standard product and certainly Firebird should not support it builtin. I would argue that S3 is *the* standard for cloud based storage. It isn't really. It is only if you're using AWS (and yes, I know other cloud vendors offer 'compatible' APIs). I don't see it as something that belongs in core Firebird. It is something that can be done in a UDR, so can be released as a separate library. Mark -- Mark Rotteveel Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
> About S3, it's a non-standard product and certainly Firebird should not > support it > builtin. I would argue that S3 is *the* standard for cloud based storage. Sean Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
On 27/06/2019 13:42, Dimitry Sibiryakov wrote: > 27.06.2019 18:38, Adriano dos Santos Fernandes wrote: >> It's certainly already possible with UDR or UDF, so seems out of scope >> for the system package. > > Oracle has different opinion: > https://docs.oracle.com/database/121/ARPLS/d_lob.htm > > It is better to have all routines in one package than swarm of > separate UDRs. > It have for filesystem and one day Firebird can have it, but as Mark pointed out, this requires access control for it (as Oracle has). About S3, it's a non-standard product and certainly Firebird should not support it builtin. Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
On 27.06.2019 19:48, Mark Rotteveel wrote: P.S. These are use cases where UDF-like functionality is required -- how else would someone provide this functionality? (I don't see UDRs supporting this) If you think a UDF can do it, why do you think a UDR wouldn't be able to do it? UDRs can do more than UDFs. +1 Sean, you can put to UDR *any* c++ code, including access to files on disk. Really not a problem. Exactly like it was with UDF. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
On 27-6-2019 18:31, Leyne, Sean wrote: RDB$BLOB_UTIL will have procedures and functions so blobs could be created, opened, read in chunks, written in chunks, discarded (cancel). What about functions: - to read from/write to local disk* That would require tight access controls, because just giving access to disk is a security risk. Without proper access control, it would mean that anyone that can execute an execute block would be able to access your disk. Even directory restrictions similar to those for external table file locations would be too broad, as you would run the risk of exposing too much of your data to unauthorized users. - to read from/write to any external source (Thinking of S3 compatible storage)* You could implement that using UDRs. Sean P.S. These are use cases where UDF-like functionality is required -- how else would someone provide this functionality? (I don't see UDRs supporting this) If you think a UDF can do it, why do you think a UDR wouldn't be able to do it? UDRs can do more than UDFs. Mark -- Mark Rotteveel Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
27.06.2019 18:38, Adriano dos Santos Fernandes wrote: It's certainly already possible with UDR or UDF, so seems out of scope for the system package. Oracle has different opinion: https://docs.oracle.com/database/121/ARPLS/d_lob.htm It is better to have all routines in one package than swarm of separate UDRs. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
On 27/06/2019 13:31, Leyne, Sean wrote: > >> RDB$BLOB_UTIL will have procedures and functions so blobs could be created, >> opened, read in chunks, written in chunks, discarded (cancel). > What about functions: > > - to read from/write to local disk* > > - to read from/write to any external source (Thinking of S3 compatible > storage)* While these seems nice... > > Sean > > P.S. These are use cases where UDF-like functionality is required -- how else > would someone provide this functionality? (I don't see UDRs supporting this) > It's certainly already possible with UDR or UDF, so seems out of scope for the system package. Adriano Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
> RDB$BLOB_UTIL will have procedures and functions so blobs could be created, > opened, read in chunks, written in chunks, discarded (cancel). What about functions: - to read from/write to local disk* - to read from/write to any external source (Thinking of S3 compatible storage)* Sean P.S. These are use cases where UDF-like functionality is required -- how else would someone provide this functionality? (I don't see UDRs supporting this) Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] System package for blob manipulation in PSQL
27.06.2019 18:09, Adriano dos Santos Fernandes wrote: Here a small example of how it could be used for writing data in chunks Isn't one function to create a blob in temporary space enough instead of all this? For example: execute block returns (b blob) as begin b = DBMS_LOB.CreateTemporary(); b = b || '12345'; b = b || '67'; suspend; end! Parser can be clever enough to append string to the end in such cases without copy of whole blob content. Of course, DBMS_LOB.Append can exists as well as a syntax sugar. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel