CHAPTER 3: Empress System Variables


3.1 Introduction

Empress provides system variables to give each user control over the Empress environment. The system variables are used to set such things as the number of spaces between columns in the output from a SELECT statement, the system editor, the attribute separator in a dump file, and so on. A list of these follows, and then a brief description of each.

These variables all have system defaults from the initfile. They may be reset with the Query Language command or in the operating system. The reset value within the SQL session will override the value setting in the operating system or initfile but the value only stays within the SQL session. The reset value in the operating system will override the setting in the initfile till user log off from the operating system.

The setting in the initfile affects all users. One can customize Empress environment by setting some of these variables in the operating system shell.

Table 3-1: Path Related Variables

Variable Description
MSHELPPATH Directory for Empress help files.
MSNLSDB The National Language Support database.
MSTERMDB The terminal definition database for Empress 4GL.
MSAPFMDB Empress 4GL form database.
MS4GLPSHEADER Empress 4GL Postscript header file.
MSKILLLOGDIR Directory for Empress utility empkill log file.
MSCRAYQDELLOGDIR Directory for Empress utility empqdel log file. This is for Cray only.
MSGUIDB System directory for Empress GUI.
MSGUIDEFCOLORFILE Directory for Empress GUI color definition.
MSSHAREDMEMORYDIR Memory mapped file directory for the platform which uses mmap (memory mapping).

Table 3-2: General Topics Related Variables

Variable Description
MSDATELIMIT Preferred century for entering two digit dates.
MSDATEPIC Date picture for reports and data entry.
MSDDLTRANS When set, the Data Definition Language commands will be wrapped with transaction.
MSDISPLAYKATAKANA For terminals that cannot support Half-Katakana characters. This is for Empress Japanese version only.
MSDOLLAR Format for dollar data types.
MSEDITOR Editor used by .zz command and Empress 4GL.
MSFILESOPEN Maximum number of files that will be opened by Empress.
MSFORCEPLOCK Causes a process to lock itself into memory, assuming that it has the appropriate privileges.
MSINDEXLISTCUTOFF Percentage of the total number of records in a table, beyond which the index will no longer be used for retrievals.
MSINDEXLISTCUTOFFMIN Minimum number of records that will be read from the indices regardless of the setting of MSINDEXLISTCUTOFF.
MSINDEXSORTCUTOFF Percentage of the total number of records in a table, above which the index will be used for sorting the records.
MSKEEPNONPRINTCHAR Flag to interpret non-printing characters.
MSLANG Specifies the language in which you want Empress messages to be printed.
MSLINECONT String used to continue lines.
MSLKCOMMITADDEND Reduces the number of lock manager accesses between consecutive insertions.
MSLOCKPLAN Provides lock usage information by Empress.
MSNLSCODESET The name of the codeset appropriate to the keyboard/monitor you are using.
MSNULLVALUE String to replace null values.
MSPAGER System program for paging Query Language.
MSPERMS Access permissions for Empress output files.
MSPRINTER System program used to send output to a printer.
MSQUERYPLAN Provides indices information used by Empress when evaluating any search strategy before going to the database for record retrievals.
MSSHELL System shell for shell escapes.
MSSORTBYPASS Flag to skip locked records during sorting.
MSSORTSPACE Byte limit on space used during sorting.
MSTHRESHOLDPFLSIZE Maximum size of internal Process Free List before an automatic flush/merge is performed to the Global Free List.
MSTMPDIR Directory where temporary files are created.
MSTMPPFX Prefix used for temporary files.
MSVALSEP String used to separate attribute values in dump files.
MSVERSIONMESG Print Empress version on startup.
MSWRAPMARGIN Controls line breaks and wrapping.
MSCASEINSENSITIVE Forces Case Insensitivity.
MSNTMPFILECACHE Defines a number of the caches used for temporary files associated with temporary tables used during retrieval tasks.
MSQUOTEDIDENTIFIERS Allows quoted identifiers.
MSSELEXTFETCH Forces backward comatibility for the usage of Empress mr routine call mrprev.
MSSELMAXROWS Sets a maximum number of rows/records to return in Empress interactive SQL for any SELECT statement.
MSSELTIMEOUT Sets a number of seconds to wait for an SQL SELECT statement to execute before returning to the Empress Interactive SQL interface.
MSTMPFILECACHESIZE Defines a size of the cache used for temporary files associated with temporary tables used during retrieval tasks.

Table 3-3: Transactions Related Variables

Variable Description
MSTRANSCOMMENT Comment string for transactions.
MSTRANSSYNC Flag to cause immediate write to file.
MSTRANSTABLELOCK Flag to force table-level locking in transactions.
MSTRANSUFNBI The size of before image list for the transaction.
MSTRANSUFNGFL Controls free record access.
MSTRANSWARMPROTECT Flag to protect transactions from warm restart.

Table 3-4: Locking Related Variables

Variable Description
MSCFEXCLRETRY Number of retries for exclusive access to the coordinator file.
MSCFEXCLSLEEP Interval between retries for exclusive lock access to the coordinator file.
MSEXCLRETRY Number of retries for exclusive access to lock file.
MSEXCLSLEEP Interval between retries for exclusive lock access.
MSIAEXCLRETRY Number of exclusive access retries for Interactive Interface.
MSIAEXCLSLEEP Exclusive access retry interval for Interactive Interface.
MSIALOCKRETRY Number of lock retries for Interactive Interface.
MSIALOCKSLEEP Lock retry interval for Interactive Interface.
MSINDEXRETRY Number of retries to lock an index.
MSINDEXSLEEP Interval between retries to lock an index.
MSLOCKRETRY Number of retries to actually make a lock entry.
MSLOCKSLEEP Interval between retries to actually make a lock entry.

Table 3-5: Query Related Variables

Variable Description
MSQLAUTOPAGE Flag to send all command output to a paging program.
MSQLCMDSAVE Number of commands saved by history mechanism.
MSQLCOUNT Flag to display number records selected, updated, deleted.
MSQLECHO Controls commands echoing.
MSQLONELINE Indicates that a new line terminates a command.
MSQLPROMPT1 Primary Empress prompt.
MSQLPROMPT2 Secondary Empress prompt.
MSQLTRANSACTION Each command is a transaction and may be cancelled.
MSQLVARCHARS Characters used in Empress variable notation.

Table 3-6: Select Output Formatting Related Variables

Variable Description
MSQLGCHARWIDTH Column width for non-parametric character values.
MSQLGDATEWIDTH Column width for non-parametric date values.
MSQLGDECIMALWIDTH Column width for non-parametric decimal values.
MSQLGFLOATWIDTH Column width for non-parametric float values.
MSQLGINTEGERWIDTH Column width for non-parametric integer values.
MSQLSELBOX Puts a box around the output.
MSQLSELCOLMAXDISPWIDTH Maximum characters to be printed in interactive SQL
MSQLSELCOLSEP Column separator.
MSQLSELGROUPCOLCROSS Group separator crossing column.
MSQLSELGROUPSEP Group separator.
MSQLSELHEAD Flag to print/suppress headers.
MSQLSELHEADCOLCROSS Heading crossing column.
MSQLSELHEADSEP Separates headers from rows.
MSQLSELKEEPDUPLICATE Flag to keep duplicate group values.
MSQLSELROWCOLCROSS Row crossing column.
MSQLSELROWSEP Row separator.
MSQLSELTRUNCATE Flag to truncate long lines.
MSQLSELWARN Print warning if function encounters null argument.

Table 3-7: On-Line Backup Related Variables

Variables Description
MSCOORDTIMERFREQ The time period (in seconds) within which a client must check in with the coordinator.
MSOLBBACKUPDEVICE On-line backup device name.
MSOLBBLOCKSIZE On-line backup device balock size.
MSOLBRECOVERYLOG On-line backup recovery log file.

Table 3-8: Shared Memory Related Variables

Variables Description
MSMKDBSHMEM Creates database with shared memory.
MSSHMLOCATION System address where the shared memory segment will exist.
MSSHMPERMS Access permissions for shared memory partitions.

Table 3-9: Dirty Read and Data Streaming Related Variables

Variables Description
MSBULKSEGMENTSIZE Memory size for transferring bulk data in small pieces.
MSVALIDATELEVEL Behavior of dirty read as result of checksum.
MSVALIDATERETRY Number of retries Empress will make to read an invalid record.
MSVALIDATESLEEP Interval in seconds between retries to read invalid records.

Table 3-10: Database Utility Related Variables

Variables Description
MSKILLRETRY Number of times empkill attempts to send the termination signal specified by MSKILLSIGNAL.
MSKILLSLEEP Interval between retries empkill attempts to send the termination signal specified by MSKILLSIGNAL.
MSKILLSIGNAL Signal for empkill to terminate.

Table 3-11: Server/Internet Related Variables

Variables Description
MSSERVERHEARTBEAT Time period for checking Database Server idle time.
MSSERVERNETTYPE Server access type.
MSSERVERTERSELOG Compact format for server log file information.
MSINETREPLYTIMEOUT Timeout value for the client awaiting a high-level response.
MSINETREPLYRETRY Number of retries for the client awaiting a high-level response.
MSINETMESSAGETIMEOUT Timeout value for the client's message handler awaiting acknowledgement.
MSINETMESSAGERETRY Number of retries for the client's message handler awaiting acknowledgement.
MSINETPACKETTIMEOUT Timeout value for the client's packet handler awaiting acknowledgement.
MSINETPACKETRETRY Number of retries for the client's packet handler awaiting acknowledgement.
MSGETHOSTTIME Timeout value for retrieving host information.
MSHOSTNAME System host name.

Table 3-12: Operating System Related Variables

Variables Description
MSGETPW Use getpw instead of getwuid system call to obtain the user id. This is for backward compatibility reasons.
MSGCWDSIGCHLDRESET Resets the signal for some operating system call getcwd.
MSCRAYQDELSLEEP Number of seconds empqdel waits before checking whether a request has died. This is for Cray system only.
MSCRAYQDELRETRY Number of times empqdel attempts to send the termination signal. This is for Cray system only.
MSCRAYQDELSIGNAL Number or symbolic name of the signal for empqdel. This is for Cray system only.
MSMIGRATERETRY Number of retry to access migrated file. This is used on Cray system only.
MSMIGRATESLEEP Time interval for the retries to access migrated file. This is used on Cray system only.

Table 3-13: Report Writer Related Variables

Variable Description
MSMWNULLOK Suppress error on printing null.
MSPAGELENGTH Default page length for reports.
MSPAGEWIDTH Default page width for reports.

Table 3-14: Fortran Interface Related Variables

Variables Description
MSF77BACKSCAN Internal setting to describe the behaviour of the Fortran compiler.
MSF77BUFCOPY Flags the need to copy Fortran strings to auxiliary buffers.
MSF77IGNORELENGTH Set to ignore the length of passing Fortran character strings.
MSF77TERMCHAR Gives character to terminate a Fortran string, in place of ASCII(0).
MSF90BACKSCAN Internal setting to describe the behaviour of the Fortran compiler.
MSF90BUFCOPY Flags the need to copy Fortran strings to auxiliary buffers.
MSF90IGNORELENGTH Set to ignore the length of passing Fortran character strings.
MSF90TERMCHAR Gives character to terminate a Fortran string, in place of ASCII(0).

Table 3-15: Empress 4GL Related Variables

Variables Description
MS4GLCHKNULVAL Detect null values for NOT NULL attributes.
MS4GLCOMPATCHK Checks for possible compatibility problem.
MS4GLDEBUGSETUP Path to the file which stores setup information for the Empress 4GL Debugger.
MS4GLFLUSHTYPEAHEAD Keyboard input which is typed faster than Empress 4GL can respond is saved.
MS4GLFONTNAME Font name to be used by Empress 4GL.
MS4GLNOLOADRUNMSG Suppresse informational messages when an application is called.
MS4GLPRINTSCREEN Screen dump file name.
MS4GLPRINTSCREENFORMAT Screen dump format.
MS4GLPSWIDTH Width of the bounding box to be used for PostScript output.
MS4GLPSHEIGHT Height of the bounding box to be used for PostScript output.
MS4GLXASYNCOFF Interrupt handling.
MS4GLXCOLORTOLERANCE Color handling.
MS4GLXCURSORCOLOR The color of the text cursor.
MS4GLXPOINTERCOLOR Color of the X Windows pointer.
MS4GLXNEWCOLORMAP Usage of colormap.
MS4GLXWINDOWTITLE Window title.
MSTERM Terminal type.
MSTERMSYS Prefix of the terminal type.

Table 3-16: Empress GUI Related Variables

Variables Description
MSGUIDEFAULTSTYLE Application screen style.
MSGUIFONTSPEC Xterm font definition.
MSGUIRGBTEXT The path name for X Windows rgb text file.
MSGUISYSMAIN Empress GUI Builder system main screen style.

Table 3-17: Empress Internal Variables

Variables Description
MSSAVECWD Save the current working directory value.
MSBUFFERRECORDFACTOR Controls the number of records for the read ahead buffering action.
MSMAXPROCS Maximum number of processes which can access the lock manager in a lock file.
MSFILELOCKNBUCKETS Number of hash buckets for a lock manager in a lock file.
MSFILELOCKNLOCKS Maximum number of locks for a lock manager in a lock file.
MSNRECORDCACHE Cache size in terms of the number of records.
MSLICENCE License information.

Table 3-18: Network Server Related Variables

Variables Description
MSUSERAUTHCONFIGFILE Name of user authorization configuration file.
MSNETSERVERCONFIGFILE Name of network server configuration file.
MSNETTYPECONFIGFILE Name of network type configuration file.
MSCONFIGFILEPATH Path for Network Server Related Configuration Files.

Table 3-19: Replication Related Variables

Variables Description
MSREPLOCKRETRY Number of retries to obtain a lock on a master table during replication synchronization.
MSREPLOCKSLEEP Interval between retires to obtain a lock on a master table during replication synchronization.
MSREPENABLUPDATE Internal Variable that enables a Replicate Table to be update-able.
MSREPPURGEINTERVAL MSREPPURGEINTERVAL sets the maximum amount of time in hours which will be allowed for a replication table to be synchronized with its dependent replication replicates, before a deleted record is purged automatically.


3.2 Default Values for the System Variables

The default values for the Empress system variables come from a file called initfile in the config directory where Empress is installed. Below is example initfile listing from Version 8.62:

#	(c) Copyright	Empress Software Inc.  1983, 2006

MSPATHNAMES=
	MSHELPPATH="${EMPRESSPATH}/rdbms/help"
	MSNLSFILE="${EMPRESSPATH}/common/nls/nlsfile_"

# Empress 4GL paths

	MSTERMDB="${EMPRESSPATH}/rdbms/4gl/termdb"
	MSAPFMDB="${EMPRESSPATH}/rdbms/4gl/apfmdb"
	MS4GLPSHEADER="${EMPRESSPATH}/rdbms/4gl/header.ps"

# Empkill log file
	MSKILLLOGDIR="${EMPRESSPATH}/rdbms/spool/log"

# Cray Empqdel log file
	MSCRAYQDELLOGDIR="${EMPRESSPATH}/rdbms/spool/log"

# Empress GUI path
	MSGUIDB="${EMPRESSPATH}/rdbms/gui/empguidb"
	MSGUIDEFCOLORFILE="${EMPRESSPATH}/rdbms/gui/colortab"

# Memory Mapped file directory
# for the platform which uses mmap.
	MSSHAREDMEMORYDIR="${EMPRESSPATH}/rdbms/spool/shm"

MSPATHNAMESEND=

# general

MSBULKSEGMENTSIZE=
MSCASEINSENSITIVE=\
  [SYS_OS_WIN32]		X
  [ALL]
MSDATELIMIT=1950
MSDATEPIC="dd aaaaaaaaa yyyy"
MSDDLTRANS=X
MSDISPLAYKATAKANA=
MSDOLLAR=.,*$
MSEDITOR=vi
MSFILESOPEN=\
  [SYS_OS_UNIX_HPUX_64]		250
  [SYS_OS_UNIX_HPUX]		150
  [SYS_OS_UNIX_IRIX]		150
  [SYS_OS_UNIX_SOLARIS]		200
  [SYS_OS_UNIX_LINUX_COBALT]	200
  [SYS_OS_UNIX_LYNX]		50
  [SYS_OS_UNIX_SCO]		88
  [ALL]				250
MSFORCEPLOCK=
MSGETPW=
MSINDEXLISTCUTOFF=100
MSINDEXLISTCUTOFFMIN=0
MSINDEXSORTCUTOFF=3
MSKEEPNONPRINTCHAR=
MSLANG=
MSLINECONT="\\"
MSLKCOMMITADDEND=
MSLOCKPLAN=
MSNLSCODESET=
MSNTMPFILECACHE=
MSNULLVALUE=" "
MSPAGER=\
  [SYS_OS_WIN32]	"more <"
  [ALL]			more
MSPERMS=RW,RW,R	
MSPRINTER="pr | lpr"
MSQUERYPLAN=
MSQUOTEDIDENTIFIERS=
MSSELEXTFETCH=
MSSHELL=\
  [SYS_OS_WIN32]
  [SYS_OS_UNIX_AIX]	/bin/bsh
  [ALL]			/bin/sh
MSSORTBYPASS=X
MSSORTSPACE=
MSTHRESHOLDPFLSIZE=500
MSTMPDIR=\
  [SYS_OS_WIN32]
  [ALL]			/tmp
MSTMPFILECACHESIZE=
MSTMPPFX=ms
MSVALSEP=""
MSVERSIONMESG=X
MSWRAPMARGIN=0

# locking parameters

MSCFEXCLRETRY=50
MSCFEXCLSLEEP=0.05
MSEXCLRETRY=50
MSEXCLSLEEP=0.05
MSIAEXCLRETRY=10
MSIAEXCLSLEEP=0.06
MSIALOCKRETRY=10
MSIALOCKSLEEP=0.07
MSINDEXRETRY=20
MSINDEXSLEEP=0.08
MSLOCKRETRY=50
MSLOCKSLEEP=0.09

# transaction parameters

MSTRANSCOMMENT=
MSTRANSSYNC=
MSTRANSTABLELOCK=
MSTRANSUFNGFL=10
MSTRANSWARMPROTECT=

# query language

MSQLAUTOPAGE=
MSQLCMDSAVE=50
MSQLCOUNT=
# MSQLECHO options: batch, conv, run
MSQLECHO=run
MSQLONELINE=
MSQLPROMPT1="CMDNUM* "
MSQLPROMPT2=". "
MSQLTRANSACTION=
MSQLVARCHARS=${}

# query language -- select columnar

MSQLGCHARWIDTH=20
MSQLGDATEWIDTH=20
MSQLGDECIMALWIDTH="24 2"
MSQLGFLOATWIDTH=22
MSQLGINTEGERWIDTH=11
MSQLSELBOX=
MSQLSELCOLMAXDISPWIDTH=1024
MSQLSELCOLSEP="  "
MSQLSELGROUPCOLCROSS=
MSQLSELGROUPSEP=
MSQLSELHEAD=X
MSQLSELHEADCOLCROSS=
MSQLSELHEADSEP=" "
MSQLSELKEEPDUPLICATE=
MSQLSELROWCOLCROSS=
MSQLSELROWSEP=
MSQLSELTRUNCATE=
MSQLSELWARN=X

# Empress 4GL

MS4GLCHKNULVAL=
MS4GLCOMPATCHK=
MS4GLDEBUGSETUP=
MS4GLFLUSHTYPEAHEAD=
MS4GLFONTNAME=8x13
MS4GLNOLOADRUNMSG=
MS4GLPRINTSCREEN=SCREEN
MS4GLPRINTSCREENFORMAT=a
MS4GLPSWIDTH=6
MS4GLPSHEIGHT=11
MS4GLXASYNCOFF=\
  [SYS_OS_UNIX_DECUNIX]
  [SYS_OS_UNIX_IRIX]
  [SYS_OS_UNIX_SOLARIS]
  [ALL]			X
MS4GLXCOLORTOLERANCE=
MS4GLXCURSORCOLOR=
MS4GLXPOINTERCOLOR=
MS4GLXNEWCOLORMAP=
MS4GLXWINDOWTITLE=
MSTERM=
MSTERMSYS=pc

# Fortran Interface

MSF77BACKSCAN=X
MSF77BUFCOPY=\
  [SYS_OS_UNIX_AIX]
  [SYS_OS_UNIX_HPUX]
  [SYS_OS_UNIX_IRIX]
  [ALL]			X
MSF77IGNORELENGTH=
MSF77TERMCHAR=@

MSF90BACKSCAN=X
MSF90BUFCOPY=\
  [SYS_OS_UNIX_AIX]
  [SYS_OS_UNIX_IRIX]
  [ALL]			X
MSF90IGNORELENGTH=
MSF90TERMCHAR=@

# report writer stuff

MSMWNULLOK=X
MSPAGELENGTH=66
MSPAGEWIDTH=132

# internet stuff

MSGETHOSTTIME=5
MSHOSTNAME=
MSINETMESSAGERETRY=4
MSINETMESSAGETIMEOUT=30
MSINETPACKETRETRY=4
MSINETPACKETTIMEOUT=5
MSINETREPLYRETRY=4
MSINETREPLYTIMEOUT=60
MSSERVERHEARTBEAT=0
MSSERVERNETTYPE=INET_TCP
MSSERVERTERSELOG=X

# on-line backup stuff

MSCOORDTIMERFREQ=60
MSOLBBACKUPDEVICE=/dev/rst0
MSOLBBLOCKSIZE=16
MSOLBRECOVERYLOG=olbreclog

# replication

MSREPENABLEUPDATE=
MSREPLOCKRETRY=
MSREPLOCKSLEEP=
MSREPPURGEINTERVAL=

# empkill stuff

MSKILLRETRY=10
MSKILLSIGNAL=TERM
MSKILLSLEEP=5

# for Cray only

MSCRAYQDELSLEEP=5
MSCRAYQDELRETRY=10
MSCRAYQDELSIGNAL=HUP
MSMIGRATERETRY=1
MSMIGRATESLEEP=0

# shared memory variables

MSSHMPERMS=
MSSHMLOCATION=
MSMKDBSHMEM=X

# GUI variables

MSGUIDEFAULTSTYLE=
MSGUIFONTSPEC="-*-%s-%s-%s-*-*-*-%s-75-75-*-*-iso8859-1"
MSGUIPRECREATE=
MSGUIRGBTEXT=/usr/lib/X11/rgb.txt
MSGUISYSMAIN=

# dirty read + validation 

MSVALIDATELEVEL=440
MSVALIDATERETRY=10
MSVALIDATESLEEP=0.09

# net server stuff
MSUSERAUTHCONFIGFILE=
MSNETSERVERCONFIGFILE=netserver.cfg
MSNETTYPECONFIGFILE=nettype.cfg

MSCONFIGFILEPATH=\
  [SYS_OS_WIN32]	"${HOME}/Empress;${EMPRESSPATH}/config"
  [ALL]			"$HOME/.empress;$HOME;${EMPRESSPATH}/config"

# ODBC INI File
MSODBCINIFILE=odbc.ini

# ODBC compile OPTION
MSODBCTRACEABLE=X

# internal variables (Please do not modify)

MSBUFFERRECORDFACTOR=1
MSFILELOCKNBUCKETS=11
MSFILELOCKNLOCKS=\
  [SYS_OS_UNIX_DECUNIX]			489
  [SYS_OS_UNIX_HPUX_1020_32] 		242
  [SYS_OS_UNIX_HPUX_32] 		242
  [SYS_OS_UNIX_HPUX_64] 		314
  [SYS_OS_UNIX_HPUX_64_ITANIUM]		489
  [SYS_OS_UNIX_IRIX_64] 		491
  [SYS_OS_UNIX_LINUX_ITANIUM]		489
  [SYS_OS_UNIX_SOLARIS_ULTRA_64]	235
  [ALL]					243
MSNRECORDCACHE=10
MSTRANSUFNBI=10

# License (Please do not modify)

MSLICENCE=228d2c3c208a5a88ec300a225b647d391013dc037975d183
MSMAXPROCS=

To change system defaults for the variable values, edit initfile. In setting variables, you may use the variable EMPRESSPATH in place of explicit path designations. This allows paths to be customized more readily. If you do modify initfile, we strongly recommend that you make a copy of the original file, naming it something like initfile.orig before you make changes. You will need to restore the original file if you ever run Empress system testing routines. It will produce spurious errors if the system variables do not have their original values.



3.3 Description of Empress System Variables

The Empress system variables are described below in the alphabetical order.

3.3.1 MS4GLCHKNULVAL

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.2 MS4GLCOMPATCHK

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.3 MS4GLDEBUGSETUP

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.4 MS4GLFLUSHTYPEAHEAD

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.5 MS4GLFONTNAME

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.6 MS4GLNOLOADRUNMSG

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.7 MS4GLPRINTSCREEN

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.8 MS4GLPRINTSCREENFORMAT

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.9 MS4GLPSHEADER

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.10 MS4GLPSHEIGHT

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.11 MS4GLPSWIDTH

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.12 MS4GLXASYNCOFF

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.13 MS4GLXCOLORTOLERANCE

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.14 MS4GLXCURSORCOLOR

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.15 MS4GLXNEWCOLORMAP

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.16 MS4GLXPOINTERCOLOR

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.17 MS4GLXWINDOWTITLE

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.18 MSAPFMDB

This is an Empress 4GL system variable. Please refer to Empress 4GL: Administrator's Guide for detail description.

3.3.19 MSBUFFERRECORDFACTOR

When accessing a table with a lock level set to anything other than record level there is a potential to buffer the reads such that each record does not have to be accessed individually. If Empress is capable of applying a read ahead algorithm for data from a table, it will. This has the result that Empress does not have to go to the disk for each record read.

MSBUFFERRECORDFACTOR controls this buffering action. Buffering is turned off if the block cannot hold a minimum of records specified by MSBUFFERRECORDFACTOR or if the record size is a multiple of block size. A block size is determined by the MSDBBLOCKSIZE variable.

By default Empress has this variable set to 1.

3.3.20 MSBULKSEGMENTSIZE

This variable specifies the size of memory allocation (in bytes) for transferring bulk data in small pieces. This is worthwhile in applications which transfer huge (multi-megabyte or multi-gigabyte) bulks, because it keeps the resident size of the Database Server small. If MSBULKSEGMENTSIZE is not set, it defaults to 1 Megabyte.

3.3.21 MSCFEXCLRETRY and MSCFEXCLSLEEP

MSCFEXCLRETRY determines the number of attempts the locking mechanism makes to gain exclusive access to the coordinator file. The default is 50 tries. MSCFEXCLSLEEP determines the number of seconds between each try. The default is 0.05 second.

Empress recommends that you do not alter the value of this variable without the assistance of Empress Support personnel.

3.3.22 MSCOORDTIMERFREQ

This variable specifies the length of the time period (in seconds) within which a client must check in with the coordinator. This is necessary in order for the coordinator to manage on-line backup on an active database. The default is 60 seconds.

3.3.23 MSCRAYQDELLOGDIR

This variable is relevant to the Cray system only.

This variable specifies the directory in which empqdel (utility available on Cray system only) logs information about requests which had to be killed with a "sure" kill (SIGKILL) signal. By default, this variable has the value ${EMPRESSPATH}/rdbms/spool/log.

3.3.24 MSCRAYQDELRETRY and MSCRAYQDELSLEEP

These variables relevant to the Cray system only.

MSCRAYQDELRETRY specifies the number of times empqdel attempts to send the termination signal specified by MSQDELSIGNAL. The default value is ten attempts; values less than ten result in the use of the default value.

MSCRAYQDELSLEEP specifies the number of seconds empqdel waits before checking whether a request has died. The default value is five seconds; values less than five result in the use of the default.

3.3.25 MSCRAYQDELSIGNAL

This variable relevant to the Cray system only.

This variable specifies the number or symbolic name of the signal which is sent when empqdel attempts to terminate a request. Valid values are: HUP, 1, QUIT, 3, TERM, 15. If this variable has any other value, empqdel exits with an error message.

3.3.26 MSDATELIMIT

This variable indicates your preferred century for entering dates. The default is 1950. As an example entering only two digits for a year, 35, results in 2035.

3.3.27 MSDATEPIC

MSDATEPIC sets the default date picture for dates printed by Empress Report Writer, and for interpreting date input in Empress. Valid date pictures are listed in the Empress SQL: Reference manual under Data Types. The default for MSDATEPIC is "dd aaaaaaaaa yyyy". To set MSDATEPIC to the format "27 June, 1992" in SQL session:

   SET MSDATEPIC TO "dd aaaaaaaaa, yyyy";

When a date value is entered into a DATE attribute, Empress first checks whether the value is in universal date format (yyyymmdd), then whether it satisfies the day, month, and year order specified in the date format of the attribute. If it does not, the value is checked against the day, month, year order specified in MSDATEPIC. If this does not produce a valid date, the value is rejected.

When a date is used in an expression, Empress first checks whether the date is in universal format, then whether it satisfies the order specified by MSDATEPIC. If neither produces a valid date, the value is rejected.

For example, with MSDATEPIC set to "mm dd yy", and a DATE (1) attribute (the format of which is dd aaaaaaaaa yyyy), the values "24 5 92", "5 24 92", and "19920524" are accepted as 24 May 1992. The value "1992 24 5", however, will be rejected. Ambiguous inputs (e.g., 05 05 92) are assumed to give the day before the month.

For this variable to have effect when running Empress Report Writer directly, it must be set in the operating system.

   set MSDATEPIC='dd aaaaaaaaa, yyyy'

3.3.28 MSDDLTRANS

This variable is set by default. The Data Definition Language (DDL) commands (such as, ALTER, CREATE TABLE, DROP TABLE, CREATE INDEX, ... etc.) will be wrapped with transaction.

For example, in case of system failure in the midst of altering a tabel (ALTER TABLE), with this variable set, you will be able to use warm re-start command (empwarm) to recover the table.

3.3.29 MSDISPLAYKATAKANA

This veriable is used in Empress Japanese version only.

In Japanese language, there are two types of characters. One is two-byte character, which is called Kanji and Full-Katakana, the other is one-byte character, which is called Half-Katakana.

If MSDISPLAYKATAKANA is not set, the Half-Katakana character will be displayed as what it is. If it is set to any value, the Half-Katakana character will be displayed as "?" mark. This is only for terminals that can not display Half-Katakana characters properly.

