外部データベースのテーブル
外部データベースのテーブル

外部データベースのテーブル

この章では、IM and Presence Service ノードをサポートするために、スキーマで作成される外部データベースのテーブルについて説明します。


(注)  


IM and Presence Service は、デフォルトで外部データベースに 27 個のテーブルを生成しますが、ここでは、このモジュールで説明されるテーブルのみを使用します。


TC_ROOMS テーブル

TC_ROOMS テーブルには、グループ チャット ルームの情報が含まれます。

カラム名

Postgres のデータ型

Oracle のデータ型

Null 以外

説明

ROOM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームの ID です。

CREATOR_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームを作成したユーザの ID です。

件名

VARCHAR (255)

VARCHAR2 (255)

Yes

ルームの現在の件名です。

TYPE

VARCHAR (32)

VARCHAR2 (32)

Yes

制約 check_type です。 この値は、"ad-hoc" または "persistent" のいずれかである必要があります。

CONFIG

TEXT

CLOB

Yes

ルームが最後に設定された時刻からのパケット全体です。 この情報は、ルームがもう一度作成される場合に(例:起動時)、ルームを再設定できるようにします。

SPACKET

TEXT

CLOB

Yes

件名がルームに最後に設定された時刻からのパケット全体です。 この情報は、ルームがもう一度作成される場合に、ルームの件名を表示できるようにします。

START_MSG_ID

BIGINT

NUMBER (19)

Yes

TC_MSGARCHIVE テーブルの MSG_ID カラムに入力する際に使用される連続番号です。

この値は変更しないでください。

NEXT_MSG_ID

BIGINT

NUMBER (19)

Yes

TC_MSGARCHIVE テーブルの MSG_ID カラムに入力する際に使用される連続番号です。

この値は変更しないでください。

TC_USERS テーブル

TC_USERS テーブルには、役割や所属、代替名などの、グループ チャット ルームのユーザに関連付けられているデータが含まれます。

カラム名

Postgres のデータ型

Oracle のデータ型

Null 以外

説明

ROOM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームの ID です。

REAL_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームでのユーザの ID です。 この値は、代替名ではなく、ユーザの実際の ID です。

ROLE

VARCHAR (32)

VARCHAR2 (32)

Yes

ルームでのユーザの役割です。 この値は、次のいずれかに限定されます:"none""hidden""visitor""participant"、または "moderator"

AFFILIATION

VARCHAR (32)

VARCHAR2 (32)

Yes

ルームでのユーザの所属です。 この値は、次のいずれかに限定されます:"none""outcast""member""admin"、または "owner"

NICK_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームの ID とユーザの代替名です。 形式は room@tc-server/nick です。

REASON

VARCHAR (255)

VARCHAR2 (255)

Yes

ユーザの所属が最後に変更されたときに入力した理由です。

INITIATOR_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

設定変更が行われたルームの ID です。

TC_MESSAGES テーブル

TC_MESSAGES テーブルには、グループ チャット ルームで送信されるメッセージが含まれます。

カラム名

Postgres のデータ型

Oracle のデータ型

Null 以外

説明

MSG_ID

BIGINT

NUMBER (19)

Yes

メッセージの ID です。 MSG_ID はチャット ルームごとの各メッセージの一意な識別子です。これは、グローバルに一意ではありません。

ROOM_JID

VARCHAR (3071)

VARCHAR (3071)

Yes

メッセージの送信先となったルームの ID です。

STAMP

TIMESTAMP

TIMESTAMP

Yes

メッセージが送信された日時です。

MSG

TEXT

CLOB

Yes

メッセージ全体です。

TC_TIMELOG テーブル

TC_TIMELOG テーブルには、ユーザが特定のグループ チャット ルームに入退室した時刻が含まれます。 グループ チャットの会話をもう一度作成したり、会話を表示したユーザを確定するために、このテーブルはその他の TC テーブルと併用される場合があります。

