Skip to content

<- Concepts

転送先仕様

転送先テーブルへ書き込むために必要な転送先側の仕様
id destinationformat schema v2
defined
validation: okcoverage: completeopen questions none
meaning: presentresponsibilities: presentboundaries: presentinvariants: presentrationale: presentevidence: presentlinked concepts: present

Open Questions

  • None

Definition Statements

Meaning

10 statements

StatementText
転送先テーブルへ書き込むために必要なテーブル、列、キー、採番、転送モデル、赤伝生成に関する転送先側の仕様
destination-red-transfer-produce
Destination とは、転送先テーブルへ書き込むために必要なテーブル、列、キー、採番、転送モデル、赤伝生成に関する転送先側の仕様である。
Definition とは、Destination を名前で再利用できるように永続化した定義
destination-definition
Destination Definition とは、Destination を名前で再利用できるように永続化した定義である。
table とは、転送によって実際に行が書き込まれる物理的な転送先テーブル
destination-table
`destination table` とは、転送によって実際に行が書き込まれる物理的な転送先テーブルである。
table そのものではなく、転送アプリケーションがそのテーブルへ書き込むために参照する仕様
destination-reference-table
Destination は `destination table` そのものではなく、転送アプリケーションがそのテーブルへ書き込むために参照する仕様である。
スキーマ名などを含む完全修飾された転送先テーブル名で一意に特定できる
destination
Destination は、スキーマ名などを含む完全修飾された転送先テーブル名で一意に特定できる。
Transfer Setting から独立した転送先仕様
destination-transfer-setting
Destination は、`Transfer Setting` から独立した転送先仕様である。
Transfer Setting ごとに再定義しない
destination-transfer-setting-not-define
Destination は、`Transfer Setting` ごとに再定義しない。
複数の Transfer Setting から参照されてよい。
destination-transfer-setting-reference
Destination は、複数の `Transfer Setting` から参照されてよい。
転送先テーブルの物理 DDL そのものではない。転送アプリケーションが必要とする転送先仕様
destination-ddl
Destination は、転送先テーブルの物理 DDL そのものではない。転送アプリケーションが必要とする転送先仕様である。
table を transfer 専用のシステムテーブルとして所有しない
destination-table-transfer
Destination は、`destination table` を transfer 専用のシステムテーブルとして所有しない。

Responsibilities

9 statements

StatementText
スキーマ名などを含む完全修飾された転送先テーブル名を持つ
destination-2
Destination は、スキーマ名などを含む完全修飾された転送先テーブル名を持つ。
転送先テーブルへ書き込む列を識別できる情報を持つ
destination-3
Destination は、転送先テーブルへ書き込む列を識別できる情報を持つ。
転送先行を後から識別できるキー定義を持つ
destination-row
Destination は、転送先行を後から識別できるキー定義を持つ。
転送先行を新規作成する際に、転送先側で採番値を得るための式または規則を持ってよい。
destination-row-create
Destination は、転送先行を新規作成する際に、転送先側で採番値を得るための式または規則を持ってよい。
転送先の保存モデルとして transfer model を示す
destination-transfer-model
Destination は、転送先の保存モデルとして transfer model を示す。
赤伝生成に必要な転送先側の列情報を持ってよい。
destination-red-transfer-produce-2
Destination は、赤伝生成に必要な転送先側の列情報を持ってよい。
が immutable transfer model で Red Transfer を扱う場合、数量や金額など、少なくとも1つの符号反転列を識別できる必要がある
destination-red-transfer-immutable-model
Destination が `immutable transfer model` で `Red Transfer` を扱う場合、数量や金額など、少なくとも1つの符号反転列を識別できる必要がある。
AOT 生成された Red Transfer SQL を保持してよい。
destination-red-transfer-produce-hold-aot-sql
Destination は、AOT 生成された `Red Transfer` SQL を保持してよい。
必要に応じて日付下限制御の補正関数hookを持ってよい。
destination-posting-date-lower-bound-hook
Destination は、必要に応じて日付下限制御の補正関数hookを持ってよい。

Boundaries

9 statements

