CHAPTER 4: マニュアルページ


本章はユーティリィティおよびmrルーチンに関するマニュアルページを提供 します。ユーティリィティのマニュアルページは$EMPRESSPATH/manディレクトリに保存 されていて、コマンドを使用して表示することができます。

以下に、ユティリティのマニュアルページの一覧を示します。

カテゴリ サブカテゴリ コマンド
C/C++ API empc++
empcc (UNIX)

下記はアルファベット順でのmrルーチンのためのマニュアルページ一覧です。

msclean msdtfsta msend
msexit msexitcleanup msinit
mspsm_free mspsm_malloc mspsm_realloc
mspsm_trig_abort_operation mspsm_trig_get_record_info
mradd mraddend
mrbuktxtcrt mrbuktxtlen
mrcldict mrclose mrcompare
mrcontrol mrcopyi mrcopyr
mrcopyv mrcvt mrcvti
mrcvti2 mrcvtin mrcvtv
mrcvtv2
mrdel mrdelend
mreabort mrebegin mrecons
mrecvarg mreend mrefree
mrefunc mreicvar mreivar
mrenull mrerecattr mrerrmsg
mrerun
mrfree mrfrrec
mrganame mrgdtpar mrget
mrgetbegin mrgetend mrgeti
mrgetptr mrgetrec mrgetvi
mrgetvs mrgfunc
mrigeta
mrlkrec mrlktab
mrmalloc mrmkrec mrmptvi
mrmptvs mrmutexlock mrmutexunlock
mrngeta mrnullr mrnullv
mropdict mropen
mrprev mrprterr mrput
mrputi mrputvi mrputvs
mrqand mrqatr mrqcon
mrqdb mrqexpr mrqieq
mrqlst mrqmch mrqnot
mrqnul mrqor mrqrng
mrqseq
mrrealloc mrreget mrreprev
mrsetnr mrsetnv mrspv
mrsrtbegin mrsubbegin mrsubend
mrsubgeti mrsubputi
mrtadd mrtdel mrtget
mrtgfunc mrtgtbegin mrtopdict
mrtopen mrtprev mrtput
mrtqatr mrtqcon mrtqmch
mrtqnul mrtqrng mrtrcancel
mrtrcommit mrtrrollback mrtrsave
mrtrstart mrtsrbegin
mrulrec mrultab



msclean

DESCRIPTION

msexitで呼び出され、プログラムの終了直前に実行されるプロシージャ をスタック上に配置します。mscleanに受け渡されるプロシージャは、 msexitが呼び出す最後から2番目のプロシージャです。


SYNOPSIS
void   msclean (void (* proc) (void))

USAGE
msclean (proc ());
proc 呼び出されるプロシージャです。


RETURNS

なし。


WARNINGS

この関数は、将来マルチスレッドをサポートするために、変更される予定である ことに注意してください。

この関数はスレッドセーフではありません。スレッドの内部で使用してはいけません。





msdtfsta

DESCRIPTION

この関数は、TEXTNLSTEXTBULK データタイプのフィールドに対して、データの挿入や更新の処理時間を改善するために 使用されます。


SYNOPSIS
void   msdtfsta (msbool enable)

USAGE
msdtfsta (enable);
enable 値がtrueの場合には、データの挿入や更新の時にはテンポラリファイルを 使用せずに、Empress内部バッファからデータベースファイルへ直接保存され ます。falseの場合は、オーバーフローデータの格納のために、 テンポラリファイルが使用されます。


RETURNS

なし。


WARNINGS

msdtfstaを使用した場合、データをを保存するのに使用される バッファは、mraddまたはmrputが呼び出されるまで変更されない ことを保証しなくてはならないことに注意してください。

この関数は、プログラミング言語(mx,mr,プリコンパイラ) でのみ使用されるように意図されています。CREATE TABLEALTER TABLEなどのような、任意のデータ定義言語(DDL)コマンドと共に使用 してはいけません。よってこの関数を、DDL文を実行するmscall関数と共に 使用してはいけません。





msend

DESCRIPTION

この関数は、プログラムを終了せずにクリーンアッププロシージャを呼び出します。


SYNOPSIS
void   msend (void)

USAGE

msend ();



RETURNS

なし。


WARNINGS

なし。





msexit

DESCRIPTION

この関数は、プログラムを終了する前に、msexitcleanupを呼び出し ます。そしてシェルに値を返します。


SYNOPSIS
void   msexit (int value)

USAGE
msexit (value);
value シェルに返す数値。


RETURNS

なし。


WARNINGS

msexitから呼び出される最終プロシージャは、ユーザプロシージャが スペースを解放したかをチェックします。解放されていない場合、警告メッセージを 出力します。

この関数はスレッドセーフではありません。スレッドの内部で使用してはいけま せん。





msexitcleanup

DESCRIPTION

この関数は、プログラムを終了することなくクリーンアッププロシージャを 呼出します。


SYNOPSIS
void msexitcleanup (void)

USAGE
msexitcleanup ();

RETURNS

なし。


WARNINGS

なし。





msinit

DESCRIPTION

mscallmxmrルーチンの初期化を行います。


SYNOPSIS
msbool   msinit (void)

USAGE
msinit ();

RETURNS

成功した場合は、trueを返し、それ以外は、falseを返します。


WARNINGS

なし。





mspsm_free

DESCRIPTION

mspsm_mallocで割付けられたスペースを解放します。


SYNOPSIS
void   mspsm_free (char* space)

USAGE
mspsm_free (space);
space mspsm_mallocから返されるポインタです(char*)。


RETURNS

なし。


WARNINGS

この関数は、パーシステント・ストアド・モジュール(PSM)内で使用されます。

この関数はスレッドセーフではありません。スレッドの内部で使用してはいけません。





mspsm_malloc

DESCRIPTION

パーシスタントストアドプロシージャ(PSM)内で、データを格納するスペース を割付けます。


SYNOPSIS
void*   mspsm_malloc (int size)

USAGE
space = mspsm_malloc (size);
space パーシスタントストアドモジュール(PSM)内で使用する、割付けられたスペースの ポインタ(void*)です。
size 割付けられたスペースのサイズです。


RETURNS

パーシスタントストアドモジュール(PSM)内で使用する、割付けられたスペースのポインタ(void*)です。


WARNINGS

Empress RDBMS内部で解放されるまで、スペースが割り付けられ続け ます。PSMの内部のスペースを解放する必要がある場合、Empressのmspsm_free 関数を使用します。

この関数はスレッドセーフではありません。スレッドの内部で使用してはいけま せん。





mspsm_realloc

DESCRIPTION

mspsm_mallocで割付けられたスペースサイズを変更します。


SYNOPSIS
void*   mspsm_realloc (void* space, int size)

USAGE
realloc_space = mspsm_realloc (space, size);
realloc_space パーシスタントストアドプロシージャの内部で使用するために、割付けられた ポインタ(void*)です。
space パーシスタントストアドプロシージャの内部で使用するために、以前に割付けられた ポインタ(void*)です。
size 割付けられたスペースサイズです。


RETURNS

パーシスタントストアドプロシージャの内部で使用するために、割付けられた ポインタ(void*)です。


WARNINGS

Empress RDBMS内部で解放されるまで、スペースが割り付けられ続け ます。

この関数はスレッドセーフではありません。スレッドの内部で使用してはいけま せん。





mspsm_trig_abort_operation

DESCRIPTION

この関数はトリガプロシージャ内で使用され、対応する操作を異常終了させ ます。


SYNOPSIS
void   mspsm_trig_abort_operation (void)

USAGE
mspsm_trig_abort_operation ();

RETURNS

なし。


WARNINGS

操作前にトリガが起動された場合には、操作は中止されます。

この関数はスレッドセーフではありません。スレッドの内部で使用してはいけま せん。





mspsm_trig_get_record_info

DESCRIPTION

この関数はトリガプロシージャ内で、テーブル記述子とレコード記述の取得の ために使用されます。


SYNOPSIS
void   mspsm_trig_get_record_info (void** pmr, 
                               void** poldrec, 
                               void** pnewrec)

USAGE
mspsm_trig_get_record_info (pmr, poldrec, pnewrec);
pmr テーブル記述子への間接ポインタです。
poldrec 古いレコード記述子の間接ポインタです。(操作前のレコード)
pnewrec 新しいレコード記述子の間接ポインタです。(操作後のレコード)


RETURNS

なし。


WARNINGS
  1. 記述子のスペースは、システムによって割当て、解放が行なわれます。

  2. この関数は、列トリガで実行されければなりません。 FOR EACH ROWオプションを指定しなくてはなりません。 詳細は、 Manual A4: Empress SQLリファレンスのCREATE TRIGGERを参照してください。

  3. poldrecpnewrecの有効性は、トリガのタイプに依存し ます。

    • UPDATEトリガは、既存のレコードpoldrecと新しいレコード pnewrecを参照することができます。
    • INSERTトリガは、新しいレコードを単に参照することができます。 古いレコードの値は意味がありません。
    • BEFORE DELETEトリガは、古いレコードを単に参照することができます。 新しいレコードの値は意味がありません。
    • AFTER DELETEトリガは、古いレコードも新しいレコードの値も意味が ありません。

  4. この関数はスレッドセーフではありません。スレッドの内部で使用してはいけ ません。




mradd

DESCRIPTION

テーブルにレコードを挿入します。失敗した場合は呼び出しプログラムを 終了します。


SYNOPSIS
void   mradd (addr record_desc)

USAGE
mradd (record_desc);

RETURNS

なし。


WARNINGS

mraddを呼び出した後には、mraddendを呼び出しクリーン アップしてください。





mraddend

DESCRIPTION

グループの挿入を終了します。


SYNOPSIS
void   mraddend (addr record_desc)

USAGE
mraddend (record_desc);

RETURNS

なし。


WARNINGS

なし。





mrbuktxtcrt

DESCRIPTION

この関数は、既存のオーバーフローファイル(.dtf)の中で、ユーザ に指定されたスペースを作成します。 mrbuktxtcrtの使用は入力された、データセグメントを保持するために ディスク上のスペースを準備するただ一つの方法です。 mrbuktxtcrtは、システムメモリをアロケートするのではありません。よって システムメモリよりも大きなデータセグメントを作成しても問題ありません。

割付けられたオーバーフロー.dtfエキステントは、null値が埋め込まれ ます。


SYNOPSIS
long   mrbuktxtcrt (mrrdes* rec, mrades* mra, long size)

USAGE
flag = mrbuktxtcrt (rec, mra, size);

rec レコード記述子。
mra BULKまたはTEXTフィールド記述子。
size ユーザが指定したスペース長、ここにはTEXTデータのファイル終端文字 は含まれません。


