A couple of quick thoughts

27 views
Skip to first unread message

Jeremy Lakeman

unread,
Apr 23, 2009, 3:15:40 AM4/23/09
to sybase.public.ase.aseisql
refactor uo_log, string += is far too slow for building a large
buffer, and scrolling the display after every log message is also
pretty slow (eg large query plans)
(I've pretty much already done this, I just need to commit it.)

w_find should select the default text on open.

Not sure if I'd like to swap the interface to MDI, but I'd like each
editor window to have its own log, have <CTRL+Q> jump back to the last
run editor. And maybe a connection pool so you can run more than one
thing at a time without having to worry about multiple instances. But
that's probably too ambitious for now.

n_sqlmenu.ue_copytemplate, refactor to use a list of user specified
templates? Different behaviour for primary keys / identity columns?
eg I prefer this format;
insert into table (
col1,
col2,
...
) values (
...
)

OR

insert into table (
col1,
col2,
...
)
select
col1,
...
where not exists(
select 1
from table
where pk = ...
)

aseisql

unread,
Apr 23, 2009, 3:11:36 PM4/23/09
to sybase.public.ase.aseisql
first, about any commits - let's wait until i'll do all svn commit's,
and somebody else except me will be able to build the project from
sources.
i will publish a document how to build it.

- refactor uo_log - great. could you give any statistics what could
be the benefit?
- connection pool - yes it's toooo ambitious for now ;) - we can
register it as an issue for future.
- templates - sure we can modify them, or better to put them somehow
into stubs.sql, so the users could customize it.

Jeremy Lakeman

unread,
Apr 23, 2009, 9:55:38 PM4/23/09
to sybase.public.ase.aseisql
Take this log vomitting sql as an example;

declare @i int
select @i=0
while @i <5000
begin
select @i=@i+1
print 'Count %1!',@i
end

this took 23 seconds to run with the log visible with aseisql
2007-11-19.
delaying repaints and scrolling for 1/30th of a second so the log can
fill up more before repainting, and it now takes 3 seconds.

Now right click and copy all the log to the clipboard. This took about
25 seconds.
Using blobedit to append strings into a blob instead of string +=,
took 1.5 seconds.

The time taken for += increases exponentially as the string gets
larger, while the time for blobedit will only increase linearly.
These changes are more noticable the longer the log window gets, and I
have used a very long example here to highlight the differences.
But query plans can get pretty long too.

Julio C. Rodriguez

unread,
Apr 24, 2009, 9:15:24 AM4/24/09
to ase...@googlegroups.com
Very good example.

I've also noticed that when you have a very very very very long log resulting from a very intense printing query, the log just show nothing from certain point on.  That shouldn't happen if there's a way to use a blob instead of a string.

aseisql

unread,
May 21, 2009, 1:22:21 AM5/21/09
to sybase.public.ase.aseisql
I commit the changes proposed by Jeremy.
did not test it, but at least it's working ;)

the first compiled beta version published without installation.
so, you don't need to install it. just download, extract, and run.
Reply all
Reply to author
Forward
0 new messages