presence-create.sql 4.5 KB

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