wiki.techinc.nl/maintenance/abstractSchemaChanges/patch-page-page_links_updated-noinfinite.json
Umherirrender 9854946391 schema: Remove allowInfinite from page_links_updated
This timestamp is to track the last refreshlinks run and is always now
or in the past, there is no need to hold the infinite value.

This only affects mysql

Bug: T298317
Change-Id: I16978e076a795258639591a2fbfe353f67d0ec64
2024-07-29 22:48:07 +02:00

234 lines
8.6 KiB
JSON

{
"comment": "Remove allowInfinite from page_links_updated (T298317)",
"before": {
"name": "page",
"comment": "Core of the wiki: each page has an entry here which identifies it by title and contains some essential metadata.",
"columns": [
{
"name": "page_id",
"comment": "Unique identifier number. The page_id will be preserved across edits and rename operations, but not deletions and recreations.",
"type": "integer",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
"name": "page_namespace",
"comment": "A page name is broken into a namespace and a title. The namespace keys are UI-language-independent constants, defined in includes/Defines.php",
"type": "integer",
"options": { "notnull": true }
},
{
"name": "page_title",
"comment": "The rest of the title, as text. Spaces are transformed into underscores in title storage.",
"type": "binary",
"options": { "notnull": true, "length": 255 }
},
{
"name": "page_is_redirect",
"comment": "1 indicates the article is a redirect. If so, there is a row in the `redirect` table with rd_from=page_id, which contains the redirect target.",
"type": "mwtinyint",
"options": { "notnull": true, "unsigned": true, "default": 0 }
},
{
"name": "page_is_new",
"comment": "1 indicates this is a new entry, with only one edit. Not all pages with one edit are new pages.",
"type": "mwtinyint",
"options": { "notnull": true, "unsigned": true, "default": 0 }
},
{
"name": "page_random",
"comment": "Random value between 0 and 1, used for Special:Randompage",
"type": "float",
"options": {
"notnull": true,
"unsigned": true,
"CustomSchemaOptions": {
"doublePrecision": true
}
}
},
{
"name": "page_touched",
"comment": "This timestamp is updated whenever the page changes in a way requiring it to be re-rendered, invalidating caches. Aside from editing this includes permission changes, creation or deletion of linked pages, and alteration of contained templates.",
"type": "mwtimestamp",
"options": { "notnull": true }
},
{
"name": "page_links_updated",
"comment": "This timestamp is updated whenever a page is re-parsed and it has all the link tracking tables updated for it. This is useful for de-duplicating expensive backlink update jobs.",
"type": "mwtimestamp",
"options": {
"notnull": false,
"default": null,
"CustomSchemaOptions": {
"allowInfinite": true
}
}
},
{
"name": "page_latest",
"comment": "Handy key to revision.rev_id of the current revision. This may be 0 during page creation, but that shouldn't happen outside of a transaction... hopefully.",
"type": "integer",
"options": { "unsigned": true, "notnull": true }
},
{
"name": "page_len",
"comment": "Uncompressed length in bytes of the page's current source text.",
"type": "integer",
"options": { "unsigned": true, "notnull": true }
},
{
"name": "page_content_model",
"comment": "content model, see CONTENT_MODEL_XXX constants",
"type": "binary",
"options": { "length": 32, "notnull": false }
},
{
"name": "page_lang",
"comment": "Page content language",
"type": "binary",
"options": { "length": 35, "notnull": false }
}
],
"indexes": [
{
"name": "page_name_title",
"columns": [ "page_namespace", "page_title" ],
"comment": "The title index. Care must be taken to always specify a namespace when by title, so that the index is used. Even listing all known namespaces with IN() is better than omitting page_namespace from the WHERE clause.",
"unique": true
},
{
"name": "page_random",
"columns": [ "page_random" ],
"comment": "Index for Special:Random",
"unique": false
},
{
"name": "page_len",
"columns": [ "page_len" ],
"comment": "Questionable utility, used by ProofreadPage, possibly DynamicPageList. ApiQueryAllPages unconditionally filters on namespace and so hopefully does not use it.",
"unique": false
},
{
"name": "page_redirect_namespace_len",
"columns": [ "page_is_redirect", "page_namespace", "page_len" ],
"comment": "The index for Special:Shortpages and Special:Longpages. Also SiteStats::articles() in 'comma' counting mode, MessageCache::loadFromDB().",
"unique": false
}
],
"pk": [ "page_id" ]
},
"after": {
"name": "page",
"comment": "Core of the wiki: each page has an entry here which identifies it by title and contains some essential metadata.",
"columns": [
{
"name": "page_id",
"comment": "Unique identifier number. The page_id will be preserved across edits and rename operations, but not deletions and recreations.",
"type": "integer",
"options": { "unsigned": true, "notnull": true, "autoincrement": true }
},
{
"name": "page_namespace",
"comment": "A page name is broken into a namespace and a title. The namespace keys are UI-language-independent constants, defined in includes/Defines.php",
"type": "integer",
"options": { "notnull": true }
},
{
"name": "page_title",
"comment": "The rest of the title, as text. Spaces are transformed into underscores in title storage.",
"type": "binary",
"options": { "notnull": true, "length": 255 }
},
{
"name": "page_is_redirect",
"comment": "1 indicates the article is a redirect. If so, there is a row in the `redirect` table with rd_from=page_id, which contains the redirect target.",
"type": "mwtinyint",
"options": { "notnull": true, "unsigned": true, "default": 0 }
},
{
"name": "page_is_new",
"comment": "1 indicates this is a new entry, with only one edit. Not all pages with one edit are new pages.",
"type": "mwtinyint",
"options": { "notnull": true, "unsigned": true, "default": 0 }
},
{
"name": "page_random",
"comment": "Random value between 0 and 1, used for Special:Randompage",
"type": "float",
"options": {
"notnull": true,
"unsigned": true,
"CustomSchemaOptions": {
"doublePrecision": true
}
}
},
{
"name": "page_touched",
"comment": "This timestamp is updated whenever the page changes in a way requiring it to be re-rendered, invalidating caches. Aside from editing this includes permission changes, creation or deletion of linked pages, and alteration of contained templates.",
"type": "mwtimestamp",
"options": { "notnull": true }
},
{
"name": "page_links_updated",
"comment": "This timestamp is updated whenever a page is re-parsed and it has all the link tracking tables updated for it. This is useful for de-duplicating expensive backlink update jobs.",
"type": "mwtimestamp",
"options": {
"notnull": false,
"default": null
}
},
{
"name": "page_latest",
"comment": "Handy key to revision.rev_id of the current revision. This may be 0 during page creation, but that shouldn't happen outside of a transaction... hopefully.",
"type": "integer",
"options": { "unsigned": true, "notnull": true }
},
{
"name": "page_len",
"comment": "Uncompressed length in bytes of the page's current source text.",
"type": "integer",
"options": { "unsigned": true, "notnull": true }
},
{
"name": "page_content_model",
"comment": "content model, see CONTENT_MODEL_XXX constants",
"type": "binary",
"options": { "length": 32, "notnull": false }
},
{
"name": "page_lang",
"comment": "Page content language",
"type": "binary",
"options": { "length": 35, "notnull": false }
}
],
"indexes": [
{
"name": "page_name_title",
"columns": [ "page_namespace", "page_title" ],
"comment": "The title index. Care must be taken to always specify a namespace when by title, so that the index is used. Even listing all known namespaces with IN() is better than omitting page_namespace from the WHERE clause.",
"unique": true
},
{
"name": "page_random",
"columns": [ "page_random" ],
"comment": "Index for Special:Random",
"unique": false
},
{
"name": "page_len",
"columns": [ "page_len" ],
"comment": "Questionable utility, used by ProofreadPage, possibly DynamicPageList. ApiQueryAllPages unconditionally filters on namespace and so hopefully does not use it.",
"unique": false
},
{
"name": "page_redirect_namespace_len",
"columns": [ "page_is_redirect", "page_namespace", "page_len" ],
"comment": "The index for Special:Shortpages and Special:Longpages. Also SiteStats::articles() in 'comma' counting mode, MessageCache::loadFromDB().",
"unique": false
}
],
"pk": [ "page_id" ]
}
}