🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: borland.public.interbase.ibconsole
13 messages
13 total messages Started by Gelein van de Voorde Thu, 03 May 2007 20:01
New beta release IBConsole available (8.0.0.48)
#194
Author: Gelein van de Voorde
Date: Thu, 03 May 2007 20:01
4 lines
799 bytes
See revision history for details.
http://www.gvsnet.nl/ibconsole

-- 
Re: New beta release IBConsole available (8.0.0.48)
#195
Author: Bill Todd
Date: Thu, 03 May 2007 21:21
9 lines
1151 bytes
Gelein van de Voorde wrote:

> See revision history for details.
> http://www.gvsnet.nl/ibconsole

The download page still says version 8.0.0.47.

-- 
Bill Todd (TeamB)
Re: New beta release IBConsole available (8.0.0.48)
#196
Author: Dan Palley
Date: Fri, 04 May 2007 15:58
21 lines
1707 bytes
"Gelein van de Voorde" <gelein@gvsnet.nl> wrote in message 
news:463a3fa9@newsgroups.borland.com...
> See revision history for details.
> http://www.gvsnet.nl/ibconsole

Gelein, I love the fact that queries now run in a separate thread.  It makes 
the system much more responsive.

If you don't mind, I'd like to make a few more requests that would make my 
life much easier:

- The ability to cancel a running query.  Since the query itself is already 
running in a separate thread, this should be straightforward.
- Can we specify the type of transaction to create in the ISQL window? 
Right now, it's read-committed, read/write, but a lot of times I'm just 
running queries and read-only would be much better.

Thanks,

Dan Palley
TRAMS, Inc. 
Re: New beta release IBConsole available (8.0.0.48)
#197
Author: Gelein van de Voorde
Date: Fri, 04 May 2007 18:57
12 lines
1143 bytes
Bill Todd wrote:

> Gelein van de Voorde wrote:
> 
> > See revision history for details.
> > http://www.gvsnet.nl/ibconsole
> 
> The download page still says version 8.0.0.47.

I think you should force a refresh.

-- 
Re: New beta release IBConsole available (8.0.0.48)
#198
Author: Gelein van de Voorde
Date: Fri, 04 May 2007 19:25
34 lines
2085 bytes
Dan Palley wrote:

> "Gelein van de Voorde" <gelein@gvsnet.nl> wrote in message
> news:463a3fa9@newsgroups.borland.com...
> > See revision history for details.
> > http://www.gvsnet.nl/ibconsole
> 
> Gelein, I love the fact that queries now run in a separate thread.
> It makes the system much more responsive.
> 
> If you don't mind, I'd like to make a few more requests that would
> make my life much easier:
> 
> - The ability to cancel a running query.  Since the query itself is
> already running in a separate thread, this should be straightforward.
> - Can we specify the type of transaction to create in the ISQL
> window? Right now, it's read-committed, read/write, but a lot of
> times I'm just running queries and read-only would be much better.
> 
> Thanks,
> 
> Dan Palley
> TRAMS, Inc.

Dan,
Cancelling a running query is not so easy as it might look. The IBX
does not support it, so it has to be done the hard way. I have been
working on that, but haven't find a reliable solution yet. Meanwhile
you can use the performance monitor to disconnect the thread. IBConsole
should handle this gracefully.
I hope to implement the possibility of specifying the transaction type
in the next beta release.

-- 
Re: New beta release IBConsole available (8.0.0.48)
#200
Author: Craig Stuntz TeamB
Date: Fri, 04 May 2007 19:51
14 lines
1735 bytes
Gelein van de Voorde wrote:

> Cancelling a running query is not so easy as it might look. The IBX
> does not support it, so it has to be done the hard way. I have been
> working on that, but haven't find a reliable solution yet.

	Works with IBX for me. Yes, you have to use the API to do it, but it
does work. Email me if you'd like sample code.

-- 
Craig Stuntz [TeamB] � Vertex Systems Corp. � Columbus, OH
  Delphi/InterBase Weblog : http://blogs.teamb.com/craigstuntz
Useful articles about InterBase development:
  http://blogs.teamb.com/craigstuntz/category/21.aspx
