These properties do not fit nicely into a group, and are presented here.
indexspaceabove. Sets a directory into which tables created will be placed. This property does not stay set across invocations. Default is empty string, which means the database directory.
strftimeformat used to format dates for conversion to character format. This will affect
tsql, as well as attempts to retrieve dates in ASCII format. Although the features supported by different operating systems will vary, some of the more common format codes are:
%Y-%m-%d %H:%M:%S, which can be restored by setting datefmt to an empty string. Note that in version 6.00.1300386000 20110317 and later, the
stringformat()SQL function can be used to format dates (and other values) without needing to set a global property.
EST5EDT. Some systems may allow alternate representations, such as
US/Eastern, and if your operating system accepts them, so will Texis.
\alphawill be correct. Also with the correct locale set (and OS support), Metamorph will work case insensitively correctly (with mono-byte character sets and Texis version 5 or earlier; see
textsearchmodefor UTF-8/Unicode and version 6 or later support).
<strfmt>-style (including optional backslash escapes) format string for printing a single floating-point number (
double), when converting to
The default of %g prints numbers with up to 6 digits of precision, and switches to exponential notation if the exponent is less than -4 or greater than or equal to 6. This is a compromise for the unknown range of numbers to be printed: it shows some precision, while minimizing length for very large, very small, or base10-rounded numbers.
However, this default format can lead to loss of precision, unwanted
exponential notation, or both. In situations where the string
conversion can be controlled by the programmer, a function that
takes a format can be explicitly used, e.g.
<strfmt> in Vortex. However, where the conversion is
implicit or uncontrolled (e.g. SQL convert to
strlst, Vortex user-function argument
conversion to string), in most cases the
format is automatically used by SQL/Vortex. Thus the format can be
changed to a more useful value when a given situation warrants. The
value should be appropriate for accepting a single numeric argument;
invalid values may cause an error and be rejected. The value default will set the default value (%g).
Added in version 8.01.1653090141 20220520. Default is %g, which is also the (only) value in previous versions.
@is added to the end of the filename. Default 0.
triggermodeis set to 1 then the strings
$tableare replaced by the database and table in that database containing the records. This allows any program which can access the database to retrieve the values in the table without custom coding.
varcharstring into a
strlstlist of strings in Texis. The default is set by the
conf/texis.inisetting [Texis] Varchar To Strlst Sep (here); if that is not set, the "factory" built-in default is
createin version 7 (or
compatibilityversion7) and later, or
lastcharin version 6 (or
compatibilityversion6) and earlier.
A value of
create indicates that the separator is to be
created: the entire string is taken intact as the sole item for the
strlst, and a separator is created that is not present in the
string (to aid re-conversion to
varchar). This can be used
in conjunction with Vortex's <sqlcp arrayconvert> setting to
ensure that single-value as well as multi-value Vortex variables are
converted consistently when inserted into a
single-value vars by
varchartostrlstsep, multi-value by
lastchar indicates that the last character in the
source string should be the separator; e.g. "a,b,c," would
be split on the comma and result in a
strlst of 3 values:
"a", "b" and "c".
varchartostrlstsep may also be a single byte character, in
which case that character is used as the separator. This is useful
for converting CSV-type strings e.g. "a,b,c" without having to
modify the string and append the separator character first (i.e. for
varchartostrlstsep may also be set to
restore the default (
conf/texis.ini) setting. It may also be
builtindefault to restore the "factory" built-in
default (which changes under
above); these values were added in version 5.01.1231553000 20090109.
conf/texis.ini value is set,
default is the same
varchartostrlstsep was added in version 5.01.1226978000
20081117. See also the
(here), which affects conversion of
strlst values into Metamorph queries; and the
SQL function (here), which in Texis
version 7 and later can take a
(here), when set, affects
varchartostrlstsep as well.
strlst) into multiple rows (e.g. of
varchar) when appropriate, i.e. during GROUP BY or DISTINCT on such a field. If nonzero/true, a GROUP BY or DISTINCT on a
strlstfield will split the field into its
varcharmembers for processing. For example, consider the following table:
create table test(Colors strlst); insert into test(Colors) values(convert('red,green,blue,', 'strlst', 'lastchar')); insert into test(Colors) values(convert('blue,orange,green,', 'strlst', 'lastchar'));With
multivaluetomultirowset true, the statement:
select count(Colors) Count, Colors from test group by Colors;generates the following output:
Count Colors ------------+------------+ 2 blue 2 green 1 orange 1 redNote that the
strlstvalues have been split, allowing the two
greenvalues to be counted individually. This also results in the returned
varcharinstead of its declared
strlst, and the sum of
Countvalues being greater than the number of rows in the table. Note also that merely
strlstwill not cause it to be split: it must be specified in the GROUP BY or DISTINCT clause.
multivaluetomultirow was added in version 5.01.1243980000
20090602. It currently only applies to
strlst values and
only to single-column GROUP BY or DISTINCT clauses. A
system-wide default for this SQL setting can be set in conf/texis.ini with the [Texis] Multi Value To Multi Row
setting. If unset, it defaults to true through version 6 (or
compatibilityversion 6), and false in version 7 and later
(because in general GROUP BY/DISTINCT are expected to
return true table rows for results). The
(here), when set, affects
this property as well.
subset, IN behaves like the SUBSET operator (here). If set to
intersect, IN behaves like the INTERSECT operator (here). Added in version 7, where the default is
subset. Note that in version 6 (or
compatibilityversion6) and earlier, IN always behaved in an INTERSECT-like manner. The
compatibilityversionproperty (here), when set, affects this property as well.
Whether conversion of
char (or vice-versa)
should encode to (or decode from) hexadecimal. In Texis version 6
compatibilityversion 6) and earlier, this always
occurred. In Texis version 7 (or
compatibilityversion 7) and
later, it is controllable with the
hexifybytes SQL property:
0 for off/as-is, 1 for hexadecimal conversion. This property is on
by default in
tsql (i.e. hex conversion ala version 6 and
earlier), so that
SELECTing from certain system tables that
byte columns will still be readable from the command
line. However, the property is off by default in version 7 and
tsql programs (such as Vortex), to avoid the hassle
of hex conversion when raw binary data is needed (e.g. images), and
because Vortex etc. have more tools for dealing with binary data,
obviating the need for hex conversion. (The
bintohex() SQL functions may also be useful,
was added in version 7. It is also settable in the
conf/texis.ini config file (here). The
(here), when set, affects
this property as well.
Whether to issue "Unaligned buffer" warning messages when unaligned buffers are encountered in certain situations. Messages are issued if this setting is true/nonzero (the default). Added in version 7.00.1366400000 20130419.
Whether to issue "REX: Unneeded escape sequence ..."
warnings when a REX expression uses certain unneeded escapes. An
unneeded escape is when a character is escaped that has no special
meaning in the current context in REX, either alone or escaped.
Such escapes are interpreted as just the literal character alone
(respect-case); e.g "
\w" has no special meaning in REX, and
is taken as "
While such escapes have no meaning currently, some may take on a specific new meaning in a future Texis release, if REX syntax is expanded. Thus using them in an expression now may unexpectedly (and silently) result in their behavior changing after a Texis update; hence the warning message. Expressions using such escapes should thus have them changed to the unescaped literal character.
If updating the code is not feasible, the warning may be silenced by
unneededrexescapewarning to 0 - at the risk of
silent behavior change at an upgrade. Added in version
7.06.1465574000 20160610. Overrides [Texis] Unneeded REX
Escape Warning setting
(here) in conf/texis.ini.
The string value to output for SQL NULL values. The default
NULL". Note that this is different than the output
string for zero-integer
date values, which are also shown
NULL". Added in version 7.02.1405382000 20140714.
Bit flags for additional consistency checks on B-trees. Added in
version 7.04.1449078000 20151202. Overrides
[Texis] Validate Btrees setting