databases/sqsh
databases/sqsh-motif
databases/sqsh-x11
The latter two are now just databases/sqsh built with a specific set of
options. Changes include:
+ Add options.mk that supports three options:
sqsh-motif Motif GUI
sqsh-xaw Athena GUI
sybase-openclient Use real Sybase
Note that USE_SYBASE_OPENCLIENT is a legacy variable for the new
global "sybase-openclient" option.
+ Remove Makefile.common and move all logic into sqsh/Makefile and
sqsh/options.mk.
+ Remove section in patch-aa that tried to deal with termcap/curses
issues for readline. That is now automatically taken care of in
pkgsrc through termcap.buildlink3.mk, which is included here
indirectly by readline/buildlink3.mk.
+ Add full DESTDIR support.
+ Bump the PKGREVISION for sqsh, sqsh-motif and sqsh-x11 to 5. All
three packages now track and use the same PKGREVISION number.
pkg related changes: honour PKG_SYSCONFDIR for sqshrc.
Major changes since 1.7:
* New build system/directory structure. Should build against ASE
12.0 and FreeTDS now.
* Added support for varchar2() and varbinary2() for ASE 12.5 (I
don't have a 12.5 instance to test against yet though).
* Added \if command to perform conditional execution. Please read
the manual carefully on how expressions work.
* Added \while command to perform basic looping conditional
expressions.
* Added \break command to break out of current loop
* Added \for command to perform basic iteration.
* Added \do command to allow the exection of a sqsh script block
once per row returned from statement. Also new #[0-9] variables
may be used to refer to column names in result set. Also note
that \do allows flags -U, -S, -P for execution of statements on
other server or as other users.
* Added \func command to create a sqsh function for later
execution. Also, now ${[0-9]} now refer to the parameters to
this function when it is called. Note that by passing -x to
\func, the function will be exported as a full sqsh command, and
can be called directly without calling \call.
* Added \return to return from current function.
* Obviously, added \call to call sqsh function.
* New variable $? contains: - Return status of command executed on
pipe '|' - Return status of expression evaluated for \while or
\if. - Last server error number of severity > 10 (@@error). This
is useful for flow-of-control using the new conditional
statements.
* Added a directory of handy filter scripts.
* Fixed \rpc command with @variable names.
* \exit now exits sqsh, no matter how many \loop nesting levels
you are in.
* The user will now be re-prompted to enter a password if a "Login
failed." message is received from the server. This may be
disabled using the new $password_retry variable.
* Got rid of error message about ct_exit() not being called.
* Created new 'make distrib' option to build a self-contained sqsh
binary distribution.
* $rcfile and $SQSHRC may now be colon delimited lists of sqshrc
files. This allows for system-wide rc files to be loaded first
before local files. Also, the default $SQSHRC setting is now
"/usr/local/etc/sqshrc:$HOME/.sqshrc" (the /usr/local will be
automatically replaced by the contents of --prefix when passed
to configure).
* Fixed -C.
* $SQSHRC no longer needs to be writable.
* sqsh no longer pays attention to quotes inside of comments
during variable expansion.
* Fixed bcp'ing of results from stored procedures.
* libsybtcl will now be chosen if available.
* 'exact' mode keyword expansion should now work better (thanks to
Sean Woolcock.
* Added $bcp_colsep and $bcp_rowsep configuration variables to
control the separators used during "go -m bcp".
* Added $bcp_trim to configure whether or not trailing spaces are
trimmed in the bcp output.
* Fixed segfault in "pretty" display mode.
Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), it
is intended as a replacement for the venerable 'isql' program supplied
by Sybase. It came about due to years of frustration of trying to do
real work with a program that was never meant to perform real work.
Sqsh is much more than a nice prompt, it is intended to provide much of
the functionality provided by a good shell, such as variables,
redirection, pipes, back-grounding, job control, history, command
completion, and dynamic configuration. Also, as a by-product of the
design, it is remarkably easy to extend and add functionality.