Re: [Firebird-devel] IBlob::putSegment
Not needed for me. At the moment I'm fine with IBlob, because so far the performance of my code is good enough. -- 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] IBlob::putSegment
On 6/2/21 11:06 PM, Vlad Khorsun wrote: 02.06.2021 20:39, Jiří Činčura wrote: IXpbBuilder* pb = utl->getXpbBuilder(, IXpbBuilder::BPB, NULL, 0); Looks like FB3 does not have BPB (https://github.com/FirebirdSQL/firebird/blob/R3_0_7/src/include/firebird/IdlFbInterfaces.h#L3827). > > Is it only in FB4? Seems yes, IXpbBuilder in FB3 supports not all kinds of parameter blocks. But you still may use traditional way to build BPB, as described in IB6 docs. If needed support of IXpbBuilder::BPB may be backported to 3.0.8. That's trivial. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IBlob::putSegment
02.06.2021 20:39, Jiří Činčura wrote: IXpbBuilder* pb = utl->getXpbBuilder(, IXpbBuilder::BPB, NULL, 0); Looks like FB3 does not have BPB (https://github.com/FirebirdSQL/firebird/blob/R3_0_7/src/include/firebird/IdlFbInterfaces.h#L3827). > > Is it only in FB4? Seems yes, IXpbBuilder in FB3 supports not all kinds of parameter blocks. But you still may use traditional way to build BPB, as described in IB6 docs. Hope it helps, Vlad Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IBlob::putSegment
> IXpbBuilder* pb = utl->getXpbBuilder(, IXpbBuilder::BPB, > NULL, 0); Looks like FB3 does not have BPB (https://github.com/FirebirdSQL/firebird/blob/R3_0_7/src/include/firebird/IdlFbInterfaces.h#L3827). Is it only in FB4? -- 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] IBlob::putSegment
On 5/27/21 4:34 PM, Jiří Činčura wrote: a) user stream (not segmented) blobs Is there some docs for that? What I found in "Using_OO_API.html" is just "Last two parameters are required only if you want to use blob filters or use stream blob, that's out of scope here.". That parameters are BPB (like DPB, but blob PB) and it's length. The simplest way to create one is using IXpbBuilder: IXpbBuilder* pb = utl->getXpbBuilder(, IXpbBuilder::BPB, NULL, 0); pb->insertInt(, isc_bpb_type, isc_bpb_type_segmented); pb->getBufferLength() and pb->getBuffer() are that 2 parameters what you should pass when creating blob. PS. I've thought creating various types of blobs is discussed in old Borland IB docs. Sorry if that's wrong. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] IBlob::putSegment
> a) user stream (not segmented) blobs Is there some docs for that? What I found in "Using_OO_API.html" is just "Last two parameters are required only if you want to use blob filters or use stream blob, that's out of scope here.". -- 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] IBlob::putSegment
On 5/27/21 12:13 PM, Jiří Činčura wrote: Hi, Is there a sweet spot for the buffer size/length when using IBlob::putSegment? a) user stream (not segmented) blobs b) use bigger buffers Or is it fine to put even 1 byte segments? It depends upon goals:) May be recommended as an efficient way to make your app work slower. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] IBlob::putSegment
Hi, Is there a sweet spot for the buffer size/length when using IBlob::putSegment? Or is it fine to put even 1 byte segments? -- Mgr. Jiří Činčura https://www.tabsoverspaces.com/ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel