GT.M グローバルディレクトリエディタ(GDE)はグローバルディレクトリを作成し検証し変更することを可能にするユーティリティです。GDEはM言語で書かれたプログラムで、 $gtm_dist/mumps -run ^GDE
にてシェルからそれを呼び出すことができ、gtmのエイリアス gtm -run GDE
または内部のダイレクトモードから Do ^GDE
で呼び出すことができます。
GDEへの入力はテキストファイルでできます。本番プロダクション環境では、は、データベース コンフィグレーションを定義するテキストファイルを使用し、これらのテキストファイルはバージョン管理下に置くことを、FISは推奨します。 |
MUPIP CREATEは、新しいデータベースファイルを作成するためにグローバルディレクトリを使用します。他の時には、グローバルディレクトリはデータベースファイルへグローバル変数名をマップするためのみに使用されます。それで、もしグローバルディレクトリを変更するならば、データベースファイルは変更されませんし、その逆も同様です。
GT.Mは環境変数 gtmgbldir を参照することで現在(current)のグローバルディレクトリを識別します 。GDE, MUPIP, LKE, DSE, とGT.M run-time システムは、この環境変数を使用します。run-timeシステムは、通常この環境変数を使用するだけでなく、$ZGBLDIRを設定するか、または拡張グローバル参照 || または {} シンタックスを使用することによって、グローバル ディレクトリにアクセスすることもあります。
もし複数のグローバルディレクトリをメンテナンスする場合は、現在(current)アクティブなグローバルディレクトリを指すように gtmgbldirを定義してください。ログインファイルに gtmgbldir を定義する必要があります。この定義はパス名であることに注意してください。もしそれが "/" で始まらない場合は、それは相対パス名です、そして、GT.Mは現在の作業ディレクトリから開始してそれを検索します。
現在のグローバルディレクトリの割り当てを変更するために、gtmgbldir のために新しい定義を指定してください。
例:
$ gtmgbldir=prod.gld $ export gtmgbldir
gtmgbldir からGDEとグローバルディレクトリが存在しないことを呼び出す時、GDEはデフォルトのグローバルディレクトリを生成します。そのグローバルディレクトリには必要なコンポーネントの最小セットとデータベース特性値が含まれてます。それは開発やテスト作業などを目的として使用することができます。デフォルトのグローバルディレクトリもまた、カスタム グローバルディレクトリの構築のためにスターティングポイントやテンプレートとしてサービスします。
このデフォルトのグローバルディレクトリを維持し続けるためには任意の変更を加えずにGDEを終了してください。
例:
$ gtmgbldir=./mumps.gld $ export gtmgbldir $ gtm GTM>d ^GDE %GDE-I-GDUSEDEFS, Using defaults for Global Directory /usr/accntg/jones/mumps.gld GDE> EXIT %GDE-I-VERIFY, Verification OK %GDE-I-GDCREATE, Creating Global Directory file /usr/accntg/jones/mumps.gld
マッピングはデータベースファイルへグローバル変数の名前を接続するプロセスです。
完全なマッピングには次の4つのコンポーネントがあります:
名前(NAME)
領域(REGION)
セグメント(SEGMENT)
ファイル
これらのコンポーネントは任意の順序で定義できますが、最終的な結果は名前(NAME)からファイル(FILE)へ完全な論理パスでなければなりません:
NAME(s) ---> REGION ---> SEGMENT ---> FILE
デフォルトのグローバルディレクトリは、名前(NAME)、領域(REGION)、セグメント(SEGMENT)、ファイル(FILE) のこれらのエントリで構成され1つの完全なマッピングを含みます。
* ---> DEFAULT ---> DEFAULT ---> mumps.dat (NAME) (REGION) (SEGMENT) (FILE)
アスタリスク "*" ワイルドカードは可能なすべてのグローバルの名前(NAMEs)を識別します。 続いての編集では、個々のグローバル名または名前の接頭辞のためにエントリを作成します。
領域(REGIONs)とセグメント(SEGMENTs)はファイルの作成を制御するために使用される情報を格納します。データベースファイルの作成がCREATEコマンドを使っている時にのみ、領域(REGION)とセグメント(SEGMENT)を保管する特性はMUPIPに渡されます、ですので引き続いて、グローバルディレクトリ上のこれらの特性への変更は既存の1つのデータベースには効果がありません。
新しいマッピングを作成する時、すべてのマッピングのコンポーネントが存在するまで、EXITコマンドを完了することを拒否することによって、GDEはすべてのこれらコンポーネントを持つことを保障します。情報メッセージは、いくつかの不足や余分なコンポーネントを通知します。
デフォルトのグローバルディレクトリは、このようになります:
*** TEMPLATES *** Def Rec Key Null Standard Region Coll Size Size Subs NullColl Journaling ------------------------------------------------------------------------------ <default> 0 256 64 NEVER N N Segment Active Acc Typ Block Alloc Exten Options ------------------------------------------------------------------------------ <default> * BG DYN 1024 100 100 GLOB =1024 LOCK = 40 <default> MM DYN 1024 100 100 DEFER LOCK = 40 *** NAMES *** Global Region ------------------------------------------------------------------------------ * DEFAULT Gharial REPTILES Hoopoe BIRDS Jacare REPTILES Trogon BIRDS *** REGIONS *** Dynamic Def Rec Key Null Standard Region Segment Coll Size Size Subs NullColl Journaling ------------------------------------------------------------------------------ BIRDS BIRDS 0 256 64 NEVER N N DEFAULT DEFAULT 0 256 64 NEVER N N REPTILES REPTILES 0 256 64 NEVER N N *** SEGMENTS *** Segment File (def ext: .dat) Acc Typ Block Alloc Exten Options ------------------------------------------------------------------------------ BIRDS flap.dat BG DYN 1024 100 100 GLOB=1024 LOCK= 40 RES = 0 DEFAULT $HOME/mumps.dat BG DYN 4096 1000 1000 GLOB=1000 LOCK= 40 RES = 0 DEFAULT $HOME/mumps.dat BG DYN 4096 1000 1000 GLOB=1000 LOCK= 40 RES = 0 ENCR=OFF *** MAP *** - - - - - - - - - - Names - - - - - - - - - - From Up to Region / Segment / File(def ext: .dat) ------------------------------------------------------------------------------ % Gharial REG = DEFAULT SEG = DEFAULT FILE = mumps.dat Gharial Gharial0 REG = REPTILES SEG = REPTILES FILE = creep.dat Gharial0 Hoopoe REG = DEFAULT SEG = DEFAULT FILE = mumps.dat Hoopoe Hoopoe0 REG = BIRDS SEG = BIRDS FILE = flap.dat Hoopoe0 Jacare REG = DEFAULT SEG = DEFAULT FILE = mumps.dat Jacare Jacare0 REG = REPTILES SEG = REPTILES FILE = creep.dat Jacare0 Trogon REG = DEFAULT SEG = DEFAULT FILE = mumps.dat Trogon Trogon0 REG = BIRDS SEG = BIRDS FILE = flap.dat Trogon0 ... REG = DEFAULT SEG = DEFAULT FILE = mumps.dat LOCAL LOCKS REG = DEFAULT SEG = DEFAULT FILE = mumps.dat
そこにはクローバルディレクトリに5つの主要なセクションがあります:
テンプレート(TEMPLATES)
名前(NAMES)
領域(REGIONS)
セグメント(SEGMENTS)
マップ(MAP)
グローバルディレクトリ内の各セクションの機能は、以下で説明されます。
グローバル・ディレクトリのこのセクションは、領域(region)またはセグメント定義の一部として、GT.Mに渡されるすべてのデータベースまたはファイルパラメータのデフォルト値を提供します。GDEはこれらに必要な値の1つが明示的に定義されていない領域(REGION)やセグメント(SEGMENT)の定義を完全なものにするためにテンプレートを使用します。
新しいグローバルディレクトリを作成する時に、GDEは初期デフォルト値を提供します。 次にテンプレート(TEMPLATE)コマンドで適切な -REGION または -SEGMENTの修飾子を使用して任意の値を変更ができます。
Mプログラムは、統一的にグローバル変数の名前空間(name space)を見ています。グローバルディレクトリの名前(NAMES)のセクションは、異なるグローバルが別のファイルに属するように名前空間(name space)にパーティション(区分け)します。それぞれのMグローバルが唯一1つのファイル内に存在する限り、それぞれのファイルは多くのMグローバルに格納できます。
領域(REGION)セクションはグローバルディレクトリ内のすべての領域(REGIONs)をリストします。それぞれの領域(REGION)はすべてのMグローバル変数のために共通プロパティを定義します。 それゆえ、 名前(NAMES)セクションから複数の名前(NAMEs)セットは1つの領域(REGION)にマッピングします。
個々の領域(REGION)を作成または変更した時は、適切な修飾子を指定してこれらの値を割り当てます。もし特定のパラメータの値を指定しない場合、GDEはテンプレート(TEMPLATES)セクションからデフォルト値を割り当てます。
グローバルディレクトリのこのセクションは、現在定義されたセグメントをリストします。領域(REGION)がグローバル変数のプロパティを指定している間に、セグメント(SEGMENT)はファイルのプロパティを指定します。領域(REGIONs)とセグメント(SEGMENTs)の間に一対一のマッピングがあります。個々のセグメント(SEGMENTs)を作成または変更する時は、適切な修飾語句を指定することによってこれらの値を割り当てます。もし特定のパラメータの値を指定しない場合、GDEはテンプレート(TEMPLATES)セクションからデフォルト値を割り当てます。
グローバルディレクトリのこのセクションはファイルへのセグメントへの領域への名前の現在のマッピングを示します。デフォルトのグローバルディレクトリでは、このセクションには2つの行があります:1つはすべてのグローバルの保存先を指定します。もう1つはローカルのロックです。もし新しいマッピングコンポーネントの定義(すなわち、新しい名前(Names)、領域(Regions)、またはセグメント(Segments))を追加する場合は、このセクションではそのマッピングの現ステータスを表示します。マッピングのいくつかのコンポーネントは、"NONE" を表示する定義が現在されていません。なぜならGDEは定義されているマッピングのすべての要素が必要なので、すべてのマッピングが完了するまで、グローバルディレクトリを、終了:EXIT(と、保存:save)ができなくなります。
GDEはグローバルディレクトリの出力を表示するには、次の略語を使用しています。次のリストは、関連する修飾子を使用してグローバルディレクトリの省略形を示しています。個々の修飾子の機能の説明については、"GDEコマンドの概要"を参照してください。
Abbreviation Full Form Acc ACCESS_METHOD Alloc ALLOCATION Block BLOCK_SIZE Def Coll COLLATION_DEFAULT Exten EXTENSION_COUNT File FILE_NAME GLOB GLOBAL_BUFFER_COUNT Journaling [NO]JOURNAL KeySize KEY_SIZE LOCK LOCK_SPACE NullSubs [NO]NULL_SUBSCRIPTS RecSize RECORD_SIZE RES RESERVED_BYTES Region REGION Typ DYNAMIC_SEGMENT
一旦GT.Mがインストールされその動作が検証をされたなら、要求に基づいてグローバルディレクトリを作成してください。このカスタマイズされたグローバルディレクトリを作成するには、希望のグローバルディレクトリを構築するために適切なGDEコマンドと修飾子を使用してください。GDEコマンドはこの章の後半で説明します。
標準テキストエディタでGDEコマンドのテキストファイルを作成し、GDEでこのファイルを処理することもできます。本番プロダクション環境では、これはGDEのインタラクティブな用法よりも、より良い構成制御を与えます。
グローバルディレクトリで一つの領域(REGION)をADDまたはCHANGE する時、もし -JOURNAL オプションを選択する場合は、次のセクションでグローバルディレクトリが追加され、そして、SHOW を起動して表示します。カラムはジャーナルオプションで選択された値の表示を提供し、または、FISによりデフォルトが 明示的に定義されていない任意のオプションにより提供されます。
*** JOURNALING INFORMATION *** Region Jnl File(ext:.mjl) Before Buff Alloc Exten -------------------------------------------------------------- DEFAULT <based on DB file> Y 128 100 100
ジャーナリングの詳細については、この章のJOURNAL修飾子に関するセクションを参照してください 。ジャーナリングの詳細については、この章と第6章:" GT.Mジャーナリング " の JOURNALの修飾語句のセクションを参照してください。