New Features
-
Extension plugin framework: Extensions to jsqsh can be developed that
provide a way to load additional commands and variables into jsqsh at
runtime (at jsqsh startup time, via the new\import
command, or when
specific jdbc drivers are loaded)). With this feature jsqsh can
be dynamically extended with new features that, for example, take
advantages of features specific to a particular database implementation.
Details on extending jsqsh can be found in the 'EXTENDING.md" file
included with the source code. -
Added ability for
\go
to produce a crosstab of the underlying results,
like so:[null][me] 1> select * from x [null][me] 2> go +-------+-----------+----------+ | STATE | DAYOFWEEK | SALES | +-------+-----------+----------+ | NJ | Mon | 14.20000 | | NJ | Tue | 11.40000 | | NJ | Wed | 19.30000 | | CA | Mon | 4.10000 | | CA | Tue | 8.30000 | | CA | Wed | 44.20000 | | NJ | Thu | 17.10000 | | AR | Tue | 4.30000 | +-------+-----------+----------+ [null][me] 1> select * from x [null][me] 2> go --crosstab dayofweek,state,sales +-----------+---------+----------+----------+ | DAYOFWEEK | AR | CA | NJ | +-----------+---------+----------+----------+ | Mon | [NULL] | 4.10000 | 14.20000 | | Tue | 4.30000 | 8.30000 | 11.40000 | | Wed | [NULL] | 44.20000 | 19.30000 | | Thu | [NULL] | [NULL] | 17.10000 | +-----------+---------+----------+----------+ (8 rows in results(first row: 0.001s; total: 0.002s)
-
Added two new display syles,
simple
andtight
. These styles are
identical in behavior topretty
andperfect
(respectively) except
that they drop the outer borders allowing for a few more characters of
available screen space per line, like so:[null][me] 1> select * from x [null][me] 2> go -m tight STATE | DAYOFWEEK | SALES ------+-----------+--------- NJ | Mon | 14.20000 NJ | Tue | 11.40000 NJ | Wed | 19.30000 CA | Mon | 4.10000 CA | Tue | 8.30000 CA | Wed | 44.20000 NJ | Thu | 17.10000 AR | Tue | 4.30000
-
New
--url-var
(-V
) option is now available in\connect
or on the
jsqsh command line to explicitly set a variable contained in a JDBC
URL by name, like so:\connect -Vdb=myDb -dmydriver
In addition, the connection and driver manager configuration wizards
will automatically detect such variables and allow you to set them.This feature makes working with new JDBC URl's that need configuration
parameters that JSqsh didn't natively recognize much simpler. -
Added new
\read
command to allow you to set variables using input
provided by the user -
The
csv
display style may now be configured via the new configuration
variables${csv_delimiter}
,${csv_quote}
,${csv_quote_esc}
, and
${csv_null}
-
The
\go
command can now specify values for jsqsh configuration variables
the the new--var
(-v
) argument. Variables will only be set for the
duration of the command. -
JDBC driver properties can now include environment variables in their values.
Bug Fixes
- Fixed a loooong standing bug with jsqsh's inability to connect to Oracle.
- When reading input from a file (-i) jsqsh was not handling multi-byte
unicode characters properly.