転送対象判定
変更キーを候補として受け取り、転送元の現在値、有効黒伝、転送モデル、列の値評価をもとに転送対象かどうかを判定する概念
defined
validation: okcoverage: completeopen questions none
meaning: presentresponsibilities: presentboundaries: presentinvariants: presentrationale: not setevidence: presentlinked concepts: present
Open Questions
- None
Definition Statements
Meaning
4 statements
| Statement | Text |
|---|---|
変更キーは転送の候補であるdirty-key-is-transfer-candidate | 変更キーは転送の候補である。 |
変更キーはそのまま転送するわけではないdirty-key-is-not-direct-transfer-target | 変更キーはそのまま転送するわけではなく、転送対象判定によって転送要否と転送表現の候補を決める。 |
転送モデルによって判定は異なるtransfer-model-changes-decision | 転送対象判定は、転送モデルによって判定を変える。 |
比較対象外列は転送先リンクが持つignored-columns-owned-by-destination-link | 比較対象外列は、宛先別の設定として転送先リンクが持つ。 |
Responsibilities
6 statements
| Statement | Text |
|---|---|
immutable transfer model で有効黒伝がなければ追加転送候補immutable-no-active-black-is-insert-candidate | immutable transfer model で有効黒伝がなければ、追加転送候補として扱う。 |
immutable transfer model で有効黒伝があれば赤伝転送候補immutable-active-black-is-red-candidate | immutable transfer model で有効黒伝があれば、赤伝転送候補として扱う。 |
赤伝転送候補では列の検査が必要red-candidate-needs-column-evaluation | 赤伝転送候補では、列の検査を行い、比較対象外列以外が変更されている場合に転送対象として扱う。 |
mutable transfer model で有効黒伝がなければ追加転送候補mutable-no-active-black-is-insert-candidate | mutable transfer model で有効黒伝がなければ、追加転送候補として扱う。 |
mutable transfer model で有効黒伝があれば更新転送候補mutable-active-black-is-update-candidate | mutable transfer model で有効黒伝があれば、更新転送候補として扱う。 |
更新転送候補では列の検査が必要update-candidate-needs-column-evaluation | 更新転送候補では、列の検査を行い、比較対象外列以外が変更されている場合に転送対象として扱う。 |
Boundaries
3 statements
| Statement | Text | Similarity negated |
|---|---|---|
変更キーの登録方法は定義しないnot-dirty-key-registration | 転送対象判定は、変更キーの登録方法を定義しない。 | dirty-key |
列の具体的な比較式は定義しないnot-column-comparison-expression | 転送対象判定は、列の具体的な比較式、SQL、NULL 比較、型変換規則を定義しない。 | - |
転送表現の保存形式や実行手順は定義しないnot-transfer-operation-storage | 転送対象判定は、黒伝転送、赤伝転送、物理削除転送の保存形式や実行手順を定義しない。 | - |
Invariants
1 statements
| Statement | Text |
|---|---|
比較対象外列だけが変わっている場合は転送不要ignored-columns-only-is-no-transfer | 比較対象外列だけが変わっている場合は、転送対象として扱わない。 |
Internal Links
| From | Kind | To | Reason | Evidence |
|---|---|---|---|---|
変更キーは転送の候補であるdirty-key-is-transfer-candidate | bounds | 変更キーはそのまま転送するわけではないdirty-key-is-not-direct-transfer-target | 変更キーは候補であって、転送対象の確定ではないため。 | spec:transfer-target-decision |
immutable transfer model で有効黒伝があれば赤伝転送候補immutable-active-black-is-red-candidate | requires | 赤伝転送候補では列の検査が必要red-candidate-needs-column-evaluation | 有効黒伝があるだけでは赤伝転送が必要とは限らず、列の値評価が必要であるため。 | spec:transfer-target-decision |
mutable transfer model で有効黒伝があれば更新転送候補mutable-active-black-is-update-candidate | requires | 更新転送候補では列の検査が必要update-candidate-needs-column-evaluation | 有効黒伝があるだけでは更新転送が必要とは限らず、列の値評価が必要であるため。 | spec:transfer-target-decision |
比較対象外列だけが変わっている場合は転送不要ignored-columns-only-is-no-transfer | constrains | 赤伝転送候補では列の検査が必要red-candidate-needs-column-evaluation | 赤伝転送候補でも比較対象外列だけの変更なら転送不要になるため。 | spec:transfer-target-decision |
比較対象外列だけが変わっている場合は転送不要ignored-columns-only-is-no-transfer | constrains | 更新転送候補では列の検査が必要update-candidate-needs-column-evaluation | 更新転送候補でも比較対象外列だけの変更なら転送不要になるため。 | spec:transfer-target-decision |
External Relationships
| Concept | Kind | Reason | Supported by | Evidence |
|---|---|---|---|---|
変更キーdirty-key | uses | 変更キーを転送候補として受け取るため。 | dirty-key-is-transfer-candidate, dirty-key-is-not-direct-transfer-target | spec:transfer-target-decision |
有効黒伝active-black | uses | 有効黒伝の有無が追加、赤伝転送候補、更新転送候補の判定材料になるため。 | immutable-no-active-black-is-insert-candidate, immutable-active-black-is-red-candidate, mutable-no-active-black-is-insert-candidate, mutable-active-black-is-update-candidate | spec:transfer-target-decision |
転送先仕様destination | uses | 転送先仕様が持つ transfer model によって判定が変わるため。 | transfer-model-changes-decision | spec:transfer-target-decision |
転送先リンクdestination-link | uses | 宛先別の比較対象外列を参照し、列の値評価で転送要否を判断するため。 | ignored-columns-owned-by-destination-link, red-candidate-needs-column-evaluation, update-candidate-needs-column-evaluation, ignored-columns-only-is-no-transfer | spec:transfer-target-decision, spec:destination-link |
赤伝転送red-transfer | supports | immutable transfer model で有効黒伝がある場合、列の値評価を通って赤伝転送候補になるため。 | immutable-active-black-is-red-candidate, red-candidate-needs-column-evaluation | spec:transfer-target-decision |
黒伝転送black-transfer | supports | 追加転送候補と mutable transfer model の更新転送候補が黒伝転送側の表現につながるため。 | immutable-no-active-black-is-insert-candidate, mutable-no-active-black-is-insert-candidate, mutable-active-black-is-update-candidate, update-candidate-needs-column-evaluation | spec:transfer-target-decision |
転送作業対象work-item | supports | 転送作業対象に転送要否と転送表現候補の判断材料を与えるため。 | dirty-key-is-not-direct-transfer-target, transfer-model-changes-decision | spec:transfer-target-decision |
Coverage
| Area | Coverage | Reason | Resolution criteria |
|---|---|---|---|
definition | complete | 転送対象判定の意味、責務、境界、不変条件を定義済み。 | - |
relationships | complete | 変更キー、有効黒伝、転送先仕様、転送先リンク、赤伝転送、黒伝転送、転送作業対象との関係を定義済み。 | - |
Evidence
| Evidence ID | Type | Path | Exists |
|---|---|---|---|
spec:transfer-target-decision | spec | concept.json | yes |
spec:destination-link | spec | ../destination-link/concept.json | yes |
Validation
- No validation issues.
Technical Metadata
- Source JSON:
packages/transfer/docs/concepts/transfer-target-decision/concept.json