Re: New beta release IBConsole available (8.0.0.48)
#199
Author: Dan Palley
Date: Fri, 04 May 2007 19:56
120 lines
5043 bytes
"Gelein van de Voorde" <gelein@gvsnet.nl> wrote in message 
news:463b8892$1@newsgroups.borland.com...
> Dan Palley wrote:
>
>> "Gelein van de Voorde" <gelein@gvsnet.nl> wrote in message
>> news:463a3fa9@newsgroups.borland.com...
>> > See revision history for details.
>> > http://www.gvsnet.nl/ibconsole
>>
>> Gelein, I love the fact that queries now run in a separate thread.
>> It makes the system much more responsive.
>>
>> If you don't mind, I'd like to make a few more requests that would
>> make my life much easier:
>>
>> - The ability to cancel a running query.  Since the query itself is
>> already running in a separate thread, this should be straightforward.
>> - Can we specify the type of transaction to create in the ISQL
>> window? Right now, it's read-committed, read/write, but a lot of
>> times I'm just running queries and read-only would be much better.
>>
>> Thanks,
>>
>> Dan Palley
>> TRAMS, Inc.
>
> Dan,
> Cancelling a running query is not so easy as it might look. The IBX
> does not support it, so it has to be done the hard way. I have been
> working on that, but haven't find a reliable solution yet. Meanwhile
> you can use the performance monitor to disconnect the thread. IBConsole
> should handle this gracefully.
> I hope to implement the possibility of specifying the transaction type
> in the next beta release.

I have lots of experience in query cancellation as we've supported it in our 
product for a couple of years now.  I have an approach that works either via 
the API or via the monitoring tables.  It's pretty consistent for me.

Cancelling via the API is pretty easy because you just need to provide the 
statement handle:

Procedure CancelStatement(StatementHandle:TISC_STMT_HANDLE);
Var SV : TStatusVector;
Begin
  If IBClientMajorVerNo<7 Then Exit;
 {$IFDEF VER140}
  isc_dsql_free_statement(@SV, @StatementHandle, DSQL_Cancel);
 {$ELSE}
  GetGDSLibrary.isc_dsql_free_statement(@SV, @StatementHandle, DSQL_Cancel);
 {$ENDIF}
End;

Cancelling via the monitoring tables is trickier because you have to get a 
transaction id first and you have to create a separate DB connection:

function isc_transaction_info(
    status_vector             : PISC_STATUS;
    tran_handle               : PISC_TR_HANDLE;
    item_list_buffer_length   : Short;
    item_list_buffer          : PChar;
    result_buffer_length      : Short;
    result_buffer             : PChar
  ): ISC_STATUS; stdcall; External 'gds32.dll';

function GetTransactionId(tr_handle:TISC_TR_HANDLE):Integer;
Var Tra_Info:Array[0..31] of Char;
    Status:Array[0..20] of ISC_Status;
    Tra_ItemList:Array [0..1] of Char;