カラム名

Postgres のデータ型

Oracle のデータ型

Null 以外

説明

REAL_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームに入っているユーザ、またはルームから離れているユーザの ID です。

NICK_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームの ID とユーザの代替名です。 形式は room@tc-server/nick です。

DIRECTION

VARCHAR (1)

VARCHAR2 (1)

Yes

ユーザがルームに入った(E)か、ルームから離れた(L)かを示します。 値は、"E" および "L" に限定されます。

STAMP

TIMESTAMP

TIMESTAMP

Yes

ユーザがルームに入った日時、またはルームから離れた日時です。

TC_MSGARCHIVE テーブル

TC_MSGARCHIVE テーブルには、グループ チャット ルームのメッセージと関連情報が保管されます。


(注)  


IM and Presence Service でグループ チャットをオンにすると、すべてのメッセージがこのテーブルにアーカイブされます。 Cisco Unified CM IM and Presence Administration のユーザ インターフェイスで、[Archive all room messages(すべてのルーム メッセージをアーカイブする)] オプションを選択します。 [Messaging(メッセージング)] > [Conferencing and Persistent Chat(会議と永続的なチャット)] を選択します。 グループ チャット機能については、『Configuration and Administration of IM and Presence Service on Cisco Unified Communications Manager』を参照してください。


カラム名

Postgres のデータ型

Oracle のデータ型

Null 以外

説明

MSG_ID

BIGINT

NUMBER (19)

Yes

メッセージの一意の識別子です。

TO_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

メッセージを受信したルームの ID です。

FROM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

メッセージを送信したユーザの ID です。

NICK_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

ルームの ID と送信者の別名です。例:

room@conference.exmpl.com/nick

SENT_DATE

TIMESTAMP

TIMESTAMP

Yes

メッセージが送信された日付です。

MSG_TYPE

VARCHAR (1)

VARCHAR2 (1)

Yes

メッセージのタイプ属性の最初の文字です。 可能な値は、"c"(チャット)、"n"(標準)、"g"(グループ チャット)、"h"(見出し)、および "e"(エラー)です。

BODY_LEN

INT

NUMBER (9)

Yes

メッセージ本文の文字の長さです。

MESSAGE_LEN

INT

NUMBER (9)

Yes

件名と本文を含むメッセージの文字の長さです。

BODY_STRING

VARCHAR (4000)

VARCHAR2 (4000)

Yes

メッセージ本文です。

MESSAGE_ STRING

VARCHAR (4000)

VARCHAR2 (4000)

Yes

未加工パケット全体です。

BODY_TEXT

TEXT

CLOB

Yes

メッセージ本文が 4000 文字を超えている場合は、BODY_STRING フィールドの代わりにこのフィールドに保管されます。

MESSAGE_TEXT

TEXT

CLOB

Yes

未加工パケット全体が 4000 文字を超えている場合は、MESSAGE_STRING 列の代わりにこの列に保管されます。

SUBJECT

VARCHAR (255)

VARCHAR2 (255)

Yes

メッセージの件名です。

JM テーブル

JM テーブルには、Message Archiver コンポーネントの会議と関連情報が保管されます。 Message Archiver コンポーネントは、IM and Presence Service でネイティブなコンプライアンス機能を提供します。

カラム名

Postgres のデータ型

Oracle のデータ型

Null 以外

説明

TO_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

アーカイブされることになるメッセージを送信するユーザの ID です。

FROM_JID

VARCHAR (3071)

VARCHAR2 (3071)

Yes

アーカイブされることになるメッセージを受信するユーザの ID です。

SENT_DATE

TIMESTAMP

TIMESTAMP

Yes

メッセージが送信された日付です。

SUBJECT

VARCHAR (128)

VARCHAR2 (128)

Yes

アーカイブされることになるメッセージの件名です。

THREAD_ID

VARCHAR (128)

VARCHAR2 (128)

Yes

アーカイブされることになるメッセージのスレッド ID です。

MSG_TYPE

VARCHAR (1)

VARCHAR2 (1)

Yes

メッセージのタイプ属性の最初の文字です。 可能な値は、"c"(チャット)、"n"(標準)、"g"(グループ チャット)、"h"(見出し)、および "e"(エラー)です。

DIRECTION

VARCHAR (1)

VARCHAR2 (1)

Yes

メッセージが "O"(発信)または "I"(着信)かどうかを示します。 同じサーバ上のユーザ間でメッセージが送信される場合は、(発信としての 1 回と着信としての 1 回)2 回記録されます。

BODY_LEN

INT

NUMBER (9)

Yes

メッセージ本文の文字の長さです。

MESSAGE_LEN

INT

NUMBER (9)

Yes

件名と本文を含むメッセージの文字の長さです。

BODY_STRING

VARCHAR (4000)

VARCHAR2 (4000)

Yes

メッセージ本文です。

MESSAGE_ STRING

VARCHAR (4000)

VARCHAR2 (4000)

Yes

未加工パケット全体です。

BODY_TEXT

TEXT

CLOB

Yes

メッセージ本文が 4000 文字を超えている場合は、BODY_STRING フィールドの代わりにこのフィールドに保管されます。

MESSAGE_TEXT

TEXT

TEXT

Yes

未加工パケット全体が 4000 文字を超えている場合は、MESSAGE_STRING フィールドの代わりにこのフィールドに保管されます。

HISTORY_FLAG

VARCHAR (1)

VARCHAR2 (1)

Yes

ルームの履歴メッセージが新しい参加者に送信される場合に使用します(既存ルームに入った場合)。 これにより、ルームに実際に参加している間に受信したメッセージと、履歴送信の一部として受信したメッセージとを区別することができます。 後者のメッセージ タイプには、データベースで HISTORY_FLAG="H" のフラグが付けられます。 そうでない場合、この列は "N" に設定されます。

JM テーブルへのサンプル SQL クエリ

この項では、特定の情報を抽出するための、JM テーブルで実行できるサンプル SQL クエリを紹介します。 次のクエリは、テーブルからすべての列を選択しますが、SQL クエリにどの情報を含めるかについて、さらに選択することができます。

特定のユーザによって送信されたすべてのインスタント メッセージ

次の SQL クエリは、特定のユーザによって送信されたすべてのインスタント メッセージを返します。

SELECT to_jid, sent_date, subject, thread_id, msg_type, direction, body_len, message_len,

body_string, message_string, body_text, message_text, history_flag

FROM jm

WHERE from_jid like 'bob@cisco.com%';

特定のユーザが受信するすべてのインスタント メッセージ

以下の SQL クエリは特定のユーザが受信するすべてのインスタント メッセージを返します。

SELECT from_jid, sent_date, subject, thread_id, msg_type, direction, body_len,

message_len, body_string, message_string, body_text, message_text, history_flag

FROM jm

WHERE to_jid like 'bob@cisco.com%';

特定のワードを含むすべてのインスタント メッセージ

次の SQL クエリは、特定のワードを含むすべてのインスタント メッセージを返します。

SELECT to_jid, from_jid, sent_date, subject, thread_id, msg_type, direction, body_len,

message_len, body_string, message_string, body_text, message_text, history_flag

FROM jm

WHERE LOWER(body_string) like LOWER('%hello%');

特定の日付以降のすべてのインスタント メッセージの会話とチャット ルーム

次の SQL クエリは、特定の日付以降のすべてのインスタント メッセージの会話とチャット ルームを返します。

SELECT to_jid, from_jid, sent_date, subject, thread_id, msg_type, direction, body_len,

message_len, body_string, message_string, body_text, message_text, history_flag

FROM jm

WHERE CAST(sent_date AS Character(32)) like '2011-01-31%';