機能
ソート機能を使用する実行環境を設定します。
ソート処理において一時的に使用するファイルを格納する作業ディレクトリ、および使用するメモリサイズを指定します。
作業ディレクトリ、メモリサイズを指定しない場合、省略値が設定されます。
記述形式
#include "libAsis.h" /* 公開ヘッダ */ int AsisSetEnvSort( ASISHANDLE AHandle, /* ハンドル */ char *WorkFolder, /* 作業ディレクトリ名 */ int MemorySize, /* 利用メモリサイズ */ char *Reserve1, /* リザーブ(NULL) */ char *Reserve2); /* リザーブ(NULL) */ |
パラメタ
データ型 | パラメタ | 用途 | 説明 |
---|---|---|---|
ASISHANDLE | AHandle | 出力 | ハンドルを指定します。 |
char* | 入力 | 一時ファイルを格納する作業ディレクトリを指定します。 | |
int | 入力 | ソート機能で利用するメモリサイズをメガバイト(MB)で指定します。本パラメタに0を指定した場合、1000メガバイトで動作します。 | |
char* | Reserve1 | - | NULLを指定します。 |
char* | Reserve2 | - | NULLを指定します。 |
一時ファイルを格納する作業ディレクトリを指定します。
指定した作業ディレクトリに、以下の名前の一時ファイルが作成されます。一時ファイルはソート処理実行後に削除されます。
一時ファイル名:AsIs.[PID][TID][NO]
[PID]:5桁の数字でプロセスIDを表します。
[TID]:10桁の数字でスレッドIDを表します。
[NO]:3桁の数字です。
本パラメタを省略した場合(NULL指定時)、OSで設定されている下記一時ディレクトリを利用します。
OS | 設定されている一時ディレクトリ |
---|---|
Windows | 環境パラメタTEMPに設定されているディレクトリ |
Linux | /tmpディレクトリ |
Solaris | /tmpディレクトリ |
注意
OSで設定されている一時ディレクトリが存在しない、または設定されていない場合、作業ディレクトリの指定を省略することはできません。
参考
OSによって設定されている作業ディレクトリは、他のプロセスからもアクセスされるため、アクセスが集中すると一時ファイルの読み書きが遅くなる可能性があります。
大量のデータをソートする場合など、一時ファイルを使用する可能性が高い場合は、他のプロセスから同時にアクセスされないディスクにWorkFolderパラメタを使って作業ディレクトリを指定してください。
ソート機能で利用するメモリサイズをメガバイト(MB)で指定します。
ソート処理実行時、指定サイズを超えるメモリが必要となる場合、WorkFolderで指定した作業ディレクトリに、一時ファイルが作成されます。
注意
ソート機能で利用するメモリサイズは本パラメタで指定したサイズに加えワーク用にメモリを使用します。
本パラメタは利用できるメモリ資源の最大サイズを100メガバイト以上で指定してください。
本パラメタに0を指定した場合、1000メガバイトで動作します。
本パラメタに指定したサイズが、実行する環境の物理メモリサイズよりも大きい場合、実行する環境の物理メモリサイズが設定されます。このときAsisSetEnvSort関数はエラーで復帰し、エラーレベル「警告」が設定されます。
参照
使用するメモリの最大サイズの設定例については、“B.4.2 ソート条件ファイル”の表B.4 使用するメモリの最大サイズの設定例を参照してください。
復帰値
復帰値 | 説明 |
---|---|
ASIS_SUCCESS | 関数が正常に終了したことを示します。 |
ASIS_ERROR | 関数の実行時に問題が検出されたことを示します。 |