3.3.30 MSDOLLAR

MSDOLLAR controls input and output formats for DOLLAR data types. It is specified as a character string, where the first character is the dollar/cent separator, the second is the thousands separator, the third is the filler character (for DOLLAR Type 2 attributes), and the rest of the string (to a maximum of 50 characters) is the currency sign. The default value for MSDOLLAR is ".,*$".

For example, for German currency MSDOLLAR would be set to ",.*DM" so that a DOLLAR (6, 2) amount would print as:

   DM**1.234,56"

For U.S. currency, setting MSDOLLAR to "., US$". It prints the same amount as:

   US$  1,234.56

3.3.31 MSEDITOR

MSEDITOR sets the operating system editor invoked by the .zz command in the Interactive Interface and the Field Editor key in Empress 4GL. The default is set to:

For UNIX:

   EDITOR=vi

For Win32:

   MSEDITOR=edlin

3.3.32 MSEXCLRETRY and MSEXCLSLEEP

MSEXCLRETRY determines the number of attempts the locking mechanism makes to gain exclusive access to the lock file for a table in order to create a lock. (It is essential that access to a lock file be exclusive so that deadlocks do not occur.) The default is 30 tries. MSEXCLSLEEP determines the number of seconds between each try. The default is 1. If you enter the command:

   SET MSEXCLRETRY TO 5;
   SET MSEXCLSLEEP TO 2;

When you try to access a table the lock file for which is in use, Empress will make five attempts to access the lock file at two-second intervals, for a total of eight seconds, before giving up with the "Lock Busy" message.

MSEXCLSLEEP may be set to a fraction. For example:

   SET MSEXCLSLEEP TO 1.0015
   SET MSEXCLSLEEP TO 0.357

3.3.33 MSF77BACKSCAN and MSF90BACKSCAN

This is internal setting to describe the behaviour of the Fortran compiler for string scanning. Do not modify.

3.3.34 MSF77BUFCOPY and MSF90BUFCOPY

This is one of three variables that govern the Empress Fortran Interface's handling of Fortran character strings. Please refer to Empress Fortran Interface manual for more detail information.

3.3.35 MSF77IGNORELENGTH and MSF90IGNORELENGTH

This is one of three variables that govern the Empress Fortran Interface's handling of Fortran character strings. Please refer to Empress Fortran Interface manual for more detail information.

3.3.36 MSF77TERMCHAR and MSF90TERMCHAR

This is one of three variables that govern the Empress Fortran Interface's handling of Fortran character strings. Please refer to Empress Fortran Interface manual for more detail information.

3.3.37 MSFILELOCKNBUCKETS

The variable MSFILELOCKNBUCKETS relates to the number of buckets that Empress requires to store the locks in the lock file. The optimal number is about one-seventh the number of locks and should be a prime number. Normally, this is chosen by Empress and should be changed only if the MSFILELOCKNLOCKS variable is changed.

3.3.38 MSFILELOCKNLOCKS

The variable MSFILELOCKNLOCKS specifies the maximum number of locks that may be stored in any single lock file at any time. This value may be changed; it may need to be raised, for example, if transactions which lock a great number of records are run. Please note that if locking is done in "files" (versus in shared memory) raising the MSFILELOCKNLOCKS variable very high may impact negatively on performance since several disk reads may be required to read the large lock files.

3.3.39 MSFILESOPEN

MSFILESOPEN specifies the maximum number of files Empress can open at one time, hence the number of files available to the user at one time. You must alter this variable before Empress is invoked if it is to have any effect. The default value is 30.

This variable is useful when you need to open files in the program and cannot do so because Empress has used all available file descriptors, you will have to limit the number of files Empress will attempt to open. For example, to limit the maximum number of files Empress can open at one time to 10, at the operating system prompt, type:

For UNIX (in C shell):

   setenv MSFILESOPEN 10

For UNIX (in Bourne shell):

   MSFILESOPEN=10
   export MSFILESOPEN

For Win32:

   set MSFILESOPEN = 10

This will not prevent Empress from accessing more than 10 files. Empress will close the least-recently used file before opening another file, if the quota is reached. If the file that was closed by Empress is accessed again, Empress will automatically re-open it. Empress keeps track of these files internally and the closing and re-opening of files are transparent to the user.

3.3.40 MSFORCEPLOCK

MSFORCEPLOCK, if set, causes a process to lock itself into memory, assuming that it has the appropriate privileges. This will prevent swapping of the process. Note that:

  1. On most systems, users need to be root to use plock successfully.
  2. On Cray and HP, users must have permission to use plock.

While this is available in general, it should not be set without very carefully considering the whole system as it could seriously degrade system performance. It should only be used on very specific applications, and then only rarely. It should certainly never be set in the initfile, and it should not be set in the environment. It should be set only in a script file associated with a process in order that it be unset automatically with the termination of the script file.

3.3.41 MSGCWDSIGCHLDRESET

For certain operating systems, the getcwd system call relies on the SIGCHLD signal for proper operation. Empress uses the getcwd system call to obtain current working directory information from the system. If an Empress client process traps the SIGCHLD signal, this will inhibit the use of getcwd with Empress, and cause Empress to hang. To avoid this situation, set the above variable so that Empress sets SIGCHLD to SIGDFL before calling getcwd and resets SIGCHLD to its original handler when getcwd is completed.

MSGCWDSIGCHLDRESET is not set by default.

3.3.42 MSGETHOSTTIME

When an Empress process starts, it attempts to find the network name and number of the machine on which it is running. If there is a network problem or the machine has not been configured correctly, it might take several minutes to retrieve the host information. In order to notify the user of such problems, any Empress process will issue a warning message if the time to retrieve the host information is longer than the value of this variable.

To avoid unnecessary warnings on a heavily-loaded machine, you may modify the value of this variable. The default value of 5 seconds is used if the value specified is anything other than a positive, non-zero integer.

3.3.43 MSGETPW

Empress will use the getpwuid system call by default to obtain the user id. However, if the getpw system call is supported on the local system, then the user can set this variable to make use of getpw, instead of getpwuid. If getpw is not supported, then this variable has no affect. MSGETPW is not set by default. The getpw system call is the old implementation of getpwuid. This variable is provided for backward compatibility reasons. For systems working with NIS (Network Information System) or Yellow Pages, this variable should not be set.

3.3.44 MSGUIDB

This variable specifies the path of the Empress GUI system database. The default is ${EMPRESSPATH}/rdbms/gui/empguidb.

3.3.45 MSGUIDEFAULTSTYLE

This variable defines the GUI application screen style. If it is not set, then it will use the same style as MSGUISYSMAIN. If it sets to a number, the style will be corresponding to the number that is defined for MSGUISYSMAIN. If it is set to a sting, then it will use the sting as a module name.

3.3.46 MSGUIDEFCOLORFILE

Path name of color file for Empress GUI Builder. The default is ${EMPRESSPATH}/rdbms/gui/colortab.

3.3.47 MSGUIFONTSPEC

This variable is used for Empress GUI Builder. It defines the font definition for the xterm.

3.3.48 MSGUIRGBTEXT

This variable contains the path of X Window rgb text file.

3.3.49 MSGUISYSMAIN

This variable specifies the color for the Empress GUI Builder environment. Please refer to Empress GUI: User's Guide for detail information.

3.3.50 MSHELPPATH

MSHELPPATH specifies the directory in which the Empress help files are located. Usually, you only need to set this variable if you are using a set of help files other than the one provided.

3.3.51 MSHOSTNAME

This is for system that has more than one network. When this variable is set, Empress Database Server will use this name as system identity instead of default host name. For example, to use faster network instead of system default network.

3.3.52 MSIAEXCLRETRY and MSIAEXCLSLEEP

MSIAEXCLRETRY determines the number of attempts the locking mechanism makes to gain exclusive access to the lock file for a table through the Interactive Interface or Empress 4GL. It will override the setting of MSEXCLRETRY. This second variable is necessary because a large number of retries may not be desirable while attempting to access the table interactively. The default is 2.

MSIAEXCLSLEEP determines the number of seconds between each try for the lock file. The default is 1. This variable may also be set to a fraction.

If you enter the command in SQL:

   SET MSIAEXCLRETRY TO 5;
   SET MSIAEXCLSLEEP TO 2;

When you try to access a table whose lock file is in use, Empress will make five attempts to access the lock file at two-second intervals, for a total of eight seconds before giving up with the "Lock Busy" message.

3.3.53 MSIALOCKRETRY and MSIALOCKSLEEP

MSIALOCKRETRY determines the number of attempts made to create a lock for a table through the Interactive Interface. It will override the setting of MSLOCKRETRY. For example, the table may be locked in update mode, which prevents other locks being made, so that a lock attempt may fail on its first try. The default is 2.

MSIALOCKSLEEP sets the number of seconds between retries. The default is 1. This variable may also be set to a fraction.

If you enter the command in the SQL:

   SET MSIALOCKRETRY TO 5;
   SET MSIALOCKSLEEP TO 2;

When you try to create a lock for a table, Empress will make five attempts to do so at two-second intervals, for a total of eight seconds before requesting further instructions. For updating, if the table cannot be accessed or Empress cannot start to find the necessary records, you may specify retrying or quitting. Once the update has started, if a given record is inaccessible, you may specify retry, skip or quit. For inserting, you may specify retrying or quitting.

3.3.54 MSINDEXLISTCUTOFF

This variable indicates a percentage of the total number of records in a table, beyond which the index will no longer be used for retrievals. If the number of records in the selected set exceeds this percentage of the total number of records in the table, then the use of the index will be abandoned. For example, if this is set to 10, then a search with an index will begin to retrieve records which meet the search criteria, and when 10% of the total records in the table match the search requirements the index will be abandoned and the table itself will be used. This variable is useful for optimizing retrievals since if a large percentage of records is selected it is more efficient to go directly to the base table.

The default setting for this variable is 100, that is, the index is always used.

3.3.55 MSINDEXLISTCUTOFFMIN

This variable specifies a minimum number of records that will be read from the indices regardless of the setting of MSINDEXLISTCUTOFF. For example, if this were set to 100, then MSINDEXLISTCUTOFF is ignored until 100 records are read from the indices. If the retrieval set exceeds this, MSINDEXLISTCUTOFF will be considered.

