summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/sql
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
committerYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
commitfc7369835258467bf97eb64f184b93691f9a9fd5 (patch)
treedaabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/extensions/Translate/sql
first commit
Diffstat (limited to 'www/wiki/extensions/Translate/sql')
-rw-r--r--www/wiki/extensions/Translate/sql/revtag.sql19
-rw-r--r--www/wiki/extensions/Translate/sql/translate_groupreviews.sql13
-rw-r--r--www/wiki/extensions/Translate/sql/translate_groupstats-indexchange.sql1
-rw-r--r--www/wiki/extensions/Translate/sql/translate_groupstats-proofread.sql2
-rw-r--r--www/wiki/extensions/Translate/sql/translate_groupstats.sql10
-rw-r--r--www/wiki/extensions/Translate/sql/translate_messageindex.sql7
-rw-r--r--www/wiki/extensions/Translate/sql/translate_metadata.sql8
-rw-r--r--www/wiki/extensions/Translate/sql/translate_reviews-patch-01-primary-key.sql3
-rw-r--r--www/wiki/extensions/Translate/sql/translate_reviews.sql12
-rw-r--r--www/wiki/extensions/Translate/sql/translate_sections-indexchange.sql1
-rw-r--r--www/wiki/extensions/Translate/sql/translate_sections-indexchange2.sql1
-rw-r--r--www/wiki/extensions/Translate/sql/translate_sections-trs_order.patch.sql2
-rw-r--r--www/wiki/extensions/Translate/sql/translate_sections.sql20
-rw-r--r--www/wiki/extensions/Translate/sql/translate_stash.sql10
-rw-r--r--www/wiki/extensions/Translate/sql/translate_tm.sql38
15 files changed, 147 insertions, 0 deletions
diff --git a/www/wiki/extensions/Translate/sql/revtag.sql b/www/wiki/extensions/Translate/sql/revtag.sql
new file mode 100644
index 00000000..0a05bf61
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/revtag.sql
@@ -0,0 +1,19 @@
+-- These tables could go into core someday, but not likely
+
+-- Revision tags
+CREATE TABLE /*$wgDBprefix*/revtag (
+ rt_type varbinary(60) NOT NULL,
+
+ -- Link to page.page_id
+ rt_page int NOT NULL,
+
+ -- Link to revision.rev_id
+ rt_revision int NOT NULL,
+
+ rt_value blob NULL
+) /*$wgDBTableOptions*/;
+-- Index for finding all revisions in a page with a given tag
+CREATE UNIQUE INDEX /*i*/rt_type_page_revision ON /*$wgDBprefix*/revtag
+(rt_type, rt_page, rt_revision);
+-- Index for finding the tags on a given revision
+CREATE INDEX /*i*/rt_revision_type ON /*$wgDBprefix*/revtag (rt_revision, rt_type);
diff --git a/www/wiki/extensions/Translate/sql/translate_groupreviews.sql b/www/wiki/extensions/Translate/sql/translate_groupreviews.sql
new file mode 100644
index 00000000..f7574b8f
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_groupreviews.sql
@@ -0,0 +1,13 @@
+-- Message group workflow states
+CREATE TABLE /*$wgDBprefix*/translate_groupreviews (
+ -- The length we need to accommodate "page-" + the full pagename including
+ -- prefix. That could be 255 + prefix (length not limited), but page
+ -- translation section pages limit that to shorter, because it needs to
+ -- accommodate /sectionname/languagecode suffix to the page name.
+ tgr_group varchar(200) binary NOT NULL,
+ tgr_lang varchar(20) binary NOT NULL,
+ -- Any of user configured values from $wgTranslateWorkflowStates
+ tgr_state varbinary(32) NOT NULL,
+
+ PRIMARY KEY (tgr_group, tgr_lang)
+) /*$wgDBTableOptions*/;
diff --git a/www/wiki/extensions/Translate/sql/translate_groupstats-indexchange.sql b/www/wiki/extensions/Translate/sql/translate_groupstats-indexchange.sql
new file mode 100644
index 00000000..5d6f1b18
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_groupstats-indexchange.sql
@@ -0,0 +1 @@
+CREATE INDEX /*i*/tgs_lang on /*_*/translate_groupstats (tgs_lang);
diff --git a/www/wiki/extensions/Translate/sql/translate_groupstats-proofread.sql b/www/wiki/extensions/Translate/sql/translate_groupstats-proofread.sql
new file mode 100644
index 00000000..ae3e0202
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_groupstats-proofread.sql
@@ -0,0 +1,2 @@
+ALTER TABLE /*_*/translate_groupstats
+ ADD tgs_proofread int(5) unsigned;
diff --git a/www/wiki/extensions/Translate/sql/translate_groupstats.sql b/www/wiki/extensions/Translate/sql/translate_groupstats.sql
new file mode 100644
index 00000000..34a73047
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_groupstats.sql
@@ -0,0 +1,10 @@
+CREATE TABLE /*_*/translate_groupstats (
+ tgs_group varchar(100) binary NOT NULL,
+ tgs_lang varchar(20) binary NOT NULL,
+ tgs_total int(5) unsigned,
+ tgs_translated int(5) unsigned,
+ tgs_fuzzy int(5) unsigned,
+ tgs_proofread int(5) unsigned,
+ PRIMARY KEY (tgs_group, tgs_lang)
+) /*$wgDBTableOptions*/;
+CREATE INDEX /*i*/tgs_lang on /*_*/translate_groupstats (tgs_lang);
diff --git a/www/wiki/extensions/Translate/sql/translate_messageindex.sql b/www/wiki/extensions/Translate/sql/translate_messageindex.sql
new file mode 100644
index 00000000..7f3ec816
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_messageindex.sql
@@ -0,0 +1,7 @@
+CREATE TABLE /*$wgDBprefix*/translate_messageindex (
+ tmi_key varchar(255) binary NOT NULL,
+ tmi_value varchar(255) binary NOT NULL
+) /*$wgDBTableOptions*/;
+
+CREATE UNIQUE INDEX /*i*/tmi_key ON /*$wgDBprefix*/translate_messageindex
+(tmi_key);
diff --git a/www/wiki/extensions/Translate/sql/translate_metadata.sql b/www/wiki/extensions/Translate/sql/translate_metadata.sql
new file mode 100644
index 00000000..68a539ee
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_metadata.sql
@@ -0,0 +1,8 @@
+-- Translate group metadata
+CREATE TABLE /*$wgDBprefix*/translate_metadata (
+ tmd_group varchar(200) binary NOT NULL,
+ tmd_key varchar(20) binary NOT NULL,
+ tmd_value mediumblob NOT NULL,
+
+ PRIMARY KEY (tmd_group, tmd_key)
+) /*$wgDBTableOptions*/;
diff --git a/www/wiki/extensions/Translate/sql/translate_reviews-patch-01-primary-key.sql b/www/wiki/extensions/Translate/sql/translate_reviews-patch-01-primary-key.sql
new file mode 100644
index 00000000..9017fb53
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_reviews-patch-01-primary-key.sql
@@ -0,0 +1,3 @@
+ALTER TABLE /*_*/translate_reviews
+ ADD PRIMARY KEY (trr_page, trr_revision, trr_user),
+ DROP INDEX /*i*/trr_user_page_revision;
diff --git a/www/wiki/extensions/Translate/sql/translate_reviews.sql b/www/wiki/extensions/Translate/sql/translate_reviews.sql
new file mode 100644
index 00000000..63f1d8d8
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_reviews.sql
@@ -0,0 +1,12 @@
+-- Translation reviews; to store reviews of a page revision by a user.
+CREATE TABLE /*$wgDBprefix*/translate_reviews (
+ trr_user int NOT NULL,
+
+ -- Link to page.page_id
+ trr_page int NOT NULL,
+
+ -- Link to revision.rev_id
+ trr_revision int NOT NULL,
+
+ PRIMARY KEY (trr_page, trr_revision, trr_user)
+) /*$wgDBTableOptions*/;
diff --git a/www/wiki/extensions/Translate/sql/translate_sections-indexchange.sql b/www/wiki/extensions/Translate/sql/translate_sections-indexchange.sql
new file mode 100644
index 00000000..98ed1491
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_sections-indexchange.sql
@@ -0,0 +1 @@
+CREATE INDEX /*i*/trs_page_order on /*_*/translate_sections (trs_page, trs_order);
diff --git a/www/wiki/extensions/Translate/sql/translate_sections-indexchange2.sql b/www/wiki/extensions/Translate/sql/translate_sections-indexchange2.sql
new file mode 100644
index 00000000..223b75a5
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_sections-indexchange2.sql
@@ -0,0 +1 @@
+DROP INDEX /*i*/trs_page on /*_*/translate_sections;
diff --git a/www/wiki/extensions/Translate/sql/translate_sections-trs_order.patch.sql b/www/wiki/extensions/Translate/sql/translate_sections-trs_order.patch.sql
new file mode 100644
index 00000000..6e56e3fa
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_sections-trs_order.patch.sql
@@ -0,0 +1,2 @@
+ALTER TABLE /*_*/translate_sections
+ ADD trs_order int unsigned;
diff --git a/www/wiki/extensions/Translate/sql/translate_sections.sql b/www/wiki/extensions/Translate/sql/translate_sections.sql
new file mode 100644
index 00000000..6207ca68
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_sections.sql
@@ -0,0 +1,20 @@
+-- SQL tables for Translate extension
+
+-- List of each section which has a name and text
+CREATE TABLE /*_*/translate_sections (
+ -- Key to page_id
+ trs_page int unsigned NOT NULL,
+
+ -- Customizable section name
+ trs_key varchar(255) binary NOT NULL,
+
+ -- Section contents
+ trs_text mediumblob NOT NULL,
+
+ -- Section order
+ trs_order int unsigned,
+
+ PRIMARY KEY (trs_page, trs_key)
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/trs_page_order on /*_*/translate_sections (trs_page, trs_order);
diff --git a/www/wiki/extensions/Translate/sql/translate_stash.sql b/www/wiki/extensions/Translate/sql/translate_stash.sql
new file mode 100644
index 00000000..b0a651f4
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_stash.sql
@@ -0,0 +1,10 @@
+-- Translate translation stash
+CREATE TABLE /*$wgDBprefix*/translate_stash (
+ ts_user int NOT NULL,
+ ts_namespace int(11) NOT NULL,
+ ts_title varchar(255) binary NOT NULL,
+ ts_value mediumblob NOT NULL,
+ ts_metadata mediumblob NOT NULL,
+
+ PRIMARY KEY (ts_user, ts_namespace, ts_title)
+) /*$wgDBTableOptions*/;
diff --git a/www/wiki/extensions/Translate/sql/translate_tm.sql b/www/wiki/extensions/Translate/sql/translate_tm.sql
new file mode 100644
index 00000000..99442078
--- /dev/null
+++ b/www/wiki/extensions/Translate/sql/translate_tm.sql
@@ -0,0 +1,38 @@
+-- Since these tables only store secondary data,
+-- it should be safe to drop them from time to time.
+-- MediaWiki itself guarantees sure that this file is run only once.
+
+-- Source texts
+DROP TABLE IF EXISTS /*_*/translate_tms;
+CREATE TABLE /*_*/translate_tms (
+ tms_sid int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ -- Language code
+ tms_lang varchar(20) binary NOT NULL,
+ -- Lenght of the string in characters
+ tms_len int unsigned NOT NULL,
+ -- The actual text
+ tms_text mediumblob NOT NULL,
+ -- Identifier where this text came from
+ tms_context mediumblob NOT NULL
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/tms_lang_len ON /*_*/translate_tms (tms_lang, tms_len);
+
+-- Stored translations
+DROP TABLE IF EXISTS /*_*/translate_tmt;
+CREATE TABLE /*_*/translate_tmt (
+ tmt_sid int unsigned NOT NULL,
+ tmt_lang varchar(20) binary NOT NULL,
+ tmt_text mediumblob NOT NULL
+) /*$wgDBTableOptions*/;
+
+CREATE UNIQUE INDEX /*i*/tmt_sid_lang ON /*_*/translate_tmt (tmt_sid, tmt_lang);
+
+-- Fulltext search index
+DROP TABLE IF EXISTS /*_*/translate_tmf;
+CREATE TABLE /*_*/translate_tmf (
+ tmf_sid int unsigned NOT NULL,
+ tmf_text text
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+
+CREATE FULLTEXT INDEX /*i*/tmf_text ON /*_*/translate_tmf (tmf_text);