Hi Scott,
> First, I think current CVS is ready, as it's a definite improvement ove=
r
> the last released version for me. When I tried 0.9.6, it took a very
> long time to connect (I think it was trying to load all of the metadata
> right away, correct? I'm connecting over the Internet to a large Oracle
> database, so that's not a good idea.) It's better now. Also, I think th=
e
> old one leaked cursors - I got maximum cursors exceeded messages when
> browsing metadata.
Theres a release candidate coming out in the next couple of days (when I =
get=20
the time). Apart from finishing the documentation and bug fixing this sho=
uld=20
be the same as the final release.
> That doesn't mean I think it's perfect, though. I've got some
> problems/interface comments/feature requests:
Unfortunately its never going to be perfect, but the more feedback we get=
the=20
closer we can make it :-)
> - Typing "./squirrel-sql.sh" doesn't work for me right in the dist
> directory unless I set INSTALL_PATH=3D`pwd`. Was this supposed to be
> substituted in the ant file? If so, it didn't work.
The Izpack installer sets it up during the installation. Its done this wa=
y so=20
that the script can be run when the working directory isn't the Squirrel=20
directory.
> - Ideally, just a "java -jar squirrel-sql.jar" would work, so I wouldn'=
t
> need the shell script/batch file at all. I think you can have classpath=
s
> in the meta-inf. If not, the other jars would have to be included in
> that one. This would be better because batch files/java pop up
> unnecessary terminal windows on Windows. Clicking on the jar file
> directly launches javaw, which doesn't have that problem.
The squirrel-sql.jar file has been executable for the last few betas. Tak=
e a=20
look in the supplied batch file for other ways of executing Squirrel. The=
=20
only issue with using the executable jar file is you don't get the conten=
ts=20
of the %CLASSPATH% variable appended to the Squirrel class path and so yo=
u=20
don't have access to any JDBC drivers in the %CLASSPATH%.
>
> - It's slow when browsing metadata. It would be nice if it cached more
> (column-level information particularly) so looking at it a second time
> would be quick.
Info for the object tree is cached while the object is selected. I.E. if =
a=20
table is selected and you display the column info, then the primary keys =
and=20
then return to the column info the second display of the column info is f=
rom=20
a cache and is much faster. It was a deliberate design decision on my par=
t so=20
that changes to the object would be seen the next time you displayed it. =
I=20
assumed that retrieving the metadata for a single tab would be a relative=
ly=20
quick operation. It never occured to me that people would be connecting t=
o=20
databases across slow connections. I'll make a change in 1.2 to cache the=
=20
metadata when its first displayed and leave it cached until the object tr=
ee=20
is refreshed.
> - IMHO auto commit should be off by default. Or at least there should b=
e
> a preference for it per-database alias, not per-session, so I don't nee=
d
> to toggle it every time I connect.
In the SQL tab on the New Session properties dialog (File/New Session=20
Properties) you can specify whether new sessions default to autocommit on=
or=20
off.
>
> - I'm glad to see it doesn't block waiting for a database response. Thi=
s
> was what started me looking for an alternative to the Oracle 8i SQL
> Worksheet to begin with. Killing the program when I forgot a join
> condition was not pleasant.
IMHO one of the best enhancements to 1.1 over 1.0 was Johan Compagners=20
threading code. Its made Squirrel much more useable.
> - The metadata views show a lot of useless columns. Ones that are
> consistently <null>: schema on PostgreSQL (even 7.3b1 - I guess they
> haven't updated their JDBC drivers), table_cat on Oracle. And some
> things not really intended for humans (data_type; the numbers mean
> nothing to me; I just want type_name). If these all went away, it would
> be easier to find what I'm looking for.
Originally I only showed the _important_ columns in metadata but a couple=
of=20
people were getting SQL errors when retrieving only some of the columns. =
The=20
quick fix was to retrieve all columns but I wasn't able to track the prob=
lem=20
down. It was one of those intermittent issues. Longer term I intend to ha=
ve a=20
GUI whereby you can select the columns (and the sequence) you want for ea=
ch=20
metadata tab. Shorter term I could put up a session property called somet=
hing=20
like "Only show important metadata" true/false. - If you could come up wi=
th a=20
better name for it I might put it in 1.1
> * I tend to work with a couple queries at once and refine them. It'd
> be nice if a new tab replaced the current one unless I hit ctrl-T (as i=
n
> Mozilla). This way, older versions of the current query would go away.
>
> * And also, if the SQL was per-tab as well, so I could refine a
> couple queries in parallel without doing as much copying and pasting.
Better handling of the tabs is on my todo list but as yet I haven't reall=
y=20
worked out what I want it to do.
> * I'd like to see each SQL tab go into the top-level tab bar instead
> of the one "SQL" one and subtabs of that. Maybe not conceptually quite
> as clean - "Objects" would be different from all the others then - but
> less clutter.
You'd have a hard time convincing me on this one. I think it would make i=
t a=20
lot messier.
>
> - I hate the MDI interface/subwindows. I usually only work with one
> database at once - I only want that window up. Even when I do work with
> two databases, I'd prefer they be entirely separate windows. The connec=
t
> stuff could be a dialog box that pops up when you first start the
> program and when you hit ctrl-N or something (new connection).
As I said recently to somebody, this is a religious issue. I personally l=
ike=20
the MDI interface and hate the SDI one, this was the main reason I stoppe=
d=20
using Netbeans. A possibility for the future when the code has been clean=
ed=20
up would be making it an option as it is in the current version of Netbea=
ns.=20
You specify whether you want an SDI or an MDI interface.=20
> - It would be nice if the statement division stuff was smarter. I'd lik=
e
> to be able to type in PL/SQL blocks without changing the statement
> seperator. If it could do everything as the Oracle SQL Worksheet 8i doe=
s
> (not the 9i; blank lines in "create table" commands confuse it; grr),
> I'd be really, really happy.
Changing the statement separator and beginning of line comment gets round=
=20
these issues so I'd look at this as being low priority.
> - Feature request: Oracle query execution plans, like their "SQL
> Scratchpad" in the "Enterprise Manager Console" has. SQL Scratchpad
> really annoys me, but as is I've gotta use it occasionally. "explain
> plan for" dumps all this info into a table, but the SQL Scratchpad is
> the only thing I've seen that does a decent job of formatting it. (The
> only second is this utlxplp.sql thing that does text-based formatting.)
Sounds like something that could be put into the Oracle plugin. Its also =
not=20
something I'd probably do myself (I'm no Oracle expert) so if you are=20
interested in enhancing Squirrel this could be a good starting point.=20
Squirrel is starting to be used in a lot of Oracle shops and theres a lot=
of=20
oracle specific functionality that could be added to the plugin. Let me k=
now=20
if you are interested.
> If I'm feeling ambitious later and have time, I might try to implement
> some of my suggestions. No promises.
Squirrel is turning out to be bigger than Ben Hur so any help you can giv=
e=20
would be appreciated. As I said the oracle plugin needs a lot of work and=
I=20
would be extremely happy if you were to have a look at that.
--=20
Colin Bell
http://squirrel-sql.sf.net
|