Re: [Firebird-devel] how to use "set bind" in F4
Steve Bailey a écrit : So, where do I get 1815 from? http://web.firebirdsql.org/download/snapshot_builds/win/4.0/ to day, 1817 :-) -- Norbert Saint Georges http://tetrasys.fi Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Double isc_dpb_ext_call_depth tag in DPB
On 2020-03-23 22:18, Dimitry Sibiryakov wrote: Hello, All. Is it bug or intended? Bug. Added first in Provider::generateDPB(), next in (any-)Connection::attach(). Vlad, I'm unsure - what place is correct one? Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Double isc_dpb_ext_call_depth tag in DPB
24.03.2020 9:54, Alex Peshkoff via Firebird-devel wrote: On 2020-03-23 22:18, Dimitry Sibiryakov wrote: Hello, All. Is it bug or intended? Bug. Not really. I see no checks in engine against duplication of any DPB tag, it is not described in IB docs, so it is not forbidden, at least formally. But I agree, it would be better to remove old value before insert new one. Actually, it makes no harm as engine uses value from last found tag. Added first in Provider::generateDPB(), next in (any-)Connection::attach(). Vlad, I'm unsure - what place is correct one? Second was added with connections pool implementation in master. This part requires some completion. isc_dpb_ext_call_depth was introduced by me at initial implementation of EDS to detect and prevent too deep recursion within EDS. isc_dpb_ext_call_depth passed at attach() with incremented call depth counter of local attachment. Now, with connections pooling, I need a way to set call depth counter of re-used attachment. So far we have no such way and I open for suggestions. When this will be implemented, isc_dpb_ext_call_depth could be removed from Provider::generateDPB(). Currently it works as a some protection from bad scenarios with recursive calls of EDS. Regards, Vlad Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
24.03.2020 14:41, Gregor Kobler via Firebird-devel wrote: How can i use the clause As described in documentation: a) Set compatibility level in firebird.conf; b) Issue needed statements in attachments or set in DPB; c) Issue the statements in OB CONNECT trigger. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
[Firebird-devel] how to use "set bind" in F4
Hello How can i use the clause SET TIME ZONE BIND { NATIVE | LEGACY } I ise Delphi Rio 10.3.3 with FireDAC. Should i made it as a parameter somewhere at the connection component? Or should i run it as a SQL-Statement? How can i set this bind, i have no idea. Thanks for any hint Gregor Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
On 2020-03-24 16:41, Gregor Kobler via Firebird-devel wrote: Hello How can i use the clause SET TIME ZONE BIND { NATIVE | LEGACY } I ise Delphi Rio 10.3.3 with FireDAC. Should i made it as a parameter somewhere at the connection component? Or should i run it as a SQL-Statement? How can i set this bind, i have no idea. Since Beta2 there is no that _exactly_ statement. Instead more generic SET BIND OF type1 TO type2 was introduced, see https://github.com/FirebirdSQL/firebird/blob/master/doc/sql.extensions/README.set_bind.md for details. Pay attention that bindings can be set in DPB - I suppose this is a kind of parameter related with connection component. What about FireDAC specific - sorry, can't help. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Double isc_dpb_ext_call_depth tag in DPB
On 2020-03-24 12:53, Vlad Khorsun wrote: 24.03.2020 9:54, Alex Peshkoff via Firebird-devel wrote: On 2020-03-23 22:18, Dimitry Sibiryakov wrote: Hello, All. Is it bug or intended? Bug. Not really. I see no checks in engine against duplication of any DPB tag, it is not described in IB docs, so it is not forbidden, at least formally. But I agree, it would be better to remove old value before insert new one. Actually, it makes no harm as engine uses value from last found tag. insertSomething() does not guarantee to add tag in the end of a buffer (it's insert, not append) I.e. only if previous actions do set current position to eof new tag will go to the end. Relying on it is not very good idea (though may work). Added first in Provider::generateDPB(), next in (any-)Connection::attach(). Vlad, I'm unsure - what place is correct one? Second was added with connections pool implementation in master. This part requires some completion. isc_dpb_ext_call_depth was introduced by me at initial implementation of EDS to detect and prevent too deep recursion within EDS. isc_dpb_ext_call_depth passed at attach() with incremented call depth counter of local attachment. Now, with connections pooling, I need a way to set call depth counter of re-used attachment. So far we have no such way and I open for suggestions. When this will be implemented, isc_dpb_ext_call_depth could be removed from Provider::generateDPB(). Currently it works as a some protection from bad scenarios with recursive calls of EDS. It should help from infinite recursion - pools on involved servers should overflow at some step, and tag will work as before. Though certainly it's not precise result. May be better solution is related with attachment's reset? Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
Gregor Kobler via Firebird-devel a écrit : Hello How can i use the clause SET TIME ZONE BIND { NATIVE | LEGACY } I ise Delphi Rio 10.3.3 with FireDAC. Should i made it as a parameter somewhere at the connection component? Or should i run it as a SQL-Statement? How can i set this bind, i have no idea. Thanks for any hint Gregor procedure TForm1.FDConnection1AfterConnect(Sender: TObject); var Query: TFDQuery; begin try Query := TFDQuery.Create( nil ); Query.Connection := fdconnection1; Query.SQL.Text := 'SET BIND OF TIME ZONE TO LEGACY ;'; Query.ExecSQL; finally query.Free; end; end; Afterwards, all the tz dates will be returned compatible firedac in the "fdconnection1" session and this method can be used to format the new format of FB4 (except varbinary it seems to me) -- Norbert Saint Georges http://tetrasys.fi Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
Thanks a lot it helped Sent from Yahoo Mail. Get the app On Tuesday, March 24, 2020, 3:22:46 PM GMT+1, Norbert Saint Georges wrote: Gregor Kobler via Firebird-devel a écrit : > Hello > How can i use the clause > SET TIME ZONE BIND { NATIVE | LEGACY } > I ise Delphi Rio 10.3.3 with FireDAC. Should i made it as a parameter > somewhere at the connection component? Or should i run it as a SQL-Statement? > How can i set this bind, i have no idea. Thanks for any hint Gregor procedure TForm1.FDConnection1AfterConnect(Sender: TObject); var Query: TFDQuery; begin try Query := TFDQuery.Create( nil ); Query.Connection := fdconnection1; Query.SQL.Text := 'SET BIND OF TIME ZONE TO LEGACY ;'; Query.ExecSQL; finally query.Free; end; end; Afterwards, all the tz dates will be returned compatible firedac in the "fdconnection1" session and this method can be used to format the new format of FB4 (except varbinary it seems to me) -- Norbert Saint Georges http://tetrasys.fi Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] Double isc_dpb_ext_call_depth tag in DPB
24.03.2020 15:34, Alex Peshkoff via Firebird-devel wrote: On 2020-03-24 12:53, Vlad Khorsun wrote: 24.03.2020 9:54, Alex Peshkoff via Firebird-devel wrote: On 2020-03-23 22:18, Dimitry Sibiryakov wrote: Hello, All. Is it bug or intended? Bug. Not really. I see no checks in engine against duplication of any DPB tag, it is not described in IB docs, so it is not forbidden, at least formally. But I agree, it would be better to remove old value before insert new one. Actually, it makes no harm as engine uses value from last found tag. insertSomething() does not guarantee to add tag in the end of a buffer (it's insert, not append) I.e. only if previous actions do set current position to eof new tag will go to the end. Relying on it is not very good idea (though may work). In this case it works. As I already said that this is not final code I see no reason to continue argue here. Added first in Provider::generateDPB(), next in (any-)Connection::attach(). Vlad, I'm unsure - what place is correct one? Second was added with connections pool implementation in master. This part requires some completion. isc_dpb_ext_call_depth was introduced by me at initial implementation of EDS to detect and prevent too deep recursion within EDS. isc_dpb_ext_call_depth passed at attach() with incremented call depth counter of local attachment. Now, with connections pooling, I need a way to set call depth counter of re-used attachment. So far we have no such way and I open for suggestions. When this will be implemented, isc_dpb_ext_call_depth could be removed from Provider::generateDPB(). Currently it works as a some protection from bad scenarios with recursive calls of EDS. It should help from infinite recursion - pools on involved servers should overflow at some step, and tag will work as before. Though certainly it's not precise result. Not sure I got you here - why it is not precise ? May be better solution is related with attachment's reset? Pooled connection is reset when released, not when reused. Thus - no, connection reset can not help. Regards, Vlad Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
Hi, >> 'SET BIND OF TIME ZONE TO LEGACY I have tried to execute the above SQL with no success. I tried from iSQL, from IBExpert and from a test Delphi app. Each time I got the error:"Invalid token.Dynamic SQL Error.SQL error code = -104.Token unknown - line 1, column 5.BIND." Also, I cannot find the DataTypeCompatibility parameter in Firebird.conf. Should it already be there, along with an explanation of its use (like all the other parameters have)? ( I am using WI-T4.0.0.1436 Firebird 4.0 Beta 1 on Windows 10.) Steve Bailey. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
Steve Bailey a écrit : ( I am using WI-T4.0.0.1436 Firebird 4.0 Beta 1 on Windows 10.) you need to update the version of Firebird 4 currently 1815. In your version, 1436, this was not yet implemented. -- Norbert Saint Georges http://tetrasys.fi Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
Hi, >> Steve Bailey a écrit : >> > ( I am using WI-T4.0.0.1436 Firebird 4.0 Beta 1 on Windows 10.) >> >> you need to update the version of Firebird 4 currently 1815. >> In your version, 1436, this was not yet implemented. Ok, thanks. However, before responding to this thread I did check at https://firebirdsql.org/en/firebird-4-0-0-beta1/#Win64 to see what was the latest available version - and it is 1436. So, where do I get 1815 from? Regards,Steve Bailey. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Re: [Firebird-devel] how to use "set bind" in F4
Go to download snapshots fb4Regards,Karol Bieniaszewski nullFirebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel