|
These properties do not fit nicely into a group, and are presented here.
- tablespace
- Similar to
indexspace above. 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.
- datefmt
- This is a
strftime format 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:
%%
- Output
%
%a
- abbreviated weekday name
%A
- full weekday name
%b
- abbreviated month name
%B
- full month name
%c
- local date and time representation
%d
- day of month (01 - 31)
%D
- date as
%m/%d/%y
%e
- day of month ( 1 - 31)
%H
- Hour (00 - 23)
%I
- Hour (01 - 12)
%j
- day of year (001 - 366)
%m
- month (01 - 12)
%M
- Minute (00 - 59)
%p
- AM/PM
%S
- Seconds (00 - 59)
%U
- Week number (beginning Sunday) (00-53)
%w
- Week day (0-6) (0 is Sunday)
%W
- Week number (beginning Monday) (00-53)
%x
- local date representation
%X
- local time representation
%y
- two digit year (00 - 99)
%Y
- Year with century
%Z
- Time zone name
Default %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.
- timezone
- Change the default timezone that Texis will use. This
should be formatted as for the TZ environment variable. For example for
US Eastern time you should set timezone to
EST5EDT. Some systems
may allow alternate representations, such as US/Eastern, and if
your operating system accepts them, so will Texis.
- locale
- Can be used to change the locale that Texis uses. This
will impact the display of dates if using names, as well as the
meaning of the character classes in REX expressions, so
\alpha
will be correct. Also with the correct locale set, Metamorph will
work case insensitively correctly (with mono-byte character sets and
Texis version 5 or earlier; see textsearchmode for
UTF-8/Unicode and version 6 or later support).
- indirectcompat
- Setting this to 1 sets compatibility with early
versions of Texis as far as display of indirects go. If set to 1 a
trailing
@ is added to the end of the filename. Default 0.
- indirectspace
- Controls where indirects are created. The default
location is a directory called indirects in the database directory. Texis
will automatically create a directory structure under that directory to
allow for efficient indirect access. At the top level there will be 16
directories, 0 through 9 and a through f. When you create the directory
for indirects you can precreate these directories, or use them as mount
points. You should make sure that the Texis user has permissions to the
directories.
Added in version 03.00.940520000
- triggermode
- This setting changes the way that the command is treated
when creating a trigger. The default behavior is that the command will be
executed with an extra arg, which is the filename of the table containing
the records. If
triggermode is set to 1 then the strings $db
and $table are 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.
- paramchk
- Enables or disables the checking of parameters in the
SQL statement. By default it is enabled, which will cause any unset
parameters to cause an error. If paramchk is set to 0 then unset
parameters will not cause an error, and will be ignored. This lets a
single complex query be given, yet parameter values need only be
supplied for those clauses that should take effect on the query.
- message,nomessage
- Enable or disable messages from the SQL engine.
The argument should be a comma separated list of messages that you want to
enable or disable. The known messages are:
- duplicate
- Message Trying to insert duplicate value () in index
when an attempt is made to insert a record which has a duplicate value and
a unique index exists. The default is enabled.
- varchartostrlstsep
-
The separator character or mode to use when converting a
varchar string into a strlst list of strings in Texis.
The default is set by the conf/texis.ini setting [Texis]
Varchar To Strlst Sep (here); if
that is not set, the "factory" built-in default is create
in version 7 (or compatibilityversion 7) and later, or
lastchar in version 6 (or compatibilityversion 6) 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
resulting 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 strlst column:
single-value vars by varchartostrlstsep, multi-value by
arrayconvert.
The value 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
lastchar mode).
varchartostrlstsep may also be set to default to
restore the default (conf/texis.ini) setting. It may also be
set to builtindefault to restore the "factory" built-in
default (which changes under compatibilityversion, see
above); these values were added in version 5.01.1231553000 20090109.
If no conf/texis.ini value is set, default is the same
as builtindefault.
varchartostrlstsep was added in version 5.01.1226978000
20081117. See also the metamorphstrlstmode setting
(here), which affects conversion of
strlst values into Metamorph queries; and the convert
SQL function (here), which in Texis
version 7 and later can take a varchartostrlstsep mode
argument. The compatibilityversion property
(here), when set, affects
varchartostrlstsep as well.
- multivaluetomultirow
-
Whether to split multi-value fields (e.g.
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 strlst field will
split the field into its varchar members for processing. For
example, consider the following table:
create table test(Colors strlst);
insert into test(Colors) values('red,green,blue,');
insert into test(Colors) values('blue,orange,green,');
With multivaluetomultirow set 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 red
Note that the strlst values have been split, allowing the two
blue and green values to be counted individually.
This also results in the returned Colors type being
varchar instead of its declared strlst, and the sum of
Count values being greater than the number of rows in the
table. Note also that merely SELECTing a strlst will
not cause it to be split: it must be specified in the GROUP BY
or DISTINCT clause.
The 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
compatibilityversion property
(here), when set, affects
this property as well.
- inmode
-
How the IN operator should behave. If set to
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
compatibilityversion 6) and earlier, IN always behaved
in an INTERSECT-like manner. The compatibilityversion
property (here), when set,
affects this property as well.
- hexifybytes
-
Whether conversion of byte to char (or vice-versa)
should encode to (or decode from) hexadecimal. In Texis version 6
(or 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
contain byte columns will still be readable from the command
line. However, the property is off by default in version 7 and
later non-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 hextobin() and
bintohex() SQL functions may also be useful,
here.) The hexifybytes property
was added in version 7. It is also settable in the
conf/texis.ini config file (here). The
compatibilityversion property
(here), when set, affects
this property as well.
Copyright © Thunderstone Software Last updated: Sun Mar 17 21:14:49 EDT 2013
|