]> git.mxchange.org Git - friendica.git/blobdiff - database.sql
Updated messages.po
[friendica.git] / database.sql
index 2f4bec6897278845981764132145629cc0176b40..87fbd84a6103ac2373f586adf52a205553dc37b1 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
--- Friendica 2023.09-dev (Giant Rhubarb)
--- DB_UPDATE_VERSION 1535
+-- Friendica 2024.03-dev (Yellow Archangel)
+-- DB_UPDATE_VERSION 1544
 -- ------------------------------------------
 
 
@@ -502,9 +502,9 @@ CREATE TABLE IF NOT EXISTS `channel` (
        `description` varchar(64) COMMENT 'Channel description',
        `circle` int COMMENT 'Circle or channel that this channel is based on',
        `access-key` varchar(1) COMMENT 'Access key',
-       `include-tags` varchar(255) COMMENT 'Comma separated list of tags that will be included in the channel',
-       `exclude-tags` varchar(255) COMMENT 'Comma separated list of tags that aren\'t allowed in the channel',
-       `full-text-search` varchar(255) COMMENT 'Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode',
+       `include-tags` varchar(1023) COMMENT 'Comma separated list of tags that will be included in the channel',
+       `exclude-tags` varchar(1023) COMMENT 'Comma separated list of tags that aren\'t allowed in the channel',
+       `full-text-search` varchar(1023) COMMENT 'Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode',
        `media-type` smallint unsigned COMMENT 'Filtered media types',
         PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
@@ -1236,6 +1236,23 @@ CREATE TABLE IF NOT EXISTS `post-category` (
        FOREIGN KEY (`tid`) REFERENCES `tag` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT
 ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='post relation to categories';
 
+--
+-- TABLE post-counts
+--
+CREATE TABLE IF NOT EXISTS `post-counts` (
+       `uri-id` int unsigned NOT NULL COMMENT 'Id of the item-uri table entry that contains the item uri',
+       `vid` smallint unsigned NOT NULL COMMENT 'Id of the verb table entry that contains the activity verbs',
+       `reaction` varchar(1) NOT NULL COMMENT 'Emoji Reaction',
+       `parent-uri-id` int unsigned COMMENT 'Id of the item-uri table that contains the parent uri',
+       `count` int unsigned DEFAULT 0 COMMENT 'Number of activities',
+        PRIMARY KEY(`uri-id`,`vid`,`reaction`),
+        INDEX `vid` (`vid`),
+        INDEX `parent-uri-id` (`parent-uri-id`),
+       FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
+       FOREIGN KEY (`vid`) REFERENCES `verb` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
+       FOREIGN KEY (`parent-uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Original remote activity';
+
 --
 -- TABLE post-collection
 --
@@ -1534,7 +1551,8 @@ CREATE TABLE IF NOT EXISTS `post-user` (
         INDEX `event-id` (`event-id`),
         INDEX `psid` (`psid`),
         INDEX `author-id_uid` (`author-id`,`uid`),
-        INDEX `author-id_received` (`author-id`,`received`),
+        INDEX `author-id_created` (`author-id`,`created`),
+        INDEX `owner-id_created` (`owner-id`,`created`),
         INDEX `parent-uri-id_uid` (`parent-uri-id`,`uid`),
         INDEX `uid_wall_received` (`uid`,`wall`,`received`),
         INDEX `uid_contactid` (`uid`,`contact-id`),
@@ -1595,11 +1613,17 @@ CREATE TABLE IF NOT EXISTS `post-thread-user` (
         INDEX `post-user-id` (`post-user-id`),
         INDEX `commented` (`commented`),
         INDEX `received` (`received`),
+        INDEX `author-id_created` (`author-id`,`created`),
+        INDEX `owner-id_created` (`owner-id`,`created`),
         INDEX `uid_received` (`uid`,`received`),
         INDEX `uid_wall_received` (`uid`,`wall`,`received`),
         INDEX `uid_commented` (`uid`,`commented`),
+        INDEX `uid_created` (`uid`,`created`),
         INDEX `uid_starred` (`uid`,`starred`),
         INDEX `uid_mention` (`uid`,`mention`),
+        INDEX `contact-id_commented` (`contact-id`,`commented`),
+        INDEX `contact-id_received` (`contact-id`,`received`),
+        INDEX `contact-id_created` (`contact-id`,`created`),
        FOREIGN KEY (`uri-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
        FOREIGN KEY (`conversation-id`) REFERENCES `item-uri` (`id`) ON UPDATE RESTRICT ON DELETE CASCADE,
        FOREIGN KEY (`owner-id`) REFERENCES `contact` (`id`) ON UPDATE RESTRICT ON DELETE RESTRICT,
@@ -1867,6 +1891,16 @@ CREATE TABLE IF NOT EXISTS `subscription` (
        FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON UPDATE RESTRICT ON DELETE CASCADE
 ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Push Subscription for the API';
 
+--
+-- TABLE check-full-text-search
+--
+CREATE TABLE IF NOT EXISTS `check-full-text-search` (
+       `pid` int unsigned NOT NULL COMMENT 'The ID of the process',
+       `searchtext` mediumtext COMMENT 'Simplified text for the full text search',
+        PRIMARY KEY(`pid`),
+        FULLTEXT INDEX `searchtext` (`searchtext`)
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Check for a full text search match in user defined channels before storing the message in the system';
+
 --
 -- TABLE userd
 --
@@ -1991,6 +2025,65 @@ CREATE VIEW `circle-member-view` AS SELECT
                        INNER JOIN `contact` ON `group_member`.`contact-id` = `contact`.`id`
                        INNER JOIN `group` ON `group_member`.`gid` = `group`.`id`;
 
+--
+-- VIEW post-counts-view
+--
+DROP VIEW IF EXISTS `post-counts-view`;
+CREATE VIEW `post-counts-view` AS SELECT 
+       `post-counts`.`uri-id` AS `uri-id`,
+       `post-counts`.`vid` AS `vid`,
+       `verb`.`name` AS `verb`,
+       `post-counts`.`reaction` AS `reaction`,
+       `post-counts`.`parent-uri-id` AS `parent-uri-id`,
+       `post-counts`.`count` AS `count`
+       FROM `post-counts`
+                       INNER JOIN `verb` ON `verb`.`id` = `post-counts`.`vid`;
+
+--
+-- VIEW post-timeline-view
+--
+DROP VIEW IF EXISTS `post-timeline-view`;
+CREATE VIEW `post-timeline-view` AS SELECT 
+       `post-user`.`uid` AS `uid`,
+       `post-user`.`uri-id` AS `uri-id`,
+       `post-user`.`gravity` AS `gravity`,
+       `post-user`.`created` AS `created`,
+       `post-user`.`edited` AS `edited`,
+       `post-thread-user`.`commented` AS `commented`,
+       `post-user`.`received` AS `received`,
+       `post-thread-user`.`changed` AS `changed`,
+       `post-user`.`private` AS `private`,
+       `post-user`.`visible` AS `visible`,
+       `post-user`.`deleted` AS `deleted`,
+       `post-user`.`origin` AS `origin`,
+       `post-user`.`global` AS `global`,
+       `post-user`.`network` AS `network`,
+       `post-user`.`protocol` AS `protocol`,
+       `post-user`.`vid` AS `vid`,
+       `post-user`.`contact-id` AS `contact-id`,
+       `contact`.`blocked` AS `contact-blocked`,
+       `contact`.`readonly` AS `contact-readonly`,
+       `contact`.`pending` AS `contact-pending`,
+       `contact`.`rel` AS `contact-rel`,
+       `contact`.`uid` AS `contact-uid`,
+       `contact`.`self` AS `self`,
+       `post-user`.`author-id` AS `author-id`,
+       `author`.`blocked` AS `author-blocked`,
+       `author`.`hidden` AS `author-hidden`,
+       `author`.`gsid` AS `author-gsid`,
+       `post-user`.`owner-id` AS `owner-id`,
+       `owner`.`blocked` AS `owner-blocked`,
+       `owner`.`gsid` AS `owner-gsid`,
+       `post-user`.`causer-id` AS `causer-id`,
+       `causer`.`blocked` AS `causer-blocked`,
+       `causer`.`gsid` AS `causer-gsid`
+       FROM `post-user`
+                       LEFT JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
+                       STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-user`.`contact-id`
+                       STRAIGHT_JOIN `contact` AS `author` ON `author`.`id` = `post-user`.`author-id`
+                       STRAIGHT_JOIN `contact` AS `owner` ON `owner`.`id` = `post-user`.`owner-id`
+                       LEFT JOIN `contact` AS `causer` ON `causer`.`id` = `post-user`.`causer-id`;
+
 --
 -- VIEW post-user-view
 --