4. Database
4.1. Preparation of database
Before you will be able to use Tigase MUC Component you need to initialize this database. We provide few schemas for this component for MySQL, PostgreSQL, SQLServer and DerbyDB.
They are placed in database/
directory of installation package and named in dbtype-mucversion.sql
, where dbname
in name of database type which this schema supports and version
is version of a MUC component for which this schema is designed.
You need to manually select schema for correct database and component and load this schema to database. For more information about loading database schema look into Database Preparation section of Tigase XMPP Server Administration Guide
4.2. Upgrade of database schema
Database schema for our components may change between versions and if so it needs to be updated before new version may be started. To upgrade schema please follow instuctions from Preparation of database section.
Note
If you use SNAPSHOT builds then schema may change for same version as this are versions we are still working on.
4.3. Schema description
Tigase MUC component uses few tables and stored procedures. To make it easier to find them on database level they are prefixed with tig_muc_
.
4.3.1. Table tig_muc_rooms
This table stores list of rooms and configuration of rooms.
Field |
Description |
Comments |
---|---|---|
room_id |
Database ID of a room |
|
jid |
Room JID |
|
jid_sha1 |
SHA1 value of lowercased room JID |
Used for proper bare JID comparison during lookup. (Not exists in PostgreSQL schema) |
name |
Room name |
|
config |
Serialized room configuration |
|
creator |
Bare JID of room creator |
|
creation_date |
Room creation date |
|
subject |
Room subject |
|
subject_creator_nick |
Nick of participant who set subject |
|
subject_date |
Timestamp of subject |
4.3.2. Table tig_muc_room_affiliations
Table stores rooms affiliations.
Field |
Description |
Comments |
---|---|---|
room_id |
ID of a room |
References |
jid |
JID of affiliate |
|
jid_sha1 |
SHA1 value of lowercased affiliate JID |
Used for proper bare JID comparison during lookup. (Not exists in PostgreSQL schema) |
affiliation |
Affiliation between room and affiliate |
4.3.3. Table tig_muc_room_history
Table stores room messages history.
Field |
Description |
Comments |
---|---|---|
room_jid |
Room JID |
|
room_jid_sha1 |
SHA1 value of lowercased room JID |
Used for proper bare JID comparison during lookup. (Not exists in PostgreSQL schema) |
event_type |
For future use, if we decide to store other events as well. |
|
ts |
Timestamp of a message |
|
sender_jid |
JID of a sender |
|
sender_nickname |
Nickname of a message sender |
|
body |
Body of a message |
|
public_event |
Mark public events |
|
msg |
Serialized message |