Begin
  Tra_ItemList:=^D^@;
  FillChar(tra_Info, SizeOf(tra_info), #0);
  isc_transaction_info(@Status, @tr_handle, 1, @Tra_ItemList, 32, 
@Tra_info );
  Result:=Integer(Ord(tra_info[6])*$1000000)+Ord(tra_info[5])*$10000+Ord(tra_info[4])*$100+Ord(tra_info[3]);
End;

Function CancelTransactionStatement(Const db:TIBDatabase; 
tr_id:Integer):Boolean;
Var CancelQuery:TIBSQL;
    CancelTrans:TIBTransaction;
    CancelDB:TIBDatabase;
begin
  If (IBClientMajorVerNo<7) Or (IBODSVersion<11) Then
  Begin
    Result:=False;
    Exit;
  End;
  CancelDB:=TIBDatabase.Create(Nil);
  CancelQuery:=TIBSQL.Create(Nil);
  CancelTrans:=TIBTransaction.Create(Nil);
  Try
    CancelDB.DatabaseName:=db.DatabaseName;
    CancelDB.Params:=db.Params;
    CancelDB.LoginPrompt:=False;
    CancelDB.Connected:=True;
    CancelQuery.Database:=Canceldb;
    CancelTrans.DefaultDatabase:=Canceldb;
    CancelQuery.SQL.Text:='update tmp$statements set tmp$state=''CANCEL'' 
where tmp$transaction_id='+IntToStr(tr_id);
    CancelQuery.Transaction:=CancelTrans;
    CancelTrans.StartTransaction;
    Try
      CancelQuery.ExecQuery;
      CancelTrans.Commit;
      Result:=True;
    Except
      CancelTrans.Rollback;
      Result:=False;
    End;
  Finally
    CancelTrans.Free;
    CancelQuery.Free;
    CancelDB.Free;
  End;
end;

Hope this helps,

Dan 
Re: New beta release IBConsole available (8.0.0.48)
#201
Author: Gelein van de Voorde
Date: Fri, 04 May 2007 20:17
4 lines
984 bytes
Craig and Dan,
You both helped me a lot.
I hope that I can implement the cancelling of the query now in the next
beta release.
Re: New beta release IBConsole available (8.0.0.48)
#202
Author: Karol Bieniaszewski
Date: Mon, 07 May 2007 06:34
20 lines
1542 bytes
Uzytkownik "Gelein van de Voorde" <gelein@gvsnet.nl> napisal w wiadomosci 
news:463a3fa9@newsgroups.borland.com...
> See revision history for details.
> http://www.gvsnet.nl/ibconsole
>
To Gelein van de Voorde:
Copy text by mouse still don't work properly in sql window.

try this
1. write text like this:
Select * from XXXXX
2. select text e.g. "from"
3. copy this selected text whith Ctrl + mouse.
you loose this selected text.
i teted this with IBC 8.0.0.48 and 47
in oldest version which i have 7.5.0.1 it work as expected


Karol Bieniaszewski 
Re: New beta release IBConsole available (8.0.0.48)
#205
Author: Gelein van de Voorde
Date: Mon, 07 May 2007 21:26
29 lines
1636 bytes
Karol Bieniaszewski wrote:

> 
> Uzytkownik "Gelein van de Voorde" <gelein@gvsnet.nl> napisal w
> wiadomosci news:463a3fa9@newsgroups.borland.com...
> > See revision history for details.
> > http://www.gvsnet.nl/ibconsole
> > 
> To Gelein van de Voorde:
> Copy text by mouse still don't work properly in sql window.
> 
> try this
> 1. write text like this:
> Select * from XXXXX
> 2. select text e.g. "from"
> 3. copy this selected text whith Ctrl + mouse.
> you loose this selected text.
> i teted this with IBC 8.0.0.48 and 47
> in oldest version which i have 7.5.0.1 it work as expected
> 
> 
> Karol Bieniaszewski

Karol,
I still can not reproduce it. Although I love to fix it, I can't as
long as I can't. I tried what you suggested and it works fine on my pc
(WindowsXP SP2).

-- 
Re: New beta release IBConsole available (8.0.0.48)
#209
Author: Karol Bieniaszewski
Date: Wed, 09 May 2007 06:29
40 lines
2237 bytes
U�ytkownik "Gelein van de Voorde" <gelein@gvsnet.nl> napisa� w wiadomo�ci 
news:463f9983$1@newsgroups.borland.com...
> Karol Bieniaszewski wrote:
>
>>
>> Uzytkownik "Gelein van de Voorde" <gelein@gvsnet.nl> napisal w
>> wiadomosci news:463a3fa9@newsgroups.borland.com...
>> > See revision history for details.
>> > http://www.gvsnet.nl/ibconsole
>> >
>> To Gelein van de Voorde:
>> Copy text by mouse still don't work properly in sql window.
>>
>> try this
>> 1. write text like this:
>> Select * from XXXXX
>> 2. select text e.g. "from"
>> 3. copy this selected text whith Ctrl + mouse.
>> you loose this selected text.
>> i teted this with IBC 8.0.0.48 and 47
>> in oldest version which i have 7.5.0.1 it work as expected
>>
>>
>> Karol Bieniaszewski
>
> Karol,
> I still can not reproduce it. Although I love to fix it, I can't as
> long as I can't. I tried what you suggested and it works fine on my pc
> (WindowsXP SP2).
>
Hi Gelein.

I test this on 4 computers with WinXP profesional SP2 with all hotfixes.
All is ok in older IBConsole 7.5.0.1

i sent avi file to borland.public.attachements as "IBCONSOLE - Copy text by 
mouse Issue"

Karol Bieniaszewski 
Re: New beta release IBConsole available (8.0.0.48)
#210
Author: Gelein van de Voorde
Date: Wed, 09 May 2007 20:22
4 lines
1000 bytes
Karol,
The avi was very illustration. I have been able to reproduce it now,
although I don't know the cause at the moment.
I hope I can fix it.
Re: New beta release IBConsole available (8.0.0.48)
#211
Author: Gelein van de Voorde
Date: Thu, 10 May 2007 20:31
1 lines
941 bytes
Fixed in 8.0.0.49.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads