Next item structure works (#5380)
* Use "LEFT JOIN" to always fetch the item. Needed for update routines. * New conversion routine that now covers every item * Post update is now activated * We now use a hash based upon RIPEMD-320 for content and activity * The hash doesn't contain the plink anymore * Legacy item fields are now "null"able * New hash function for a server unique item hash * Introduction of the legacy mode (usage of old item fields) * Code simplification * We don't need the "uri" fields anymore in item-activity and item-content * Use the "created" and not the "received" date for the hash * Avoiding several notices * Some more warnings removed * Improved uri-hash / Likes on Diaspora are now getting a creation date * Corrected the post update version * Ensure an unique uri-hash * Don't delete orhaned item data at the moment * Partly reworked, due to strange behaviour * Some more parts reworked * Using the uri currently seems to be more reliable * Using the uri here as well * Use the hash values again * Grouped item fields in different categories * Notices again * use the gravity (we always should) * Added hint for disabled post updates * Notices ... * Issue #5337: Personal notes are displayed again * Use the gravity again
This commit is contained in:
parent
8ad6b65aeb
commit
d3a2ed85fe
21 changed files with 315 additions and 297 deletions
105
database.sql
105
database.sql
|
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 2018.08-dev (The Tazmans Flax-lily)
|
||||
-- DB_UPDATE_VERSION 1276
|
||||
-- DB_UPDATE_VERSION 1277
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
|
@ -455,68 +455,69 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
`id` int unsigned NOT NULL auto_increment,
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this item',
|
||||
`uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner id which owns this copy of the item',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
|
||||
`type` varchar(20) NOT NULL DEFAULT '' COMMENT '',
|
||||
`wall` boolean NOT NULL DEFAULT '0' COMMENT 'This item was posted to the wall of uid',
|
||||
`gravity` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`uri-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri',
|
||||
`parent` int unsigned NOT NULL DEFAULT 0 COMMENT 'item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item',
|
||||
`parent-uri` varchar(255) NOT NULL DEFAULT '' COMMENT 'uri of the parent to this item',
|
||||
`extid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`thr-parent` varchar(255) NOT NULL DEFAULT '' COMMENT 'If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation timestamp.',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of last edit (default is created)',
|
||||
`commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of last comment/reply to this item',
|
||||
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime',
|
||||
`changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date that something in the conversation changed, indicating clients should fetch the conversation again',
|
||||
`gravity` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT 'Network from where the item comes from',
|
||||
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the owner of this item',
|
||||
`owner-name` varchar(255) NOT NULL DEFAULT '' COMMENT 'Name of the owner of this item',
|
||||
`owner-link` varchar(255) NOT NULL DEFAULT '' COMMENT 'Link to the profile page of the owner of this item',
|
||||
`owner-avatar` varchar(255) NOT NULL DEFAULT '' COMMENT 'Link to the avatar picture of the owner of this item',
|
||||
`author-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the author of this item',
|
||||
`author-name` varchar(255) NOT NULL DEFAULT '' COMMENT 'Name of the author of this item',
|
||||
`author-link` varchar(255) NOT NULL DEFAULT '' COMMENT 'Link to the profile page of the author of this item',
|
||||
`author-avatar` varchar(255) NOT NULL DEFAULT '' COMMENT 'Link to the avatar picture of the author of this item',
|
||||
`icid` int unsigned COMMENT 'Id of the item-content table entry that contains the whole item content',
|
||||
`iaid` int unsigned COMMENT 'Id of the item-activity table entry that contains the activity data',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT 'item title',
|
||||
`content-warning` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`body` mediumtext COMMENT 'item body content',
|
||||
`app` varchar(255) NOT NULL DEFAULT '' COMMENT 'application which generated this item',
|
||||
`verb` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams verb',
|
||||
`object-type` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams object type',
|
||||
`object` text COMMENT 'JSON encoded object structure unless it is an implied object (normal post)',
|
||||
`target-type` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams target type if applicable (URI)',
|
||||
`target` text COMMENT 'JSON encoded target structure if used',
|
||||
`postopts` text COMMENT 'External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery',
|
||||
`plink` varchar(255) NOT NULL DEFAULT '' COMMENT 'permalink or URL to a displayable copy of the message at its source',
|
||||
`resource-id` varchar(32) NOT NULL DEFAULT '' COMMENT 'Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type',
|
||||
`event-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Used to link to the event.id',
|
||||
`tag` mediumtext COMMENT '',
|
||||
`attach` mediumtext COMMENT 'JSON structure representing attachments to this item',
|
||||
`inform` mediumtext COMMENT '',
|
||||
`file` mediumtext COMMENT '',
|
||||
`location` varchar(255) NOT NULL DEFAULT '' COMMENT 'text location where this item originated',
|
||||
`coord` varchar(255) NOT NULL DEFAULT '' COMMENT 'longitude/latitude pair representing location where this item originated',
|
||||
`extid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`global` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`private` boolean NOT NULL DEFAULT '0' COMMENT 'distribution is restricted',
|
||||
`bookmark` boolean NOT NULL DEFAULT '0' COMMENT 'item has been bookmarked',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`moderated` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT 'item has been deleted',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner id which owns this copy of the item',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
|
||||
`wall` boolean NOT NULL DEFAULT '0' COMMENT 'This item was posted to the wall of uid',
|
||||
`origin` boolean NOT NULL DEFAULT '0' COMMENT 'item originated at this site',
|
||||
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`starred` boolean NOT NULL DEFAULT '0' COMMENT 'item has been favourited',
|
||||
`unseen` boolean NOT NULL DEFAULT '1' COMMENT 'item has not been seen',
|
||||
`mention` boolean NOT NULL DEFAULT '0' COMMENT 'The owner of this item was mentioned in it',
|
||||
`forum_mode` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
|
||||
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
|
||||
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
|
||||
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
|
||||
`private` boolean NOT NULL DEFAULT '0' COMMENT 'distribution is restricted',
|
||||
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`moderated` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`starred` boolean NOT NULL DEFAULT '0' COMMENT 'item has been favourited',
|
||||
`bookmark` boolean NOT NULL DEFAULT '0' COMMENT 'item has been bookmarked',
|
||||
`unseen` boolean NOT NULL DEFAULT '1' COMMENT 'item has not been seen',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT 'item has been deleted',
|
||||
`origin` boolean NOT NULL DEFAULT '0' COMMENT 'item originated at this site',
|
||||
`forum_mode` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`mention` boolean NOT NULL DEFAULT '0' COMMENT 'The owner of this item was mentioned in it',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT 'Network from where the item comes from',
|
||||
`rendered-hash` varchar(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`rendered-html` mediumtext COMMENT 'item.body converted to html',
|
||||
`global` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`postopts` text COMMENT 'External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery',
|
||||
`inform` mediumtext COMMENT 'Additional receivers of this post',
|
||||
`resource-id` varchar(32) NOT NULL DEFAULT '' COMMENT 'Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type',
|
||||
`event-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Used to link to the event.id',
|
||||
`attach` mediumtext COMMENT 'JSON structure representing attachments to this item',
|
||||
`type` varchar(20) NOT NULL DEFAULT '' COMMENT '',
|
||||
`file` mediumtext COMMENT 'Deprecated',
|
||||
`location` varchar(255) COMMENT 'Deprecated',
|
||||
`coord` varchar(255) COMMENT 'Deprecated',
|
||||
`tag` mediumtext COMMENT 'Deprecated',
|
||||
`plink` varchar(255) COMMENT 'Deprecated',
|
||||
`title` varchar(255) COMMENT 'Deprecated',
|
||||
`content-warning` varchar(255) COMMENT 'Deprecated',
|
||||
`body` mediumtext COMMENT 'Deprecated',
|
||||
`app` varchar(255) COMMENT 'Deprecated',
|
||||
`verb` varchar(100) COMMENT 'Deprecated',
|
||||
`object-type` varchar(100) COMMENT 'Deprecated',
|
||||
`object` text COMMENT 'Deprecated',
|
||||
`target-type` varchar(100) COMMENT 'Deprecated',
|
||||
`target` text COMMENT 'Deprecated',
|
||||
`author-name` varchar(255) COMMENT 'Deprecated',
|
||||
`author-link` varchar(255) COMMENT 'Deprecated',
|
||||
`author-avatar` varchar(255) COMMENT 'Deprecated',
|
||||
`owner-name` varchar(255) COMMENT 'Deprecated',
|
||||
`owner-link` varchar(255) COMMENT 'Deprecated',
|
||||
`owner-avatar` varchar(255) COMMENT 'Deprecated',
|
||||
`rendered-hash` varchar(32) COMMENT 'Deprecated',
|
||||
`rendered-html` mediumtext COMMENT 'Deprecated',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `guid` (`guid`(191)),
|
||||
INDEX `uri` (`uri`(191)),
|
||||
|
|
@ -549,8 +550,8 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `item-activity` (
|
||||
`id` int unsigned NOT NULL auto_increment,
|
||||
`uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`uri-hash` char(80) NOT NULL DEFAULT '' COMMENT 'SHA-1 and RIPEMD-160 hash from uri',
|
||||
`uri` varchar(255) COMMENT '',
|
||||
`uri-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri',
|
||||
`activity` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uri-hash` (`uri-hash`),
|
||||
|
|
@ -562,8 +563,8 @@ CREATE TABLE IF NOT EXISTS `item-activity` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `item-content` (
|
||||
`id` int unsigned NOT NULL auto_increment,
|
||||
`uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`uri-plink-hash` char(80) NOT NULL DEFAULT '' COMMENT 'SHA-1 hash from uri and plink',
|
||||
`uri` varchar(255) COMMENT '',
|
||||
`uri-plink-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT 'item title',
|
||||
`content-warning` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`body` mediumtext COMMENT 'item body content',
|
||||
|
|
@ -591,8 +592,8 @@ CREATE TABLE IF NOT EXISTS `locks` (
|
|||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`name` varchar(128) NOT NULL DEFAULT '' COMMENT '',
|
||||
`locked` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of lock expiration',
|
||||
`pid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Process ID',
|
||||
`expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of cache expiration',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `name_expires` (`name`,`expires`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue