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\importcommand, 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
\goto 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,
simpleandtight. These styles are
identical in behavior toprettyandperfect(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\connector on the
jsqsh command line to explicitly set a variable contained in a JDBC
URL by name, like so:\connect -Vdb=myDb -dmydriverIn 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
\readcommand to allow you to set variables using input
provided by the user -
The
csvdisplay style may now be configured via the new configuration
variables${csv_delimiter},${csv_quote},${csv_quote_esc}, and
${csv_null} -
The
\gocommand 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.