RETURNS

失敗した場合、-1を返します。


WARNINGS

なし。





mrbuktxtlen

DESCRIPTION

このルーチンは、BULKまたはTEXTデータのバイト数を返し ます。


SYNOPSIS
long   mrbuktxtlen(mrrdes* rec, mrades* mra)

USAGE
flag = mrbuktxtlen (rec, mra);

rec レコード記述子。
mra BULKまたはTEXTフィールドディスクリプタ。


RETURNS

成功した場合は、データのバイト長を返します。 失敗した場合は、-1を返します。これはフィールドが、BULKまたは TEXTデータタイプでない場合です。


WARNINGS

フィールドがTEXT型で、Cスタイルのゼロ終端文字(\0)を保持している場合には、 返される長さには終端文字は含まれません。





mrcldict

DESCRIPTION

データディクショナリーをクローズします。


SYNOPSIS
void   mrcldict (void)

USAGE
mrcldict (void);

RETURNS

なし。


WARNINGS

なし。





mrclose

DESCRIPTION

テーブルをクローズします。ロックされていれば解放します。


SYNOPSIS
void   mrclose (addr table_desc)

USAGE
mrclose (table_desc);

RETURNS

なし。


WARNINGS

なし。





mrcompare

DESCRIPTION

フィールド値をファイルフォーマットの定数と比較します。mrcvt関数 群から返されるファイルフォーマット定数が使用されます。


SYNOPSIS
int   mrcompare (addr record_desc, 
                 addr attr_desc, 
                 addr var_ptr)

USAGE
result = mrcompare (record_desc, attr_desc, 
                    &var);

result = mrcompare (record_desc, attr_desc, 
                    mrcvt (attr_desc, string));
result 比較の結果であるInteger値。
record_des mrmkrecから返されるポインタ(addr)。
attr_desc mrngetaまたはmrigetaから返されるポインタ(addr)。
var ファイルフォーマットの定数を含む変数。
string 外部フォーマット値のポインタ(char*)


RETURNS

フィールド値が定数より小さい場合-1、等しい場合0、大きい場合1を返します。


WARNINGS

なし。





mrcontrol

DESCRIPTION

可変長データの検索のために、上限と下限を設定するのに使用します。


SYNOPSIS
void   mrcontrol (addr attr_desc, 
                  int lower_bound,
                  int upper_bound)

USAGE
mrcontrol (attr_desc, lower_bound, 
           upper_bound)
attr_desc mrngetaまたはmirgetaが返すポインタ(addr)。
lower_bound プログラムバッファに読込む先頭バイト(integer)。
upper_bound プログラムバッファに読込む最終バイト(integer)。


RETURNS

なし。


WARNINGS

なし。





mrcopyi

DESCRIPTION

フィールド値の内部フォーマット値を変数にコピーします。マシンに依存した コードを生成するので、特定のアプリケーション内で使用してください。


SYNOPSIS
msbool   mrcopyi (addr record_desc, 
                  addr attr_desc,
                  addr var_ptr)

USAGE
flag = mrcopyi (record_desc, attr_desc, &var);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されるポインタ(addr)。
attr_desc mrngetaまたはmrigetaによって返されるポインタ(addr)。
var フィールド値の内部フォーマットを保存するのに適したタイプの変数。


RETURNS

値がNULLなら真(1)、その他は偽(0)。


WARNINGS

この関数の使用は、移植性に乏しいコードを生成します。変数はフィールド値を 保存するのに適した型および長さが必要です。マシン上で各Empressデータタイプ が、どのように保存されるか知っておく必要があります。





mrcopyr

DESCRIPTION

レコードのフィールド値を、他のレコードにコピーします。この関数は通常 レコードの更新で使用されます。


SYNOPSIS
void   mrcopyr (addr new_rec_desc, 
                addr old_rec_desc)

USAGE
mrcopyr (new_rec_desc, old_rec_desc);
new_rec_desc mrmkrecによって返されるポインタ(addr)。これは old_rec_descとは、異なるレコード記述子でなくてはなりません。 同一テーブルから作成されたものであれば、他のどのレコード記述子でも構いません。
old_rec_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

なし。


WARNINGS

どちらのレコード記述子も、同一テーブルから取得したものでなくてはいけ ません。





mrcopyv

DESCRIPTION

外部フォーマットのフィールド値を、割付けられたスペースに割当てます。


SYNOPSIS
msbool   mrcopyv (addr record_desc, 
                  addr attr_desc, 
                  char* space)

