CHAPTER 3: Empress システム変数


3.1 はじめに

Empressは、それぞれのユーザーごとのEmpress環境を コントロールするためのシステム変数を提供します。 このシステム変数は、例えばSELECT文からの出力中のカラム間のスベース数や システムエディタ、ダンプファイル中のアトリビュートのセパレータなどのような 設定をするために使用されます。 以下はこれらの変数のリストとそれぞれの簡単な説明です。

これらの変数はすべてinitfileからのシステムのデフォルトを持っていますが、 クエリー言語コマンド、またはオペレーティングシステム中で設定しなおすことができます。 SQL セッション内での値の変更は、オペレーティングシステム、または initfile で設定した値を上書きすることになりますが、この値はSQL セッション内のみ維持されます。 オペレーティングシステム内での値の変更は、ユーザーがオペレーティングシステムから ログオフするまで、initfileで設定した値を上書きすることになります。

initfileに設定することは、すべてのユーザーに影響します。 個人環境では オペレーティングシステムのシェルにこれらのいくつかの変数を設定することで Empress環境をカスタマイズすることができます。

表 3-1 パスに関連する変数

変数 説明
MSHELPPATH Empress ヘルプファイルディレクトリ
MSTERMDB Empress 4GL端末定義データベース
MSAPFMDB Empress 4GLフォームデータベース
MS4GLPSHEADER Empress 4GLポストスクリプト・ヘッダーファイル
MSKILLLOGDIR Empressユーティリティempkillログファイルディレクトリ
MSCRAYQDELLOGDIR Empressユーティリティempqdelログファイルディレクトリ (クレイスーパーコンピュータのみ)
MSGUIDB Empress GUIのシステムディレクトリ
MSGUIDEFCOLORFILE Empress GUIのカラー定義ディレクトリ
MSSHAREDMEMORYDIR mmap(メモリーマッピング)で使用されるプラットフォームの メモリーマップファイルディレクトリ

表 3-2 全体に関する変数

変数 説明
MSDATELIMIT 2桁の年数の入力のための適切な世紀
MSDATEPIC 入出力のための日付フォーマット
MSDDLTRANS データ定義言語(DDL)コマンドのトランザクションによる保護
MSDISPLAYKATAKANA 半角カナ文字をサポートしていない端末(日本語バージョンのみ)
MSDOLLAR Dollarデータ型のフォーマット
MSEDITOR ".zz"コマンドおよびEmpress 4GLで利用されるエディタ
MSFILESOPEN Empressよってオープンされる最大ファイル数
MSFORCEPLOCK プロセスをメモリにロック(適切な特権を持っていると仮定します。)
MSINDEXLISTCUTOFF テーブルの総レコード数に対するパーセンテージを指定します。 それを超えた場合、検索においてインデックスを使用しません。
MSINDEXLISTCUTOFFMIN MSINDEXLISTCUTOFFの設定を無視し、インデックスから検索する最小レコード数
MSINDEXSORTCUTOFF テーブルの総レコード数に対するパーセンテージを指定します。 レコードのソート処理においてこの値を超えた場合にインデックスを使用します。
MSKEEPNONPRINTCHAR 非印刷文字を解釈するフラグ
MSLANG 出力するEmpressメッセージの言語指定
MSLINECONT 行を続けるために使用する文字列
MSLKCOMMITADDEND 連続登録処理間のロックマネージャへのアクセスを減らします。
MSLOCKPLAN Empressよるロック使用情報の提供
MSNLSCODESET 使用しているキーボードおよびモニターに適合するコードセット名
MSNULLVALUE null 値を置き換える文字列
MSPAGER 問い合わせ言語内でページ処理するためのシステムプログラム
MSPERMS Empress出力ファイルのアクセス許可
MSPRINTER プリンタへ出力を送るために使用するシステムプログラム
MSQUERYPLAN Empressによって使用されるインデックス情報を提供します。
MSSHELL Empress 中から使用するシステムのシェル
MSSORTBYPASS ソート処理中でのロックされたレコードをスキップするためのフラグ
MSSORTSPACE ソート処理中に使用されるスペースの制限バイト数
MSTHRESHOLDPFLSIZE 自動的なフラッシュおよびマージがグローバルフリーリストに実行される以前の 内部のプロセスフリーリストの最大サイズ
MSTMPDIR テンポラリファイルを作成するディレクトリ
MSTMPPFX テンポラリファイルに使用されるプリフィックス
MSVALSEP ダンプファイル中のアトリビュート値を分けるために使用される文字列
MSVERSIONMESG 起動時のEmpressバージョンの出力設定
MSWRAPMARGIN 行の中断とラッピングの制御
MSCASEINSENSITIVE 大文字・小文字を区別しない設定
MSNTMPFILECACHE 検索処理中に使用するテンポラリテーブルに関連した テンポラリファイルに使用するキャッシュサイズの指定
MSQUOTEDIDENTIFIERS 引用識別子の許可
MSSELEXTFETCH Empress mr ルーチンの mrprev 関数を使用する場合に 以前のバージョンとの互換性の問題のための設定
MSSELMAXROWS SELECT 文によって Empress 対話型 SQL インターフェースに戻される 最大レコード数(行数)の設定
MSSELTIMEOUT Empress 対話型 SQL インターフェースへ 戻るための SQLの SELECT文の実行の ウェイト秒数の設定
MSTMPFILECACHESIZE 検索処理中に使用するテンポラリテーブルに関連した テンポラリファイルに使用するキャッシュサイズの指定

表 3-3 トランザクション関連の変数

変数 説明
MSTRANSCOMMENT トランザクションのコメント文字列
MSTRANSSYNC 即時にファイルへ書き込みさせるフラグ
MSTRANSTABLELOCK トランザクション中は強制的にテーブルレベルロックにするフラグ
MSTRANSUFNBI トランザクション前イメージリストのサイズ
MSTRANSUFNGFL フリーレコードへのアクセス制御
MSTRANSWARMPROTECT ウォームリスタートからトランザクションを保護するフラグ

表 3-4 ロック関連の変数

変数 説明
MSCFEXCLRETRY コーディネーターファイルへの排他ロックアクセスのリトライ回数
MSCFEXCLSLEEP コーディネーターファイルへの排他ロックアクセスのリトライ間のインターバル
MSEXCLRETRY ロックファイルへ排他的アクセスをするためのリトライ数
MSEXCLSLEEP ロックファイルへ排他的アクセスをするためのリトライ間のインターバル
MSIAEXCLRETRY 対話型インターフェイスのための排他アクセスリトライ数
MSIAEXCLSLEEP 対話型インターフェイスのための排他アクセスリトライのインターバル
MSIALOCKRETRY 対話型インターフェイスのためのロックリトライ数
MSIALOCKSLEEP 対話型インターフェイスのためのロックリトライのインターバル
MSINDEXRETRY インデックスをロックするためのリトライ数
MSINDEXSLEEP インデックスをロックするためのリトライ間のインターバル
MSLOCKRETRY 実際のロックエントリするためのリトライ数
MSLOCKSLEEP 実際のロックエントリするためのリトライ間のインターバル

表 3-5 クエリ関連の変数

変数 説明
MSQLAUTOPAGE すべてのコマンド出力をページ処理プログラムに送るかどうかのフラグ
MSQLCMDSAVE 履歴機能によって保存するコマンド数
MSQLCOUNT 検索、更新、削除されたレコード件数を表示するかどうかのフラグ
MSQLECHO コマンドのエコーの制御
MSQLONELINE 改行がコマンドの終了を指示
MSQLPROMPT1 第1のEmpressプロンプト
MSQLPROMPT2 第2のEmpressプロンプト
MSQLTRANSACTION 各コマンドがトランザクション上で実行され、キャンセルされる可能性があります。
MSQLVARCHARS Empress変数表示で使用される文字

表 3-6 SELECT出力フォーマット関連の変数

変数 説明
MSQLGCHARWIDTH パラメータなしのcharcterデータのカラム幅
MSQLGDATEWIDTH パラメータなしのdateデータのカラム幅
MSQLGDECIMALWIDTH パラメータなしのdecimalデータのカラム幅
MSQLGFLOATWIDTH パラメータなしのfloatデータのカラム幅
MSQLGINTEGERWIDTH パラメータなしのintegerデータのカラム幅
MSQLSELBOX 出力データに外枠表示をおこなうかどうかのフラグ
MSQLSELCOLSEP カラムセパレータ文字
MSQLSELGROUPCOLCROSS グループセパレータと交差するカラムに表示する文字
MSQLSELGROUPSEP グループセパレータ文字
MSQLSELHEAD ヘッダーを出力するかどうかのフラグ
MSQLSELHEADCOLCROSS ヘッダーと交差するカラムに表示する文字
MSQLSELHEADSEP ヘッダーセパレータ文字
MSQLSELKEEPDUPLICATE 重複したグループの値を表示するフラグ
MSQLSELROWCOLCROSS カラムと交差する行に表示する文字
MSQLSELROWSEP 行セパレータ文字
MSQLSELTRUNCATE 長い行の切り詰めのフラグ
MSQLSELWARN 関数にnull引数がある場合、警告を表示

表 3-7 オンラインバックアップ関連の変数

変数 説明
MSCOORDTIMERFREQ クライアントがコーディネータにチェックインしなければならない期間(秒単位)
MSOLBBACKUPDEVICE オンラインバックアップ装置名
MSOLBBLOCKSIZE オンラインバックアップ装置のブロックサイズ
MSOLBRECOVERYLOG オンラインバックアップのリカバリログファイル

表 3-8 シェアードメモリ関連の変数

変数 説明
MSMKDBSHMEM シェアードメモリを伴ったデータベースの作成のフラグ
MSSHMLOCATION シェアードメモリセグメントが存在するシステムアドレスの設定
MSSHMPERMS シェアードメモリパーティションのアクセス許可の設定

表 3-9 ダーティリードとデータストリーミング関連の変数

変数 説明
MSBULKSEGMENTSIZE バルクデータの最小ブロックを転送するためのメモリサイズ
MSVALIDATELEVEL チェックサムの結果によってのダーティリードの動作規定
MSVALIDATERETRY 無効なレコードを読むためにEmpressがおこなうリトライ数
MSVALIDATESLEEP 無効なレコードを読むためのリトライ間のインターバル秒数

表 3-10 データベースユーティリティ関連の変数

変数 説明
MSKILLRETRY empkillMSKILLSIGNAL変数によって指定された終了シグナルを 送るリトライ数 MSKILLSIGNAL.
MSKILLSLEEP empkillMSKILLSIGNAL変数によって指定された終了シグナルを 送るリトライ間のインターバル秒数
MSKILLSIGNAL empkillによって送られる終了シグナル

表 3-11 サーバー/インターネット関連の変数

変数 説明
MSSERVERHEARTBEAT データベースサーバーのアイドルタイムをチェックするための期間
MSSERVERNETTYPE サーバーアクセスタイプ
MSSERVERTERSELOG コンパクトなフォーマットのサーバーログファイル情報
MSINETREPLYTIMEOUT 高レベルの応答を待つクライアントのタイムアウト値
MSINETREPLYRETRY 高レベルの応答を待つクライアントのリトライ数
MSINETMESSAGETIMEOUT 確認を待つクライアントのメッセージハンドラのためのタイムアウト値
MSINETMESSAGERETRY 確認を待つクライアントのメッセージハンドラのためのリトライ数
MSINETPACKETTIMEOUT 確認を待つクライアントのパケットハンドラのためのタイムアウト値
MSINETPACKETRETRY 確認を待つクライアントのパケットハンドラのためのリトライ数
MSGETHOSTTIME ホスト情報を検索するためのタイムアウト値
MSHOSTNAME システムのホスト名

表 3-12 オペレーティングシステムに関連した変数

変数 説明
MSGETPW ユーザーIDを得るために getwuidシステムコールの代わりにgetpwを使用します。 これは互換性のため。
MSGCWDSIGCHLDRESET オペレーティングシステムコールgetcwdのためにシグナルを リセットします。
MSCRAYQDELSLEEP empqdelが、リクエストが死んだかどうかをチェックする前に待つ秒数。 クレイシステムのみで有効。
MSCRAYQDELRETRY empqdelが、終了シグナルを送ることを試行する回数。 クレイシステムのみで有効。
MSCRAYQDELSIGNAL empqdelためのシグナル番号またシンボル名の設定。 クレイシステムのみで有効。
MSMIGRATERETRY 移行したファイルへアクセスするためのリトライ数 クレイシステムのみで有効。
MSMIGRATESLEEP 移行したファイルへアクセスするためのリトライのインターバルタイム クレイシステムのみで有効。

表 3-13 レポートライター関連の変数

変数 説明
MSMWNULLOK ヌルの出力時のエラーを抑止します。
MSPAGELENGTH レポートのデフォルトページ長
MSPAGEWIDTH レポートのデフォルトページ幅

表 3-14 フォートランインターフェイス関連の変数

変数 説明
MSF77BACKSCAN フォートランコンパイラの動作について定義する内部設定
MSF77BUFCOPY フォートラン文字列を補助バッファにコピーする必要があるかどうかフラグ
MSF77IGNORELENGTH フォートラン文字列の受け渡しの長さを無視する設定
MSF77TERMCHAR ASCII(0)の代わりにフォートラン文字列を終了するための文字を与えます。
MSF90BACKSCAN フォートランコンパイラの動作について定義する内部設定
MSF90BUFCOPY フォートラン文字列を補助バッファにコピーする必要があるかどうかフラグ
MSF90IGNORELENGTH フォートラン文字列の受け渡しの長さを無視する設定
MSF90TERMCHAR ASCII(0)の代わりにフォートラン文字列を終了するための文字を与えます。

表 3-15 Empress 4GL 関連の変数

変数 説明
MS4GLCHKNULVAL NOT NULLアトリビュートのために null 値を見つけます。
MS4GLCOMPATCHK 可能な互換性の問題をチェックします。
MS4GLDEBUGSETUP Empress 4GL デバッガーのセットアップ情報を保存したファイルパス。
MS4GLFLUSHTYPEAHEAD Empress 4GLが反応可能以上に速くタイプされる キーボード入力を保存します。
MS4GLFONTNAME Empress 4GLで使用されるフォント名。
MS4GLNOLOADRUNMSG アプリケーションがコールされた時のインフォメーションメッセージの抑止。
MS4GLPRINTSCREEN 画面ダンプファイル名
MS4GLPRINTSCREENFORMAT 画面ダンプフォーマット
MS4GLPSWIDTH ポストスクリプト出力のためのバウンディング・ボックスの幅
MS4GLPSHEIGHT ポストスクリプト出力のためのバウンディング・ボックスの高さ
MS4GLXASYNCOFF 割り込み処理
MS4GLXCOLORTOLERANCE 色の扱い
MS4GLXCURSORCOLOR テキストカーソルの色
MS4GLXPOINTERCOLOR X Windows ポインタの色
MS4GLXNEWCOLORMAP 使用するカラーマップ
MS4GLXWINDOWTITLE 画面タイトル
MSTERM 端末タイプ
MSTERMSYS 端末タイプのプリフィックス

表 3-16 Empress GUI に関する変数

変数 説明
MSGUIDEFAULTSTYLE アプリケーション画面スタイル
MSGUIFONTSPEC Xterm のフォント定義
MSGUIRGBTEXT X Windows の RGB テキストファイルのパス
MSGUISYSMAIN Empress GUI ビルダー システムのメイン画面スタイル

表 3-17 Empress 内部変数

変数 説明
MSSAVECWD 作業ディレクトリの値の保存
MSBUFFERRECORDFACTOR バッファリング動作の読み込みレコード数の制御
MSMAXPROCS ロックファイル中のロックマネージャにアクセス可能な最大プロセス数
MSFILELOCKNBUCKETS ロックファイル中のロックマネージャのハッシュ・バケット数
MSFILELOCKNLOCKS ロックファイル中のロックマネージャの最大ロック数
MSNRECORDCACHE レコード数分のキャッシュサイズ
MSLICENCE ライセンス情報

表 3-18 ネットワーク・サーバーに関する変数

変数 説明
MSUSERAUTHCONFIGFILE ユーザー認証コンフィグレーションファイル名
MSNETSERVERCONFIGFILE ネットワークサーバーコンフィグレーションファイル名
MSNETTYPECONFIGFILE ネットワークタイプコンフィグレーションファイル名
MSCONFIGFILEPATH ネットワークサーバー関連コンフィグレーションファイルのパス

表 3-19 リプリケーションに関する変数

変数 説明
MSREPLOCKRETRY リプリケーション同期の中のマスターテーブル上のロックを取得するためのリトライ数
MSREPLOCKSLEEP リプリケーション同期の中のマスターテーブル上のロックを取得するためのリトライ の間のインターバル
MSREPENABLUPDATE リプリケーションテーブルを更新可能にすることを有効にする内部変数。
MSREPPURGEINTERVAL MSREPPURGEINTERVAL は、 削除されたレコードが自動的に消去される前に、 その従属したリプリケーションリプリケートと同期する リプリケーションテーブルに許可する 最大合計時間を設定します。


3.2 システム変数のデフォルト値

Empress変数のデフォルト値はEmpressをインストールしたディレクトリ以下の configディレクトリの下にあるinitfileと呼ばれるファイルから取得されます。 ※ Empress v862 日本語版では $EMPRESSPATH/config/initfile になります。
v8.20 以前では $MSPATH/custom/initfile ですのでその点にご注意ください。

以下は バージョン 8.62 のinitfileのサンプルリストです。

   
   #       (c) Copyright   Empress Software Inc.  1983, 2003 
   
   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=X
   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="u"
   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="14 2"
   MSQLGFLOATWIDTH=22
   MSQLGINTEGERWIDTH=11
   MSQLSELBOX=
   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
   
   # internal variables (Please do not modify)
   
   MSBUFFERRECORDFACTOR=1
   MSFILELOCKNBUCKETS=11
   MSFILELOCKNLOCKS=\
     [SYS_OS_UNIX_HPUX_64]                 314
     [SYS_OS_UNIX_DECUNIX]                 491
     [SYS_OS_UNIX_IRIX_64]                 491
     [SYS_OS_UNIX_SOLARIS_ULTRA_64]        235
     [ALL]                                 243
   MSNRECORDCACHE=10
   MSTRANSUFNBI=10
   
   # License (Please do not modify)
   
   MSLICENCE=228d2c3c208a5a88ec300a225b647d391013dc037975d183
   MSMAXPROCS=

変数の値であるシステムデフォルトを変更するためには、 initfile.を編集します。 変数を設定する上で、明示的なパス指定(Empressがインストールされたディレクトリ)として 変数EMPRESSPATHを使うことができます。 これにより、パスがより簡単にカスタマイズされることを可能にします。 initfileを修正する場合は、 変更する前にinitfile.origのような名前を付け、 オリジナルをコピーすることを強く推奨します。 Empressシステムのテストを実行する場合、 オリジナルファイルに戻す必要があります。 これはシステム変数としてオリジナルの値を用いない場合、 テストのプロセスがエラーを発生することがあるためです。



3.3 Empress システム変数の詳細

アルファベット順にEmpress システム変数の説明します。

3.3.1 MS4GLCHKNULVAL

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.2 MS4GLCOMPATCHK

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.3 MS4GLDEBUGSETUP

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.4 MS4GLFLUSHTYPEAHEAD

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.5 MS4GLFONTNAME

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.6 MS4GLNOLOADRUNMSG

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.7 MS4GLPRINTSCREEN

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.8 MS4GLPRINTSCREENFORMAT

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.9 MS4GLPSHEADER

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.10 MS4GLPSHEIGHT

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.11 MS4GLPSWIDTH

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.12 MS4GLXASYNCOFF

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.13 MS4GLXCOLORTOLERANCE

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.14 MS4GLXCURSORCOLOR

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.15 MS4GLXNEWCOLORMAP

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.16 MS4GLXPOINTERCOLOR

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.17 MS4GLXWINDOWTITLE

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.18 MSAPFMDB

この変数はEmpress 4GLシステム変数です。 詳細な説明は Empress 4GL: 管理者ガイド を参照してください。

3.3.19 MSBUFFERRECORDFACTOR

レコードレベル以外にロックレベルを設定されたテーブルに アクセスする場合、各レコードは個別にアクセスする必要はないため、 潜在的に読み込みバッファを利用します。 テーブルからデータを先読みするアルゴリズムを適用することが可能である場合、 それを利用します。 これにより、Empressが各レコードを読むためにディスクへアクセスする 必要がないという結果をもたらします。

MSBUFFERRECORDFACTOR変数はこのバッファリング操作を制御します。 ブロックがMSBUFFERRECORDFACTORに指定された最小レコードを 保持できない場合か、レコードサイズがブロックサイズの倍数である場合は バッファリングを止めます。 1つのブロックサイズは、MSDBBLOCKSIZE変数によって決定されています。

デフォルトによって、Empressは、この変数に "1" を設定しています。

3.3.20 MSBULKSEGMENTSIZE

この変数は、転送するバルクデータの最小ブロックのために メモリ取得するサイズをバイト単位で指定します。 これは非常に大きいサイズ(数メガバイト、数ギガバイト)のバルクデータを 転送するアプリケーションにとっては有効です。 理由としてデータベースサーバーは少ないサイズの常駐を維持するためです。 MSBULKSEGMENTSIZEは指定されていませんが、デフォルトでは、 1 メガバイトに設定されています。

3.3.21 MSCFEXCLRETRY および MSCFEXCLSLEEP

MSCFEXCLRETRY変数は、 コーディネーターファイルに対しての排他的なアクセスを得るために ロック機構の試行回数を決めます。 デフォルトは 50 回です。 MSCFEXCLSLEEP変数は、各リトライ間のスリープ秒数を指定します。 デフォルトは 0.05 秒です。

Empress社では、 Empressサポートの助言なしに この変数の値の変更をしないことを推奨します。

3.3.22 MSCOORDTIMERFREQ

この変数は、クライアントがコーディネータにチェックインしなければならない 期間(数秒で)を指定します。 これはアクティブなデータベース上での オンラインバックアップ処理の管理のため、 コーディネーターに対し順番が必要になるためです。 デフォルトの値は 60 秒です。

3.3.23 MSCRAYQDELLOGDIR

この変数はクレイ・システムのみ関係があります。

この変数は"empqdel" (クレイ・システムのみ利用できるユーティリティ)により、 kill(SIGKILL)シグナルによって殺された リクエストについての情報をログ出力するディレクトリの指定をします。 この変数のデフォルトの値は "${EMPRESSPATH}/rdbms/spool/log"です。

3.3.24 MSCRAYQDELRETRY および MSCRAYQDELSLEEP

この変数はクレイシステムだけに関連した変数です。

MSCRAYQDELRETRY変数は、empqdelMSQDELSIGNALによって指定された終了シグナルを送るために 試行する回数を指定します。 デフォルト値は 10 回で、10未満の値を指定した場合、デフォルトの値が 使用されます。

MSCRAYQDELSLEEP変数は、empqdelが リクエストが死んだかどうかをチェックする前に待つ秒数を指定します。 デフォルト値は 5 秒で、5未満の値を指定した場合、デフォルト値が 使用されます。

3.3.25 MSCRAYQDELSIGNAL

この変数はクレイシステムだけに関連した変数です。

この変数はempqdelがプロセスを終了させるために シグナルの番号またはシンボル名を指定します。 有効な値は、 HUP, 1, QUIT, 3, TERM, 15になります。 それ以外の値が設定された場合、 empqdelはエラーメッセージを出力し、終了します。

3.3.26 MSDATELIMIT

この変数は日付入力のために適切な世紀を設定します。 デフォルトでは "1950"です。 例えば、2桁のみの年数 "35" を入力した場合、 結果として "2035"と認識します。

3.3.27 MSDATEPIC

MSDATEPIC変数は、Empressレポートライターによって 出力される日付およびEmpressの日付入力を解釈するために デフォルトの日付ピクチャー(フォーマット)を指定します。 有効な日付ピクチャー(フォーマット)は、 Empress SQL: リファレンス マニュアルの データタイプ. を参照してください。 MSDATEPICのデフォルトは、"dd aaaaaaaaa yyyy"です。 例えばSQLセッション内で"27 June, 1992"の書式を設定するには

   SET MSDATEPIC TO "dd aaaaaaaaa, yyyy";

のように設定します。

DATE型のアトリビュートに日付の値が入力された場合、 Empressは、最初に値がユニバーサル日付フォーマット(yyyymmdd) であるかどうかをチェックします。 それから、アトリビュートの日付フォーマットに指定されている 日、月、年の順を満たしているかどうかをチェックします。 そうではない場合は、値はMSDATEPICに指定されている日、月、年の順 に対し、チェックされます。 有効な日付を生成しない場合、値は拒否されます。

日付が、式の中で使われている場合、 Empressは、最初に日付がユニバーサルフォーマットかどうかを チェックします。それから、MSDATEPICによって指定された順を 満たしているかどうかをチェックします。有効な日付が生成されない場合は、 その値は拒否されます。

例えば、 DATE (1)型のアトリビュート(このフォーマットはdd aaaaaaaaa yyyy)として MSDATEPICに"mm dd yy"が設定された場合、 値として"24 5 92", "5 24 92"および"19920524" は、24 May 1992 として受け付けられますが、"1992 24 5"は拒否されます。 例えば05 05 92のような曖昧な入力は、月の前に日付が与えられたものとして 解釈されます。

Empress レポートライターで直接、実行する場合に この変数を有効にするには、オペレーティングシステム上で 以下のように設定する必要があります。

   set MSDATEPIC='dd aaaaaaaaa, yyyy'

3.3.28 MSDDLTRANS

この変数はデフォルトで設定されています。 データ定義言語(DDL)コマンド(例えば ALTER, CREATE TABLE, DROP TABLE, CREATE INDEX, ... etc.) は、トランザクションによって保護されています。 (コマンドの実行とともに内部で自動的に トランザクション処理されます。)

例えば、テーブルの変更(ALTER TABLE)中にシステム障害が 起こった場合、この変数の設定によって、テーブルの回復のために ウォームリスタートコマンド(empwarm)を使用できます。

3.3.29 MSDISPLAYKATAKANA

この変数は、Empress日本語バージョンのみ利用することができます。

日本語では、2つのタイプの文字があり、 1つは全角の漢字・ひらがな・カタカナ・英数の2バイト文字と もう1つは半角カタカナと呼ばれる1バイト文字があります。

MSDISPLAYKATAKANAが設定されない場合、 半角カタカナ文字はそのまま表示されます。 MSDISPLAYKATAKANAに何か値が設定された場合は、 半角カタカナ文字は"?"マークとして表示されます。 これは、半角カタカナ文字を適切に表示することができない 端末でのみ意味があります。

3.3.30 MSDOLLAR

MSDOLLARは、DOLLARデータ型の入出力フォーマットを制御します。 フォーマット指定は文字列として指定され、その最初の文字はドルとセントの セパレータを示します。2番目の文字は、3桁単位を示すセパレータです。 3番目の文字は、値がない場合にその桁に埋める文字を指定します。 (これはDOLLAR型のタイプ2の属性のためになります。) 残りの文字列は通貨記号を示します。(最大50文字) MSDOLLARのデフォルト値は、".,*$"です。

例えば、ドイツ通貨ではDOLLAR型の(6, 2)とし、 MSDOLLARは、",.*DM"と設定した場合、 次のように出力します。

   DM**1.234,56

U.S通貨では、MSDOLLARに"., US$"を設定することで 次のように出力します。

   US$  1,234.56

3.3.31 MSEDITOR

MSEDITORには、 対話型SQLインターフェイスの.zzコマンド、 また、 Empress 4GLのフィールドエディタキーで実行される オペレーティングシステムのエディタを設定します。 デフォルトでは、

UNIX

   EDITOR=vi

Win32

   MSEDITOR=edlin

になります。

3.3.32 MSEXCLRETRY および MSEXCLSLEEP

MSEXCLRETRY変数は、 ロックを生成するためのテーブルのロックファイルへの排他的アクセスを得るために ロック機構を試行する回数を決定します。 (ロックファイルへのアクセスはデッドロックが発生しないために排他的であることが 必須になります。) デフォルトは 30 回です。 MSEXCLSLEEP変数は、それぞれの試行の間の秒数を決定します。 デフォルトは 1 秒です。

   SET MSEXCLRETRY TO 5;
   SET MSEXCLSLEEP TO 2;

上記の設定をした場合、ロックファイルが使用中であるテーブルにアクセスを する場合、Empressは、"ロック中です"のメッセージとともに あきらめるまでに2秒間のインターバルで、ロックファイルにアクセスを 5回試み、合計では8秒間費やされます。

MSEXCLSLEEPは、小数付きの設定が可能です。例えば以下の設定ができます。

   SET MSEXCLSLEEP TO 1.0015
   SET MSEXCLSLEEP TO 0.357

3.3.33 MSF77BACKSCAN and MSF90BACKSCAN

文字列走査のフォートランコンパイラの動作定義を行う内部設定です。 この値は変更しないでください。

3.3.34 MSF77BUFCOPY and MSF90BUFCOPY

この変数は、Empress フォートランインターフェイスの フォートラン文字列処理を管理する変数の1つです。 詳細な情報はEmpressフォートランインターフェイス を参照してください。

3.3.35 MSF77IGNORELENGTH and MSF90IGNORELENGTH

この変数は、Empress フォートランインターフェイスの フォートラン文字列処理を管理する変数の1つです。 詳細な情報はEmpressフォートランインターフェイス を参照してください。

3.3.36 MSF77TERMCHAR and MSF90TERMCHAR

この変数は、Empress フォートランインターフェイスの フォートラン文字列処理を管理する変数の1つです。 詳細な情報はEmpressフォートランインターフェイス を参照してください。

3.3.37 MSFILELOCKNBUCKETS

MSFILELOCKNBUCKETS変数は、Empressがロックファイル内への ロックの格納で必要なバケット数に関連します。 最適の数はロック数のおよそ 7 分の 1 で、素数であるべきです。 通常、この値はEmpress社によって指定され、 MSFILELOCKNLOCKS変数が変更された場合のみにこの値を 変更すべきです。

3.3.38 MSFILELOCKNLOCKS

MSFILELOCKNLOCKSは、常にひとつのロックファイルに格納 することができる最大ロック数を指定します。 この変数は以下の場合、変更することができます。 例えば、非常に多くのレコードロックを扱うトランザクションにおいて、 その値を増やす必要があるかもしれません。 MSFILELOCKNLOCKS変数を非常に高い値を設定し ロックをファイルで行った場合、 大きなロックファイルを読むことを要求され、 これらのディスク上のファイルを読むために パフォーマンスは劣化することに注意してください。

3.3.39 MSFILESOPEN

MSFILESOPENは、一度にEmpressがオープンすることができる 最大ファイル数を指定します。 従って、ユーザが一度に利用可能なファイル数になります。 この設定をする場合、Empressが起動される前にこの変数を 変更する必要があります。 デフォルト値は 30 です。

プログラム内でファイルをオープンする必要がある場合、 Empressが、すべての有効なファイルディスクリプタを 使用したために実行することができないことがあり、この場合は Empressがオープンを試みるファイル数を制限しなくては なりません。このような状況でこの変数は役立ちます。 例えば、Empressが一度にオープンすることができる最大ファイル数を 10 と制限する場合、オペレーティングシステムのプロンプト上で 以下を入力します。

UNIX の C シェルの場合

   setenv MSFILESOPEN 10

UNIX の Bourne シェルの場合

   MSFILESOPEN=10
   export MSFILESOPEN

Win32 の場合

   set MSFILESOPEN = 10

この設定は、一度にオープンできるファイル数ですので、 Empress自体が 10 ファイルだけしかアクセスできないと いうことではありません。 この制限を越えてアクセスする場合、 Empressは、別のファイルをオープンする前に 最小さく、最近、使用されたファイルをクローズします。 Empressによってクローズされたファイルが再び関連付けられた場合、 Empressは自動的にそのファイルを再オープンします。 Empressは、内部にこれらのファイルの情報を保持し、 ファイルのクローズおよび再オープンは、ユーザーに対し透過しています。

3.3.40 MSFORCEPLOCK

MSFORCEPLOCKが設定された場合、 メモリ上にプロセスをロックします。 (適切な特権を持つと仮定します。) このことはプロセスのスワップを防ぎます。

注意として

  1. ほとんどのシステム上では、ユーザーは 正常に"plock"を使用するために"root"である必要があります。
  2. クレイとHP上では、ユーザーは"plock"を使用する許可を持つ必要があります。

全体で利用する場合は、 重大なシステムパフォーマンスの低下を起こす可能性があるため、 この設定を行う場合は、システム全体を注意深く考慮する必要があります。 つまり、この使用においては単に特定のアプリケーションのみで 使用されるべきであり、例外的にもちいるべきです。 この設定を決してinitfileに設定してはいけません。 また、環境変数としても設定すべきではありません。 設定する場合は、 スクリプトファイルの終了をおこない自動的に設定を外す プロセスに関連したスクリプトに単に設定すべきです。

3.3.41 MSGCWDSIGCHLDRESET

オペレーションシステムによっては、 getcwdシステムコールは適切なオペレーションのSIGCHLD シグナルに依存します。 Empressは、システムからカレントディレクトリ情報を取得するために getcwdシステムコールを使用します。 Empressクライアントプロセスが SIGCHLDシグナルをトラップする場合、 Empressgetcwdの使用を禁じ、 Empressをハングさせます。 この状況を回避するために getcwdをコールする前に EmpressSIGCHLDSIGDFLに設定し、 getcwdが完了した時のオリジナルハンドラのための SIGCHLDをリセットします。

MSGCWDSIGCHLDRESET変数はデフォルトでは設定されていません。

3.3.42 MSGETHOSTTIME

Empressのプロセスが開始されたときに、 それがじっこうされたマシンのネットワーク名とネットワーク番号を 見つけることを試みます。 ネットワークの問題やマシンの設定が正しくない場合、 ホスト情報を検索するために数分かかる可能性があります。 このような問題をユーザーに通知するために、 ホスト情報の検索する時間がこの変数の値より長い場合、 すべてのEmpressプロセスは警告メッセージを出力します。

非常に重たいマシンでは不必要な警告を回避するために この変数の値を修正することがあります。 デフォルトでは 5 秒で、この値を指定する場合は 1 以上の整数を 指定します。

3.3.43 MSGETPW

Empressは、ユーザーIDを得るためにデフォルトで getpwuidシステムコールを使用します。 ローカルシステム上でgetpwシステムコールが サポートされている場合、 getpwuidの代わりにgetpwの使用するために この変数を設定することができます。 getpwがサポートされていない場合は、この変数は影響を与えません。 MSGETPW変数はデフォルトでは設定されていません。 getpwシステムコールは、getpwuidの古い実装で、 この変数は、互換性の理由により提供されています。 NIS(Network Information System)およびイエローページが稼動しているシステムでは この変数を設定する必要はありません。

3.3.44 MSGUIDB

この変数はEmpress GUIシステムデータベースのパスを指定します。 デフォルトは、"${EMPRESSPATH}/rdbms/gui/empguidb"です。

3.3.45 MSGUIDEFAULTSTYLE

この変数は、GUIアプリケーションの画面スタイルを定義します。 この変数が設定されていない場合、スタイルとしてMSGUISYSMAIN の値を使います。 値が数値として設定された場合、スタイルは MSGUISYSMAINに 定義された数値と一致します。

3.3.46 MSGUIDEFCOLORFILE

この変数はEmpress GUI ビルダーのカラーファイルのパス名を指定します。 デフォルトは"${EMPRESSPATH}/rdbms/gui/colortab"です。

3.3.47 MSGUIFONTSPEC

この変数はEmpress GUI ビルダーで利用されます。 xterm のフォントを定義をします。

3.3.48 MSGUIRGBTEXT

この変数は、X Window の RGBテキストファイルのパスを指定します。

3.3.49 MSGUISYSMAIN

この変数はEmpress GUI ビルダー環境のためのカラー設定です。 この変数の詳細な情報は Empress GUI: ユーザーズガイドを参照してください。

3.3.50 MSHELPPATH

MSHELPPATHは、 Empressヘルプファイルが置かれているディレクトリを指定します。 通常、提供されたヘルプファイル以外にヘルプファイルのセットを使う場合、 この変数を設定する必要があります。

3.3.51 MSHOSTNAME

複数のネットワーク上でのシステムのために用いられます。 この変数が設定された場合、Empress データベースサーバーは、 デフォルトのホスト名の変わりにシステムの識別子としてこの名前を利用します。 例えば、システムのデフォルトネットワークの代わりにより速いネットワークを使用する場合 など。

3.3.52 MSIAEXCLRETRY および MSIAEXCLSLEEP

MSIAEXCLRETRY変数は、 対話型インターフェイスおよびEmpress 4GLを通じて テーブルのロックファイルへ排他的アクセスを得るために ロック機構を試行する回数を決定します。 これはMSEXCLRETRYの設定より優先されます。 この 2 つの変数は必要です。なぜならば 対話的にテーブルのアクセスを試みている間の 多くの検索は望ましくはないからです。デフォルトは 2 回です。

MSIAEXCLSLEEP変数は、ロックファイルへのそれぞれの試行の間の秒数を 決定します。このデフォルトは 1 秒です。 この変数は、小数点以下を設定することも可能です。

SQLセッション内で設定する場合

   SET MSIAEXCLRETRY TO 5;
   SET MSIAEXCLSLEEP TO 2;

上記の設定をした場合、 ロックファイルが使用中であるテーブルにアクセスをする場合、 Empressは、"ロック中です"のメッセージとともに あきらめるまでに2秒間のインターバルで、 ロックファイルにアクセスを5回試み、合計では8秒間費やされます。

3.3.53 MSIALOCKRETRY および MSIALOCKSLEEP

MSIALOCKRETRY変数は、 対話型インターフェイスを通じて テーブルに対するロックを生成するために試行する回数を決定します。 これはMSLOCKRETRYの設定より優先されます。 この設定をする理由は、例えばテーブルに他のロックを生成することを 妨げるためにupdateモードでロックされている可能性があり、 それにより、ロックの生成の試行がその最初の試行で失敗するために リトライの設定を行います。 デフォルトでは 2 回です。

MSIALOCKSLEEPはリトライ間の秒数を指定します。 デフォルトでは 1 秒です。 この変数は、小数点以下を設定することも可能です。

SQLセッション内で以下のように入力することで設定ができます。

   SET MSIALOCKRETRY TO 5;
   SET MSIALOCKSLEEP TO 2;

上記の設定をし、 テーブルに対してロックを生成する試みを行う場合、 Empressは、2 秒間のインターバルで 5 回の試行をおこないます。 次の指示への要求の前に合計 8 秒間費やされます。 更新処理では、テーブルにアクセスすることができないか、また Empressが、必要なレコードを見つけることを開始できない場合、 リトライか終了を指定しても構いません。 以前、更新が開始され、アクセス不可能なレコードである場合 リトライかスキップまたは終了を指定しても構いません。 登録処理では、リトライか終了を指定しても構いません。

3.3.54 MSINDEXLISTCUTOFF

この変数は、 テーブルの総レコード数に対するパーセンテージで指定します。 この値を超えた場合、検索においてインデックスを使用しません。 テーブル中の総レコード数に対して検索されるであろうレコード数が この設定値を超えた場合、Empressは テーブルの総レコード数に対するパーセンテージを越えた段階でインデックス を使った検索を止めます。 例えば、10 が設定された場合、インデックス検索は、 その検索の基準になるレコードの検索を始めます。 テーブルの総レコード数の10%に一致したときに 検索処理は、インデックスを放棄し、テーブル自体を使用します。 レコード中の大きなパーセンテージで検索される場合、 基のテーブルに直接、検索することよりは効率的であるため この変数は検索の最適化のために有用です。

デフォルトではこの変数の値は 100 が設定されています。 したがって、常にインデックスを使用します。

3.3.55 MSINDEXLISTCUTOFFMIN

この変数は、 MSINDEXLISTCUTOFFの設定を無視し、 インデックス検索をする最小のレコード数を指定します。 設定されたレコード数が検索された段階でインデックスを使うことを止め、 基のテーブルを検索します。(インデックス検索を放棄するということは テーブルの全件検索をするということになります。) 例えば、100 が設定された場合、 MSINDEXLISTCUTOFFを無視し、 100 レコードまではインデックスを使って検索します。 検索がこの設定された数を越えた場合は、 MSINDEXLISTCUTOFFを考慮します。

デフォルトではこの変数の値は 0 に設定されています。 したがって、インデックスが有効であれば、検索の動作は MSINDEXLISTCUTOFFによって制御されることになります。

3.3.56 MSINDEXRETRY および MSINDEXSLEEP

MSINDEXRETRY変数は、Empressがインデックスをロックするための 試行回数を設定します。デフォルトでは 5 回です。

MSINDEXSLEEP変数は、インデックスをロックするための試みの間に ウェイトする秒数を設定します。 デフォルトでは 1 秒です。 この変数は、小数点以下を設定することも可能です。

SQLセッション内で リトライ数を 10 回、2 秒間のインターバルを設定するには 以下のように設定します。

   SET MSINDEXRETRY TO 10;
   SET MSINDEXSLEEP TO 2;

3.3.57 MSINDEXSORTCUTOFF

この変数はテーブルの総レコード数に対するパーセンテージを指定します。 レコードのソート処理においてこの値を超えた場合に インデックスを使用します。 ソートするレコード数が、 設定された総レコード数に対するパーセンテージ以下である場合、 Empressは、ソート処理においてインデックスを使用せず、 メモリ上で実行します。 大きなインデックスがあり、ごくわずかなレコードをソートする場合、 ソートのためのインデックスソートの前にメモリを利用することは より効率的です。 例えば この値として 10 が設定されている場合、 10% を越えたレコードのソート処理はインデックスが使用されます。

デフォルトではこの値は 3 が設定されています。

3.3.58 MSINETMESSAGERETRY および MSINETMESSAGETIMEOUT

MSINETMESSAGETIMEOUT および MSINETMESSAGERETRY それぞれにクライアントのメッセージハンドラの確認を待つための タイムアウト値とリトライ数になります。

これらの変数はサーバーコンフィグレーションファイルに設定しなくてはなりません。 環境に設定した場合、それらを認識しません。

3.3.59 MSINETPACKETRETRY および MSINETPACKETTIMEOUT

MSINETPACKETTIMEOUT および MSINETPACKETRETRYは、 それぞれに確認を待つクライアントのパケットハンドラのタイムアウト値と リトライ数になります。タイムアウト値は秒数であり。これらの設定はオプションです。 返答を非常に短く設定した場合やメッセージタイムアウトは リクエストやリプライが多い場合、 不必要なリクエスト再送信になることがあり、 重大なパフォーマンスの低下を引き起こす可能性があります。

これらの変数はサーバーコンフィグレーションファイルに設定しなくてはなりません。 環境に設定した場合、それらを認識しません。

3.3.60 MSINETREPLYRETRY および MSINETREPLYTIMEOUT

MSINETREPLYRETRY および MSINETREPLYTIMEOUT それぞれに 高レベルの応答を待つクライアントのタイムアウト値とリトライ数になります。

これらの変数はサーバーコンフィグレーションファイルに設定しなくてはなりません。 環境に設定した場合、それらを認識しません。

3.3.61 MSKEEPNONPRINTCHAR

<Tab><Backspace>のような 出力できない文字は、通常、Empressの出力では除かれますが、 MSKEEPNONPRINTCHARに値を設定することでこれらの文字を 解釈します。

3.3.62 MSKILLLOGDIR

この変数は empkillにより、kill (SIGKILL)シグナルによって殺された プロセスについての情報をログ出力するディレクトリを指定します。 この変数のデフォルトは"${EMPRESSPATH}/rdbms/spool/log"が設定されています。 ログファイル名は、${EMPRESSPATH}/rdbms/spool/log/ユーザー名.log として作成され、このユーザー名empkillを実行したログインユーザー名です。

3.3.63 MSKILLRETRY と MSKILLSLEEP

MSKILLRETRY変数は、 empkillが、MSKILLSIGNAL変数によって指定された 終了シグナルを送ることを試みる回数を指定します。 デフォルト値は、10 回ですが、2 以下の値が指定された場合、 デフォルト値が値として使用されます。

MSKILLSLEEP変数は、 empkillが、プロセスが死んだかどうかをチェックする前に 待つための秒数を指定します。 デフォルト値は、3 秒ですが、2 以下の値が指定された場合、 デフォルト値が値として使用されます。

3.3.64 MSKILLSIGNAL

この変数は、 empkillがプロセスを終了させるために 送信するシグナルの番号かシンボル名を指定します。 有効な値は、 HUP, 1, QUIT, 3, TERM, 15になります。 それ以外の値が設定された場合、 empkillはエラーメッセージを出力し、終了します。

3.3.65 MSLANG

MSLANG=特定言語を設定することで EmpressはNLSデータベースのnls_特定言語テーブルを探します。 このテーブルは、特定言語のEmpressのメッセージを格納しています。 プロセスが起動するときに以下のステップを行います。

  1. 環境変数からMSLANG変数を探し、それが設定されている場合は セカンダリ言語としてその値を設定します。 MSLANGが設定されず、LANGを設定されている場合は セカンダリ言語としてLANGの値を設定します。

  2. NLSデータベースに 特定言語は、セカンダリ言語名であるところの nls_特定言語名のメッセージテーブルが含まれている場合、 そのテーブルはすべてのEmpressメッセージのために利用されます。

  3. NLSデータベースに nls_特定言語名のメッセージテーブルが含まれていない場合、 プライマリ言語のメッセージテーブルが使用されます。 プライマリ言語の設定は、 Empress社によって、 またディストリビュータによって設定されます。 Empressメッセージが出力されるデフォルト言語になります。

例えば、Empressユーザーが、プライマリ言語がドイツ語である Empressバージョンを持っている場合、 NLSデータベースは、すべてのEmpressメッセージを含む nls_germanテーブルを持っています。 Empressのコピーの 単一言語として英語を話すユーザーは、 環境変数にMSLANG=englishを設定することによって、 nls_englishテーブルは常に有効である場合、 今までどおり理解できるメッセージを得ることができます。

注意として

3.3.66 MSLICENCE

この変数はライセンス情報を含んだEmpressの内部変数です。 この値は変更しないでください。

3.3.67 MSLINECONT

MSLINECONT変数は、 次の行にカレント行を続けるために使用する文字列を設定します。 (これは新しい行をマスクするため) デフォルトの値はバックスラッシュ( \)です。

継続文字として"-"を 問い合わせ言語コマンドとして SQLスタイル行 Set SQL-style line continuation, with "-" as the continuation character, with the the Query Language command:

   SET MSLINECONT TO "-";

3.3.68 MSLKCOMMITADDEND

この変数は、 レコードレベルロックに設定されたテーブルに登録処理をする場合に Empressの動作に影響します。 設定された場合、連続した登録の間にロックマネージャへのアクセス回数を 減らします。 これはロックマネージャへのより少ないアクセスにより、いくつかのスピードの 改善をおこなうことができます。 例えば、 レコードの連続登録処理の通常のEmpressの動作は 以下が繰り返されます。

  1. update ロックを得ます。
  2. レコードを書き込みます。
  3. ロックを解放します。

この変数に値をセットすることでEmpress

  1. 最初のレコードにupdateロックを得ます。以降を繰り返します。
  2. レコード N を書き込みます。
  3. レコード N のロックを解放します。そして N+1 のレコードのロックを得ます。

ステップ3の処理により、ロックの解放とロックの取得を同時に行うことで 若干の性能の改善をすることが期待できます。

mrプログラムでは、 ステップ2 と 3 はmradd()と一致します。 そしてmraddend()をコールし、 最後のレコード N + 1のロックを解放します。 mraddend()は、 それが実行されるまで最後のロックは保持されるため、 最後の登録をした後にすぐにコールされます。

デフォルトではこの変数の値は設定されていません。

3.3.69 MSLOCKPLAN

Empress変数MSLOCKPLANは、 データベース操作が実行されると同時に ロック情報について提供します。 ロックタイプ、 ロックモード(read, deferred, update) および実行された操作が成功か、失敗か を生成し出力します。

MSLOCKPLANは、環境変数として設定することができます。 また、Empressconfig directory中のinitfile およびSQLセッションでのSETコマンドにより設定することができます。 SQLセッションの中でMSLOCKPLANを設定するためには以下のコマンドを 使います。

   SET MSLOCKPLAN TO 'X';

MSLOCKPLANには、どのような値を設定しても構いません。

3.3.70 MSLOCKRETRY および MSLOCKSLEEP

MSLOCKRETRYは、ロックファイルへのアクセスができたテーブルに 対するロックの生成をする試行回数を決定します。 この設定をする理由は、例えばテーブルに他のロックを生成することを 妨げるためにupdateモードでロックされている可能性があり、 それにより、ロックの生成の試行がその最初の試行で失敗するために リトライの設定を行います。 デフォルトでは 50 回です。

MSLOCKSLEEP変数は、リトライ間のウェイト秒数を設定します。 デフォルトは 0.09 秒です。この変数は、小数点以下を設定することも可能です。

SQLセッション内で設定する場合、以下を入力します。

   SET MSLOCKRETRY TO 5;
   SET MSLOCKSLEEP TO 2;

上記の設定をし、テーブルに対してロックを生成する試みを行う場合、 Empressは、2 秒間のインターバルで 5 回の試行をおこないます。 Empressは、"ロック中です"のメッセージとともにあきらめるまでに に合計 8 秒間費やされます。

3.3.71 MSMAXPROCS

MSMAXPROCSMSFILELOCKNLOCKSおよびMSFILELOCKNBUCKETSの 3 つの変数は各データベース内の_lockディレクトリ内に管理されている ロックマネージャのサイズを制御します。 これらはファイルタイプのロックの場合において管理を行います。

Empressプロセスの最大数は、 インストレーションキーによって指定され、 同時にMSMAXPROCSの最小値が取られ、 ロックマネージャにアクセスすることを許可します。 この変数はインストレーションキーによって上限値が設定されているため、 通常、Empressユーザーによってこの値を増やすことはできません。

3.3.72 MSMIGRATERETRY および MSMIGRATESLEEP

これらの変数はクレイシステムのみ使用されます。

MSMIGRATERETRY変数は、 CRAYがディスクなしに移行した場合に Empressがサーバーを通してファイルをオープンする試行回数を決定します。 Empressは、失敗する前に MSMIGRATERETRYに指定された回数をリトライします。

MSMIGRATESLEEP変数はこのファイルをオープンすることを試行する間の 待ち秒数を設定します。 この変数は小数点以下の設定も可能です。

以下はコマンドで入力する場合になります。

   set MSMIGRATERETRY to 4;
   set MSMIGRATESLEEP to 1.25; 

上記のように設定し、サーバーを介してファイルにアクセスを試みる場合、 Empressは、1.25秒のインターバルをとり、4回の試行をします。 あきらめるまで 合計 5 秒費やされます。

注意としてこの変数はローカルアクセスでは影響は与えません。このファイルは サーバーを介してのアクセスで必要になります。

3.3.73 MSMKDBSHMEM

MSMKDBSHMEM 変数が設定されている場合、 empmkdbコマンドの-shmemオプションが指定されていなくても シェアードメモリを伴ったデータベースを作成します。

デフォルトでは設定されていません。

3.3.74 MSMWNULLOK

MSMWNULLOKは、Empressレポートライターがヌルを出力する際に エラーメッセージの出力を抑えるために設定します。 これはデフォルトによって設定され、 変数に値を設定しないことでエラー抑止を中止することができます。

3.3.75 MSNLSCODESET

このコードセットは以下の決定をするルックアップテーブルです。

  1. Empress内部標準(EIS)へのキーボードからの文字のトランスレーション

  2. EISから出力デバイスへ。 EISはISO ラテン 1 コードセットです。 内部標準へのこのトランスレーションは、 データを入力し、またデータベースからデータを読む 異なるハードウェアを持ったユーザを許可します。

注意として

3.3.77 MSNRECORDCACHE

テーブルがオープンされるとき(例えばSQLでSELECTを実行)は常に Empressは処理速度向上のための操作としてキャッシュをセットアップします。 このキャッシュはテーブルをクローズされるときに廃棄されます。 MSNRECORDCACHEは、それが保持できるレコード数の単位で キャッシュサイズを設定します。 (従って、それぞれオープンされたテーブルは異なるキャッシュサイズを持っているかもしれません。) キャッシュから読み込み、またキャッシュから書き込みおよびフラッシュを 行うことは、緊密にロックと同期しています。 以下の状況を除いてレコードキャッシュは、 常に実装されることに注意してください。

この変数はデフォルトで 10 が設定されいます。 効果的な設定は、MSTRANSUFNGFL変数の倍数を設定すべきです。 0 が設定された場合はレコードキャッシュを行いません。

3.3.78 MSNULLVALUE

MSNULLVALUE変数は、Empressの出力内の null 値を置き換えるために 文字列を定義します。 デフォルトは設定されていません。そのため、null 値は出力しません。

3.3.79 MSODBCINIFILE

MSODBCINIFILE変数は、ODBC クライアントがデータソースを解決するために 使用されるODBCデータソース定義ファイル名を指定します。 デフォルトは"odbc.ini"ファイルです。

3.3.80 MSOLBBACKUPDEVICE

この変数は、データベースのオンラインバックアップデータを保存する デフォルトの装置およびファイル名を指定します。 指定は、おそらくテープ装置かDAT装置およびファイルになります。 ファイルを指定した場合、指定したファイルのファイルシステムが、 バックアップデータを保存できるだけの十分な余裕が あることに注意する必要があります。

3.3.81 MSOLBBLOCKSIZE

この変数はオンラインバックアップ装置のブロックサイズを指定します。

3.3.82 MSOLBRECOVERYLOG

この変数は、 オンラインバックアップを実行している間に発生する データベースへのアクセスを記録するために使用される 非連続的なリカバリーログファイル名を指定します。 このファイルはバックアップが完了した時点で削除されます。 デフォルトのファイルは、 バックアップが実行されたローカルディレクトリに olbreclogという名前のファイルで 作成されます。

3.3.83 MSPAGELENGTH

MSPAGELENGTH変数は、Empress レポートライターの デフォルトページ長(1ページ内のデフォルトの行数)を設定します。 デフォルトでは 66 に設定されています。 デフォルトページ長を 23 に設定するには、 オペレーティングシステムのプロンプト上で以下のコマンドを入力します。

UNIXの場合

   setenv MSPAGELENGTH 23

Win32の場合

   set MSPAGELENGTH=23

3.3.84 MSPAGER

MSPAGER変数は、問い合わせ言語コマンドのページ出力のために 使用されるオペレーティングシステムコマンドを設定します。 MSEDITORのように、パイプを含む、シェルスクリプト(標準入力から読み込み) を設定する可能性があります。(例えば"pr | more") シェルスクリプトが使用される場合、その用法は MSSHELLによって指定されたシェルの構文である必要があります。 デフォルトはシステムのmoreコマンドです。

SQLセッション内でページ処理を "pr | more" に変更する場合は 以下のように設定します。

   SET MSPAGER TO "pr | more";

3.3.85 MSPAGEWIDTH

MSPAGEWIDTH変数は、Empress レポートライターの デフォルトページ幅(1ページのデフォルトのカラム数)を設定します。 デフォルトでは 132 に設定されています。 デフォルトページ幅を 80 に設定するには、 オペレーティングシステムのプロンプト上で以下のコマンドを入力します。

UNIXの場合

   setenv MSPAGEWIDTH 80;

Win32の場合

   set MSPAGEWIDTH=80

3.3.86 MSPERMS

MSPERMSは、Empress出力ファイルのアクセス許可を設定します。 アクセス許可は、 R (read), W (write), E (execute) の組み合わせにより指定します。 また、こららは、 所有者, グループ および 他人 の順に指定します。 例えば、initfileに新しいファイルのアクセス許可として、 所有者read-write, グループread 他人read 設定する場合、以下のように指定します。

   MSPERMS=RW,R,R

許可はオペレーティングシステムによって設定された制限を無視しませんが、 新しいファイルに追加の制限を設定することはできます。

3.3.87 MSPRINTER

MSPRINTER変数は、出力をプリンタに送るために使用するオペレーティングシステムの デバイス名を指定します。

UNIX システムでは、パイプを含む、シェルスクリプト(標準入力からの読み込み)を 設定する場合もあります。 シェルスクリプトが使用される場合、その用法はシェルでの指定方法でなければならない ことに注意してください。 デフォルトでは"pr |lpr"です。 問い合わせ言語のコマンドによって、"lpr"へのプリンタ出力に設定する場合は 以下のように入力します。

   SET MSPRINTER TO "lpr";

3.3.88 MSQLAUTOPAGE

MSQLAUTOPAGE変数に任意の値を設定することで各コマンドにINTO PAGERが 付加されます。これより、問い合わせ言語による出力は自動的にページ処理されます。 (INTO PRINTERのようなコマンド内の出力の指示はINTO PAGERを無効にします。) これを設定することで各コマンドにオーバヘッドが生じ、レスポンスが多少遅くなることに 留意してください。デフォルトでは自動ページ処理はオフになっています。

以下は自動ページ処理を有効にするための問い合わせ言語コマンドです。

   SET MSQLAUTOPAGE TO x;

3.3.89 MSQLCMDSAVE

MSQLCMDSAVE変数は、コマンド履歴機能によって保存されるコマンド数を 決定します。デフォルトでは 50 コマンドです。 以下の設定例は、最後の 20 コマンドのみを保存する問い合わせ言語コマンドです。

   SET MSQLCMDSAVE TO 20;

3.3.90 MSQLCOUNT

MSQLCOUNT変数を設定することで、SELECT, DELETEおよび UPDATEコマンドによって影響を受けるレコードカウント数を生成します。 デフォルトではこの変数は設定されていません。 以下の設定例は、この変数を設定するための問い合わせ言語コマンドです。

   SET MSQLCOUNT TO true;

3.3.91 MSQLECHO

MSQLECHOは、コマンドのエコーを制御します。 値の指定は、スペースによって分離された値 BATCH, CONV, RUNの 複合の形で定義することができます。 デフォルトではRUNが設定され、問い合わせ言語では RUNコマンドがエコーされます。 (runコマンドよって実行されるコマンドがエコーされます。) MSQLECHOBATCHが設定された場合は、 empbatchによって実行されたコマンドとRUN FROM fileよって 実行されたコマンドの問い合わせ言語コマンドがエコーされます。 MSQLECHOCONVが設定された場合は、 すべてのオンラインの問い合わせ言語コマンドがエコーされます。 (それは入力したコマンドとそのエコーが画面上に表示されます。)

MSQLECHOのSQLでの構文は以下のとおりです。

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

例えば、empbatchrunコマンドを付加する場合

   SET MSQLECHO TO BATCH RUN;

3.3.92 MSQLGCHARWIDTH

式が評価される場合、結果としてパラメータなしのデータとして返されます。 charcter データに対しては、MSQLGCHARWIDTH変数は、出力カラム幅を決定します。 デフォルトは 20 です。 (select文 において、式や関数など[max, min, + - etc...]を用いた場合、その結果 の値はデータ型としてのパラメータ情報を持っていません。そのため表示する場合、 MSQLGCHARWIDTH変数のカラム幅に従います。)

3.3.93 MSQLGDATEWIDTH

式が評価される場合、結果としてパラメータなしのデータとして返されます。 date データに対しては、MSQLGDATEWIDTH変数は、出力カラム幅を決定します。 デフォルトは 20 です。 (select文 において、式や関数など[max, min, + - etc...]を用いた場合、その結果 の値はデータ型としてのパラメータ情報を持っていません。そのため表示する場合、 MSQLGDATEWIDTH変数のカラム幅に従います。)

3.3.94 MSQLGDECIMALWIDTH

式が評価される場合、結果としてパラメータなしのデータとして返されます。 decimal データに対しては、MSQLGDECIMALWIDTH変数は、出力カラム幅を決定します。 (select文 において、式や関数など[max, min, + - etc...]を用いた場合、その結果 の値はデータ型としてのパラメータ情報を持っていません。そのため表示する場合、 MSQLGDECIMALWIDTH変数のカラム幅に従います。) MSQLGDECIMALWIDTHは、カラム内に現れるデータのフォーマットのみを制御します。 例えば、group 以下に指定された関数の decimal データの結果のフォーマットは制御しません。 デフォルトではカラム幅が14 カラムで小数点以下2桁です。 SQL内でカラム幅を 10 で小数点以下 4桁にする場合は以下のように設定します。

   SET MSQLGDECIMALWIDTH TO '10 4';

3.3.95 MSQLGFLOATWIDTH

式が評価される場合、結果としてパラメータなしのデータとして返されます。 floatデータに対しては、MSQLGFLOATWIDTH変数は、出力カラム幅を決定します。 デフォルトは 22 です。 (select文 において、式や関数など[max, min, + - etc...]を用いた場合、その結果 の値はデータ型としてのパラメータ情報を持っていません。そのため表示する場合、 MSQLGFLOATWIDTH変数のカラム幅に従います。)

3.3.96 MSQLGINTEGERWIDTH

式が評価される場合、結果としてパラメータなしのデータとして返されます。 floatデータに対しては、MSQLGINTEGERWIDTH変数は、出力カラム幅を決定します。 デフォルトは 11 です。 (select文 において、式や関数など[max, min, + - etc...]を用いた場合、その結果 の値はデータ型としてのパラメータ情報を持っていません。そのため表示する場合、 MSQLGINTEGERWIDTH変数のカラム幅に従います。)

3.3.97 MSQLONELINE

MSQLONELINEに何か値を設定することで、通常のセミコロン";"ではなく、 改行がコマンドの終了であることを指示します。 この変数がセットされた場合、1 行を越えるコマンドの指定は、行を続けることを 表す文字で終わる必要があります。( MSLINECONTを参照。)

SQLセッション内で改行をコマンドの終了とする場合

   SET MSQLONELINE TO 'x';

3.3.98 MSQLPROMPT1 および MSQLPROMPT2

MSQLPROMPT1変数は、プライマリEmpressプロンプトを指定します。 デフォルトのプロンプトは現在のコマンド番号 と アスタリスク、スペースになり、 起動時の最初のコマンドプロンプトは"1* "、次のプロンプトは"2* " のようになります。これはSQLセッションでで以下の構文によって指定した場合と 同じ設定になります。

   SET MSQLPROMPT1 TO "CMDNUM* ";

CMDNUMは、Empressにその指定された位置に現在のコマンド番号を挿入するように 指示します。

MSQLPROMPT2変数は、セカンダリのEmpress プロンプトを設定します。 このプロンプトは、1 行を越えるコマンドで表示されます。 通常、ピリオドの後にスペース(". ")になります。

SQLセッション内において、プライマリプロンプトを"emp: " に、 セカンダリプロンプトを"more: "と設定する場合は以下のように指定します。

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

3.3.99 MSQLSELBOX

MSQLSELBOXに何か値を設定することで、 SELECTコマンドの出力結果に外枠で囲みます。 デフォルトでは設定されていません。 SQLセッション内で設定する場合は以下のように設定します。

   SET MSQLSELBOX TO 'x';
   SELECT FROM personnel;

出力結果

   --------------------------------------------------------
   |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 MSQLSELCOLSEP

MSQLSELCOLSEPは、SELECTコマンドの出力結果内の カラムを分離する文字列を指定します。 デフォルトでは、 2 個のスペースです。 SQLセッション内でカラムセパレータ文字として縦棒を設定する場合、 以下のように設定します。

   SET MSQLSELCOLSEP TO " | ";

"SELECT FROM personnel;"コマンドの出力結果

   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.101 MSQLSELGROUPCOLCROSS

MSQLSELGROUPCOLCROSSは、SELECTコマンドの 出力結果内でグループセパレータ(MSQLSELGROUPSEP)が、 カラムセパレータ(MSQLSELCOLSEP)と交差する箇所に出力する 文字列を指定します。 値はカラムセパレータと同じ幅にすべきです。 グループセパレータが設定されていない場合は、デフォルトは 設定されず(null)、グループセパレータが設定されている場合は、 カラムセパレータがデフォルトになります。

以下にSQLセッション内での指定例になります。

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

出力結果

   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.102 MSQLSELGROUPSEP

MSQLSELGROUPSEPは、SELECTコマンドの出力結果内で グループセパレータとして使用される1 文字を指定します。 指定された文字は、それぞれのグループの出力の間で繰り返し出力されます。 デフォルトでは、値は設定されず(null)、グループの間のセパレートする 行は出力されません。

設定例は、前のセクションでのMSQLSELGROUPSEPを 使用した出力結果を参照してください。

3.3.103 MSQLSELHEAD

MSQLSELHEADは、SELECT コマンドの出力結果内に ヘッダーを出力するかどうかを制御するフラグです。 MSQLSELHEADに何か値が設定された場合、ヘッダーを出力し、 設定されていなければ、出力しません。 デフォルトでは設定されています。 SQLセッション内でヘッダーの出力を止めるには以下のように入力します。

   UNSET MSQLSELHEAD;

3.3.104 MSQLSELHEADCOLCROSS

MSQLSELHEADCOLCROSSは、SELECTコマンドからの出力結果内で、 ヘッダーセパレータ(MSQLSELHEADSEP)とカラムセパレータ(MSQLSELCOLSEP) の交差する箇所に出力する文字列を指定します。 値はカラムセパレータと同じ幅にすべきです。 ヘッダーセパレータが設定されていない場合、 デフォルトでは設定されず(null)、ヘッダーセパレータが設定されている場合は、 カラムセパレータがデフォルトになります。

以下にSQLセッション内での指定例になります。

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

出力結果

   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.105 MSQLSELHEADSEP

MSQLSELHEADSEPは、SELECTコマンドでの出力結果内で ヘッダーセパレータとして使用される 1 文字を指定します。 指定された文字は、ヘッダーの下にセパレータ行として繰り返し出力されます。 デフォルトでは 1個のスペースで、したがってヘッダーと出力レコードの間に 空白行が入ります。 SQLセッション内での指定は以下のようにおこないます。

   SET MSQLSELHEADSEP TO "-";
   SELECT FROM personnel;

出力結果

   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 MSQLSELKEEPDUPLICATE

SELECTコマンドでグルーピング(group)が要求された場合、 グルーピングは行われるアトリビュートの重複値は通常、出力されません。 重複値を出力するためには、MSQLSELKEEPDUPLICATEに何か値を 設定します。

3.3.107 MSQLSELROWCOLCROSS

MSQLSELROWCOLCROSSは、SELECTコマンドからの出力結果内で、 ロウセパレータ(MSQLSELROWSEP)とカラムセパレータ(MSQLSELCOLSEP) の交差する箇所に出力する文字列を指定します。 値はカラムセパレータと同じ幅にすべきです。 カラムセパレータが設定されていない場合、 デフォルトでは設定されず(null)、カラムセパレータが設定されている場合は、 カラムセパレータがデフォルトになります。

以下にSQLセッション内での指定例になります。

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

出力結果

   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.108 MSQLSELROWSEP

MSQLSELROWSEPは、SELECTコマンドでの出力結果内で ロウセパレータとして使用される 1 文字を指定します。 指定された文字は、行の下にセパレータ行として繰り返し出力されます。 デフォルトでは設定されず(null)、したがって行の下にはセパレータ行は 表示されません。

この変数の設定の出力例は上記のMSQLSELROWCOLCROSSの設定例になります。

3.3.109 MSQLSELTRUNCATE

SELECTコマンドでの出力結果内で、 通常、最も幅が広いデータ値に合わせるため カラム幅は広げられます。 カラム幅が指定されている場合、 通常、データは次の行にラップされます。 MSQLSELTRUNCATEが設定されている場合、 明示的なカラム幅の仕様を超えるデータは切り詰められます。 MSQLSELTRUNCATEに何か値が設定することで 切り詰め処理を行うように設定します。 この変数の設定は、カラム幅が指定されていないコマンド出力には 影響を与えません。

3.3.110 MSQLSELWARN

MSQLELWARNに任意の値が設定され、 SELECTコマンド内の式がエラー値として評価された場合に エラーメッセージを出力します。 MSQLELWARNはデフォルトで設定されています。 以下のコマンドにより、設定しないようにできませす。

   UNSET MSQLSELWARN;

3.3.111 MSQLTRANSACTION

MSQLTRANSACTIONに任意の値が設定された場合、 各問い合わせ言語コマンド(構文エラーのあるコマンド、 およびRECALL, HOLD, HELP, CHANGE, EDITを除くコマンド) の直前にEmpressによってCOMMIT TRANSACTIONSTART TRANSACTIONが発行されます。 したがって、個別の問い合わせ言語コマンドがキャンセルされることが あります。

この変数はデフォルトでは設定されていません。 自動的に直前にトランザクションの発行をSQLセッション内で 行うには、以下のコマンドを実行します。

   SET MSQLTRANSACTION TO 'x';

3.3.112 MSQLVARCHARS

MSQLVARCHARS変数は、Empress変数に使用される 3 つの文字を 設定します。 その 3 つの文字とは、通常、($)と({})になります。 変数の値は、通常ドル記号($)を使って参照します。 また、前後のテキストから変数名を分離する区切り文字は通常は大括弧 ({}) を用います。このわずか3文字のみ指定される必要があります。 アルファベットおよび数字ではありません。

例えば以下のコマンドによって、変数文字(VARCHAR)を アンパサンド とかぎ括弧に 変更します。

   SET MSQLVARCHARS TO "&[]";

値としてpersonnelが設定された Pと呼ばれる変数があった場合、 &Pによってその値を参照することができます。 また、"[" と "]"で残りの文字列から区切ることが できます。 以下のコマンドによって、personnel_data と呼ばれるファイルから personnelテーブルをロードすることができます。

   INSERT &P FROM &[P]_data;

変数を展開する文字による特別な機能をエスケープしたい場合は、 二重に指定することで、文字列として評価させることができます。 例えば"&&P"は文字列"&P"として 扱うことができます。

3.3.113 MSQUERYPLAN

Empress変数MSQUERYPLANは、 QUERYオペレーションが実行されるときにインデックスの使用についての情報を 提供します。 MSQUERYPLANは環境変数、および Empressconfigディレクトリ中のinitfile、 またSQLセッションのSETコマンドにより設定することができます。

MSQUERYPLANが設定されている場合、 実行されるすべてのQUERYオペレーションは、 QUERYオプティマイザーによって利用される インデックスの情報を報告します。 この変数は、EmpressのQUERYオプティマイザーによる インデックスの最適な使用を決定するために有効です。 (検索においてインデックスが有効に利用されているかどうかを判断し、 有効に利用されるようにSQL文の改善およびインデックスの見直しのために 利用されます。) SQLセッション内でのMSQUERYPLANの設定は、以下のコマンドを使用します。

   SET MSQUERYPLAN TO 'x';

3.3.114 MSSAVECWD

各データベースがオープンされた場合、 カレントワークディレクトリ(CWD)を保存するための要求が行われます。 この変数が設定された場合、Empressは、 プログラムが明示的にカレントディレクトリを変更しないと仮定します。 したがって、Empressは、CWD をチェックの要求をしませんが、 msinitコール時だけは保存されたパスをリセットすることができます。 この設定により、いくつかのデータベースが最初に開かれる場合、 わずかにセクション中のコードの実行を遅くすることがあります。

3.3.115 MSSELEXTFETCH

MSSELEXTFETCH変数は Empressmrmxルーチンの "mrprev" および "mxprev" 関数の使用法に関連した 以前のバージョンとの互換性の問題を解決するためにデフォルトで 設定されています。 "mrprev"および "mxprev" を使用しない場合、 Empress C-API mr/mx アプリケーションのパフォーマンスの向上のため MSSELEXTFETCHの設定は避けてください。

3.3.116 MSSERVERHEARTBEAT

データベースサーバーは、 MSSERVERHEARTBEATに指定された秒ごとに チェックをおこない、その間がアイドル状態であった場合には メッセージを出力します。 デフォルトは "0" が設定されています。この"0"意味は データベースサーバーがアイドルタイムのチェックを しないということです。

3.3.117 MSSERVERNETTYPE

この変数は、ネットワークアクセスタイプを指定し、 値としてINET_UDPを設定することができます。

3.3.118 MSSERVERTERSELOG

この変数はデフォルトで設定されています。 コンパクトなフォーマットでサーバーログ情報を出力します。 内容はクライアントの接続/切断とユーザー名、クライアントID、 プロセスID、マシンIDのみを出力します。

3.3.119 MSSHAREDMEMORYDIR

mmap(メモリーマッピング)の利用のための メモリーマップファイルディレクトリを指定します。 デフォルトは"${EMPRESSPATH}/rdbms/spool/shm"ディレクトリです。

3.3.120 MSSHELL

MSSHELL変数は、Empress中から シェルエスケープにより使用されるオペレーティングシステムの シェルを設定します。設定はフルパスで設定します。 このMSSHELLの値は、 MSEDITORMSPAGERMSPRINTER に指定されたシェルスクリプトを実行するためのプログラム名になります。

デフォルトはシステム変数のSHELLの値になります。 また、C シェルをエスケープシェルとして設定する場合は以下のようになります。

   SET MSSHELL TO "/bin/csh";

3.3.121 MSSHMLOCATION

この変数には、シェアードメモリセグメントが存在するシステムのアドレスを 設定します。 この値はシステムごとにおそらく異なった値になります。また、 値が設定されていない場合は、システムデフォルトが使用されます。 この変数は内部変数ですので、 値は変更しないでください。

3.3.122 MSSHMPERMS

MSSHMPERMS変数はシェアードメモリパーティションのデフォルトのアクセス許可を 設定します。 アクセス許可はR(read), W (write), X (execute)の組み合わせに なり、所有者、グループ、他人の順に指定します。

この変数は、initfileファイルに設定され、デフォルトの値を持ちません。 そのため、オペレーティングシステムのデフォルトが適用されます。 通常はumaskの設定になります。

この変数のデフォルトの値を上書きするためには シェアードメモリセグメントの作成する前に tabzeroファイルに設定します。 (例えば、MSSHMPERMS=RW,R,R)

3.3.123 MSSORTBYPASS

MSSORTBYPASS変数は、ソート中にロックされたレコードを見つけた場合に Empressの動作を制御するフラグです。 このフラグが設定されない場合、"ロック中です。"のメッセージを 出力し、処理を中断します。 フラグが設定されている場合は、ロックされたレコードは無視され、 "ソートが終了するまでレコードはロックされます。" のメッセージを出力します。 このフラグを設定するには、以下のようにMSSORTBYPASSに何か値を設定します。

   SET MSSORTBYPASS TO 'x';

この変数はEmpressのすべてのソート処理を制御します。 デフォルトにより設定されています。

3.3.124 MSSORTSPACE

MSSORTSPACEは、 Empressがソート処理の間に取得を試みるメモリスペース量の制限を 設定します。 この制限の量はバイト数になります。 ソートで使用するメモリ量がこの設定値を越えた場合、テンポラリファイルを使用して 続行します。 100 Kバイトを制限として設定するには、以下のように指定します。

   SET MSSORTSPACE TO 102400;

設定するサイズが 2 ブロック(システムのブロックサイズ数)より少ない場合は、 Empressは、デフォルトでは 512 K の取得を試みます。

3.3.125 MSTERM

MSTERMは、使用中の端末タイプを識別します。 使用している端末のタイプを変更したときに設定します。 TERMが使用され、 MSTERMが設定されていない場合、 TERMは、他のソフトウェアと共用され、 競合によるいくつかのリスクがあるため、 TERMとは別にMSTERMを 設定することを推奨します。 MSTERMは、Empress 4GLにより 使用されていることに留意してください。

3.3.126 MSTERMDB

この変数はEmpress 4GLによって利用される端末データベースの場所を指定します。 デフォルトのパスは"${EMPRESSPATH}/rdbms/4gl/termdb"です。

変更した端末データベースを利用したい場合は、MSTERMDBに 新しい端末情報データベースのパスを設定すべきです。

3.3.127 MSTERMSYS

この変数は、Empress 4GLによって使用されます。 端末タイプのプリフィックスを指定します。

過去において、異なったマシンの xterm は定義が異なっていました。 これは主として異なるタイプのキーボードのためです。 したがって、MSTERMSYSは、異なったタイプのキーボードを 指示するために利用されます。 例えば hp.xterm と ix.xterm は

   MSTERMSYS=hp
   MSTERMSYS=ix

と指定します。

現在では、ほとんどのシステムは 101 キーボードと同等なものが使用されています。 したがって、pcはデフォルト値として使用されます。

3.3.128 MSTHRESHOLDPFLSIZE

削除処理において削除されるレコード数が非常に多い場合、 レコードを削除するたびに削除したレコードを再利用するための処理を するとアクセス速度の低下がおこるため、削除されたレコードを再利用するための 処理をするタイミングをレコード数で制御するための変数です。 これは自動的にフラッシュおよびマージが GFL(グローバルフリーリスト)に対し実行される前に 内部 PFL (プロセスフリーリスト)が取得できる 最大サイズを制御します。 プロセスに対して MSTHRESHOLDPFLSIZEに削除レコード数が 指定が行われた場合、 プロセスは、ファイルヘッダーを通して アクセス可能なフリースロットを作成します。 これにより、他のプロセスへ(登録のための) これらの有効なスロットを作ることになります。 このしきい値は、フラッシュおよびマージを安全に実行することが 可能にするため、 更新CRITロックが、フラッシュおよびマージの間に 要求されことでその動作を保証する必要があります。

initfileでは 500 が設定されています。

3.3.129 MSTMPDIR と MSTMPPFX

MSTMPDIR変数は、Empressによってテンポラリファイルを作成する ディレクトリを指定します。

UNIXの場合、通常デフォルトでは/tmpが設定されます。

MSTMPPFX変数は、Empressによって作成されたテンポラリファイル に使用するプリフィックスを指定します。 デフォルトはmsです。(残りのファイル名はプロセス番号になります。) Empressテンポラリファイルにプリフィックスをmeとして設定する 場合、以下のように入力します。

   SET MSTMPPFX TO 'me';

新しいプリフィックスは 2 文字を越えてはならないことに注意してください。 それ以上指定した場合、ファイル名が切り詰められ、 Empressはファイルを見つけることができなくなります。

3.3.130 MSTRANSCOMMENT

MSTRANSCOMMENTは、すべてのトランザクションにコメントを定義します。 トランザクションの開始時にこの変数が設定されている場合、 この変数の値はトランザクションのコメントとして付けられます。 この変数は複数の人が同一のアカウントから作業した場合に、 それぞれのトランザクションを区別するために有益です。 この値には、最大 64 文字以内の文字列を指定します。 文字列に空白が含まれる場合は、引用符で囲む必要があります。 この変数はデフォルトでは設定されていません。

トランザクションにコメントを付ける例を示します。

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

3.3.131 MSTRANSSYNC

MSTRANSSYNC変数は、トランザクション中での すべてのデータを、ただちにファイルに書き込むことを 保証するために設定します。 この変数は、ウォームリスタート機能が成功することを 保証するために設定すべきです。

3.3.132 MSTRANSTABLELOCK

MSTRANSTABLELOCKが設定され、LOCK LEVELコマンドによって ロックレベルが設定されている場合、トランザクションに関連するすべてのテーブルは 自動的にテーブルレベルロックに設定されます。 これは対象テーブルにおいて、トランザクション中に 同じ順番で同じレコードを表示することを確実にするために 有用です。 これはレコードごとにロックするのではなく、テーブルごとにロックするために レコードレベルロックに比べ、効果的です。

トランザクション中にテーブルレベルロックに設定するコマンドは、 以下のように設定します。

   SET MSTRANSTABLELOCK TO 'x';

3.3.133 MSTRANSUFNBI

Empressは、 変更される前のレコードのトランザクションログのイメージ 記録することにより、トランザクションを操作します。 もし、トランザクションの間、同じレコードが複数回、変更され、 そのレコードの複数のイメージがログに記録された場合、 トランザクションがキャンセルされたときは ログファイル全体がなくなるまで Empressはログファイルを介して前に戻す処理と すべてのレコードを同時にリストアする処理を行います。

Empressのこの問題の最適化として、 トランザクション中の変更されたレコードリストを管理します。 レコードを変更する場合、Empressは最初に このレコードが既にリストにあるかどうかを探します。 見つかった場合、 Empressは、 このレコードの"before image"を既に持っていることを認識し、 トランザクションファイル内に別のイメージのログを出力する 必要はなくなります。 見つからなかった場合はEmpressは そのリストにレコード番号を追加し、 トランザクションログへ前のイメージを保存します。

このリストのサイズはEmpress変数MSTRANSUFNBIによって制御されます。 この変数の適当な設定として、 平均的なトランザクションサイズと同等な値として、 デフォルトを 10 としています。

この設定は、同一のレコードがひとつのトランザクション内で2回以上変更される場合に 特に有効ですが、そうではない利用では、このリストは余分なオーバーヘッドの要因になることに 注意してください。 また、オーバーヘッドは レコードがリストに既に存在する場合、参照するためにリストの線形サーチによってもおこります。

3.3.134 MSTRANSUFNGFL

この変数は、パフォーマンスの最適化のために トランザクション中のフリーレコードへのアクセスを制御します。 Empress社では、 Empressサポートの助言なしに この変数の値の変更をしないことを推奨します。

3.3.135 MSTRANSWARMPROTECT

MSTRANSWARMPROTECTは、 自動ウォームリスタートユーティリティempwarmによって トランザクションを解決するかどうかを制御するフラグになります。 トランザクションが開始されたときに この変数に任意の値が設定されていた場合、 このトランザクションはウォームリスタートユーティリティから保護されます。 つまり、empwarmユーティリティは、セーブポイントまで戻すことが できるのであれば、このトランザクションを無視します。 この機能は自動ウォームリスタートがシステムの再起動のプロセスの一部として 組み込まれている場合に有用です。 コミットコマンドが発行されていない場合において 保護されていないトランザクションは確実にロールバックされるため、 中断がなく保護されていない長いトランザクションは、 ロールバックされる傾向があります。 トランザクションを保護することは、ウォームリスタート実行後に "START TRANSACTION FROM savepoint"コマンドによって トランザクションをセーブポイントまで復旧させることが可能となります。

この変数はデフォルトでは設定されず、そのため、デフォルトではすべての中断 されたトランザクションはウォームリスタートによって解決することができます。 この変数を設定するには以下のように入力します。

   SET MSTRANSWARMPROTECT TO 'x';

3.3.136 MSVALIDATELEVEL

この変数は、メインテーブルファイル(.relファイル)および オーバーフローファイル(.dtfファイル)また ボーダーレコードのそれぞれを読み込む場合のダーティリードの 動作を制御します。

詳細な情報は、 ダーティリードとチェックサム を参照してください。

3.3.137 MSVALIDATERETRY と MSVALIDATESLEEP

MSVALIDATERETRY変数は、 Empressが無効なレコードを読むことを行うための リトライ数を指定します。 無効なレコードに対し、すべてのリトライの終了後にまだ読むことが できない場合、 MSVALIDATELEVEL変数の設定することにより、 その無効なレコードをユーザーに届けるか、あるいは破棄するか の動作の設定をすることができます。 詳細な情報は、 ダーティリードとチェックサム を参照してください。

MSVALIDATESLEEP変数は、 無効なレコードを読むためのリトライ間のインターバル秒数を指定します。 詳細な情報は、 ダーティリードとチェックサム を参照してください。

3.3.138 MSVALIDATESIZE

この変数は、バージョン 8.62ではサポートされなくなりました。

3.3.139 MSVALSEP

MSVALSEP変数は、Empressダンプファイル内でアトリビュートの値を 分けるために使用される文字列を設定します。 デフォルトでは、<Ctrl+V>(octal 26)が設定されています。 以下のコマンドでアトリビュートのセパレータ文字をコロン":"に設定します。

   SET MSVALSEP TO ":";

MSVALSEPで設定する値は、データ内に含まれるどのような値とも 異なる値を設定する必要があります。そのように設定されない場合、 アトリビュート値は不意に壊されることがあります。 同様に、ダンプファイルからテーブルにロードする場合、 MSVALSEPは、ダンプファイル内のセパレータとして使用されている 文字列を設定する必要があり、設定されない場合は、INSERTは機能しません。

3.3.140 MSVERSIONMESG

MSVERSIONMESG変数は、Empressバージョン番号を起動時に出力するかどうかを 制御するためのフラグです。デフォルトでは設定されています。 Empressバージョン番号を出力しないように設定するには以下のように入力します。

   UNSET MSVERSIONMESG;

3.3.141 MSWRAPMARGIN

MSWRAPMARGIN変数は、Empressレポートライタの右ラップマージンを 設定します。(自動的な復帰改行の設定) デフォルトでは 0 です。 フィールドの右マージンからMSWRAPMARGIN文字内に空白文字がある場合、 新しい行を開始します。 例えば、以下のコマンドでフィールドの終了から8文字分右ラップマージンを 設定します。

   SET MSWRAPMARGIN TO 8;

3.3.142 MSUSERAUTHCONFIGFILE

この変数はユーザー認証コンフィグレーションファイルを指定します。 詳細な情報は Empress リプリケーション ユーザーズ ガイド: リファレンス を参照してください。

3.3.143 MSNETSERVERCONFIGFILE

この変数はネットワークサーバーコンフィグレーションファイルを指定します。 詳細な情報は Empress リプリケーション ユーザーズ ガイド: リファレンス を参照してください。

3.3.144 MSNETTYPECONFIGFILE

この変数はネットワークタイプコンフィグレーションファイルを指定します。 詳細な情報は Empress リプリケーション ユーザーズ ガイド: リファレンス を参照してください。

3.3.145 MSCONFIGFILEPATH

この変数はネットワークサーバー関連コンフィグレーションファイルへのパスを指定します。 詳細な情報は Empress リプリケーション ユーザーズ ガイド: リファレンス を参照してください。

3.3.146 MSREPLOCKRETRY および MSREPLOCKSLEEP

MSREPLOCKRETRYは、 マスターテーブルがリプリケーション同期のリプケーションマスターである場合、 マスターテーブルのロックを取得するための試行回数を決定します。 この設定をする理由は、例えばマスターテーブルに他のロックを生成することを妨げるために updateモードでロックされている可能性があり、それにより、 ロックの生成の試行がその最初の試行で失敗するためにリトライの設定を行います。 デフォルトでは 5 回です。

MSREPLOCKSLEEPは、リトライの間の秒数を設定します。 この変数は、小数点以下を設定することができます。

SQLセッション内では、以下のコマンドを入力することで設定することができます。

   SET MSREPLOCKRETRY TO 5;
   SET MSREPLOCKSLEEP TO 2;

上記の設定をして、 リプリケーション同期のためのマスターテーブルへのロックの取得を試みる場合、 Empressは、2 秒間のインターバルで 5 回試行します。 あきらめるまで 合計 8 秒間費やされます。

3.3.147 MSREPENABLEUPDATE

デフォルトでは、リプリケートテーブルは更新可能ではなく、 リプリケートテーブルは、リプリケーションマスターテーブルによる リプリケーション同期を介して、すべての更新は行われます。 MSREPENABLEUPDATEの設定は、リプリケートテーブルへの 更新することを十分な特権をもつユーザーに許可しますが、 この値を設定をすることは、避けてください。 リプリケートテーブルの動作は、 他の独立したリプリケートテーブルが、 リプリケートテーブルを更新した後に予期することが できません。 この変数はデフォルトでは設定されていません。 この変数は、Empress内部で使用するための変数です。

3.3.148 MSREPPURGEINTERVAL

リプリケーションテーブルの削除されたレコードは、 依存するリプケーションリプリケートに 同期されるまで消去(物理的な削除)はおこなわれません。 依存するリプケーションリプリケートが同期された場合、 リプリケーションテーブルの削除されたレコードは、 消去されます。 デフォルトでは 1 週間 (7 * 24 = 168 時間)が設定されています。

3.3.149 MSCASEINSENSITIVE

MSCASEINSENSITIVE 変数は大文字小文字を区別しない設定をします。 テーブル、ビュー、アトリビュート、インデックス、リファレンスコンストレイン およびストアードプロシジャーなどのようなデータベースコンポーネントは、 この変数の設定後に作成されたものに対し、大文字小文字を区別しない設定を サポートします。

Win32プラットフォーム上ではEmpressはデフォルトで値として"X"を設定しています。 それ以外のプラットフォームでは設定されていません。

3.3.150 MSNTMPFILECACHE

MSNTTMPFILECACHESIZE変数は、検索処理中で利用される テンポラリテーブルに関連したテンポラリファイルにおいて、 使われるキャッシュサイズを定義します。

Empress 内部で 512K バイトのキャッシュバッファ (EmpressのMSTMPFILECACHESIZE変数で管理されている) の内 4K バイトが設定されています。

3.3.151 MSQUOTEDIDENTIFIERS

MSQUOTEDIDENTIFIERS変数は、引用する識別子を許可します。 設定された場合、 SQLステートメント中で使用される"abcd"は 識別子として扱われ、'abcd'は、リテラルとして扱われます。 何も設定されないか、設定がない場合は、 "abcd"と'abcd'の両方はリテラルとして扱われます。

デフォルトでは、MSQUOTEDIDENTIFIERSは設定されていません。

Empress JDBCドライバは、SUN の JDBC標準によって二重引用符が MSQUOTEDIDENTIFIERSに暗黙的に設定されます。

3.3.152 MSSELEXTFETCH

MSSELEXTFETCH変数は Empressmrルーチンの "mrprev" 関数の使用法に関連した 以前のバージョンとの互換性の問題を解決するためにデフォルトで 設定されています。 "mrprev"を使用しない場合、 Empress C-API mr/mx アプリケーションのパフォーマンスの向上のため MSSELEXTFETCHは設定は避けてください。(MSSELEXTFETCH= と設定してください。)

3.3.153 MSSELMAXROWS

MSSELMAXROWS変数は SELECT 文によって Empress 対話型 SQL インターフェースに戻される 最大レコード数(行数)を設定します。 デフォルトではこの変数は設定されていません。

3.3.154 MSSELTIMEOUT

MSSELTIMEOUT変数は、 Empress 対話型 SQL インターフェースへ 戻すために SQLの SELECT文の実行を 待つ時間を秒数で設定します。 デフォルトではこの変数は設定されていません。

3.3.155 MSTMPFILECACHESIZE

MSTMPFILECACHESIZE変数は、検索処理中で利用される テンポラリテーブルに関連したテンポラリファイルにおいて、 使われるキャッシュサイズを定義します。

キャッシュバッファはバイト数を設定し、例えば100 K バイトを設定する場合、 以下のように入力します。

   SET MSTMPFILECACHESIZE to 102400;

データが設定した値を越える場合は、ファイルの残りはディスク上に格納されます。