カラムの番号 | 種類 |
---|---|
1 〜 N | ユーザ定義カラム |
N+1 〜 N+M | 検索用カラム |
N+M+1 〜 ... | システム定義カラム |
システム定義カラムの名前や型を下表に示します。
カラムの番号 | 内部用の名前 | 表示用の名前 | データ型 | 追加時 | 修正時 | 無効時 |
---|---|---|---|---|---|---|
N+M+1 | system_did | データナンバー | int4 | 更新 | 引継 | 引継 |
N+M+2 | system_rid | レコードナンバー | int4 | 更新 | 更新 | 引継 |
N+M+3 | system_state | 状態 | int2 | 更新 | 更新 | 更新 |
N+M+4 | system_uniq | 識別用のコード | text | 更新 | 更新 | null |
N+M+5 | system_uid | 作成者のユーザID | int4 | 更新 | 引継 | 引継 |
N+M+6 | system_date | 最終更新時刻 | timestamp | 更新 | 更新 | 引継 |
N+M+7 | system_method | 作成方法 | text | 更新 | 更新 | 引継 |
N+M+8 | system_addr | 作成元のIP | text | 更新 | 更新 | 引継 |
N+M+9 | system_agent | 作成元のブラウザ名 | text | 更新 | 更新 | 引継 |
N+M+10 | system_warning | 警告の情報 | text | 更新 | 更新 | 引継 |
N+M+11 | system_rev_uid | 修正者のユーザID | int4 | null | 更新 | 引継 |
N+M+12 | system_inv_date | 削除時刻 | timestamp | null | null | 更新 |
N+M+13 | system_inv_method | 削除方法 | text | null | null | 更新 |
N+M+14 | system_inv_addr | 削除元のIP | text | null | null | 更新 |
N+M+15 | system_inv_agent | 削除元のブラウザ名 | text | null | null | 更新 |
N+M+16 | system_inv_uid | 削除者のユーザID | int4 | null | null | 更新 |
N+M+17 | system_pre_state | 以前の状態 | int2 | null | 更新 | 更新 |
N+M+18 | system_pre_rid | 修正前のレコードナンバー | int4 | null | 更新 | 引継 |
N+M+19 | system_next_rid | 無効の原因になったレコードナンバー | int4 | null | null | 更新 |
N+M+20 | draft_rid | draft用テーブルのレコードナンバー | int4 | null | null | 更新 |
N+M+21 | draft_line | ファイルの行の番号(ファイルからの挿入時) | int4 | null | null | 更新 |
draft_rid, draft_line は、draft用テーブルのみが持っています。
「追加時」「修正時」「無効時」は、 それぞれデータの追加・データの修正・データの削除の際、 各カラムがどのように処理されるかを表しています。
「更新」は新しい値が格納され、 「引継」は以前のデータの値がそのまま使われ、 「null」はnull値が格納されることを示します。
各データに対するIDです。 データを修正したときは、新しいデータにこのIDが引き継がれます。 それ以外の新しいデータの system_did は、 PostgreSQL のシーケンス番号生成機構により生成されます。
各レコードに対するIDです。 データの内容に関わらず、必ず異なる値が付けられます。 この値は、PostgreSQL のシーケンス番号生成機構により生成されます。
データの状態です。 0 (invalid), 1 (wait), 2 (active), 3 (unstable) の4通りの値をとります。
データに対して一意に付けられる文字列です。 状態が active のデータのみ null でない値が格納され、 各テーブルに対し、system_uniq が(null値以外で)同じ値のデータは存在しません。 この文字列の生成方法は、データ定義ファイルで指定されます。
作成者のユーザIDです。 データの修正時、削除時はこの値は引き継がれます。
データ作成/修正時の時刻です。 データの削除時はこの値は引き継がれます。
データの作成/修正方法です。 データの削除時はこの値は引き継がれます。
データを挿入した人の名前です。 指定がない場合は null 値になります。
データ作成/修正時のアクセス元のIPです。 データの削除時はこの値は引き継がれます。
データ作成/修正時のアクセス元の HTTP_USER_AGENT です。 データの削除時はこの値は引き継がれます。
警告の情報です。データに警告がない場合は null値が格納されます。
修正者のユーザIDです。 データの削除時はこの値は引き継がれます。
データ削除時の時刻です。
データの削除方法です。
データ削除時のアクセス元のIPです。
データ削除時のアクセス元の HTTP_USER_AGENT です。
削除者のユーザIDです。
現在の状態が無効のときは、データが無効になる前の状態です。 さもなければ、データを修正する前の状態です。
修正前のレコードナンバーです。 データの修正によってデータが生成されたときのみ、 null でない値が格納されます。
データが無効になったときに有効になったデータのレコードナンバーです。 データナンバーの同じデータが有効になったときに状態が無効になったときのみ null でない値が格納されます。
カラムの番号 | 内部用の名前 | 表示用の名前 | データ型 | 追加時 | 修正時 | 無効時 |
---|---|---|---|---|---|---|
N+M+1 | system_rid | レコードナンバー | int4 | 更新 | 更新 | 引継 |
N+M+2 | system_num | 順序 | int4 | 更新 | 更新 | 引継 |
データの追加/修正を行うときは、 データにエラーなどの不具合がなければ、一度 draft用テーブルに格納されます。 データの挿入を決定するとき、効率よく本テーブルに挿入します。
draft用テーブルの構成は、最後に幾らかカラムが追加されている以外は 本テーブルと同じです。 フォームやファイルからデータを追加/修正するときに使われます。 詳しくは DBIPgSystem::DB モジュールの関連するメソッドなどを参照してください。