Other changes in Texis version 6 primarily affect Vortex and SQL
programmers. The default APICP settings for tsql are the same
as for texis (Vortex) in version 6, to avoid confusion when
testing Vortex SQL via command-line tsql. This means query
protection is on by default in tsql. System-wide
defaults for APICP settings can now be set in texis.ini
(see the [Apicp] section). The APICP setting/alias
querysettings was added (here); it replaces
the deprecated (but still temporarily supported) texisdefaults
setting, which is a bit of a misnomer. An <apiinfo> function
was added to Vortex (here), to obtain the current value of <apicp> settings.
A new XML and XSLT API was added, which offers more flexible parsing
of complex or multi-level documents than possible with a flat
timport. XSL stylesheets can be applied to XML documents with
the XSLT API. See the XML API section
(here)
for details.
The handling of strlst and other multi-value SQL types to and
from SQL statements in Vortex was changed with the addition of <sqlcp arrayconvert> (here). In version 6, multi-value Vortex parameters
passed to a SQL statement become strlst instead of
comma-separated string parameters, and returned SQL columns of type
strlst are automatically broken up into multi-value Vortex
variable arrays.
Columns returned from SQL INSERT, DELETE and
UPDATE statements can be limited with the same flexibility as
those from SELECT statements, with the addition of the
okvars option to the <sql> statement (here). This limits the
columns from SQL that are actually returned as Vortex variables, to
only those listed in okvars. This can be useful in situations
where the new return value from just one column in an UPDATE
statement is desired, without "stomping" other Vortex variables for
the other columns.
New SQL types int64 and uint64 were added, for 64-bit
signed and unsigned integers. These are valid across all platforms,
unlike long whose size varies by platform. Some Vortex
functions that return large integer values may use int64 in
version 6, e.g. $ret.size from <stat>. The
varint and int(N) types were also added, for declaring
multi-value integers.
Two new columns were added to the "tables" produced by direct
indexaccess SELECTing from Metamorph indexes: RowCount
and OccurrenceCount. The latter - for Metamorph inverted
indexes only - gives the count of all hits in all rows, not just the
number of rows, for the word.
More result set size information is available from <sql>
statements with the $sqlresult.... variables added in version
6 (here). These provide more accurate and detailed information than
$rows.min, $rows.max and $indexcount. For
example, both the number of returned as well as total matched
rows are available from GROUP BY statements.
Debugging Vortex scripts is easier with the $?var and
$??var variable printing syntaxes (here). These syntaxes print more
details about the Vortex variable var, such as its name, type,
and all values, which can be useful when diagnosing unexpected
script behavior.
The <exec> statement automatically double-quotes arguments
as needed under Windows, usually obviating the need for separate
statements for Windows and other OSes. See the quoteargs
<exec> flag for details (here). More Vortex functions that output HTML are now XHTML-compliant,
e.g. <options>, <checkbox>, <radiobutton> etc.
The REX set-subtract operator "--" was added, for
subtracting from a set. E.g. "[\alpha--z]" matches any
alphabetic character except "z". The anytotx plugin
produces some extra headers, and supports Open Document Format (ODF)
files.