StatementTextSimilarity negated
転送元 SQL の列名、構造、抽出条件を定義しない
not-destination-source-define-sql
Destination は、転送元 SQL の列名、構造、抽出条件を定義しない。-
source-to-destination mapping を定義しない
not-destination-define-source-mapping
Destination は、source-to-destination mapping を定義しない。-
source-to-destination mapping は、Destination Link の文脈で扱う
not-destination-link-context-source-mapping
source-to-destination mapping は、`Destination Link` の文脈で扱う。destination-link
Transfer Setting ごとの実行順序や有効無効を定義しない
not-destination-transfer-setting-define
Destination は、`Transfer Setting` ごとの実行順序や有効無効を定義しない。transfer-setting
転送実行状態、転送結果、実行履歴を管理しない
not-destination-state-manage
Destination は、転送実行状態、転送結果、実行履歴を管理しない。-
転送先行の由来追跡や、赤伝時に参照すべき現在有効な黒を管理しない
not-destination-lineage-active-black-row-trace-red
Destination は、転送先行の由来追跡や、赤伝時に参照すべき現在有効な黒を管理しない。lineage
SQL 生成手順や SQL 実行手順を定義しない
not-destination-produce-define-sql
Destination は、SQL 生成手順や SQL 実行手順を定義しない。-
差分比較除外列を定義しない
not-destination-transfer-setting-define-2
Destination は、差分比較除外列、つまり転送対象判定で比較を無視する列を定義しない。transfer-setting
Transfer Setting の都合で転送先テーブル、キー、採番、transfer model の意味を変えない。
not-destination-transfer-setting-model
Destination は、`Transfer Setting` の都合で転送先テーブル、キー、採番、transfer model の意味を変えない。transfer-setting

Invariants

13 statements

StatementText
転送先の保存モデルを表す。
destination-4
Destination は、転送先の保存モデルを表す。
転送元ごとに作らない。
destination-source
Destination は、転送元ごとに作らない。
の転送先テーブル名は、同じ package 内で一意であり、同じ物理転送先テーブルを複数の Destination Definition として再定義しない
destination-not-define-package-definition
Destination の転送先テーブル名は、同じ package 内で一意であり、同じ物理転送先テーブルを複数の Destination Definition として再定義しない。
Transfer Setting から再利用されてよい。
destination-transfer-setting-2
Destination は、`Transfer Setting` から再利用されてよい。
Transfer Setting に依存してはならない。
destination-transfer-setting-3
Destination は、`Transfer Setting` に依存してはならない。
Transfer Setting は、Destination を参照してよいが、Destination の意味を上書きしてはならない。
destination-transfer-setting-reference-2
`Transfer Setting` は、Destination を参照してよいが、Destination の意味を上書きしてはならない。
の transfer model は、後続の転送 SQL 生成と転送実行の前提になる。
destination-produce-transfer-model-sql
Destination の transfer model は、後続の転送 SQL 生成と転送実行の前提になる。
immutable transfer model の Destination は、Red Transfer のために少なくとも1つの符号反転列を識別できる必要がある
destination-red-transfer-immutable-model-2
`immutable transfer model` の Destination は、`Red Transfer` のために少なくとも1つの符号反転列を識別できる必要がある。
のキー定義は、転送先行を後から参照できる必要がある。
destination-row-reference
Destination のキー定義は、転送先行を後から参照できる必要がある。
の採番式は、転送先定義側で管理
destination-5
Destination の採番式は、転送先定義側で管理する。
Transfer Setting の基礎 SQL は、Destination の採番式を使って destination row key を投影してよい
destination-transfer-setting-base-sql-row-key
`Transfer Setting` の基礎 SQL は、Destination の採番式を使って `destination row key` を投影してよい。
transfer engine は、Transfer Setting の基礎 SQL に採番式や destination row key を暗黙に追加しない
destination-transfer-setting-base-sql-engine-row-key
transfer engine は、`Transfer Setting` の基礎 SQL に採番式や `destination row key` を暗黙に追加しない。
転送先テーブルの物理 DDL そのものではない。
destination-ddl-2
Destination は、転送先テーブルの物理 DDL そのものではない。