The default setting for this variable is 0, that is, when an index is available, the retrieval behavior will be controlled by MSINDEXLISTCUTOFF.

3.3.56 MSINDEXRETRY and MSINDEXSLEEP

MSINDEXRETRY sets the number of times Empress will attempt to make a lock on an index. The default is 5.

MSINDEXSLEEP sets the number of seconds to wait between attempts to make a lock on an index. The default is 1. This variable may also be set to a fraction.

To set up for 10 retries and 2 second intervals, do the following in SQL:

   SET MSINDEXRETRY TO 10;
   SET MSINDEXSLEEP TO 2;

3.3.57 MSINDEXSORTCUTOFF

This variable indicates a percentage of the total number of records in a table, above which the index will be used for sorting the records. If the number of records to sort is below this percentage of total records, Empress will not use the index for sorting but will perform it in memory. With a large index and only a few records to sort, it is more efficient to forego the use of the index for sorting. If this is set to 10 for example, then only if more than 10% of the records in the table need to be sorted, will the index be used for the sort.

The default setting for this variable is 3.

3.3.58 MSINETMESSAGERETRY and MSINETMESSAGETIMEOUT

MSINETMESSAGETIMEOUT and MSINETMESSAGERETRY are the timeout value and number of retries, respectively, for the client's message handler awaiting acknowledgement.

These variables must be set in the server configuration file and are not picked up when set in the environment.

3.3.59 MSINETPACKETRETRY and MSINETPACKETTIMEOUT

MSINETPACKETTIMEOUT and MSINETPACKETRETRY are the timeout value and number of retries, respectively, for the client's packet handler awaiting acknowledgement. The timeout values are in seconds. Any or all of these timeout and entries are optional. Setting too short a reply or message timeout can lead to unnecessary request re-transmissions when the request or reply is large. This may cause serious performance degradation.

These variables must be set in the server configuration file and are not picked up when set in the environment.

3.3.60 MSINETREPLYRETRY and MSINETREPLYTIMEOUT

MSINETREPLYTIMEOUT and MSINETREPLYRETRY are the timeout value and the number of retries, respectively, for the client awaiting a high-level response.

These variables must be set in the server configuration file and are not picked up when set in the environment.

3.3.61 MSKEEPNONPRINTCHAR

Characters that cannot be printed, such as <Tab> and <Backspace>, are normally discarded from Empress output. To have these characters interpreted, set MSKEEPNONPRINTCHAR to any value.

3.3.62 MSKILLLOGDIR

This variable specifies the directory in which empkill should log information about processes which are gkilled with a "sure" kill (SIGKILL) signal. By default, this variable has the value ${EMPRESSPATH}/rdbms/spool/log. The log will then be found in the file ${EMPRESSPATH}/rdbms/spool/log/username.log where username is the login name of the person who initiated empkill.

3.3.63 MSKILLRETRY and MSKILLSLEEP

MSKILLRETRY specifies the number of times empkill attempts to send the termination signal specified by MSKILLSIGNAL. The default value is ten attempts; values less than three result in the use of the default value.

MSKILLSLEEP pecifies the number of seconds empkill waits before checking whether a process has died. The default value is three seconds; values less than three result in the use of the default value.

3.3.64 MSKILLSIGNAL

This variable specifies the number or symbolic name of the signal which is sent when empkill attempts to terminate a process. Valid values are: HUP, 1, QUIT, 3, TERM, 15. If this variable has any other value, empkill exits with an error message.

3.3.65 MSLANG

Setting MSLANG=specific_language tells Empress to look for the table nls_specific_language in the NLS database; this table will have Empress messages in that specific language. When your process starts up, it takes the following steps:

  1. It looks in the environment for the variable MSLANG, and if it is set, it sets the Secondary Language to its value. If MSLANG is not set, and LANG is set, then the Secondary Language is set to the value of LANG.

  2. If the NLS database contains a message table whose name is nls_specific_language, where specific_language is the Secondary Language name, then that table is used for all Empress messages.

  3. If the NLS database does not contain a message table whose name is nls_specific_language, then the Primary Language message table is used. The Primary Language is set either by Empress, or your distributor. It is the default language in which Empress messages are printed out.

For example, an Empress user may have a version of Empress in which the Primary Language is German. Then, the NLS database would contain a table nls_german which contains all the Empress messages. A mono-lingual English-speaking user of that copy of Empress could still get understandable messages by setting (in the environment) MSLANG=english, since the nls_english table is always available.

Note that:

3.3.66 MSLICENCE

This variable contains licence information. This is system internal variable. Do not modify.

3.3.67 MSLINECONT

MSLINECONT sets the character string you will use to continue the current line on the next line (that is, to mask a new line). The default is a backslash ( \).

Set SQL-style line continuation, with "-" as the continuation character, with the the Query Language command:

   SET MSLINECONT TO "-";

3.3.68 MSLKCOMMITADDEND

This variable affects the behavior of Empress when inserting into a table which has record-level locking. If set, it reduces the number of lock manager accesses between consecutive insertions. This can result in some speed improvement since fewer accesses to the lock manager are made. For example, in inserting a series of records the usual behavior of Empress is to repeatedly:

  1. acquire an update lock
  2. write out the record
  3. release the lock

With this variable set, Empress will:

  1. acquire an update lock on the first record, and then repeatedly (for each insert)
  2. write out record n, and
  3. release the lock on record n, and acquire a lock on record n+1.

Over many inserts, this compounded last stage will produce half as many lock manager accesses as usual. For those using mr programs, steps 2 and 3 would correspond to mradd(); calling mraddend() will release the final lock on record n+1. mraddend() should be called as soon as possible after the last insert since the last lock will be held on to until it is invoked.

By default, this variable is unset.

3.3.69 MSLOCKPLAN

The Empress variable MSLOCKPLAN provides information about locking as database operations are performed. The output that is produced shows the types of locks that are placed, the mode of those locks (read, deferred, update) and the success or failure of the attempted operation.

MSLOCKPLAN can be set in the environment, or in the initfile in the Empress custom directory, or in an SQL session with the SET command. To set MSLOCKPLAN in an SQL session, use the following command:

   SET MSLOCKPLAN TO 'X';

MSLOCKPLAN can be set to any value.

3.3.70 MSLOCKRETRY and MSLOCKSLEEP

MSLOCKRETRY determines the number of attempts made to create a lock for a table once access to the lock file has been achieved. For example, the table may be locked in update mode, which prevents other locks being made, so that a lock attempt may fail on its first try. The default is 50.

MSLOCKSLEEP sets the number of seconds between retries. The default is 0.09 second. This variable can be set to a fraction.

For example, if you enter the command in SQL:

   SET MSLOCKRETRY TO 5;
   SET MSLOCKSLEEP TO 2;

When you try to create a lock for a table, Empress will make five attempts to do so at two-second intervals, for a total of eight seconds before giving up with the "Lock Busy" message.

3.3.71 MSMAXPROCS

The three variables MSMAXPROCS, MSFILELOCKNLOCKS and MSFILELOCKNBUCKETS control the size of the lock managers which are maintained in the _lock directory within each database. These govern the case of locking performed in "files" (versus in shared memory).

The maximum number of Empress processes that will be allowed to access the lock manager simultaneously is taken the minimum value of MSMAXPROCS and the value specified by the installation key. This variable can be set to the upper limit allowed by your installation key and cannot normally be raised by the Empress user.

3.3.72 MSMIGRATERETRY and MSMIGRATESLEEP

These variables are used for Cray only.

MSMIGRATERETRY determines the number of attempts Empress will make to open a file through the server that a CRAY has migrated off disk. The CRAY's operating system may migrate files to another storage device if they have not been used for a specified amount of time. When Empress tries to open one of these files the CRAY will indicate to Empress that the requested file is offline and that the media is pending. Empress will retry number of times specified by MSMIGRATERETRY before failing.

MSMIGRATESLEEP sets the number of seconds to wait between attempts to open the file. This variable may also be set to a fraction.

If you enter the command:

   set MSMIGRATERETRY to 4;
   set MSMIGRATESLEEP to 1.25; 

then when you try to access a file through a server, Empress will make four attempts to do so at 1.25 second intervals, for a total of 5 seconds before giving up.

Note that This variable has no effect on a local access. The file must be accessed through a server.

3.3.73 MSMKDBSHMEM

If MSMKDBSHMEM is set, the database will be created with shared memory even without -shmem option specified in the empmkdb command.

The default is unset.

3.3.74 MSMWNULLOK

MSMWNULLOK is used to suppress printing of error messages when Empress Report Writer attempts to print a null. It is set by default. To turn off error suppression, unset the variable.

3.3.75 MSNLSCODESET

The codeset is a lookup table which determines:

  1. The translation of characters from the keyboard to the Empress internal standard (EIS), and,

  2. From the EIS to the output device. The EIS is the ISO Latin 1 codeset. This translation to an internal standard allows users with different hardware to enter data into, and read data from, the database.

Please note that:

3.3.76 MSNLSDB

The NLS database contains all the Empress messages, and it is defaulted to msnlsdb under the nls directory where Empress is installed. If msnlsdb=specific_language, then the database specific_language is used for NLS messages. The MSNLSDB overrides the default.

3.3.77 MSNRECORDCACHE

Whenever a table is opened (in an SQL SELECT, for example), Empress sets up a cache to speed up operations. The cache is discarded when the table is closed. MSNRECORDCACHE sets the cache size in terms of the number of records it can hold (consequently, each opened table might have a different cache size). Reading into the caches, and writing out/flushing from them is closely synchronized with locking. However, note that record caching is always implemented except in the following situation:

This variable is set to 10 by default. For reasons of efficiency, it should be set to a multiple of the variable MSTRANSUFNGFL; setting it to zero will result in no record caching.

3.3.78 MSNULLVALUE

MSNULLVALUE defines a string to replace null values in Empress output. The default is nothing, so that nothing is printed.

3.3.79 MSODBCINIFILE

MSODBCINIFILE defines the file name that the ODBC client will use to resolve data sources. The default value is odbc.ini

3.3.80 MSOLBBACKUPDEVICE

This variable specifies the default device or filename to which the database on-line backup will be copied. It may be a tape or DAT drive or a filenmae. If it is the latter, care shuld be taken that the file system in which the file resides is large enough to receive the backup.

3.3.81 MSOLBBLOCKSIZE

This variable specifies the block size of the on-line backup device.

3.3.82 MSOLBRECOVERYLOG

This variable specifies the name of the non-continuous recovery log which will be used to record database activity that occurs during an on-line backup. The file will be removed when the backup is complete. The default file will be created in the local directory with the file name olbreclog from which the backup is invoked.

3.3.83 MSPAGELENGTH

MSPAGELENGTH sets the default page length for Empress Report Writer reports. It is set to 66 by default. To set the default page length to 23, using the following command at the operating system prompt:

For UNIX:

   setenv MSPAGELENGTH 23

For Win32:

   set MSPAGELENGTH=23

3.3.84 MSPAGER

MSPAGER sets the operating system program used for paging Query Language command output. Like MSEDITOR, it may be set to a shell script (reading from standard input) including pipes (e.g., "pr | more"). Note that if a shell script is used, its syntax must be for the shell specified by MSSHELL. The default is more.

To change the pager to "pr | more" in SQL, use:

   SET MSPAGER TO "pr | more";

3.3.85 MSPAGEWIDTH

MSPAGEWIDTH sets the page width for Empress Report Writer reports. The default is 132. Set the page width to 80 from the operating system by the command:

For UNIX:

   setenv MSPAGEWIDTH 80;

For Win32:

   set MSPAGEWIDTH=80

3.3.86 MSPERMS

MSPERMS sets the access permissions for Empress output files. The access permissions are any combination of R (read), W (write), and E (execute). They are given in order of owner, group and other. For example, to set new files read-write by owner, read by group, read by other in the initfile:

   MSPERMS=RW,R,R

The permissions will not override restrictions set by the operating system but can place additional restrictions on new files.

3.3.87 MSPRINTER

MSPRINTER specifies the operating system device name you will use to send output to a printer.

For example, for UNIX system, it may be set to a shell script (reading from standard input), including pipes. Note that if a shell script is used, its syntax must be for the shell specified. The default is "pr |lpr". To set the printer to "lpr" by the Query Language command:

   SET MSPRINTER TO "lpr";

3.3.88 MSQLAUTOPAGE

Setting MSQLAUTOPAGE to any value appends INTO PAGER to each command, thereby automatically paging Query Language output (alternate instructions in a command, such as INTO PRINTER, override the INTO PAGER). Note that this adds some overhead to each command, so response will be slightly slowed. The default is to have automatic paging off.

Example on enable automatic paging using the Query Language command:

   SET MSQLAUTOPAGE TO x;

3.3.89 MSQLCMDSAVE

MSQLCMDSAVE determines the number of commands saved by the history mechanism. The normal default is 50 commands. For example, to have only the last 20 commands saved, use the Query Language command:

   SET MSQLCMDSAVE TO 20;

3.3.90 MSQLCOUNT

Setting MSQLCOUNT generates a count of the number of records affected by SELECT, DELETE, and UPDATE commands. It is not set by default. For example, to set this variable using the Query Language command:

   SET MSQLCOUNT TO true;

3.3.91 MSQLECHO

MSQLECHO controls the echoing of commands. It can take any combination of the values BATCH, CONV or RUN separated by spaces. It is set to RUN by default, so Query Language RUN commands are echoed (that is, the command that is executed by the run command is echoed). If MSQLECHO is set to BATCH, then commands executed by empbatch and commands executed by the RUN FROM file Query Language command are echoed. If MSQLECHO is set to CONV, all on-line Query Language commands are echoed (that is, both your typed command and its echo appear on screen).

The syntax for setting MSQLECHO in SQL is:

   SET MSQLECHO TO |BATCH| {|BATCH|};
                   |CONV |  |CONV |
                   |RUN  |  |RUN  |

For example, to turn on command echoing for empbatch as well as the run command with:

   SET MSQLECHO TO BATCH RUN;

3.3.92 MSQLGCHARWIDTH

When an expression is evaluated, the result is returned as non-parametric data. For character values, MSQLGCHARWIDTH determines the column width for the output. The default is 20.

3.3.93 MSQLGDATEWIDTH

When an expression is evaluated, the result is returned as non-parametric data. For date values, MSQLGDATEWIDTH determines the column width for the output. The default is 14.

3.3.94 MSQLGDECIMALWIDTH

When an expression is evaluated, the result is returned as non-parametric data. For decimal values, MSQLGDECIMALWIDTH determines the column width and number of decimal places for the output. MSQLGDECIMALWIDTH will only control the format of data appearing in a column. It will not, for instance, control the format of a decimal value result of a function that appears beneath a group. The default is 14 columns and 2 decimal places. For example, to set this variable to 10 columns and 4 decimal places in SQL:

   SET MSQLGDECIMALWIDTH TO '10 4';

3.3.95 MSQLGFLOATWIDTH

When an expression is evaluated, the result is returned as non-parametric data. For float values, MSQLGFLOATWIDTH determines the column width for the output. The default is 22.

3.3.96 MSQLGINTEGERWIDTH

When an expression is evaluated, the result is returned as non-parametric data. For integer values, MSQLGINTEGERWIDTH determines the column width for the output. The default is 11.

3.3.97 MSQLONELINE

Setting MSQLONELINE to any value indicates that a new line terminates a command, rather than the normal semicolon. Commands which span more than one line must end with the line continuation character (see MSLINECONT) when this variable is set.

For example, to have new lines end commands, use the Query Language command:

   SET MSQLONELINE TO 'x';

3.3.98 MSQLPROMPT1 and MSQLPROMPT2

MSQLPROMPT1 indicates the primary Empress prompt. The default prompt is the number of the current command, an asterisk, and a space. The first command prompt appears as "1* ", the second as "2* ", and so on. This is represented when setting the variable in SQL by the syntax:

   SET MSQLPROMPT1 TO "CMDNUM* ";

The word CMDNUM instructs Empress to insert the number of the current command in that position.

MSQLPROMPT2 gives the secondary Empress prompt, which appears for commands split over more than one line. Normally, this is a period followed by a space (". ").

For example, to reset the primary prompt to "emp: " and the secondary prompt to "more: " using the Query Language commands:

   SET MSQLPROMPT1 TO "emp: ";
   SET MSQLPROMPT2 TO "more: ";

3.3.99 MSQLSELBOX

To have a box drawn around output from the SELECT command, set MSQLSELBOX to any value. The default is set to nothing (no box). For example, the commands:

   SET MSQLSELBOX TO 'x';
   SELECT FROM personnel;

give the output:

   --------------------------------------------------------
   |number    name           phone            credit_limit|
   |                                                      |
   |    10    Kilroy         426-9681              $500.00|
   |     5    Mosca          544-2243              $750.00|
   |    17    Wladislaw      723-6073               $50.00|
   |     3    Jones          667-2951              $500.00|
   |     8    Peterson       978-6060              $250.00|
   |     4    Scarlatti      961-7363              $100.00|
   |     9    Jordan         964-3335              $250.00|
   --------------------------------------------------------

3.3.100 MSQLSELCOLMAXDISPWIDTH

When retrieving an attribute in empsql, empcmd or empbatch the maximum number of characters to be displayed on one line is determined by the value of this variable. The default is 1024.

3.3.101 MSQLSELCOLSEP

MSQLSELCOLSEP gives the character string which separates columns in output from SELECT commands. The normal default is two spaces. For example, to set a vertical bars as columns separator using SQL command:

   SET MSQLSELCOLSEP TO " | ";

Output from the command "SELECT FROM personnel;" now appears as:

   number | name            | phone          | credit_limit
          |                 |                | 
       10 | Kilroy          | 426-9681       |      $500.00
        5 | Mosca           | 544-2243       |      $750.00
       17 | Wladislaw       | 723-6073       |       $50.00
        3 | Jones           | 667-2951       |      $500.00
        8 | Peterson        | 978-6060       |      $250.00
        4 | Scarlatti       | 961-7363       |      $100.00
        9 | Jordan          | 964-3335       |      $250.00

3.3.102 MSQLSELGROUPCOLCROSS

MSQLSELGROUPCOLCROSS specifies a string to be printed where the group separator (MSQLSELGROUPSEP) crosses the column separator, in the output from SELECT commands. It should be the same width as the column separator. The default is nothing (null) if the group separator is not set, and the column separator if it is. The commands:

   SET MSQLSELGROUPSEP TO "-";
   SET MSQLSELGROUPCOLCROSS TO "**";
   SELECT FROM loans GROUP BY name;

produce the output:

   name            date                             amount
   
   Jones            7 February  1992                $33.95
                    3 April     1992                $25.00
                   12 August    1992               $300.00
   -------------**------------------**--------------------
   Kilroy          16 February  1992               $250.00
   -------------**------------------**--------------------
   Mosca            2 February  1992               $148.00
                    4 May       1992               $200.00
   -------------**------------------**--------------------
   Peterson         6 June      1992                $50.00
   -------------**------------------**--------------------
   Scarlatti       14 October   1992               $123.00
                    9 September 1992               $148.00
   -------------**------------------**--------------------
   Wladislaw       25 June      1992                $75.00
                   27 February  1992                $55.00
                   12 May       1992                $25.00

3.3.103 MSQLSELGROUPSEP

MSQLSELGROUPSEP specifies a character to be used as the group separator in the output from SELECT commands. This character is repeated to form a line between the output for each group. The default is nothing (null), so there is no line between groups.

Sample output using MSQLSELGROUPSEP is shown on the previous section.

3.3.104 MSQLSELHEAD

MSQLSELHEAD is a flag that controls whether headers are printed in a SELECT command. If it is set to anything, headers are printed. If it is not set no headers are printed. The variable is set by default. To suppress the printing of headers, using SQL command:

   UNSET MSQLSELHEAD;

3.3.105 MSQLSELHEADCOLCROSS

MSQLSELHEADCOLCROSS gives a string to be printed at the intersection of the heading separator and column separators, in the output from SELECT commands. The string should be the same width as the column separator. The default is nothing (null) if the heading separator is not set, and the column separator if it is. The following commands in SQL:

   SET MSQLSELHEADCOLCROSS TO "**";
   SELECT FROM personnel;

