Compact History for AbaPerls
This page gives a compact history that summarises each external release and
gives installation instructions. For a detailed history, see
this page.
L1.0.0190 - 2010-10-24
To install Perl code and documentation, apply
standard procedures. There are two
update scripts you need to run: ap_up_1-0-0080-0140.pl and ap_up_1-0-0140-0170.pl.
Changes in summary:
- Two new Preppis macros $DBPERM and $SERVERPERM. They permit you to
encapsulate permissions which cannot be granted through ownership chaining,
for instance permissions needed for dynamic SQL or BULK INSERT. See the new
topic Modules with Special Permissions
for more details.
- The macro $DLLINCLUDE now takes an argument which specifies the assembly
permission. This permit you to install privileged assemblies even if the
database is not marked as trustworthy. See the topic
Privileged Assemblies on the CLR
page for details.
- Support for table types and XML schema collections. You can either define
them in files on their own, or together with a stored procedure or
user-defined function. In the latter case, the type is private to that
module. (2010-09-01)
- Rather than storing DLLs built elsewhere, you can now pass AbaPerls
source files written in C# or VB .Net to create the assembly this way. This
makes it simpler to use CLR procedure/functions that consists of a single
file. (2010-09-01)
- New option for DBBUILD:
-tablesfirst. This option specifies an alternate
build order where tables and views in all subsystem are built before any
functions or procedures are loaded.
- If you run DBBUILD
-rebuild for a single subsystem, AbaPerls now clears the
settings configuration settings only for that subsystem, and leaves global
settings and settings for other subsystems unchanged.
- DBBUILD and DOBCP now use the
-q option with BCP to set the setting
QUOTED_IDENTIFIER (which for some reason is not on by default with BCP.)
- AbaPerls now supports use of WHERE clauses in the
definition of index and statistics, so-called filtered indexes.
- Changed the AbaPerls file-lookup order,
so that AbaPerls now looks for the file in a subsystem directory before
trying a an AbaPerls SQL directory
structure on the same level.
- ABASQL now masks any password
when printing the command-line options.
- RUNSPS is now able to read
regular Excel books, and is not constraint to CSV files. Older
CSV files still work with RUNSPS,
as long as Excel can read them.
Bugfixes:
- DBUPDGEN no longer complains
if the
-VSS option disagrees with the project in
the file, if the only difference is that one of them has /SQL
and the other not.
- RUNSPS would loop indefinitely
if you did not supply any parameter definition at all. This has been fixed.
- When you had expressions with .nodes(), AbaPerls could produce a
internal error about too many iterations. This problem has been fixed.
L1.0.0091 - 2009-01-02
AbaPerls is again publicly available, now under the Perl Artistic Language.
To install Perl code and documentation, apply
standard procedures. To get the
database up to date, there are two update scripts you need to run: ap_up_1-0-0052-0080.pl and ap_up_1-0-0080-0081.pl. Very important! The first script does
not run on SQL 2005 RTM and SP1! (Because of an issue with sp_rename). It does run on SQL 2000, SQL 2005 SP2 and SQL 2008.
Changes in summary:
Bugfixes:
- Fixed connection problems when a database had special characters in the name.
- Because of changes in SQL 2005 SP2, LISTERRS
failed to list calls to missing stored procedure. This has been fixed.
- Fixed bug in aba_check_column, so that it now correctly returns 0 when
-noexec is in effect.
L1.0.0060 - 2008-01-12
A lot has happened since the last external release. To begin with, there are
no more public release, only external releases, available only by request and
only if you sign a license.
Next important thing: you need to ensure that you have Perl 5.8. Download the
latest 58x build of Perl from
http://www.activestate.com. AbaPerls now uses my new client API for SQL
Server access: Win32::SqlServer. Get it from my
web site and follow
the instructions.
To install Perl code and documentation, apply
standard procedures. To get the
database up to date, there are three update scripts you need to run:
ap_update_1-0.0042.pl, ap_up-1-0-0042-0052.pl and
ap_up_1-0-0052-0053.pl. Be sure to back up your database before you go
ahead.
Support for SQL 6.5 and SQL 7 has withered over the years, and after this
release I do not plan to support these versions at all.
Important changes in summary. For details, see the
detailed history.
- AbaPerls can now work with SourceSafe 2005. Previously, this was
prevented by glitches in the SourceSafe API.
- AbaPerls now considers missing objects an error under most
circumstances. In the same vein, it's an error if the file name and obejct name
disagree. (2005-01-19)
There were situations where you previously were permitted to override checks
with
-force, but where this possibility has been
removed. (2006-11-20).
- AbaPerls now checks that the client version is not behind the datrabase,
and ABASQL always print the current
label. (2005-12-28)
- It's now compulsory to specify subsystem for INSERT-files and other
object-less files. (2005-12-28).
- AbaPerls now checks for old-style outer join and improper use of
NULL. (2005-01-19
and 2005-02-01.)
- You can now classify your databases as DEV, TEST
or PROD, and AbaPerls will be more strict about what
you can do in test and production databases. Development databases are as
before. (2005-12-28.)
- Support for CLR assemblies and CLR objects added as well some limited
support for Service Broker (2006-09-20).
- The Preppis directives
$MACRO_LONG and $ENDMACRO
are now implemented.
- There are several changes how
$INCLUDE and
$REQUIRE are handled, and
they are only permitted for certain file types. (2006-11-20).
- DOBCP now has native as default
and uses format files by default. (2006-10-18).
This also affects DBBUILD (2006-10-27).
- New cool option for SSGREP:
-crossref that print matches per unique string.
- Enhancements to LISTERRS,
removes the need for DBBUILD to
load stored procedures twice. However, there is an option
-sptwice to enforce this, to get better dependency
information. (2005-10-28).
- DBBUILD and scripts generated
by DBUPDGEN no longer sets the
database in simple recovery. (2007-06-05)
L1.0.0040 - 2004-10-31
The fourth public release. To install Perl code and documentation, apply
standard procedures. There is an update
script, ap_update_1.0.0031.pl, which starts at L1.0.020, so if you come
from the second public release, you can skip the script for the third release.
The only database change since the third release is in minor bugfix in
ap_sob_report_suspects_sp.
I now have a new mail address:
esquel@sommarskog.se.
Important changes in summary, for details, see the
detailed history.
- AbaPerls now checks for name clashes between subsystem. (2004-09-10)
- AbaPerls now permits you to have a trigger, index and foreign-key files
in other subsystem than the one that defines the table. For this reason
-subsystem is now mandatory with
ABASQL when you these file types. (2004-09-10)
- You can now restrict SSGREP and
SSREPLACE to files of a
certain type or langauge. (2004-07-06).
- LISTERRS now know how to read
log files from update scripts from DBUPDGEN.
(2004-05-19)
- Minor improvements to update scripts generaged by
DBUPDGEN. (2004-07-05
and 2004-07-08)
L1.0.0030 - 2004-05-03
The third public release. To install Perl code and documentation, apply
standard procedures. To upgrade the
databases, run the script ap_update_1.0.0025.pl. (There are no changes
between L1.0.0025 and L1.0.0030; the latter is only a release label.) If you
have not applied the update script for the second public release, L1.0.0021,
you first need to run ap_update_1.0.0020.pl. You can run the AbaPerls
tools against databases of lower labels. There are no table changes in this
release.
Important changes in summary, for details, see the
detailed history.
- AbaPerls now substitutes user-defined types in temp tables and table
variables with their definitions and therefore DBBUILD no longer adds any
types to tempdb and model. In the same vein, AbaPerls adds a COLLATE
clause to all character columns in temp tables and table variables,
voiding the pain of mixing collations on a server. (2003-11-12)
- AbaPerls now checks that the objects in a file matches the name and the
extension of the file, and issues a warning if not. In the next
release, expect this warning to be an error! (2003-11-22)
- AbaPerls now supports indexes and triggers on
views and to this end there are two new
suffixes: .VIX and .VTRI. (2004-05-02)
- AbaPerls now supports the command CREATE STATISTICS; you
place statistics definitions in the same files as indexes. (2004-05-02)
- New tool NEWSUBSYSVER that packages the
procedure to create new
version-subprojects. (2003-08-12)
- Several other minor changes to DBBUILD,
INSFILGEN,
DBUPDGEN and the update scripts and to
the config-file and
configuration options..(Various
dates)
L1.0.0021 - 2003-04-21
This was the second public release of AbaPerls. This release had significant
database changes. This release also added
support for controlling various SET
options for ANSI compatibility. To get full support for these features, you
need to update your databases to L1.0.0020; however AbaPerls will still work
against databases with version L1.0.0009.
L1.0.009 - 2002-11-03
This was the first public release of AbaPerls.