現在選択されているデータベースが関与しているパーティション定義のリストを戻します。
構文
ESS_FUNC_M EssPartitionGetList (
hCtx, pSelectPartition, pusCount, ppPartition
);
パラメータ | データ型 | 説明 |
---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
pSelectPartition |
ESS_PARTSLCT_T |
パーティションの選択条件。 |
pusCount |
ESS_PUSHORT_T |
戻されるパーティションの数。 |
ppPartition |
ESS_PART_INFO_T |
パーティション情報構造体において割り当てられた配列へのポインタ。 |
戻り値
正常終了の場合は0が戻され、失敗した場合はエラー・コードが戻されます。
例
ESS_FUNC_M ESS_PartitionGetList(ESS_HCTX_T hCtx, ESS_HINST_T hInst) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_USHORT_T op_types = 0; ESS_USHORT_T dir_types = 0; ESS_USHORT_T meta_dir_types = 0; ESS_USHORT_T count, i; ESS_PPART_INFO_T partitionp = NULL; ESS_PARTSLCT_T SelectPartition; memset(&Selectpartition, 0, sizeof(ESS_PARTSLCT_T)); op_types = ESS_PARTITION_OP_REPLICATED | ESS_PARTITION_OP_LINKED | ESS_PARTITION_OP_TRANSPARENT; dir_types = ESS_PARTITION_DATA_SOURCE | ESS_PARTITION_DATA_TARGET; meta_dir_types = ESS_PARTITION_OTL_SOURCE | ESS_PARTITION_OTL_TARGET; SelectPartition.usOperationTypes = op_types; SelectPartition.usDirectionTypes = dir_types; SelectPartition.usMetaDirectionTypes = meta_dir_types; sts = EssPartitionGetList(hCtx, &SelectPartition, &count, &Partitionp); printf("EssPartitionGetList sts: %ld\n",sts); if (!sts) { printf("\n# Partitions matching input criteria: %d\n\n", (int)count); for (i = 0; i < count; i++) { ESS_PART_INFO_T *info = &partitionp[i]; printf("%2d: %s %s %s: Host=%s App=%s Db=%s\n", i+1, info->OperationType==ESS_PARTITION_OP_REPLICATED ? "Replication" : info->OperationType==ESS_PARTITION_OP_LINKED ? "Link" : info->OperationType==ESS_PARTITION_OP_TRANSPARENT ? "Transparent" : "Unknown", info->DataDirection==ESS_PARTITION_DATA_SOURCE ? "Source" : info->DataDirection==ESS_PARTITION_DATA_TARGET ? "Target" :"Unknown", info->MetaDirection==ESS_PARTITION_OTL_SOURCE ? "(Outline Change Source)": info->MetaDirection==ESS_PARTITION_OTL_TARGET ? "(Outline Change Target)" :"(Unknown Outline Change Type)", info->SvrName, info->AppName, info->DbName); printf(" Outline last changed: %s\n", info->LastMetaUpdateTime==0 ? "Never\n" : ctime(&info->LastMetaUpdateTime)); if (info->OperationType==ESS_PARTITION_OP_REPLICATED && info->DataDirection==ESS_PARTITION_DATA_TARGET) { printf(" Last replicated: %s %s\n", info->LastRefreshTime==0 ? "Never\n" : ctime(&info->LastRefreshTime), info->PartitionUpdatable ? "Locally updatable" : "Not locally updatable"); } else if (info->OperationType==ESS_PARTITION_OP_REPLICATED && info->DataDirection==ESS_PARTITION_DATA_SOURCE) { printf(" Last updated: %s %s\n\n", info->LastUpdateTime==0 ? "Never\n" : ctime(&info->LastUpdateTime), info->IncrRefreshAllowed ? "Incrementally replicatable" : "Not incrementally replicatable"); } }#/* end for */ }#/* end if */ if (partitionp) EssFree(hInst, partitionp); return(sts); }
関連トピック