produce the output:

   number  name             phone             credit_limit
         **               **               **
       10  Kilroy           426-9681             $500.00
        5  Mosca            544-2243             $750.00
       17  Wladislaw        723-6073              $50.00
        3  Jones            667-2951             $500.00
        8  Peterson         978-6060             $250.00
        4  Scarlatti        961-7363             $100.00
        9  Jordan           964-3335             $250.00

3.3.106 MSQLSELHEADSEP

MSQLSELHEADSEP specifies a single character to be used as a heading separator in the output from SELECT commands. The character is repeated to form a line under the headings. The default is one space, resulting in a blank line between headings and output records. The following commands in SQL:

   SET MSQLSELHEADSEP TO "-";
   SELECT FROM personnel;

produce the output:

   number  name                phone             credit_limit
   ------  -----------------   ---------------   ------------
       10  Kilroy              426-9681               $500.00
        5  Mosca               544-2243               $750.00
       17  Wladislaw           723-6073                $50.00
        3  Jones               667-2951               $500.00
        8  Peterson            978-6060               $250.00
        4  Scarlatti           961-7363               $100.00
        9  Jordan              964-3335               $250.00

3.3.107 MSQLSELKEEPDUPLICATE

When grouping is requested in a SELECT command, the duplicate values of the attributes on which grouping is done are normally not printed. To print the duplicates, set MSQLSELKEEPDUPLICATE to any value.

3.3.108 MSQLSELROWCOLCROSS

MSQLSELROWCOLCROSS specifies a string to be printed at the intersection of rows and columns in the output from SELECT commands. The string should be the same width as the column separator. The default is nothing (null) if the row separator is not set, and the column separator if it is. The following commands in SQL:

   SET MSQLSELROWSEP TO "-";
   SET MSQLSELROWCOLCROSS TO "**";
   SELECT FROM personnel;

produce the output:

   number  name              phone            credit_limit
   
       10  Kilroy            426-9681              $500.00
   ------**---------------**--------------**--------------
        5  Mosca             544-2243              $750.00
   ------**---------------**--------------**--------------
       17  Wladislaw         723-6073               $50.00
   ------**---------------**--------------**--------------
        3  Jones             667-2951              $500.00
   ------**---------------**--------------**--------------
        8  Peterson          978-6060              $250.00
   ------**---------------**--------------**--------------
        4  Scarlatti         961-7363              $100.00
   ------**---------------**-------------**---------------
        9  Jordan            964-3335             $250.00

3.3.109 MSQLSELROWSEP

MSQLSELROWSEP specifies a single character to be used as a row separator in the output from SELECT commands. The character is repeated to form a line between rows. The default is nothing (null),i.e. no lines between rows.

Sample output from setting this variable is shown above.

3.3.110 MSQLSELTRUNCATE

In the output from a SELECT command, column widths are normally expanded to fit the widest data value. If column widths are specified, data values are normally wrapped onto the next line. If MSQLSELTRUNCATE is set, data lines longer than explicit width specifications will be truncated. Set MSQLSELTRUNCATE to any value to turn truncation on. Setting this variable does not affect the output of commands in which column widths are not specified.

3.3.111 MSQLSELWARN

If MSQLELWARN is set to any value, an error message is printed if an expression in a SELECT command evaluates to an error value. MSQLELWARN is set by default; it can be unset with the command:

   UNSET MSQLSELWARN;

3.3.112 MSQLTRANSACTION

When MSQLTRANSACTION is set to any value, Empress issues COMMIT TRANSACTION and START TRANSACTION commands just before each Query Language command (excluding commands with syntax errors and RECALL, HOLD, HELP, CHANGE or EDIT commands). Hence, individual Query Language commands may be cancelled if desired.

This variable is unset by default. To enable automatic per-command transactions issue the following command in SQL:

   SET MSQLTRANSACTION TO 'x';

3.3.113 MSQLVARCHARS

MSQLVARCHARS sets the three characters used for Empress variables: the character by which variable values are referenced, normally a dollar sign ($), and the delimiters which separate a variable name from surrounding text, normally curly brackets ({}). Three, and only three, characters must be specified, and they may not be alphabetic or numeric.

For example, to set the variable characters to an ampersand and square brackets use the command:

   SET MSQLVARCHARS TO "&[]";

If you have a variable called P with value personnel, you may now reference it by &P, and delimit it from the rest of a character string by "[" and "]". You can load the personnel table from a file of data called personnel_data by the command:

   INSERT &P FROM &[P]_data;

To escape the special function of the variable expansion character, it must be doubled, e.g., "&&P" evaluates to the string "&P".

3.3.114 MSQUERYPLAN

The Empress variable MSQUERYPLAN provides information about index usage when query operations are performed. MSQUERYPLAN can be set in the environment, or in the initfile in the Empress custom directory, or in an SQL session with the SET command.

If MSQUERYPLAN is set, for every query operation that is performed, the indices that are available for use by the query optimizer, and the mode in which they can be utilized will be reported. This variable is useful for determining the optimum usage of indices by query optimizer in Empress. To set MSQUERYPLAN in an SQL session, use the following command:

   SET MSQUERYPLAN TO 'x';

3.3.115 MSSAVECWD

For each database opened, a call to determine the current working directory (CWD) well be made. If this variable is set, then Empress will assume that the program does not explicitly change the current directory. Empress, therefore does not need to check the CWD but can just reset it to the path determined at the msinit call. This will boost performance slightly in sections of code where several databases are first opened.

3.3.116 MSSELEXTFETCH

MSSELEXTFETCH solves backward comatibility issues related to the usage of Empress mr and mx routine calls mrprev and mxprev. If mrprev and mxprev are not used, MSSELEXTFETCH should be set to nothing (i.e. MSSELEXTFETCH=) in order to gain performance in Empress C-API mr/mx applications.

3.3.117 MSSERVERHEARTBEAT

Database Server checks itself every MSSERVERHEARTBEAT seconds, prints a message if it has been idle for that period of time. The default is set to 0. This means Database Server will not check for idle time.

3.3.118 MSSERVERNETTYPE

This variable specifies the network access type and can have the value INET_UDP.

3.3.119 MSSERVERTERSELOG

This variable is set by default. It prints the server log information in compact format, that is, only client connect/disconnect and user name, client id, process id, and machine id will be printed.

3.3.120 MSSHAREDMEMORYDIR

Memory mapped file directory for the platform which uses mmap (memory mapping). Default directory is ${EMPRESSPATH}/rdbms/spool/shm.

3.3.121 MSSHELL

MSSHELL indicates the operating system shell to be used for shell escapes from Empress. You must specify a full pathname. The value of MSSHELL is the name of the program used to execute the shell scripts specified for MSEDITOR, MSPAGER, and MSPRINTER.

The default is to the variable SHELL. For example, to set the escape shell to the C shell use the command:

   SET MSSHELL TO "/bin/csh";

3.3.122 MSSHMLOCATION

This is the system address where the shared memory segment will exist. The value maybe different from system to system. When it sets to nothing, the system default will be used. This is internal variable. Do not modify.

3.3.123 MSSHMPERMS

MSSHMPERMS sets the default access permissions for shared memory partitions. The access permissions are any combination of R (read), W (write), and X (execute). They are given in order of owner, group and other.

This variable is set in initfile and has no value by default, so the operating system default applies. This is usually the umask setting.

To overwrite the default value this variable should be set in tabzero (e.g., MSSHMPERMS=RW,R,R) before the creation of shared memory segments.

3.3.124 MSSORTBYPASS

MSSORTBYPASS is a flag that controls the behaviour of Empress during sorting when it encounters a locked record. If the flag is not set, processing stops and a "lock busy" message is printed. If the flag is set the locked record is ignored, and the message "record(s) locked during sort phase unavailable" is printed. To set the flag, set MSSORTBYPASS to anything, such as:

   SET MSSORTBYPASS TO 'x';

This variable controls all sorting in Empress. It is set by default.

3.3.125 MSSORTSPACE

MSSORTSPACE sets a limit on the amount of space Empress will attempt to acquire during sorting. The limit should be expressed in bytes. This variable should only be used in a restricted virtual memory environment. To set the limit to 100 kilobytes, enter:

   SET MSSORTSPACE TO 102400;

If you specify less than 2 blocks (based on the system block size) Empress will attempt to acquire the default amount of 512 kilobytes.

3.3.126 MSTERM

MSTERM identifies the type of terminal in use. Set it whenever you change the type of terminal you are using. While TERM is used if MSTERM is not set, we recommend that you set MSTERM separately since TERM is shared with other software and there is some risk of conflict. Note that MSTERM is used by Empress 4GL.

3.3.127 MSTERMDB

This variable specifies the location of the terminal database used by Empress 4GL. The default location is ${EMPRESSPATH}/rdbms/4gl/termdb.

If you wish to use an alternate terminal database, MSTERMDB should be set to the pathname of the new terminal information database.

3.3.128 MSTERMSYS

This variable is used by Empress 4GL. It specifies the prefix of the terminal type.

In the past, xterm of different machine has different definition. This is mainly because of different types of keyboard were used. Hence, MSTERMSYS was used to indicate different keyboard types, for example,

   MSTERMSYS=hp
   MSTERMSYS=ix

for hp.xterm and ix.xterm.

Today, most system are using the similiar 101 keyboard. Therefore, pc is used as default value.

3.3.129 MSTHRESHOLDPFLSIZE

this variable is introduced to facilitate the deletion of large numbers of records from a table. It controls the maximum size which the internal PFL (Process Free List) can reach, before an automatic flush/merge is performed to the GFL (Global Free list). When the number of deletions specified by MSTHRESHOLDPFLSIZE have been done by a process, the process will make these slots available to other processes (for inserts) by making the free slots accessible through the header of the file. In order to be able to safely perform the flush/merge at the threshold point we needed to ensure that (for cases where locking is involved) an update CRIT lock is acquired for the duration of the flushing/merging.

It is set in initfile to 500.

3.3.130 MSTMPDIR and MSTMPPFX

MSTMPDIR specifies the directory in which temporary files are created by Empress.

In UNIX, its normal default is /tmp.

MSTMPPFX specifies the prefix used for temporary files created by Empress. Its default is ms (the rest of the file name is the process number). If you want temporary Empress files to be prefixed with me, do the following command:

   SET MSTMPPFX TO 'me';

Note that the new prefix cannot be longer than two characters. Additional characters will cause the file name to be truncated, making it impossible for Empress to find the files.

3.3.131 MSTRANSCOMMENT

MSTRANSCOMMENT defines a comment to be placed on all transactions. If this variable is set when a transaction is started, the value of the variable is placed as a comment on the transaction. This can be useful if several people are working from the same account and they wish to distinguish their transactions. The value should be given as a string with a maximum length of 64 characters. If the string contains embedded blanks, it must be quoted. The variable is not set by default.

An example of placing a comment on transactions is:

   SET MSTRANSCOMMENT TO "This is joe's transaction;"

3.3.132 MSTRANSSYNC

MSTRANSSYNC is set to ensure that all data is written immediately to file during a transaction. This variable must be set to guarantee that the warm restart facility will be successful. It is set by default.

3.3.133 MSTRANSTABLELOCK

If MSTRANSTABLELOCK is set and a lock level has been set with the LOCK LEVEL command, any tables involved in a transaction are automatically locked at the table level. This is desirable during a transaction to ensure that successive reads of a given table will show the same records in the same order. It is more efficient than record level locking since only one lock is placed per table, rather than one lock per record.

For example, set table level locking during transactions with the command:

   SET MSTRANSTABLELOCK TO 'x';

3.3.134 MSTRANSUFNBI

Empress handles transactions by recording an image to a transaction log of the record before it is changed. If, while in a transaction, the same record is altered multiple times then multiple images of that record are stored in the log. When a transaction is cancelled Empress will go backwards through the log file and restore all records one at a time until the entire log file has been exhausted. This will result with a single record being restored multiple times even though it is only the first image (the last one to be restored) that we care about.

To optimize this problem Empress will maintain a list of records that have been altered during a transaction. If a record is being altered, Empress first looks to see if this record is already in its list. If it is, then Empress knows that it already has a, "before image", of this record and that it does not need to log another image in the transaction file. If it is not, then Empress adds the record number to its list and saves the before image to the transaction log.

The size of this list is controlled by the Empress variable MSTRANSUFNBI. A reasonable setting for this variable would be the same as the average transaction size, the default is 10.

Note that this setting is especially useful if identical records are altered more than once within a single transaction, otherwise, the list causes extra overhead to be incurred. The overhead comes from having to linearly search the list to see if a record already exists in it.

3.3.135 MSTRANSUFNGFL

This variable controls access to free records during a transaction, to optimize performance. Empress recommends that you do not alter the value of this variable without assistance.

3.3.136 MSTRANSWARMPROTECT

MSTRANSWARMPROTECT is a flag that controls whether transactions will be acted on (resolved) by the automatic warm restart utility empwarm. If this variable is set to any value when a transaction is started, the transaction is protected from the warm restart utility. That is, the utility empwarm will ignore the transaction if it can be recovered to a save point. This feature is useful if the automatic warm restart is included as part of the system re-boot process. Since an unprotected transaction will certainly be rolled back unless a commit command has been issued, unprotected long transactions that are interrupted will tend to be rolled back. Protecting a transaction allows you to recover it to a save point with the "START TRANSACTION FROM savepoint" command after the warm restart utility has been run.

The variable is not set by default, so the warm restart utility will resolve all interrupted transactions by default. To set the variable, enter:

   SET MSTRANSWARMPROTECT TO 'x';

3.3.137 MSVALIDATELEVEL

This variable controls the behavior of dirty read in the cases of reading the main table file (i.e., .rel file), the overflow file (i.e., .dtf file) and reading border records.

Refer to Dirty Read and Checksum chapter of this manual for detail description.

3.3.138 MSVALIDATERETRY and MSVALIDATESLEEP

MSVALIDATERETRY specifies the number of retries Empress will make to read an invalid record. If the record still appears to be invalid after all the retries, Empress will either deliver the invalid record to the user or discard the invalid record depending on the setting of the variable MSVALIDATELEVEL. Refer to Dirty Read and Checksum chapter of this manual for detail description.

MSVALIDATESLEEP specifies the interval in seconds between retries to read invalid records. Refer to Dirty Read and Checksum chapter of this manual for detail description.

3.3.139 MSVALIDATESIZE

This variable is no longer supported in version 8.62

3.3.140 MSVALSEP

MSVALSEP gives the string used to separate attribute values in an Empress dump file. Its default is <Ctrl+V> (octal 26). For example, to set the attribute separator character to a colon use the command:

   SET MSVALSEP TO ":";

You should take care not to set MSVALSEP to any value which is normally found in data, or attribute values may be broken unexpectedly. Similarly, if a table is to be loaded from a dump file, MSVALSEP must be set to the string used as the separator in the dump file or the INSERT will not work.

3.3.141 MSVERSIONMESG

MSVERSIONMESG is a flag that controls whether the Empress version number will be printed on startup. If set, the Empress version number will be printed. It is set by default. To unset the variable and prevent printing the Empress version number, use:

   UNSET MSVERSIONMESG;

3.3.142 MSWRAPMARGIN

MSWRAPMARGIN sets the floating right field margin for Empress reports. The default is 0. If white space occurs within MSWRAPMARGIN characters from the right margin of a field, a new line will start. For example, to set the floating right margin to eight characters from the end of the field use the command:

   SET MSWRAPMARGIN TO 8;

3.3.143 MSUSERAUTHCONFIGFILE

Name of user authorization configuration file. Refer to Empress Replication User's Guide : References for detail information.

3.3.144 MSNETSERVERCONFIGFILE

Name of network server configuration file. Refer to Empress Replication User's Guide : References for detail information.

3.3.145 MSNETTYPECONFIGFILE

Name of network type configuration file. Refer to Empress Replication User's Guide : References for detail information.

3.3.146 MSCONFIGFILEPATH

Path for Network Server Related Configuration Files. Refer to Empress Replication User's Guide : References for detail information.

3.3.147 MSREPLOCKRETRY and MSREPLOCKSLEEP

MSREPLOCKRETRY determines the number of attempts to be made to obtain a lock on a master table, when the master table is the replication master in a replication synchronization. For example, the master table may be locked in update mode, which prevents other locks being obtained, so that a lock attempt may fail on its first try. The default is 5.

MSREPLOCKSLEEP sets the number of seconds between obtaining lock retries. This variable can be set to a fraction.

For example, if you enter the command in SQL:

   SET MSREPLOCKRETRY TO 5;
   SET MSREPLOCKSLEEP TO 2;

trying to obtain a lock on a master table for replication synchronization, Empress will make five attempts to do so at two-second intervals, for a total of eight seconds before giving up.

3.3.148 MSREPENABLEUPDATE

By dafault, a Replicate Table is not update-able. All the updates to a Replicate Table are done through Replication Synchronization with a Replication Master Table. Setting MSREPENABLEUPDATE allows the users with sufficient privileges to make updates to a Replicate Table. Setting this value is strongly discouraged. The behaviour of a Replicate Table, and other dependent Replicate Tables is not predictable after updating a Replicate Table. This variable is unset by default. This variable is for internal usage.

3.3.149 MSREPPURGEINTERVAL

The deleted records of a replication table are not purged (physically deleted) until they are synchronized with their dependent repication replicates. If the dependent replication replicates are synchronized, the deleted record of a replication table will be purged. MSREPPURGEINTERVAL sets the maximum amount of time in hours which will be allowed for a replication table to be synchronized with its dependent replication replicates, before a deleted record is purged automatically. If the replication table containing a deleted record is not synchronized with its dependent replication replicate table within this interval, the deleted record , will be purged. Its default value is 1 week (7 * 24 = 168 hours).

3.3.150 MSCASEINSENSITIVE

MSCASEINSENSITIVE forces Case Insensitivity. The database components such as table, view, attribute, index, reference, constraint and stored procedure, created after above setting was made, support Case Insensitivity.

By default Empress has this variable set to X on Win32 platforms and set to nothing on all other platforms.

3.3.151 MSNTMPFILECACHE

MSNTMPFILECACHE defines a number of the caches used for temporary files associated with temporary tables used during retrieval tasks.

There will be 4 of 512 kilobyte cache buffers (governed by Empress variable MSTMPFILECACHESIZE) set internaly by Empress.

3.3.152 MSQUOTEDIDENTIFIERS

MSQUOTEDIDENTIFIERS, when set, allows quoted identifiers. If set, "abcd" used in SQL statement is treated as an identifier and 'abcd' is treated as a literal. If set to nothing or not set, both "abcd" and 'abcd' are treated as literals.

By default MSQUOTEDIDENTIFIERS is set to nothing.

Empress JDBC drivers implicitly set MSQUOTEDIDENTIFIERS to a double quote character (") according to the Sun's JDBC standard.

3.3.153 MSSELMAXROWS

MSSELMAXROWS sets a maximum number of rows/records to return in Empress interactive SQL for any SELECT statement. By default this variable is not set.

3.3.154 MSSELTIMEOUT

MSSELTIMEOUT sets a number of seconds to wait for an SQL SELECT statement to execute before returning to the Empress Interactive SQL interface. By default this variable is not set.

3.3.155 MSTMPFILECACHESIZE

MSTMPFILECACHESIZE defines a size of the cache used for temporary files associated with temporary tables used during retrieval tasks.

There will be 4 of 512 kilobyte cache buffers set internaly by Empress.

Size of cache buffers would be set in bytes. To set the cache buffer to 100 kilobytes, enter:

   SET MSTMPFILECACHESIZE to 102400;

When the set value is exceeded the rest of the file will be stored on disk.

3.3.156 MSPSMREPOSITORYDB

MSPSMREPOSITORYDB defines a number of databases that can serve as a Persistent Stored Module (PSM) repository. PSM repository is a designated place for Empress RDBMS to look for PSM objects invocation.

In order to resolve/invoke PSM objects (user defined functions, operators, procedures and aggregate functions) Empress RDBMS will firstly look for them in the database in use, then it will look in the databases (in the reverse order) defined by the variable MSPSMREPOSITORYDB and finally it will look into the designated location in the Empress installation directory.

MSPSMREPOSITORYDB can be set in the initfile or in the environment, for example:

         MSPSMREPOSITORYDB="/usr2/joe/db1; /usr2/peter/db2"