USAGE
flag = mrcopyv (record_desc, attr_desc, 
                space);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ(addr
space mrspvによって返される、外部フォーマットのフィールド値を保存するために、割当てられたスペースへのポインタ(char*)。


RETURNS

フィールド値がnullでない場合は真(1)、nullの場合は偽(0)を返します。


WARNINGS

TEXTまたはBULKデータタイプのフィールドに対する検索には 使用しないでください。

引数のポインタが、スペースの割付けが行なわれていない場合、mrcopyv () は呼出しプログラムを終了させます。





mrcvt

DESCRIPTION

外部フォーマットのフィールド値を、ファイルフォーマット(公共バッファで) に変換します。


SYNOPSIS
addr   mrcvt (addr attr_desc, char* string)

USAGE
value = mrcvt (attr_desc, string);
value ファイルフォーマットのフィールド値へのポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
string 外部フォーマットのフィールド値へのポインタ(char*)。


RETURNS

変換が成功した場合、ファイルフォーマットのフィールド値へのポインタ (addr)を返します。それ以外はゼロポインタを返します。


WARNINGS

他のmrルーチンの関数を呼び出した場合、変換された値を破壊して しまうのでファイルフォーマットを使用する直前にmrcvtを呼び出してくだ さい。





mrcvti

DESCRIPTION

内部フォーマットのフィールド値を、ファイルフォーマット(準私用バッファ) に変換します。


SYNOPSIS
addr   mrcvti (addr attr_desc, addr var_ptr)

USAGE
value = mrcvti (attr_desc, var_ptr);
value ファイルフォーマットのフィールド値へのポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
string 外部フォーマットのフィールド値へのポインタ(char*)。


RETURNS

変換が成功した場合、ファイルフォーマットのフィールド値へのポインタ (addr)を返します。それ以外はゼロポインタを返します。


WARNINGS

mrcvtiは、mrcvtvとバッファを共有するので、どちらかの 関数が呼び出されると、変換された値が破壊されます。





mrcvti2

DESCRIPTION

内部フォーマットのフィールド値を、ファイルフォーマット(準私用バッファ) に変換します。


SYNOPSIS
addr   mrcvti2 (addr attr_desc, addr var_ptr)

USAGE
value = mrcvti2 (attr_desc, var_ptr);
value ファイルフォーマットのフィールド値へのポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
var_ptr 内部フォーマットのフィールド値へのポインタ(char*)。


RETURNS

変換が成功した場合、ファイルフォーマットのフィールド値へのポインタ (addr)を返します。それ以外はゼロポインタを返します。


WARNINGS

mrcvti2は、mrcvtv2とバッファを共有するので、どちらかの 関数が呼び出されると、変換された値が破壊されます。





mrcvtin

DESCRIPTION

内部フォーマットのフィールド値を、ファイルフォーマット(公共バッファ) に変換します。


SYNOPSIS
addr   mrcvtin (addr attr_desc, addr var_ptr)

USAGE
value = mrcvtin (attr_desc, var_ptr);
value ファイルフォーマットのフィールド値へのポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
var_ptr 内部フォーマットのフィールド値へのポインタ(char*)。


RETURNS

変換が成功した場合、ファイルフォーマットのフィールド値へのポインタ (addr)を返します。それ以外はゼロポインタを返します。


WARNINGS

他のmrルーチンの関数を呼び出した場合、変換された値を破壊して しまうのでファイルフォーマットを使用する直前にmrcvtinを呼び出してくだ さい。





mrcvtv

DESCRIPTION

外部フォーマットのフィールド値を、ファイルフォーマットに変換します。


SYNOPSIS
addr   mrcvtv (addr attr_desc, char* string)

USAGE
value = mrcvtv (attr_desc, string);
value ファイルフォーマットのフィールド値へのポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
string 外部フォーマットのフィールド値へのポインタ(char*)。


RETURNS

変換が成功した場合、ファイルフォーマットのフィールド値へのポインタ (addr)を返します。それ以外はゼロポインタを返します。


WARNINGS

mrcvtvは、mrcvtiとバッファを共有するので、どちらかの 関数が呼び出されると、変換された値が破壊されます。





mrcvtv2

DESCRIPTION

外部フォーマットのフィールド値を、ファイルフォーマットに変換します。


SYNOPSIS
addr   mrcvtv2 (addr attr_desc, char* string)

USAGE
value = mrcvtv2 (attr_desc, string);
value ファイルフォーマットのフィールド値へのポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
string 外部フォーマットのフィールド値へのポインタ(char*)。


RETURNS

変換が成功した場合、ファイルフォーマットのフィールド値へのポインタ (addr)を返します。それ以外はゼロポインタを返します。


WARNINGS

mrcvtv2は、mrcvti2とバッファを共有するので、どちらかの 関数が呼び出されると、変換された値が破壊されます。





mrdel

DESCRIPTION

テーブルからレコードを削除します。失敗した場合呼出しプログラムを終了 します。


SYNOPSIS
void   mrdel (addr record_desc)

USAGE
mrdel (record_desc);
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

なし。


WARNINGS

レコードは、mrgetbeginを呼出しで指定され、mrgetが 呼出され検索されていなくてはなりません。 mrdelendは、一回以上のmrdelが呼出された後に、クリーンアップ のために呼出さなくてはなりません。

テーブルがdeferredモードでオープンされ、updateモードでロックされている 場合、この関数は失敗します。





mrdelend

DESCRIPTION

テーブルからのレコード削除後にクリーンアップ処理を実行します。


SYNOPSIS
void   mrdelend (addr record_desc)

USAGE
mrdelend (record_desc);
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。





mreabort

DESCRIPTION

表現の構築を終了します。用心して終了してください。誤った条件は表現を 構築する間に検知されます。(ファンクション/オペレータまたはアーギュメント/ オペランドの表現への追加関数の成功か失敗によって決定されます。) この関数の使用は、mreendの使用を排除します。


SYNOPSIS
void   mreabort (void)

USAGE
mreabort ();

RETURNS

なし。


WARNINGS

なし。





mrebegin

DESCRIPTION

表現の構築を始めます。これは内部データ構造を初期化します。


SYNOPSIS
void   mrebegin (void)

USAGE
mrebegin ();

RETURNS

なし。


WARNINGS

表現を構築する場合、最初に呼び出さなくてはなりません。





mrecons

DESCRIPTION

表現にタイプtype_descのアーギュメント/オペランドを加えます。 一定のものは外部フォーマット(文字列)にあることに注意してください。 日付や10進のようなデータタイプを含む、他のデータタイプも表現できます。


SYNOPSIS
msbool   mrecons (char* string, 
                  addr type_desc)

USAGE
flag = mrecons (string, type_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
string 外部フォーマット内の定数へのポインタ(char*)です。(例:文字列)
type_desc データタイプ記述子へのポインタ(addr)です。これはmrgdtpar 関数で取得するか、Chapter 3 の"Expressions"で解説している、汎用データタイプを 使用することができます。


RETURNS

追加に成功した場合Trueを、それ以外はfalseを返します。


WARNINGS

なし。





mrecvarg

DESCRIPTION

表現にデータタイプ変換オペレーターを追加します。


SYNOPSIS
msbool   mrecvarg (addr type_desc)

USAGE
flag = mrecvarg (type_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
type_desc 表現値を変更したデータタイプへの、データタイプ記述子へのポインタ (addr)。mrgdtpar関数が返すか、Chapter 3 "Expressions"で 解説されている汎用データタイプ記述子のいずれかです。


RETURNS

変換が可能な場合Trueを、その他はfalseを返します。


WARNINGS

なし。





mreend

DESCRIPTION

表現の構築を終了し。記述子を返します。表現記述子が直接使用された場合 (mrerunの呼出しで)、必要がなくなったら、mrefreeを呼出して 記述子を解放しなくてはなりません。 表現が検索条件の中で使用される場合、記述子はEmpressによって自動的に 解放されます。


SYNOPSIS
addr   mreend (void)

USAGE
expr_desc = mreend ();
expr_desc 表現への識別子(addr)。


RETURNS

表現識別子へのポインタ(addr)を返します。


WARNINGS

なし。





mrefree

DESCRIPTION

表現記述子を解放します。表現が必要なくなった場合には、呼出す必要があり ます。


SYNOPSIS
void   mrefree (addr expr_desc)

USAGE
mrefree (expr_desc);
expr_desc 表現記述子へのポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。





mrefunc

DESCRIPTION

ファンクションまたはオペレータを追加します。(例:Empressは、 ファンクション/オペレータを提供します。またユーザはEmpress SQLに ファンクション/オペレータを定義します。) ファンクション名、ファンクションの引数の数、引数のタイプは利用可能な引数と 照合されます。もし不当な場合には、表現の中には挿入されません。呼出しに失敗した 場合は、表現スタックに影響しません。


SYNOPSIS
msbool   mrefunc (char* func, int nargs)

USAGE
flag = mrefunc (func, nargs);
flag 関数の成功・失敗を表すインジケータ(msbool)。
func ファンクション名へのポインタ(char*)。
nargs ファンクションの引数の数。


RETURNS

ファンクションの追加に成功した場合Trueを返し、それ以外はfalseを返します。


WARNINGS

なし。





mreicvar

DESCRIPTION

最も最近の変数に制御変数を関連させてください。mreivar が呼ばれた直後に、それは通常呼ばれます。 変数のパラメータモードがIN/INOUTである場合、制御変数は入力値を示すために使用 されます。変数のパラメータモードがOUT/INOUTである場合、制御変数は出力を示す ために使用されます。 制御変数のデータタイプは、Cデータタイプのlongです。変数を制御する ポインタはファンクションに渡されます。

制御変数の有効値を示します。

MRECVAR_VALUE 対応するオペランドが値であることを示します。
MRECVAR_NULL 対応するオペランドがnullであることを示します。
MRECVAR_ERROR エラーが対応するオペランドで生じたことを示します。


SYNOPSIS
msbool   mreicvar (long* icvar)

USAGE
flag = mreicvar (icvar);
flag 関数の成功・失敗を表すインジケータ(msbool)。
icvar 制御変数へのポインタ。制御変数のタイプは、Cデータタイプの long です。


RETURNS

成功したらTrue、その他はfalseを返します。


WARNINGS

なし。





mreivar

DESCRIPTION

表現へ間接ポインタを使用して、アーギュメント/オペランド変数を追加し ます。表現が評価された場合、変数のカレントデータが表現で使用されます。 C変数のタイプは、データタイプ記述子にわたすのに使われます。Chapter 2 の"Data Type Correspondences"を参照してください。


SYNOPSIS
void   mreivar (addr* ivar, addr type_desc)

USAGE
mreivar (ivar, type_desc);
ivar 変数への間接ポインタ(addr)。例:ivar値をポイント しているポインタです。変数のタイプは、Cでサポートされたタイプに制限されます。
type_desc 変数のデータタイプのデータタイプ記述子へのポインタ(addr)。 これは、mrgdtpar関数によって返されるポインタ、またはChapter 3 "Expressions"で解説されている汎用データタイプにリストされているものの一つです。 section of Chapter 3.


RETURNS

なし。


WARNINGS

なし。





mrenull

DESCRIPTION

スタックに置かれた、アーギュメント/オペランドがNULLかチェック するファンクションを追加します。


SYNOPSIS
msbool   mrenull (char* func)

USAGE
flag = mrenull (func);
flag 関数の成功・失敗を表すインジケータ(msbool)。
func ファンクションへのポインタ(char*)。ここで使用可能なファンションは "="または"!"です。


RETURNS

追加に成功したらTrueを返し、それ以外はfalseを返します。


WARNINGS

なし。





mrerecattr

DESCRIPTION

表現にフィールドのアーギュメント/オペランドを追加します。 フィールドの値は表現が評価される時に指定されたレコードから得られます。


SYNOPSIS
void   mrerecattr (addr record_desc, 
                   addr attr_desc)

USAGE
mrerecattr (record_desc, attr_desc);
record_desc フィールド値が得られたmrmkrec()によって返されたレコード記述子 のポインタ(addr)。
attr_desc mrngeta () またはmrigeta ()関数によって返される フィールド記述子のポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。





mrerrmsg

DESCRIPTION

最終のエラー状態を示す文字列を返します。


SYNOPSIS
char*   mrerrmsg (void)

USAGE
string = mrerrmsg ();
string メッセージテキストへのポインタ(char*)。


RETURNS

最終のエラー状態を示すメッセージテキストへのポインタ(char*)。


WARNINGS

エラー発生直後にmrerrmsgが呼出される必要があります。 他のmrの呼出しによってメッセージテキストが破壊される恐れがあります。

この関数はスレッドセーフではありません。スレッドの内部で使用しないでください。





mrerun

DESCRIPTION

表現式を実行し結果へのポインタを返します。結果の型は表現式の型と同一 です。この関数の呼出しの間に更新される参照変数またはフィールド値を持ちながら、 複数回呼出されることがあります。表現式が制限の一部である場合は、使用しては いけません。結果がC変数内に保存される場合は、変数は適切な型であることが 必要となります。Chapter 2 の"Data Type Correspondences"を参照してください。


SYNOPSIS
addr   mrerun (addr expr_desc)

USAGE
result = mrerun (expr_desc);
result 表現式の結果へのポインタ(addr)。
expr_desc 表現記述子へのポインタ(addr)。


RETURNS

成功した場合は、結果へのポインタ(addr)を返し、それ以外は NILを返します。


WARNINGS

なし。





mrfree

DESCRIPTION

mrspvmrmallocmrreallocによって割当て られたスペースを解放します。


SYNOPSIS
void   mrfree (char* space)

USAGE
mrfree (space);
space mrspvによって返されたポインタ(char*)。


RETURNS

なし。


WARNINGS

なし。





mrfrrec

DESCRIPTION

レコードを保存するために使用されるスペースを解放します。


SYNOPSIS
void   mrfrrec (addr record_desc)

USAGE
mrfrrec (record_desc);
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。





mrganame

DESCRIPTION

フィールド記述子からフィールド名を取得します。


SYNOPSIS
char*   mrganame (addr attr_desc)

USAGE
name = mrganame (attr_desc);
name フィールド名へのポインタ(char*)。
attr_desc 指定されたフィールドへのポインタ(addr)。


RETURNS

指定されたフィールドの名前へのポインタ(char*)を返します。


WARNINGS

なし。





mrgdtpar

DESCRIPTION

フィールド記述子から、フィールドのデータタイプ記述子を取得します。


SYNOPSIS
addr   mrgdtpar (addr attr_desc)

USAGE
type_desc = mrgdtpar (attr_desc);
type_desc データタイプ記述子へのポインタ(addr)。
attr_desc フィールド記述子へのポインタ(addr)。


RETURNS

データタイプ記述子へのポインタ(addr)を返します。


WARNINGS

なし。





mrget

DESCRIPTION

テーブルからレコードを検索します。


SYNOPSIS
msbool   mrget (addr retrieval_desc)

USAGE
flag = mrget (retrieval_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
retrieval_desc mrgetbeginから返されるポインタ(addr)。


RETURNS

成功した場合true(1)、失敗した場合にはfalse (0)を返します。 例:全ての レコードが検索された場合。失敗した場合には、呼出しプログラムを終了します。 レコードがロックされている場合も呼出しプログラムは失敗します。


WARNINGS

一回以上のmrgetが呼出された後は、mrgetendを呼出して クリーンアップしてください。





mrgetbegin

DESCRIPTION

検索条件をレコードと関連付けます。失敗した場合は呼出しプログラムを終了 します。


SYNOPSIS
addr   mrgetbegin (addr qual_desc, addr record_desc_1,
                   [ ... addr record_desc_n,] (addr)0)

USAGE
retrieval_desc = mrgetbegin (qual_desc, record_desc_1,
                             record_desc_2, ...., ADDRNIL);
retrieval_desc mrgetに渡される検索記述子へのポインタ(addr)。
qual_desc mrq関数から返される検索条件記述子へのポインタ(addr)。検索条件が与えられなかった場合、ADDRNILに置き換えられます。
record_desc_1 mrmkrecによって返されたポインタ(addr)。
record_desc_2 mrmkrecによって返されたポインタ(addr)。
ADDRNIL mscc.hファイルで定義されている(addr) 0


RETURNS

mrgetへ渡される検索記述子へのポインタ(addr)が 返されます。


WARNINGS

複数のレコードを使用することは、直積またはジョインを意味します。 (mrgetを参照) よってレコード記述子は、異なったテーブル記述子から作成されます。 mrq関数の全てのフィールド記述子は、検索条件記述子 を生成するのに使用されます。

mrgetbeginに受け渡された検索条件記述子は、破壊され再使用できません。





mrgetend

DESCRIPTION

テーブルからのレコード検索後のクリーンアップを行ないます。


SYNOPSIS
void   mrgetend (addr retrieval_desc)

USAGE
mrgetend (retrieval_desc);
retrieval_desc mrgetbeginまたはmrsrtbeginから返されるポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。





mrgeti

DESCRIPTION

内部フォーマットのフィールド値を持つ、バッファへのポインタを取得します。


SYNOPSIS
addr   mrgeti (addr record_desc, 
               addr attr_desc)

USAGE
result = mrgeti (record_desc, attr_desc);
result 内部フォーマットのフィールド値を持つ、バッファへのポインタ(addr)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

内部フォーマットのフィールド値を持つ、バッファへのポインタ (addr)を返します。値はmrgetvsまたはmrgetiの呼出しに より破壊されますので、直ぐに使用するかバッファにコピーしてください。





mrgetptr

DESCRIPTION

後に使用するためにレコードのポインタを取得します。


SYNOPSIS
long   mrgetptr (addr record_desc)

USAGE
record_ptr = mrgetptr (record_desc);
record_ptr レコードのポインタ(long)。
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

レコード記述子が、現在参照しているレコードへのポインタ (long)を返します。


WARNINGS

この関数は、テーブルと単純なVIEWにしか機能しません。





mrgetrec

DESCRIPTION

与えられたポインタが指しているレコードを取得します。


SYNOPSIS
int   mrgetrec (addr record_desc, 
                long record_ptr)

USAGE
flag = mrgetrec (record_desc, record_ptr);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。
record_ptr レコードへのポインタ(long)。


RETURNS

成功なら真(1)を返し、失敗なら偽(0)を返します。またレコードがロックされて いる場合には、(-1)を返します。


WARNINGS

なし。





mrgetvi

DESCRIPTION

フィールドのinteger値を検索します。


SYNOPSIS
int   mrgetvi (addr record_desc, 
               addr attr_desc)

USAGE
result = mrgetvi (record_desc, attr_desc);
result integerのフィールド値。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ(addr


RETURNS

integerのフィールド値を返します。


WARNINGS

フィールド値をintegerに変換できない場合には、関数はエラーとなり呼出し プログラムを終了します。





mrgetvs

DESCRIPTION

外部フォーマットのフィールド値を含む、バッファへのポインタを取得します。


SYNOPSIS
char*   mrgetvs (addr record_desc, 
                 addr attr_desc)

USAGE
result = mrgetvs (record_desc, attr_desc);
result 外部フォーマットのフィールド値を含む、内部バッファへのポインタ (char*)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

外部フォーマットのフィールド値を含む、内部バッファへのポインタ (char*)を返します。


WARNINGS

値は、mrgetvsまたはmrgetiの呼出しにより破壊されて しまうので、直ぐに使用するか、バッファにコピーしてください。





mrgfunc

DESCRIPTION

フィールドへの集計関数の結果を返します。


SYNOPSIS
char*   mrgfunc (char* function, 
                 addr retrieval_desc,
                 addr record_desc, 
                 addr attr_desc)

USAGE
value = mrgfunc (function, retrieval_desc, 
                 record_desc,
                 attr_desc);
value 関数の値へのポインタ(char*)。
function COUNTSUMAVGMINMAX のうちのいずれか一つの文字列(char*)。
retrieval_desc mrgetbegin関数群から返されるポインタ(addr)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

関数の値へのポインタ(char*)を返します。レコードが存在しない場合 には、空のレコードが返されます。


WARNINGS

mrgfuncを実行した後には、mrgetendを呼出して クリーンアップする必要があります。





mrigeta

DESCRIPTION

フィールド番号iに対応する、フィールド記述子を取得します。


SYNOPSIS
addr   mrigeta (addr table_desc, 
                int  attr_number)

USAGE
attr_desc = mrigeta (table_desc, 
                     attr_number);
attr_desc 指定されたフィールドへのポインタ(addr)。
table_desc mropenによって返される、オープンされたテーブルへのポインタ (addr)。
attr_number 指定フィールドの番号。テーブル中の最初のフィールドが1、2番目が2、あとは同様 に番号が付けられます。フィールドの順番は、クエリー言語のDISPLAY TABLE コマンドで参照できます。


RETURNS 成功した場合には、フィールド記述子へのポインタ(addr)を返し、 attr_numberが不正な場合には、ゼロポインタを返します。


WARNINGS

なし。





mrlkrec

DESCRIPTION

検索レコードにレコードレベルのロックを行います。


SYNOPSIS
msbool   mrlkrec (addr record_desc)

USAGE
flag = mrlkrec (record_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

成功した場合には、真(1)を返し、ロックできない場合には、偽(0)を返します。


WARNINGS

この関数は、レコードレベルのロックがデータディクショナリーに設定されて いない場合には、実行されません。この場合関数は真(1)を返します。





mrlktab

DESCRIPTION

アプリケーション実行中に、他からのアクセスを制御するためにテーブルを ロックします。


SYNOPSIS
msbool   mrlktab (addr table_desc)

USAGE
flag = mrlktab (table_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
table_desc mropenによって返された、オープンされたテーブルへのポインタ (addr)。


RETURNS

成功した場合には真(1)を返し、ロックできない場合には偽(0)を返します。


WARNINGS

テーブルのロックレベルがNULLの場合、mrlktabは機能しま せん。この場合関数は真(1)を返します。





mrmalloc

DESCRIPTION

Empress RDBMSで使用される、スペースを割付けます。


SYNOPSIS
void*   mrmalloc (int size)

USAGE
space = mrmalloc (size);
space 割付けられたスペースへのポインタ(void*)。
size 割付けられたスペースのサイズ(int)。


RETURNS

割付けられたスペースへのポインタ(void*)を返します。


WARNINGS

mrfreeで解放するまで、スペースは割付けられたままです。





mrmkrec

DESCRIPTION

レコードを保存するために、スペースを割付けます。


SYNOPSIS
addr   mrmkrec (addr table_desc)

USAGE
record_desc = mrmkrec (table_desc);
record_desc 指定テーブルのレコードを保存するための、スペースへのポインタ(addr) 。
table_desc mropenによって返された、オープンされたテーブルへのポインタ (addr)。


RETURNS

レコード記述子へのポインタ(addr)。


WARNINGS

レコード記述子のために割当てられたスペースは、 mrfrrecで解放しない限り、割当てられたままとなります。





mrmptvi

DESCRIPTION

レコードの指定フィールドに、C integer値を割当てます。失敗した場合、呼出しプログラムを終了します。


SYNOPSIS
void   mrmptvi (addr record_desc, 
                addr attr_desc, 
                int value)

USAGE
mrmptvi (record_desc, attr_desc, 
         integer);
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
integer C integer値または、integer変数。


RETURNS

なし。mrmptviが失敗した場合、呼出しプログラムは終了します。


WARNINGS

なし。





mrmptvs

DESCRIPTION

レコード内の指定フィールドに値を割当てます。失敗時には呼出しプログラムを 終了します。


SYNOPSIS
void   mrmptvs (addr record_desc, 
                addr attr_desc, 
                char* value)

USAGE
mrmptvs (record_desc, attr_desc, value);
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
value フィールドに割当てられた、外部フォーマットへのポインタ(char*)


RETURNS

なし。mrmptvsが失敗した場合、呼出しプログラムは終了します。


WARNINGS

なし。





mrmutexlock

DESCRIPTION

コードを排他制御(mutex)するための開始位置を指定します。mrmutexlock() からmrmutexunlockの間は、スレッドセーフとなります。


SYNOPSIS
void   mrmutexlock (void)

USAGE
mrmutexlock () 


RETURNS

なし。


WARNINGS

なし。





mrmutexunlock

DESCRIPTION

コードを排他制御(mutex)するための終了位置を指定します。mrmutexlock() からmrmutexunlockの間は、スレッドセーフとなります。


SYNOPSIS
void   mrmutexunlock (void)

USAGE
mrmutexunlock () 


RETURNS

なし。


WARNINGS

なし。





mrngeta

DESCRIPTION

フィールド名から、フィールド記述子を取得します。


SYNOPSIS
addr   mrngeta (addr table_desc, 
                char* attr_name)

USAGE
attr_desc = mrngeta (table_desc, attr_name);
attr_desc 指定されたフィールドへのポインタ(addr)。
table_desc mropenによって返された、オープンされたテーブルへのポインタ(addr)。
attr_name 指定されたフィールド名へのポインタ(addr)。


RETURNS

成功した場合、フィールド記述子へのポインタ(addr)を返し、 失敗した場合(名前が不当な時)には、ゼロポインタを返します。


WARNINGS

なし。





mrnullr

DESCRIPTION

レコード全体がNULLであるかチェックします。


SYNOPSIS
msbool   mrnullr (addr record_desc)

USAGE
flag = mrnullr (record_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

レコード全体がNULLの場合には真(1)を返し、そうでない場合は偽(0) を返します。


WARNINGS

なし。





mrnullv

DESCRIPTION

レコード内のフィールド値が、NULLであるかチェックします。


SYNOPSIS
msbool   mrnullv (addr record_desc, addr attr_desc)

USAGE
flag = mrnullv (record_desc, attr_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

フィールド値がNULLの場合には真(1)を返し、そうでない場合は偽(0) を返します。


WARNINGS

なし。





mropdict

DESCRIPTION

mrルーチンによる、内部アクセスのためにデータディクショナリーを オープンします。失敗した場合には、呼出しプログラムを終了します。


SYNOPSIS
void   mropdict (char* database_name, 
                 char mode)

USAGE
mropdict   (database_name, mode);
database_name データベースディレクトリ名へのポインタ(char*)
mode 'r'または'u'は、readまたはupdateモードの オープンを意味します。これはシングルクォートで囲む必要があります。


RETURNS

なし。


WARNINGS

一般的にmropdictを呼出す場合、新しいファイルが生成されると、 データベース内のファイルを破壊する危険があるので、カレントディレクトリで 実行してはいけません。(データベースディレクトリ内でアプリケーションを実行 しないこと)readモードが指定されても、データディクショナリーテーブル に読込み許可を持っていない場合、またはupdateモードが指定されていても、 同じく更新許可を持っていない場合には、mropdictは失敗し、呼出し プログラムを終了します。





mropen

DESCRIPTION

mrルーチンで使用するためにテーブルをオープンします。失敗した場合 には呼出しプログラムを終了します。 テーブルには、データディクショナリーに設定されているレベルでロックが設定され ます。テーブルレベルのロックが設定されていると、この関数によってテーブルは ロックされます。


SYNOPSIS
addr   mropen (char* database_name, 
               char* table_name, 
               char mode) 

USAGE
table_desc = mropen (database_name, 
                     table_name, mode);
table_desc テーブル記述子へのポインタ(addr)。
database_name データベースディレクトリー名へのポインタ(char*)
table_name テーブル名へのポインタ(char*)
mode 'r'、'u'、'd'、'n'、'N'は、 それぞれreadupdatedeferreddirty readdeferred dirty readモードでのオープンを意味します。これらは、シングル クォートで囲む必要があります。 dirty readモードは、ロックレベルを回避して検索します。 (Empress: Database Administrator's Guide を参照してください。) deferredモードは、update用にテーブルをオープンしますが、検索時にはread ロックを行います。このreadロックはmrdelmrputmrtdelmrtputが実行された場合にupdateロックに変更されます。


RETURNS

成功した場合、テーブル記述子へのポインタ(addr)を返し ます。失敗した場合には、何も返さずに呼出しプログラムを終了します。


WARNINGS

一般的にmropenを呼出す場合、新しいファイルが生成されると、 データベース内のファイルを破壊する危険があるので、カレントディレクトリで 実行してはいけません。(データベースディレクトリ内でアプリケーションを実行 しないこと)readモードが指定されても、データディクショナリーテーブル に読込み許可を持っていない場合、またはupdateモードが指定されていても、 同じく更新許可を持っていない場合には、mropenは失敗し、呼出し プログラムを終了します。





mrprev

DESCRIPTION

テーブルから、前のレコードを検索します。


SYNOPSIS
msbool   mrprev (addr retrieval_desc)

USAGE
flag = mrprev (retrieval_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
retrieval_desc mrgetbeginによって返されるポインタ(addr)。


RETURNS

成功した場合は真(1)を返し、失敗した場合には偽(0)を返します。それは 全レコードが検索済みの場合です。 レコードがロックされている場合には、呼出しは失敗し呼出しプログラムは終了します。


WARNINGS

mrprevが呼出されて後には、クリーンアップのためにmrgetendを呼出す必要があります。





mrprterr

DESCRIPTION

エラーに応じてエラーメッセージを出力します。呼出しプログラムは終了 します。


SYNOPSIS
void   mrprterr (void)

USAGE
mrprterr ();

RETURNS

なし。


WARNINGS

この関数はスレッドセーフではありません。スレッドの内部で使用しないでください。





mrput

DESCRIPTION

レコードを更新します。


SYNOPSIS
void   mrput   (addr new_rec_desc, 
                addr old_rec_desc)

USAGE
mrput (new_rec_desc, old_rec_desc);
new_rec_desc mrmkrecによって返されたポインタ(addr)。このレコードへの ポインタは、更新されたフィールド値を持っています。
old_rec_desc mrmkrecによって返されたポインタ(addr)。このレコードへの ポインタは、検索されたオリジナルのフィールド値を持っています。


RETURNS

なし。


WARNINGS

old_rec_descは、mrgetbeginmrgetに よって、検索された更新前のレコードを指していなくてはなりません。 そうでないと、mrputは失敗します。

テーブルがdeferredモードでオープンされ、updateロックが設定できない場合 この関数は失敗します。





mrputi

DESCRIPTION

内部フォーマットの値をレコードのフィールドに割当てます。


SYNOPSIS
msbool   mrputi (addr record_desc, 
                 addr attr_desc, 
                 addr var_ptr)

USAGE
flag = mrputi (record_desc, attr_desc, 
               var_ptr);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
var_ptr フィールドに割当てられる、内部フォーマットの値を含む変数。


RETURNS

成功した場合は真(1)を返し、フィールドに適した値に変換できなかった場合には 偽(0)を返します。


WARNINGS

関数が偽(0)を返した場合、レコード記述子に指されたスペースの フィールド値が変更されないことを保証できません。この関数の使用は移植性の悪い プログラムを生成することになります。





mrputvi

DESCRIPTION

レコード内のフィールドに、C integer値を割当てます。


SYNOPSIS
msbool   mrputvi (addr record_desc, 
                  addr attr_desc, 
                  int value)

USAGE
flag = mrputvi (record_desc, attr_desc, 
                integer);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
integer C integer値またはinteger変数。


RETURNS

成功した場合には真(1)を返し、フィールドに適した値に変換できない場合は 偽(0)を返します。


WARNINGS

関数が偽(0)を返した場合、レコード記述子に指されたスペースの フィールド値が変更されないことを保証できません。





mrputvs

DESCRIPTION

レコード内のフィールドに、外部フォーマットを割当てます。


SYNOPSIS
msbool   mrputvs (addr record_desc, 
                  addr attr_desc, 
                  char* value)

USAGE
flag = mrputvs (record_desc, attr_desc, 
                value);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
value 指定されたフィールドの外部フォーマットの値へのポインタ(char*)


RETURNS

成功した場合には真(1)を返して、フィールドに適した値に変換できなかった 場合は偽(0)を返します。


WARNINGS

関数が偽(0)を返した場合、レコード記述子に指されたスペースの フィールド値が変更されないことを保証できません。





mrqand

DESCRIPTION

mrq関数のいずれかによって取得した、2つの検索条件記述子AND演算を実行します。


SYNOPSIS
addr   mrqand (addr qual_desc_1, 
               addr qual_desc_2)

USAGE
qual_desc = mrqand (qual_desc_1, qual_desc_2);
qual_desc mrgetbeginで使用する検索条件記述子へのポインタ (addr)。
qual_desc_1 mrq関数群によって返されるポインタ(addr)。
qual_desc_2 mrq関数群によって返されるポインタ(addr)。


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

mrqandは、引数内の検索条件記述子を破壊し、割当てた スペースを開放しますので、再使用できません。





mrqatr

DESCRIPTION

フィールド値を他のフィールド値と比較します。


SYNOPSIS
addr   mrqatr (char* operator, 
               addr attr_desc_1, 
               addr attr_desc_2)

USAGE
qual_desc = mrqatr (operator, attr_desc_1, 
                    attr_desc_2);
operator 文字列(char*)は、次に示すいずれかの一つ。">" 、"<"、">="、 "<="、"="、"!=" ("~="と"!="は同義語です。)
qual_desc mrgetbeginで使用される、検索条件記述子へのポインタ (addr)。
attr_desc_1 mrigetaまたはmrngetaによって返されたポインタ (addr)。
attr_desc_2 mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

検索条件記述子へのポインタ(addr)を返します。


WARNINGS

比較される2つのフィールドには、互換性がなくてはなりません。ない場合には mrqatrは失敗します。





mrqcon

DESCRIPTION

フィールド値をファイルフォーマットの定数と比較します。 mrcvt関数群の1つによって返されるファイルフォーマットへのポインタを 使用します。


SYNOPSIS
addr   mrqcon (char* operator, 
               addr attr_desc, 
               addr var_ptr)

USAGE
qual_desc = mrqcon (operator, attr_desc, &var);

qual_desc = mrqcon (operator, attr_desc, 
                    mrcvt (attr_desc, string));
qual_desc mrgetbeginで使用される、検索条件記述子へのポインタ (addr)。
operator 次に示すいずれかの文字列(char*)。">"、 "<"、">="、 "<="、"="、"!=" ("~="は"!="と同義語です。)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
var ファイルフォーマットの定数を含む変数。
string 外部フォーマットのフィールド値へのポインタ(char*)


RETURNS

検索条件記述子へのポインタ(addr)を返します。


WARNINGS

なし。





mrqdb

DESCRIPTION

与えられたパス名がEmpressデータベースかチェックします。


SYNOPSIS
msbool   mrqdb (char* directory)

USAGE
flag = mrqdb (directory);
flag 関数の成功・失敗を表すインジケータ(msbool)。
directory ディレクトリ名を含む文字列(char*)


RETURNS

ディレクトリがEmpressデータベースであれば真(1)を返し、 そうでなければ偽(0)を返します。


WARNINGS

なし。





mrqexpr

DESCRIPTION

検索条件内に表現を配置します。この後mrgetbegin関数群で検索の 初期化を行なうために受け渡される検索条件記述子を返します。


SYNOPSIS
addr   mrqexpr (addr expr_desc)

USAGE
qual_desc = mrqexpr (expr_desc)
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
expr_desc 表現式の記述子へのポインタ(addr)。表現式の記述子は boolean式の表現。


RETURNS

検索条件記述子へのポインタを返します。表現式の記述子が有効な表現式でない場合には、関数は失敗し呼出しプログラムを終了します。





mrqieq

DESCRIPTION

フィールド値とC integer値を比較します。


SYNOPSIS
addr   mrqieq (addr attr_desc, int integer)

USAGE
qual_desc = mrqieq (attr_desc, integer);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
integer integer値またはinteger変数。


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

なし。





mrqlst

DESCRIPTION

検索条件を先に検索されたレコードにします。


SYNOPSIS
addr   mrqlst (addr table_desc, long array[])

USAGE
qual_desc = mrqlst (table_desc, array);
qual_desc mrgetbegin関数(検索初期化関数)で使用される、検索条件記述子 へのポインタ(addr)。
table_desc mropenによって返された、オープンされたテーブルへのポインタ(addr)。
array mrgetptr関数によって取得した、レコードへのポインタ(long) 配列。


RETURNS 検索条件記述子へのポインタ(addr)。


WARNINGS

なし。





mrqmch

DESCRIPTION

フィールド値をパターンと比較します。


SYNOPSIS
addr   mrqmch (char* operator, 
               addr attr_desc, 
               char* pattern)

USAGE
qual_desc = mrqmch (operator, attr_desc, 
                    pattern);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
operator 次に示す文字列char*のうちに1つ。MATCHSMATCH!MATCH!SMATCH ("~"は"!"と同義語です。)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
pattern パターンへのポインタ(char*)


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

なし。





mrqnot

DESCRIPTION

mrq関数群から返される、検索条件記述子NOT演算 を実行し、その意味を逆転させます。


SYNOPSIS
addr   mrqnot (addr qual_desc)

USAGE
qual_desc = mrqnot (qual_desc);
qual_desc mrq関数群から返されるポインタ(addr)。


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

mrqnotは、引数の検索条件記述子を破壊し、割付けられた スペースを開放しますので、再利用はできません。





mrqnul

DESCRIPTION

フィールド値とNULLを比較します。


SYNOPSIS
addr   mrqnul (char* operator, addr attr_desc)

USAGE
qual_desc = mrqnul (operator, attr_desc);
qual_desc mrgetbeginで使用される、検索条件記述子へのポインタ (addr)。
operator 次に示す文字列(char*)。"="または"!=" ("~="は"!="と同義語です。)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

なし。





mrqor

DESCRIPTION

mrq関数のいずれかによって取得した、2つの検索条件記述子OR演算を実行します。


SYNOPSIS
addr   mrqor (addr qual_desc_1, 
              addr qual_desc_2)

USAGE
qual_desc = mrqor (qual_desc_1, 
                   qual_desc_2);
qual_desc 検索条件記述子へのポインタ(addr)。
qual_desc_1 mrq関数群によって返されるポインタ(addr)。
qual_desc_2 mrq関数群によって返されるポインタ(addr)。


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

mrqorは、引数内の検索条件記述子を破壊し、割当てた スペースを開放しますので、再使用できません。





mrqrng

DESCRIPTION

フィールド値を与えられた範囲と比較します。範囲の限界は、 ファイルフォーマット値へのポインタとして指定されます。 mrcvt関数群によって返されるポインタが使用されます。


SYNOPSIS
addr   mrqrng (addr attr_desc, addr lower_limit, 
               char limit_type_1,  
               addr upper_limit, 
               char limit_type_2)

USAGE
qual_desc = mrqrng (attr_desc, lower_limit, 
                    limit_type_1, upper_limit, 
                    limit_type_2);

qual_desc = mrqrng (attr_desc, 
                    mrcvtv (attr_desc, string_1), 
                    limit_type_1, 
                    mrcvtv2 (attr_desc, string_2), 
                    limit_type_2);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
limit_type_1 'i'または'e'は、下限に指定した値を限界値に含むか (inclusive)、含まないか(exclusive)の指定を意味します。
limit_type_2 'i'または'e'は、上限に指定した値を限界値に含むか (inclusive)、含まないか(exclusive)の指定を意味します。
string_1 外部フォーマットのフィールド値へのポインタ(char*)
string_2 外部フォーマットのフィールド値へのポインタ(char*)
lower_limit 範囲の下限値を表すファイルフォーマット値へのポインタ(addr)。
upper_limit 範囲の上限値を表すファイルフォーマット値へのポインタ(addr)。


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

なし。





mrqseq

DESCRIPTION

フィールド値が文字列と等しいかチェックします。


SYNOPSIS
addr   mrqseq (addr attr_desc, char* string)

USAGE
qual_desc = mrqseq (attr_desc, string);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
string 外部フォーマットのフィールド値へのポインタ(char*)


RETURNS

検索条件記述子へのポインタ(addr)。


WARNINGS

文字列が正しいデータタイプのフィールド値に変換できない場合には、関数は 失敗し呼出しプログラムは終了します。





mrrealloc

DESCRIPTION

mrmallocで割付けられたスペースのサイズを変更します。


SYNOPSIS
void*   mrrealloc (void* space, int size)

USAGE
realloc_space = mrrealloc (space, size);
realloc_space Empress RDBMSで使用する割付けられたスペースへのポインタ(void*)。
space 以前に割付けられたスペースへのポインタ(void*)。
size 割付けるスペースのサイズ(int)。


RETURNS

Empress RDBMSで使用する割付けられたスペースへのポインタ(void*)を 返します。


WARNINGS

mrfreeで解放しない限り、スペースは割付けられたままです。





mrreget

DESCRIPTION

テーブルからのレコード検索を、再度行います。


SYNOPSIS
int   mrreget (addr retrieval_desc)

USAGE
flag = mrreget (retrieval_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
retrieval_desc mrgetbeginによって返されるポインタ(addr)。


RETURNS

成功した場合には(1)を返し、全てのレコードを検索済みの場合には(0)、 レコードがロックされている場合は(-1)を返します。 関数が失敗した場合mroperr変数に、ヘッダーファイルmrerrno.hに リストされている、MRER...コードがセットされます。これにより失敗した 原因を調べることが可能です。


WARNINGS

mrregetを呼出した後には、クリーンアップのためにmrgetend を呼出す必要があります。





mrreprev

DESCRIPTION

テーブルからの前のレコード検索を、再度行います。


SYNOPSIS
int   mrreprev (addr retrieval_desc)

USAGE
flag = mrreprev (retrieval_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
retrieval_desc mrgetbeginによって返されるポインタ(addr)。


RETURNS

成功した場合には(1)を返し、全てのレコードを検索済みの場合には(0)、 レコードがロックされている場合は(-1)を返します。 関数が失敗した場合mroperr変数に、ヘッダーファイルmrerrno.hに リストされている、MRER...コードがセットされます。これにより失敗した 原因を調べることが可能です。


WARNINGS

mrreprevを呼出した後には、クリーンアップのために mrgetendを呼出す必要があります。





mrsetnr

DESCRIPTION

NULL値をレコード内の全てのフィールドに割当てます。


SYNOPSIS
void   mrsetnr (addr record_desc)

USAGE
mrsetnr (record_desc);
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。





mrsetnv

DESCRIPTION

レコード内の指定されたフィールドにNULL値を割当てます。


SYNOPSIS
void   mrsetnv (addr record_desc, addr attr_desc)

USAGE
mrsetnv (record_desc, attr_desc);
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ(addr


RETURNS

なし。


WARNINGS

なし。





mrspv

DESCRIPTION

外部フォーマットフィールド値を保存するために、スペースを割当てます。


SYNOPSIS
char*   mrspv (addr attr_desc)

USAGE
space = mrspv (attr_desc);
space 外部フォーマットのフィールド値を、保存するために割当てられるスペースへの ポインタ(char*)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

外部フォーマットのフィールド値を、保存するために割当てられるスペースへの ポインタ(char*)を返します。TEXTまたはBULK データタイプのフィールドに使用された場合は、ゼロポインタを返します。


WARNINGS

mrfreeで解放しない限り、スペースは割付けられたままです。

この関数は、TEXTまたはBULKデータタイプのフィールドには 使用できません。





mrsrtbegin

DESCRIPTION

ソート出力するために、検索条件をレコードと関連付けます。失敗した場合は 呼出しプログラムを終了します。


SYNOPSIS
addr   mrsrtbegin (addr qual_desc, char indicator,
                   addr record_desc_1, 
                   [ ... addr record_desc_n,] (addr)0,
                   addr attr_desc_1, char type, 
                   [ ... addr attr_desc_n, char type,]
                   (addr)0)

USAGE
retrieval_desc = mrsrtbegin (qual_desc, indicator,
                    record_desc_1, record_desc_2, ... , ADDRNIL,
                    attr_desc_1, type, attr_desc_2, type, .... , 
                    ADDRNIL);
retrieval_desc mrgetに渡される、検索記述子へのポインタ(addr)。
qual_desc mrq関数群によって返される、検索条件記述子へのポインタ (addr)。検索条件がない場合、ADDRNILを指定します。
indicator 'u'または's'はユニークなソートか、標準的なソートかを 意味しています。これはシングルクォートで囲む必要があります。 ユニークなソートでは、リストされたフィールドのユニークなレコードを出力します。 リストされないフィールドが重複したデータを持っている場合、出力順は不定です。
record_desc_1 mrmkrecによって返されたポインタ(addr)。
record_desc_2 mrmkrecによって返されたポインタ(addr)。
attr_desc_1 mrigetaまたはmrngetaによって返されたポインタ (addr)。
attr_desc_2 mrigetaまたはmrngetaによって返されたポインタ (addr)。
type 'a'または'd'は、ソート順を昇順(ascending)にするか 降順(descending)にするかを指定します。
ADDRNIL ヘッダーファイルmscc.h内で、(addr) 0と定義されています。


RETURNS

mrgetで使用する、検索記述子へのポインタ(addr)。


WARNINGS

複数のレコードを使用することは、直積またはジョイン(mrgetを参照) を意味します。この場合、レコード記述子はは別々のテーブル記述子 から取得する必要があります。検索条件記述子の生成に使用されるmrq 関数内のすべての、フィールド記述子は、引数としてmrsrtbeginに 与えられるレコード記述子と一致する、テーブル記述子に属している 必要があります。そうでない場合関数は失敗します。

mrsrtbeginに渡された、検索条件記述子は破壊され、再使用でき ません。





mrsubbegin

DESCRIPTION

データセグメントへの更新処理の開始を示します。


SYNOPSIS
void   mrsubbegin (mrrdes* rec)

USAGE
mrsubbegin (rec);

rec レコード記述子。


RETURNS

なし。


WARNINGS

mrsubbeginは、部分的な更新のためにロック処理を行います。 この関数は、挿入または更新処理の中でmraddまたはmrputを 呼出す前に実行することを推奨します。 適切なロック処理を維持するには、mrsubbeginmrsubend間で レコードに対し、部分的な更新処理を行なう必要があります。





mrsubend

DESCRIPTION

データセグメントへの更新処理の終了を示します。


SYNOPSIS
void   mrsubend (mrrdes* rec)

USAGE
mrsubend (rec);

rec レコード識別子。


RETURNS

なし。


WARNINGS

なし。





mrsubgeti

DESCRIPTION

BULKまたはTEXTデータタイプのフィールドから、データの セグメントを取得します。


SYNOPSIS
long   mrsubgeti (mrrdes* rec, mrades* mra, addr* buktxtint,
                  long offset, long size)

USAGE
flag = mrsubgeti (rec, mra, buktxtint, offset, size);

rec レコード記述子。
mra BULKまたはTEXTデータタイプのフィールド記述子。
buktxtint 取得したデータセグメントを保持するメモリへのポインタのポインタ。 これは、出力パラメータです。
offset BULKまたはTEXTデータタイプのフィールドから、取得する データセグメントの開始位置。
size 開始位置から取得するデータのサイズ。


RETURNS

失敗した場合-1を返します。


WARNINGS

要求したデータセグメントが、全体のデータより小さい場合には、.dtf ファイルのチェックサムは行なわれません。 buktxtintはポインタのポインタであることに注意してください。





mrsubputi

DESCRIPTION

BULKまたはTEXTデータタイプのフィールドへの、データ セグメントの更新処理を向上させます。フィールドのデータ部を上書きします。


SYNOPSIS
long   mrsubputi (mrrdes* rec, mrades* mra, 
                  addr buktxtint, long offset)

USAGE
flag = mrsubputi (rec, mra, buktxtint, offset);

rec レコード記述子。
mra BULKまたはTEXTデータタイプのフィールド記述子。
buktxtint BULKまたはTEXTデータの内部バッファへのポインタ。
offset BULKまたはTEXTデータタイプのフィールドの、更新する データセグメントの開始位置。


RETURNS

失敗した場合には、-1を返します。

WARNINGS

なし。





mrtadd

DESCRIPTION

テーブルにレコードを挿入します。挿入に成功したか失敗したか返します。 mrtaddは、フィールドにユニークインデックスが設定されている場合に使用 します。


SYNOPSIS
msbool   mrtadd (addr record_desc)

USAGE
flag = mrtadd (record_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

成功した場合には(1)を返し、失敗した場合には(0)を返します。関数が失敗 した場合mroperr変数に、ヘッダーファイルmrerrno.hにリスト されている、MRER...コードがセットされます。これにより失敗した原因を 調べることが可能です。


WARNINGS

mrtaddを呼出した後は、mraddendを呼出してクリーンアップ する必要があります。





mrtdel

DESCRIPTION

テーブルからレコードを削除します。失敗した場合呼出しプログラムを終了 しません。


SYNOPSIS
msbool   mrtdel (addr record_desc)

USAGE
flag = mrtdel (record_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

成功した場合には(1)を返し、失敗した場合には(0)を返します。関数が失敗 した場合mroperr変数に、ヘッダーファイルmrerrno.hにリスト されている、MRER...コードがセットされます。これにより失敗した原因を 調べることが可能です。


WARNINGS

レコードは、mrgetbeginを呼出しで指定され、mrgetが呼出 され検索されていなくてはなりません。 mrdelendは、一回以上の mrtdelが呼出された後に、クリーンアップのために呼出さなくてはなりま せん。





mrtget

DESCRIPTION

テーブルからレコードを検索します。失敗した場合呼出しプログラムを終了 しません。


SYNOPSIS
int   mrtget (addr retrieval_desc)

USAGE
flag = mrtget (retrieval_desc);
flag 呼出しの結果を示すインジケータ(int)。
retrieval_desc mrgetbeginによって返されるポインタ(addr)。


RETURNS

成功した場合は(1)、全てのレコードが検索済みの場合は(0)、レコードがロック されている場合は(-1)を返します。関数が失敗した場合mroperr変数に、 ヘッダーファイルmrerrno.hにリストされている、MRER...コードが セットされます。これにより失敗した原因を調べることが可能です。


WARNINGS

一回以上のmrtgetが呼出された後は、mrgetendを呼出して クリーンアップしてください。





mrtgfunc

DESCRIPTION

フィールドへの集計関数の結果を返します。失敗した場合には、呼出し プログラムを終了しません。


SYNOPSIS
char*   mrtgfunc (char* function, 
                  addr retrieval_desc, 
                  addr record_desc, 
                  addr attr_desc)

USAGE
value = mrtgfunc (function, retrieval_desc,
                  record_desc, attr_desc);
value 関数の値へのポインタ(char*)
function COUNTSUMAVGMINMAXの いずれか1つの文字列(char*)
retrieval_desc mrgetbegin関数群から返されるポインタ(addr)。
record_desc mrmkrecによって返されたポインタ(addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ(addr )。COUNT関数の場合には、CHARNILを指定します。


RETURNS

関数の値へのポインタ(char*)を返します。アクセスするレコードが ない場合はCHARNILを返します。関数が失敗した場合mroperr変数に、 ヘッダーファイルmrerrno.hにリストされている、MRER...コードが セットされます。これにより失敗した原因を調べることが可能です。

BR>
WARNINGS

mrtgfuncが呼出された後は、mrgetendを呼出して クリーンアップする必要があります。また、値はmrfreeによって解放する 必要があります。





mrtgtbegin

DESCRIPTION

検索条件をレコードと関連付けます。失敗した場合は呼出しプログラムを終了 しません。


SYNOPSIS
addr   mrtgtbegin (addr qual_desc, addr record_desc_1, 
                   [ ... addr record_desc_n,] (addr)0)

USAGE
retrieval_desc = mrtgtbegin (qual_desc, record_desc_1,
                             record_desc_2, .... , ADDRNIL);
retrieval_desc mrgetに渡される検索記述子へのポインタ(addr)。
qual_desc mrq関数から返される検索条件記述子へのポインタ(addr) 。検索条件が与えられなかった場合、ADDRNILに置き換えられます。
record_desc_1 mrmkrecによって返されたポインタ(addr)。
record_desc_2 mrmkrecによって返されたポインタ(addr)。
ADDRNIL mscc.hファイルで定義されている(addr) 0


RETURNS

対象レコードが検索可能な場合、mrgetへ渡される検索記述子 へのポインタ(addr)が返されます。その他の場合には(addr)0 (ADDRNIL)が返されます。関数が失敗した場合mroperr変数に、 ヘッダーファイルmrerrno.hにリストされている、MRER...コードが セットされます。これにより失敗した原因を調べることが可能です。


WARNINGS

複数のレコードを使用することは、直積またはジョインを意味します。 (mrgetを参照) よってレコード記述子は、異なったテーブル記述子から作成されます。 mrq関数の全てのフィールド記述子は、検索条件記述子 を生成するのに使用されます。

mrgetbeginに受け渡された検索条件記述子は、破壊され再使用できません。





mrtopdict

DESCRIPTION

mrルーチンによる、内部アクセスのためにデータディクショナリーを オープンします。失敗した場合には、呼出しプログラムを終了しません。


SYNOPSIS
msbool   mrtopdict (char* database_name, 
                    char mode)

USAGE
flag = mrtopdict (database_name, mode);
flag 関数の成功・失敗を表すインジケータ(msbool)。
database_name データベースディレクトリ名へのポインタ(char*)
mode 'r'または'u'は、readまたはupdateモードの オープンを意味します。これはシングルクォートで囲む必要があります。


RETURNS

成功した場合には(1)を返し、失敗した場合には(0)を返します。関数が失敗 した場合mroperr変数に、ヘッダーファイルmrerrno.hにリスト されている、MRER...コードがセットされます。これにより失敗した原因を 調べることが可能です。


WARNINGS

一般的にmrtopdictを呼出す場合、新しいファイルが生成されると、 データベース内のファイルを破壊する危険があるので、カレントディレクトリで 実行してはいけません。(データベースディレクトリ内でアプリケーションを実行 しないこと)readモードが指定されても、データディクショナリーテーブル に読込み許可を持っていない場合、またはupdateモードが指定されていても、 同じく更新許可を持っていない場合には、mrtopdictは失敗し、 エラーを通知します。





mrtopen

DESCRIPTION

mrルーチンで使用するためにテーブルをオープンします。失敗した場合 には呼出しプログラムを終了しません。 テーブルには、データディクショナリーに設定されているレベルでロックが設定され ます。テーブルレベルのロックが設定されていると、この関数によってテーブルは ロックされます。


SYNOPSIS
addr   mrtopen (char* database_name, 
                char* table_name, 
                char mode)

USAGE
table_desc = mrtopen (database_name, 
                      table_name, mode);
table_desc テーブル記述子へのポインタ(addr)。
database_name データベースディレクトリー名へのポインタ(char*)
table_name テーブル名へのポインタ(char*)
mode 'r'、'u'、'd'、'n'、'N'は、 それぞれreadupdatedeferreddirty readdeferred dirty readモードでのオープンを意味します。これらは、シングル クォートで囲む必要があります。 dirty readモードは、ロックレベルを回避して検索します。 (Empress: Database Administrator's Guide を参照してください。) deferredモードは、update用にテーブルをオープンしますが、検索時にはread ロックを行います。このreadロックはmrdelmrputmrtdelmrtputが実行された場合にupdateロックに変更されます。


RETURNS

成功した場合、テーブル記述子へのポインタ(addr)を返し、 失敗した場合には、ゼロポインタを返します。関数が失敗した場合mroperr 変数に、ヘッダーファイルmrerrno.hにリストされている、MRER... コードがセットされます。これにより失敗した原因を調べることが可能です。


WARNINGS

一般的にmrtopenを呼出す場合、新しいファイルが生成されると、 データベース内のファイルを破壊する危険があるので、カレントディレクトリで 実行してはいけません。(データベースディレクトリ内でアプリケーションを実行 しないこと)readモードが指定されても、データディクショナリーテーブル に読込み許可を持っていない場合、またはupdateモードが指定されていても、 同じく更新許可を持っていない場合には、mrtopenは失敗し、 エラーを通知します。





mrtprev

DESCRIPTION

テーブルから、前のレコードを検索します。失敗した場合、呼出しプログラム を終了しません。


SYNOPSIS
int   mrtprev (addr retrieval_desc)

USAGE
flag = mrtprev (retrieval_desc);
flag 関数からの結果を示すインジケータ(int)。
retrieval_desc mrgetbeginによって返されるポインタ(addr)。


RETURNS

成功した場合は(1)、全てのレコードが検索済みの場合は(0)、レコードがロック されている場合は(-1)を返します。関数が失敗した場合mroperr変数に、 ヘッダーファイルmrerrno.hにリストされている、MRER...コードが セットされます。これにより失敗した原因を調べることが可能です。


WARNINGS

一回以上のmrtprevが呼出された後は、mrgetendを呼出して クリーンアップしてください。





mrtput

DESCRIPTION

レコードを更新します。失敗したか成功したか結果を返します。mrtput は、フィールドにユニークインデックスが設定されている場合に使用してください。


SYNOPSIS
msbool   mrtput (addr new_rec_desc, 
                 addr old_rec_desc)

USAGE
flag = mrtput (new_rec_desc, old_rec_desc);
flag 関数の成功・失敗を表すインジケータ(msbool)。
new_rec_desc mrmkrecによって返されたポインタ(addr)。このレコードへの ポインタは、更新されたフィールド値を持っています。
old_rec_desc mrmkrecによって返されたポインタ(addr)。このレコードへの ポインタは、検索されたオリジナルのフィールド値を持っています。


RETURNS

成功した場合には(1)、失敗した場合には(0)を返します。関数が失敗した場合 mroperr変数に、ヘッダーファイルmrerrno.hにリストされている、 MRER...コードがセットされます。これにより失敗した原因を調べることが 可能です。


WARNINGS

old_rec_descは、mrgetbeginmrgetに よって、検索された更新前のレコードを指していなくてはなりません。 そうでないと、mrtputは失敗します。





mrtqatr

DESCRIPTION

フィールド値を他のフィールド値と比較します。失敗した場合には通知します。


SYNOPSIS
addr   mrtqatr (char* operator, 
                addr attr_desc_1, 
                addr attr_desc_2)

USAGE
qual_desc = mrtqatr (operator, attr_desc_1,
                     attr_desc_2);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
operator 文字列(char*)は、次に示すいずれかの一つ。">" 、"<"、">="、 "<="、"="、"!=" ("~="と"!="は同義語です。)
attr_desc_1 mrigetaまたはmrngetaによって返されたポインタ (addr)。
attr_desc_2 mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

検索条件記述子へのポインタ(addr)を返します。失敗した 場合には、ADDRNIL((addr)0)を返します。関数が失敗した場合 mroperr変数に、ヘッダーファイルmrerrno.hにリストされている、 MRER...コードがセットされます。これにより失敗した原因を調べることが 可能です。


WARNINGS

比較される2つのフィールドには、互換性がなくてはなりません。ない場合には mrtqatrは失敗します。





mrtqcon

DESCRIPTION

フィールド値をファイルフォーマットの定数と比較します。失敗した場合には 通知します。mrcvt関数群の1つによって返されるファイルフォーマットへの ポインタを使用します。


SYNOPSIS
addr   mrtqcon (char* operator, 
                addr attr_desc, 
                addr var_ptr)

USAGE
qual_desc = mrtqcon (operator, attr_desc, 
                     &var);

qual_desc = mrtqcon (operator, attr_desc, 
                     mrcvt (attr_desc, string));
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
operator 次に示すいずれかの文字列(char*)。">"、 "<"、">="、 "<="、"="、"!=" ("~="は"!="と同義語です。)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
var ファイルフォーマットの定数を含む変数。
string 外部フォーマットのフィールド値へのポインタ(char*)


RETURNS

検索条件記述子へのポインタ(addr)を返します。失敗した 場合には、ADDRNIL (addr)0を返します。関数が失敗した場合 mroperr変数に、ヘッダーファイルmrerrno.hにリストされている、 MRER...コードがセットされます。これにより失敗した原因を調べることが 可能です。


WARNINGS

なし。





mrtqmch

DESCRIPTION

フィールド値をパターンと比較します。失敗した場合には通知します。


SYNOPSIS
addr   mrtqmch (char* operator, 
                addr attr_desc, 
                char* pattern)

USAGE
qual_desc = mrtqmch (operator, attr_desc, 
                     pattern);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
operator 次に示す文字列char*のうちに1つ。MATCHSMATCH!MATCH!SMATCH ("~"は"!" ;と同義語です。)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
pattern パターンへのポインタ(char*)


RETURNS

検索条件記述子へのポインタ(addr)を返します。失敗した場合 には、ADDRNIL((addr)0)を返します。関数が失敗した場合 mroperr変数に、ヘッダーファイルmrerrno.hにリストされている、 MRER...コードがセットされます。これにより失敗した原因を調べることが 可能です。


WARNINGS

なし。





mrtqnul

DESCRIPTION

フィールド値とNULLを比較します。失敗した場合通知します。


SYNOPSIS
addr   mrtqnul (char* operator, addr attr_desc)

USAGE
qual_desc = mrtqnul (operator, attr_desc);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
operator 次に示す文字列(char*)。"="または"< TT>!=" ("~="は"!="と同義語です。)
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。


RETURNS

検索条件記述子へのポインタ(addr)を返します。失敗した 場合にがADDRNIL((addr)0)を返します。関数が失敗した場合 mroperr変数に、ヘッダーファイルmrerrno.hにリストされている、 MRER...コードがセットされます。これにより失敗した原因を調べることが 可能です。


WARNINGS

なし。





mrtqrng

DESCRIPTION

フィールド値を与えられた範囲と比較します。失敗した場合には通知します。


SYNOPSIS
addr   mrtqrng (addr attr_desc, 
                addr lower_limit, 
                char limit_type_1,
                addr upper_limit, 
                char limit_type_2)

USAGE
qual_desc = mrtqrng (attr_desc, lower_limit, 
                     limit_type_1, upper_limit, 
                     limit_type_2);

qual_desc = mrtqrng (attr_desc, 
                     mrcvtv (attr_desc, string_1), 
                     limit_type_1, 
                     mrcvtv2 (attr_desc, string_2), 
                     limit_type_2);
qual_desc mrgetbeginで使用される検索条件記述子へのポインタ (addr)。
attr_desc mrigetaまたはmrngetaによって返されたポインタ (addr)。
string_1 外部フォーマットのフィールド値へのポインタ(char*)
string_2 外部フォーマットのフィールド値へのポインタ(char*)
limit_type_1 'i'または'e'は、下限に指定した値を限界値に含むか (inclusive)、含まないか(exclusive)の指定を意味します。
limit_type_2 'i'または'e'は、下限に指定した値を限界値に含むか (inclusive)、含まないか(exclusive)の指定を意味します。
lower_limit 範囲の下限値を表すファイルフォーマット値へのポインタ(addr)。
upper_limit 範囲の上限値を表すファイルフォーマット値へのポインタ(addr)。


RETURNS

検索条件記述子へのポインタ(addr)を返します。失敗した 場合には、ADDRNIL((addr)0)を返します。関数が失敗した場合 mroperr変数に、ヘッダーファイルmrerrno.hにリストされている、 MRER...コードがセットされます。これにより失敗した原因を調べることが 可能です。


WARNINGS

なし。





mrtrcancel

DESCRIPTION

トランザクションをキャンセルし、データベースを前の状態に戻します。


SYNOPSIS
msbool   mrtrcancel (void)

USAGE
flag = mrtrcancel ();
flag 関数の成功・失敗を表すインジケータ(msbool)。


RETURNS

成功した場合は(1)を返し、失敗した場合は(0)を返します。


WARNINGS

なし。





mrtrcommit

DESCRIPTION

トランザクションをコミットし、データベースへの変更を確定します。


SYNOPSIS
msbool   mrtrcommit (void)

USAGE
flag = mrtrcommit ();
flag 関数の成功・失敗を表すインジケータ(msbool)。


RETURNS

成功した場合は(1)を返し、失敗した場合は(0)を返します。


WARNINGS

トランザクションは進行している必要があります。





mrtrrollback

DESCRIPTION

セーブポイントまでトランザクションをロールバックします。


SYNOPSIS
msbool   mrtrrollback (char* savepoint)

USAGE
flag = mrtrrollback (savepoint);
flag 関数の成功・失敗を表すインジケータ(msbool)。
savepoint セーブポイント名へのポインタ(char*)。この名前は英字で始まる文字列 でなくてはなりません。セーブポイント名がCHARNIL (" ")の場合、 mrtrcancelと同一となります。


RETURNS

成功した場合は(1)を返し、失敗した場合は(0)を返します。


WARNINGS

トランザクションが進行し、セーブポイントが設定されている必要があります。

mrtrrollbackが、mrgetbeginmrgetendの間で 、レコードの削除または更新後に呼出されると、レコードの内容は不確定となって しまいます。





mrtrsave

DESCRIPTION

トランザクション内にセーブポイントを設定します。


SYNOPSIS
msbool   mrtrsave (char* savepoint)

USAGE
flag = mrtrsave (savepoint);
flag 関数の成功・失敗を表すインジケータ(msbool)。
savepoint セーブポイント名へのポインタ(char*)。この名前は英字で始まる 文字列でなくてはいけません。


RETURNS

成功した場合は(1)を返し、失敗した場合は(0)を返します。


WARNINGS

トランザクションは進行していなくてはなりません。





mrtrstart

DESCRIPTION

トランザクションを開始します。


SYNOPSIS
msbool   mrtrstart (void)

USAGE
flag = mrtrstart ();
flag 関数の成功・失敗を表すインジケータ(msbool)。


RETURNS

成功した場合は(1)を返し、失敗した場合は(0)を返します。失敗する場合は トランザクションが既に開始されている時です。


WARNINGS

なし。





mrtsrbegin

DESCRIPTION

ソート出力するために、検索条件をレコードと関連付けます。失敗した場合は 呼出しプログラムを終了しません。


SYNOPSIS
addr   mrtsrbegin (addr qual_desc, char indicator, 
                   addr record_desc_1,
                   [ ... addr record_desc_n,] (addr)0, 
                   addr attr_desc_1, char type, 
                   [ ... addr attr_desc_n, char type,] (addr)0)

USAGE
retrieval_desc = mrtsrbegin (qual_desc, indicator, record_desc_1, 
                 record_desc_2, .... , ADDRNIL, attr_desc_1, type, 
                 attr_desc_2, type, .... , ADDRNIL);
retrieval_desc mrgetに渡される、検索記述子へのポインタ(addr)。
qual_desc mrq関数群によって返される、検索条件記述子へのポインタ (addr)。検索条件がない場合、ADDRNILを指定します。
indicator 'u'または's'はユニークなソートか、標準的なソートかを 意味しています。これはシングルクォートで囲む必要があります。 ユニークなソートでは、リストされたフィールドのユニークなレコードを出力します。 リストされないフィールドが重複したデータを持っている場合、出力順は不定です。
record_desc_1 mrmkrecによって返されたポインタ(addr)。
record_desc_2 mrmkrecによって返されたポインタ(addr)。
attr_desc_1 mrigetaまたはmrngetaによって返されたポインタ (addr)。
attr_desc_2 mrigetaまたはmrngetaによって返されたポインタ (addr)。
type 'a'または'd'は、ソート順を昇順(ascending)にするか 降順(descending)にするかを指定します。


RETURNS

mrgetで使用する、検索記述子へのポインタ(addr) を返します。失敗した場合には、ADDRNIL((addr)0)を返します。 関数が失敗した場合mroperr変数に、ヘッダーファイルmrerrno.hに リストされている、MRER...コードがセットされます。これにより失敗した 原因を調べることが可能です。


WARNINGS

複数のレコードを使用することは、直積またはジョイン(mrgetを参照) を意味します。この場合、レコード記述子はは別々のテーブル記述子 から取得する必要があります。検索条件記述子の生成に使用されるmrq 関数内のすべての、フィールド記述子は、引数としてmrtsrbeginに 与えられるレコード記述子と一致する、テーブル記述子に属している 必要があります。そうでない場合関数はエラーを通知します。

mrsrtbeginに渡された、検索条件記述子は破壊され、再使用でき ません。





mrulrec

DESCRIPTION

レコードのロックを解除します。この関数はmrgetrecで検索された レコードのロックを解除し、またmrlkrecで生成されたロックを解除します。


SYNOPSIS
void   mrulrec (addr record_desc)

USAGE
mrulrec (record_desc);
record_desc mrmkrecによって返されたポインタ(addr)。


RETURNS

なし。


WARNINGS

レコードがロックされていないと、この関数は失敗します。





mrultab

DESCRIPTION

アプリケーション実行後にテーブルのロックを解除します。


SYNOPSIS
void   mrultab (addr table_desc)

USAGE
mrultab (table_desc);
table_desc mropenによって返された、オープンされたテーブルへのポインタ(addr)。


RETURNS

なし。


WARNINGS

なし。