presence-create.sql 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. CREATE TABLE `presentity` (
  2. `id` INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
  3. `username` VARCHAR(64) NOT NULL,
  4. `domain` VARCHAR(64) NOT NULL,
  5. `event` VARCHAR(64) NOT NULL,
  6. `etag` VARCHAR(128) NOT NULL,
  7. `expires` INT(11) NOT NULL,
  8. `received_time` INT(11) NOT NULL,
  9. `body` BLOB NOT NULL,
  10. `sender` VARCHAR(128) NOT NULL,
  11. `priority` INT(11) DEFAULT 0 NOT NULL,
  12. `ruid` VARCHAR(64),
  13. CONSTRAINT presentity_idx UNIQUE (`username`, `domain`, `event`, `etag`),
  14. CONSTRAINT ruid_idx UNIQUE (`ruid`)
  15. );
  16. CREATE INDEX presentity_expires ON presentity (`expires`);
  17. CREATE INDEX account_idx ON presentity (`username`, `domain`, `event`);
  18. INSERT INTO version (table_name, table_version) values ('presentity','5');
  19. CREATE TABLE `active_watchers` (
  20. `id` INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
  21. `presentity_uri` VARCHAR(128) NOT NULL,
  22. `watcher_username` VARCHAR(64) NOT NULL,
  23. `watcher_domain` VARCHAR(64) NOT NULL,
  24. `to_user` VARCHAR(64) NOT NULL,
  25. `to_domain` VARCHAR(64) NOT NULL,
  26. `event` VARCHAR(64) DEFAULT 'presence' NOT NULL,
  27. `event_id` VARCHAR(64),
  28. `to_tag` VARCHAR(128) NOT NULL,
  29. `from_tag` VARCHAR(128) NOT NULL,
  30. `callid` VARCHAR(255) NOT NULL,
  31. `local_cseq` INT(11) NOT NULL,
  32. `remote_cseq` INT(11) NOT NULL,
  33. `contact` VARCHAR(128) NOT NULL,
  34. `record_route` TEXT,
  35. `expires` INT(11) NOT NULL,
  36. `status` INT(11) DEFAULT 2 NOT NULL,
  37. `reason` VARCHAR(64),
  38. `version` INT(11) DEFAULT 0 NOT NULL,
  39. `socket_info` VARCHAR(64) NOT NULL,
  40. `local_contact` VARCHAR(128) NOT NULL,
  41. `from_user` VARCHAR(64) NOT NULL,
  42. `from_domain` VARCHAR(64) NOT NULL,
  43. `updated` INT(11) NOT NULL,
  44. `updated_winfo` INT(11) NOT NULL,
  45. `flags` INT(11) DEFAULT 0 NOT NULL,
  46. `user_agent` VARCHAR(255) DEFAULT '',
  47. CONSTRAINT active_watchers_idx UNIQUE (`callid`, `to_tag`, `from_tag`)
  48. );
  49. CREATE INDEX active_watchers_expires ON active_watchers (`expires`);
  50. CREATE INDEX active_watchers_pres ON active_watchers (`presentity_uri`, `event`);
  51. CREATE INDEX updated_idx ON active_watchers (`updated`);
  52. CREATE INDEX updated_winfo_idx ON active_watchers (`updated_winfo`, `presentity_uri`);
  53. INSERT INTO version (table_name, table_version) values ('active_watchers','12');
  54. CREATE TABLE `watchers` (
  55. `id` INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
  56. `presentity_uri` VARCHAR(128) NOT NULL,
  57. `watcher_username` VARCHAR(64) NOT NULL,
  58. `watcher_domain` VARCHAR(64) NOT NULL,
  59. `event` VARCHAR(64) DEFAULT 'presence' NOT NULL,
  60. `status` INT(11) NOT NULL,
  61. `reason` VARCHAR(64),
  62. `inserted_time` INT(11) NOT NULL,
  63. CONSTRAINT watcher_idx UNIQUE (`presentity_uri`, `watcher_username`, `watcher_domain`, `event`)
  64. );
  65. INSERT INTO version (table_name, table_version) values ('watchers','3');
  66. CREATE TABLE `xcap` (
  67. `id` INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
  68. `username` VARCHAR(64) NOT NULL,
  69. `domain` VARCHAR(64) NOT NULL,
  70. `doc` MEDIUMBLOB NOT NULL,
  71. `doc_type` INT(11) NOT NULL,
  72. `etag` VARCHAR(128) NOT NULL,
  73. `source` INT(11) NOT NULL,
  74. `doc_uri` VARCHAR(255) NOT NULL,
  75. `port` INT(11) NOT NULL,
  76. CONSTRAINT doc_uri_idx UNIQUE (`doc_uri`)
  77. );
  78. CREATE INDEX account_doc_type_idx ON xcap (`username`, `domain`, `doc_type`);
  79. CREATE INDEX account_doc_type_uri_idx ON xcap (`username`, `domain`, `doc_type`, `doc_uri`);
  80. CREATE INDEX account_doc_uri_idx ON xcap (`username`, `domain`, `doc_uri`);
  81. INSERT INTO version (table_name, table_version) values ('xcap','4');
  82. CREATE TABLE `pua` (
  83. `id` INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
  84. `pres_uri` VARCHAR(128) NOT NULL,
  85. `pres_id` VARCHAR(255) NOT NULL,
  86. `event` INT(11) NOT NULL,
  87. `expires` INT(11) NOT NULL,
  88. `desired_expires` INT(11) NOT NULL,
  89. `flag` INT(11) NOT NULL,
  90. `etag` VARCHAR(128) NOT NULL,
  91. `tuple_id` VARCHAR(64),
  92. `watcher_uri` VARCHAR(128) NOT NULL,
  93. `call_id` VARCHAR(255) NOT NULL,
  94. `to_tag` VARCHAR(128) NOT NULL,
  95. `from_tag` VARCHAR(128) NOT NULL,
  96. `cseq` INT(11) NOT NULL,
  97. `record_route` TEXT,
  98. `contact` VARCHAR(128) NOT NULL,
  99. `remote_contact` VARCHAR(128) NOT NULL,
  100. `version` INT(11) NOT NULL,
  101. `extra_headers` TEXT NOT NULL,
  102. CONSTRAINT pua_idx UNIQUE (`etag`, `tuple_id`, `call_id`, `from_tag`)
  103. );
  104. CREATE INDEX expires_idx ON pua (`expires`);
  105. CREATE INDEX dialog1_idx ON pua (`pres_id`, `pres_uri`);
  106. CREATE INDEX dialog2_idx ON pua (`call_id`, `from_tag`);
  107. CREATE INDEX record_idx ON pua (`pres_id`);
  108. INSERT INTO version (table_name, table_version) values ('pua','7');