Re: [Firebird-devel] how to use "set bind" in F4

2020-03-24 Thread Norbert Saint Georges

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

2020-03-24 Thread Alex Peshkoff via Firebird-devel

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

2020-03-24 Thread Vlad Khorsun

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

2020-03-24 Thread Dimitry Sibiryakov

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

2020-03-24 Thread Gregor Kobler via Firebird-devel
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

2020-03-24 Thread Alex Peshkoff via Firebird-devel

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

2020-03-24 Thread Alex Peshkoff via Firebird-devel

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

2020-03-24 Thread Norbert Saint Georges

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

2020-03-24 Thread Gregor Kobler via Firebird-devel
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

2020-03-24 Thread Vlad Khorsun

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

2020-03-24 Thread Steve Bailey



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

2020-03-24 Thread Norbert Saint Georges

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

2020-03-24 Thread Steve Bailey



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

2020-03-24 Thread liviuslivius
Go to download snapshots fb4Regards,Karol Bieniaszewski
nullFirebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel