GDEの概要

GT.M グローバルディレクトリエディタ(GDE)はグローバルディレクトリを作成し検証し変更することを可能にするユーティリティです。GDEはM言語で書かれたプログラムで、 $gtm_dist/mumps -run ^GDE にてシェルからそれを呼び出すことができ、gtmのエイリアス gtm -run GDE または内部のダイレクトモードから Do ^GDEで呼び出すことができます。

[注意]

GDEへの入力はテキストファイルでできます。本番プロダクション環境では、は、データベース コンフィグレーションを定義するテキストファイルを使用し、これらのテキストファイルはバージョン管理下に置くことを、FISは推奨します。

MUPIP CREATEは、新しいデータベースファイルを作成するためにグローバルディレクトリを使用します。他の時には、グローバルディレクトリはデータベースファイルへグローバル変数名をマップするためのみに使用されます。それで、もしグローバルディレクトリを変更するならば、データベースファイルは変更されませんし、その逆も同様です。

現在(Current)のグローバル ディレクトリを識別する

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)

グローバルディレクトリ内の各セクションの機能は、以下で説明されます。

テンプレート(TEMPLATES)

グローバル・ディレクトリのこのセクションは、領域(region)またはセグメント定義の一部として、GT.Mに渡されるすべてのデータベースまたはファイルパラメータのデフォルト値を提供します。GDEはこれらに必要な値の1つが明示的に定義されていない領域(REGION)やセグメント(SEGMENT)の定義を完全なものにするためにテンプレートを使用します。

新しいグローバルディレクトリを作成する時に、GDEは初期デフォルト値を提供します。 次にテンプレート(TEMPLATE)コマンドで適切な -REGION または -SEGMENTの修飾子を使用して任意の値を変更ができます。

名前(NAMES)

Mプログラムは、統一的にグローバル変数の名前空間(name space)を見ています。グローバルディレクトリの名前(NAMES)のセクションは、異なるグローバルが別のファイルに属するように名前空間(name space)にパーティション(区分け)します。それぞれのMグローバルが唯一1つのファイル内に存在する限り、それぞれのファイルは多くのMグローバルに格納できます。

領域(REGIONS)

領域(REGION)セクションはグローバルディレクトリ内のすべての領域(REGIONs)をリストします。それぞれの領域(REGION)はすべてのMグローバル変数のために共通プロパティを定義します。 それゆえ、 名前(NAMES)セクションから複数の名前(NAMEs)セットは1つの領域(REGION)にマッピングします。

個々の領域(REGION)を作成または変更した時は、適切な修飾子を指定してこれらの値を割り当てます。もし特定のパラメータの値を指定しない場合、GDEはテンプレート(TEMPLATES)セクションからデフォルト値を割り当てます。

セグメント(SEGMENTS)

グローバルディレクトリのこのセクションは、現在定義されたセグメントをリストします。領域(REGION)がグローバル変数のプロパティを指定している間に、セグメント(SEGMENT)はファイルのプロパティを指定します。領域(REGIONs)とセグメント(SEGMENTs)の間に一対一のマッピングがあります。個々のセグメント(SEGMENTs)を作成または変更する時は、適切な修飾語句を指定することによってこれらの値を割り当てます。もし特定のパラメータの値を指定しない場合、GDEはテンプレート(TEMPLATES)セクションからデフォルト値を割り当てます。

マップ(MAP)

グローバルディレクトリのこのセクションはファイルへのセグメントへの領域への名前の現在のマッピングを示します。デフォルトのグローバルディレクトリでは、このセクションには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の修飾語句のセクションを参照してください。

inserted by FC2 system