Re: [Firebird-devel] System package for blob manipulation in PSQL

2019-06-30 Thread Jiří Činčura
> > 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

2019-06-28 Thread Mark Rotteveel

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

2019-06-27 Thread Leyne, Sean


> 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

2019-06-27 Thread Adriano dos Santos Fernandes
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

2019-06-27 Thread Alex Peshkoff via Firebird-devel

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

2019-06-27 Thread Mark Rotteveel

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

2019-06-27 Thread Dimitry Sibiryakov

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

2019-06-27 Thread Adriano dos Santos Fernandes
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

2019-06-27 Thread Leyne, Sean



> 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

2019-06-27 Thread Dimitry Sibiryakov

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