関数

以下の関数引数および関数を使用して、関数ベースのクエリー文節を構成します。

関数引数

関数引数は以下のとおりです。

attr_name
is_product や platform など、任意の属性名を指定します。
object_name
任意のオブジェクト・バージョンのオブジェクト参照形式を指定します。

name-version:type:instance (assuming version delimiter is ’-’)

name:version:type:instance

order_spec
検索順序を指定します。order_spec に値 depth を使用する場合、この値は深さ優先検索が実行されることを示します。breadth を使用すると、幅優先検索が指定されます。 order_spec に値「none」を使用すると、順序は重要ではなくなり、任意の順序で検索が実行されます。最速の方式が使用されます。

none | depth | breadth

privilege_name
read または write など、アクセス権の名前を指定します。
project_name
任意のプロジェクト・オブジェクト・バージョンの名前を指定します。

project_name-version (assuming version delimiter is ’-’)

project_name:version

project_name-version:project:instance

project_name:version:project:instance

関数の定義

クエリー関数は以下のとおりです。

baseline(’baselinename’)
指定されたベースライン名を持つベースラインをクエリーします。DCM 初期化されたデータベースでは、必要に応じて、ベースライン名に DCM データベース ID と DCM 区切り文字接頭部を含めることができます。ベースライン名引数が指定されない場合、すべてのベースラインをクエリーします。
baseline_tasks(’baselinename’)
指定されたベースラインに含まれていたタスクをクエリーします。DCM 初期化されたデータベースでは、必要に応じて、ベースライン名に DCM データベース ID と DCM 区切り文字接頭部を含めることができます。このクエリー関数は、他のクエリー文節やネストされたクエリーと一緒には使用できません。
cr(’crid’)
指定された変更依頼 ID を持つ変更依頼をクエリーします。DCM 初期化されたデータベースでは、必要に応じて、変更依頼 ID に DCM データベース ID と DCM 区切り文字接頭部を含めることができます。変更依頼 ID 引数が指定されない場合、すべての変更依頼をクエリーします。
folder(’folderid’)
指定されたフォルダー ID を持つフォルダーをクエリーします。DCM 初期化されたデータベースでは、必要に応じて、フォルダー ID に DCM データベース ID と DCM 区切り文字接頭部を含めることができます。フォルダー ID 引数が指定されない場合、すべてのフォルダーをクエリーします。
has_attr(’attr_name’)
データベースで、属性 attr_name (is_productplatform など) を持つすべてのオブジェクト・バージョンをクエリーします。
has_child(’object_name’,’project_name’)
データベースで、object_name をメンバーに持つ project_name 内のすべてのディレクトリー・オブジェクト・バージョンをクエリーします。
has_member(’object_name’)
データベースで、指定されたオブジェクト・バージョンをメンバーに持つすべてのプロジェクト・オブジェクト・バージョンをクエリーします。
has_model(’object_name’)
データベースで、指定されたモデル・オブジェクト・バージョンをモデルとして使用するすべてのオブジェクト・バージョンをクエリーします。

例えば、Base Model を使用する場合、このクエリーは has_model(’base-1:model:base’) となります。

has_no_relation()
他のオブジェクトに対して relation という関係を持たないオブジェクトをクエリーします。例えば、関連付けられたオブジェクトを持たないタスクをクエリーするには、以下のコマンドを実行します。

ccm query "cvtype='task' and has_no_associated_cv()"

has_predecessor(’object_name’)
データベースで、指定されたオブジェクト・バージョンを直接の祖先に持つすべてのオブジェクト・バージョンをクエリーします。
has_priv(’privilege_name’)
データベースで、指定された名前の権限 (readwrite など) と一致するオブジェクトをクエリーします。
has_purpose(’purpose’)
指定された目的に一致する member_status を持つオブジェクトをクエリーします。
has_relationship(’object_name’)
データベースで、object_name とタイプ relationship の関係を持つすべてのオブジェクト・バージョンをクエリーします。

relationship は、associated_cvassociated_task などの任意の確立した関係です。

has_relationship(’object_name’,’operator’,time)
データベースで、関係の作成時刻が指定の演算子 (=、!=、>、<=、>、または >=) および時刻値と一致する指定のオブジェクトに対して、指定された関係を持つすべてのオブジェクトをクエリーします。

relationship は、associated_cvassociated_task などの任意の確立した関係です。

is_relationship(’objectspec’, ’operator’, time) は、has_relationship_of(’objectspec’, ’operator’, time) の逆クエリーです。

has_type(’type_name’)
データベースで、タイプ type_name のすべてのオブジェクト・バージョンをクエリーします。例えば、has_type(’csrc-1:cvtype:base’) というクエリーでは、HelloWorld-1:csrc:1 が検索されます。
hierarchy_project_members(’project_name’, order_spec)
データベースで、project_name により指定されたプロジェクト階層内のすべてのプロジェクトをクエリーします。order_spec 引数は、recursive_is_member_of で説明するように、検索順序を指定します。

クエリーにより、オブジェクト・バージョン名の番号付きリストが返されます。このクエリーと他のクエリーを使用すると、結果の順序が変わる場合があります。

project_name はこのクエリーからは返されます。

is_available_task_of_release(’task_release’, ’baseline_release’, ’baseline_purpose’)
指定されたベースライン・リリースおよび目的と一致する最新のベースライン内に存在しない、指定されたタスク・リリースの完了タスクをクエリーします。
is_bound()
データベースで、任意のプロジェクトのメンバーであるオブジェクト・バージョンをクエリーします。他の制限オプション (プロジェクト名など) を指定する場合は、この関数を使用するのが最適です。
is_child_of(’object_name’,’project_name’)
データベースで、プロジェクト project_name 内のディレクトリーまたはプロジェクト object_name のメンバーである、すべてのオブジェクト・バージョンをクエリーします。
is_cr_of_baseline(’baseline_id’)
指定されたベースライン内に存在する変更依頼をクエリーします。この変更依頼は、ベースライン内のオブジェクトまたはそれらのオブジェクトの祖先に関連するタスクに関連付けられているものです。
is_missing_cr_of_baseline(’baseline_id’,’release_name’)
指定されたベースライン内に存在しない、指定されたリリースの変更依頼をクエリーします。
is_missing_cr_of_release(’release_name’)
指定されたリリースのタスクに関連付けられていない、そのリリースの変更依頼をクエリーします。
is_unique_cr_of_baseline(’baseline_id’,’reference_baseline_id’)
参照ベースラインと比較して、ベースラインに固有の変更依頼をクエリーします。
is_hist_leaf()
データベースで、履歴内のリーフ・ノードであるオブジェクトをクエリーします (つまり、後続オブジェクトを持たないオブジェクトをクエリーします)。
is_hist_root()
データベースで、履歴内のルート・ノードであるオブジェクトをクエリーします (つまり、祖先を持たないオブジェクトをクエリーします)。
is_member_of(’project_name’)
データベースで、指定されたプロジェクトのメンバーであるすべてのオブジェクト・バージョンをクエリーします。
is_model_of(’object_name’)
データベースで、指定されたオブジェクト・バージョンに関連付けられたモデル・オブジェクト・バージョンをクエリーします。
is_no_relation()
他のオブジェクトからの relation という関係を持たないオブジェクトをクエリーします。例えば、どのタスクとも関連付けられていないタイプ ascii のオブジェクトのクエリーは、次のようになります。

ccm query "cvtype='ascii' and is_no_associated_cv()"

is_predecessor_of(’object_name’)
データベースで、指定されたオブジェクト・バージョンの直接の祖先であるすべてのオブジェクト・バージョンをクエリーします。
is_relationship_of(’object_name’)
データベースで、object_name オブジェクトとタイプ relationship の関係を持つすべてのオブジェクト・バージョンをクエリーします。

has_relationship(’object_name’) 関数は、is_relationship_of(’object_name’) の逆クエリーです。

is_relationship_of(’object_name’, ’operator’, time)
関係の作成時刻が指定の演算子 (=、!=、>、<=、>、または >=) および時刻値と一致する指定のオブジェクトから、指定された関係を持つすべてのオブジェクトをクエリーします。

以下に例を示します。

is_associated_cv_of(’task23-1:taks:M’, ’>’, time(’1 May 2010’))

このクエリーによって、2010 年 5 月 1 日より後のタスクに関連付けられていたタスク M#23 のすべての関連オブジェクトが検索されます。

has_relationship(’objectspec’, ’operator’, time) 関数は、is_relationship_of(’objectspec’, ’operator’, time) の逆クエリーです。

関係の作成については、relate コマンドを参照してください。

is_type_of(’object_name’)
object_name の作成に使用されたモデル内で、type オブジェクト・バージョンをクエリーします。
latest_baseline_tasks(’release’,’purpose’)
データベースで、指定された release および purpose を持つ、最新の作成済みベースラインに含まれるタスクをクエリーします。Any という purpose は、どの目的にも一致することを意味します。このクエリー関数は、他のクエリー文節やネストされたクエリーと一緒には使用できません。
latest_baseline_tasks_db(’dbid’,’release’,’purpose’)
データベースで、指定された release および purpose を持つ、指定されたデータベースから作成された最新のベースラインに含まれるタスクをクエリーします。Any という purpose は、どの目的にも一致することを意味します。このクエリー関数は、他のクエリー文節やネストされたクエリーと一緒には使用できません。
recursive_has_relation(’object_name’, inclusive)
データベースで、object_name オブジェクトに対してタイプ relationship の関係を持つすべてのオブジェクト・バージョンをクエリーし、同様の各オブジェクトすべてを再帰処理します。

inclusive 引数は、ブール値 TRUE または FALSE です。値 TRUE は、object_name で指定されたオブジェクトが結果に含まれることを意味します。

recursive_is_member_of(’project_name’, order_spec)
データベースで、project_name により指定されたプロジェクト階層のすべてのプロジェクトのすべてのメンバーをクエリーします。

このクエリーにより、オブジェクト・バージョン名のリストが返されます。リストでは、すべての非プロジェクトがリストの最初に示され、次に階層のメンバーのプロジェクトが続きます。検索順序にとって重要なのは、結果内のプロジェクトの位置のみです。このクエリーと他のクエリーを使用すると、結果の順序が変わる場合があります。

project_name はこのクエリーからは返されません。

recursive_is_relation_of(’object_name’, inclusive)
データベースで、object_name オブジェクトからのタイプ relationship の関係を持つすべてのオブジェクト・バージョンをクエリーし、同様の各オブジェクトすべてを再帰処理します。

inclusive 引数は、ブール値 TRUE または FALSE です。値 TRUE は、object_name で指定されたオブジェクトが結果に含まれることを意味します。

例えば、「recursive_is_predecessor_of(’example.txt-1:ascii:1’, FALSE)」では、履歴ルートに戻る example.txt-1:ascii:1 のすべての再帰的祖先が検索されます。

task(’taskid’)
指定されたタスク ID を持つタスクをクエリーします。DCM 初期化されたデータベースでは、必要に応じて、タスク ID に DCM データベース ID と DCM 区切り文字接頭部を含めることができます。タスク ID 引数が指定されない場合、すべてのタスクをクエリーします。

フィードバック