Rationale

10 statements

StatementText
Has Transfer Model
destination-has-transfer-model-yaml-immutable-mutable
Destination は、転送先行の保存方法を決める `transfer_model` を持つ。値は `immutable` または `mutable` である。
immutable
destination-row-red-transfer-produce-not-define-immutable
`immutable` は、転送先行を直接更新・削除せず、履歴として積み増す転送モデルである。更新時は元黒を赤伝化して新黒を追加し、削除時は元黒を赤伝化する。
mutable
destination-row-physical-delete-produce-not-define-mutable
`mutable` は、転送先行を直接更新・削除する転送モデルである。更新時は転送先行を直接更新し、削除時は転送先行を物理削除する。
Transfer Model Changes Are Migration-Level Decisions
destination-lineage-physical-delete-transfer-row-red-black
Destination の `transfer_model` は、転送先行をどう保存し、どう取り消し、どう更新するかを決める保存モデルである。既に転送が行われた後の変更は通常編集ではなく migration-level decision として扱い、履歴解釈、`Lineage` の不完全性、`Active Black` の扱いが変わることを人間に警告する。
Owns Red Transfer Column Information
destination-red-transfer-black-produce-owns-column-information
Destination は、赤伝生成に必要な転送先側の符号反転列情報を持ってよい。符号反転列は、既に転送されている元黒を転送先側でどう反転するかを示す仕様であり、具体的な SQL 生成手順ではない。
Generated Red Transfer SQL Belongs to Destination
destination-link-posting-date-lower-bound-red-transfer
`Red Transfer` は、既に転送されている元黒行を転送先側で反転して生成する。AOT 生成された赤伝SQLを保持する場合、その所属先は `Destination Link` ではなく Destination である。
Has Destination Columns
destination-red-transfer-reference-hold-has-columns-public
Destination は、転送先テーブルへ書き込む列を識別できる必要がある。同じ物理転送先テーブルを複数の Destination Definition として再定義すると、transfer model、キー定義、採番式、赤伝列情報の正本が分裂する。
Has Key Definition
destination-row-reference-has-key-definition
Destination は、転送先行を後から参照できる必要がある。キーはサロゲートキー、自然キー、複合キーを取り得る。
Has Sequence Expression
destination-transfer-setting-row-base-sql-create-has
Destination は、転送先行を新規作成する際に採番値を得るための式または規則を持ってよい。採番式は転送先仕様であり、`Transfer Setting` の基礎 SQL へ暗黙には追加されない。
Is Independent From Transfer Setting
destination-transfer-setting-reference-independent-from-journal-account
Destination は複数の `Transfer Setting` から参照されてよい。そのため、Destination は `Transfer Setting` の子概念ではなく、独立した転送先側の仕様として扱う。
  • None

External Relationships

ConceptKindReasonSupported byEvidence
転送設定
transfer-setting
is-distinct-fromDestination は Transfer Setting の子ではなく、独立した転送先側の仕様である。destination-transfer-setting-2, destination-transfer-setting-3, destination-transfer-setting-reference-2spec:destination
転送設定
transfer-setting
must-not-redefineDestination は Transfer Setting 固有の都合で転送先側の意味を変えない。destination-transfer-setting-2, destination-transfer-setting-3, destination-transfer-setting-reference-2spec:destination
日付下限制御
posting-date-lower-bound
usesDestination は締め済み期間に対する計上日補正が必要な場合に日付下限制御を持つことがある。destination-posting-date-lower-bound-hookspec:destination

Coverage

AreaCoverageReasonResolution criteria
definitioncompleteconcept.json の意味、責務、境界、不変条件、理由を curated statement として移植済み。-
relationshipscompleteconcept-relationship.json と移行元 concept.json の外部関係を反映済み。-

Evidence

Evidence IDTypePathExists
spec:destinationspecconcept.jsonyes

Validation

  • No validation issues.

Technical Metadata

  • Source JSON: packages/transfer/docs/concepts/destination/concept.json

Released under the MIT License.