付録H.5 QueryOperatorクラス定義

ここでは,QueryOperatorクラス定義について説明します。

<Query Operator Description>::=
(
<左角括弧><Query Operator Description Name><右角括弧>
ClassFactory=text=dmaClass_QueryOperatorDescription
dmaProp_ClassDescription=obj=dmaclass.ini@dmaClass_QueryOperatorDescription
dmaProp_This=obj=Self
dmaProp_DisplayName=text=(<Printable ascii code>)...
dmaProp_DescriptiveText=text=(<Printable ascii code>)...
dmaProp_Ids=obj=<Reference>
dmaProp_ResultType=int=<DMA Date Type>
dmaProp_IsList=bool=<Boolean Value>
dmaProp_MinimumOperands=int=<Integer32 Value>
dmaProp_MaximumOperands=int=<Integer32 Value>
dmaProp_IsSafeToEliminate=bool=0
dmaProp_OperandDescriptions=obj=<Reference>
dmaProp_JoinParticipation=int=<Join Participation>
)
<DMA Data Type>::=
{
DMA_DATATYPE_BINARY | DMA_DATATYPE_BOOLEAN | DMA_DATATYPE_DATETIME |
DMA_DATATYPE_FLOAT64 | DMA_DATATYPE_ID | DMA_DATATYPE_INTEGER32 |
DMA_DATATYPE_OBJECT | DMA_DATATYPE_STRING | DMA_DATATYPE_CLASS
}
<Join Participation>::=
{
DMA_JOIN_PARTICIPATION_NONE | DMA_JOIN_PARTICIPATION_OPERAND |
DMA_JOIN_PARTICIPATION_OPERATOR
}

  1. dmaProp_ResultType=int=<DMA Date Type>
    オペレータの演算結果の値のデータ型を指定します。指定可能な値は,<DMA Data Type>で示される値だけです。
    • DMA_DATATYPE_BINARY:オペレータによる演算結果の値が,Binary型です。
    • DMA_DATATYPE_BOOLEAN:オペレータによる演算結果の値がBoolean型です。
    • DMA_DATATYPE_DATETIME:オペレータによる演算結果の値がDateTime型です。
    • DMA_DATATYPE_FLOAT64:オペレータによる演算結果の値がFloat64型です。
    • DMA_DATATYPE_ID:オペレータによる演算結果の値がId型です。
    • DMA_DATATYPE_INTEGER32:オペレータによる演算結果の値がInteger型です。
    • DMA_DATATYPE_OBJECT:オペレータによる演算結果の値がObject型です。
    • DMA_DATATYPE_STRING:オペレータによる演算結果の値がString型です。
    • DMA_DATATYPE_CLASS:Joinオペレータの演算結果の値として指定します。
  2. dmaProp_IsList=bool=<Boolean Value>
    • 0:オペレータによる演算結果がscalar型です。
    • 1:オペレータによる演算結果がList型です。
  3. dmaProp_MinimumOperands=int=<Integer32 Value>
    オペレータが要求するオペランドの最小数を指定します。0以上の値を指定します。
  4. dmaProp_MaximumOperands=int=<Integer32 Value>
    オペレータに指定できるオペランドの最大数を指定します。dmaProp_MinimumOperandsとdmaProp_MaximumOperandsが両方とも0の場合,オペレータは,オペランドが不要なことを示します。指定可能なオペランドが任意の個数の場合,DMA_NO_MAXIMUMを指定します。
  5. dmaProp_IsSafeToEliminate
    問い合わせに対応しないオペレータです。
  6. dmaProp_OperandDescriptions=obj=<Reference>
    オペレータのオペランドを定義するdmaClass_QueryOperandDescriptionクラスを要素とするdmaClass_ListOfObjectクラスを記述するセクションを指定します。オペレータがオペランドを持たない場合,要素が空のdmaClass_ListOfObjectクラスを記述するセクションを指定します。dmaClass_ListOfObjectクラスの要素であるdmaClass_QueryOperandDescriptionクラスの並びは,オペレータに指定するオペランドの並びと一致させる必要があります。また,すべて同じ定義であるオペランドをオペレータに指定する場合,dmaClass_ListOfObjectクラスの要素であるdmaClass_QueryOperandDescriptionクラスは1個です。
  7. dmaProp_JoinParticipation=int=<Join Participation>
    オペレータがJoin式に参加できる範囲を示す値を指定します。
    • DMA_JOIN_PARTICIPATION_NONE:From句に指定できないオペレータを示します。通常のdmaClass_QueryOperatorオブジェクトが該当します。
    • DMA_JOIN_PARTICIPATION_OPERAND:From句のJoinオペレータの第3オペランドであるON条件に指定できるオペレータを示します。dmaProp_ResultTypeがDMA_DATATYPE_BOOLEANでdmaProp_IsListが0である必要があります。
    • DMA_JOIN_PARTICIPATION_OPERATOR:Joinオペレータを示します。dmaProp_ResultTypeでDMA_DATATYPE_CLASSおよびdmaProp_IsListは0である必要があります。