summaryrefslogtreecommitdiff
path: root/modules/system/system.install
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2007-03-26 01:32:22 +0000
committerDries Buytaert <dries@buytaert.net>2007-03-26 01:32:22 +0000
commiteb0caa354ea6fec8d63f930ee249121c09eec1b7 (patch)
treece8a8238193314fc604c11830671201ab18b8445 /modules/system/system.install
parent5739c24c1450a81777813610021bfa452138a939 (diff)
downloadbrdo-eb0caa354ea6fec8d63f930ee249121c09eec1b7.tar.gz
brdo-eb0caa354ea6fec8d63f930ee249121c09eec1b7.tar.bz2
- Patch #128866 by Gabor, Steven, chx, Jose et al: new language subsystem.
Diffstat (limited to 'modules/system/system.install')
-rw-r--r--modules/system/system.install35
1 files changed, 30 insertions, 5 deletions
diff --git a/modules/system/system.install b/modules/system/system.install
index d0ddeb929..d942b71d0 100644
--- a/modules/system/system.install
+++ b/modules/system/system.install
@@ -440,8 +440,9 @@ function system_install() {
pid int unsigned NOT NULL auto_increment,
src varchar(128) NOT NULL default '',
dst varchar(128) NOT NULL default '',
+ language varchar(12) NOT NULL default '',
PRIMARY KEY (pid),
- UNIQUE KEY dst (dst),
+ UNIQUE KEY dst_language (dst, language),
KEY src (src)
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
@@ -585,7 +586,8 @@ function system_install() {
db_query("CREATE TABLE {variable} (
name varchar(128) NOT NULL default '',
value longtext NOT NULL,
- PRIMARY KEY (name)
+ language varchar(12) NOT NULL default '',
+ PRIMARY KEY (name, language)
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
db_query("CREATE TABLE {vocabulary} (
@@ -926,10 +928,11 @@ function system_install() {
pid serial CHECK (pid >= 0),
src varchar(128) NOT NULL default '',
dst varchar(128) NOT NULL default '',
- PRIMARY KEY (pid),
- UNIQUE (dst)
+ language varchar(12) NOT NULL default '',
+ PRIMARY KEY (pid)
)");
db_query("CREATE INDEX {url_alias}_src_idx ON {url_alias} (src)");
+ db_query("CREATE UNIQUE INDEX {url_alias}_dst_language_idx ON {url_alias} (dst, language)");
db_query("CREATE TABLE {permission} (
rid int_unsigned NOT NULL default '0',
@@ -1072,7 +1075,8 @@ function system_install() {
db_query("CREATE TABLE {variable} (
name varchar(128) NOT NULL default '',
value text NOT NULL,
- PRIMARY KEY (name)
+ language varchar(12) NOT NULL default '',
+ PRIMARY KEY (name, language)
)");
db_query("CREATE TABLE {vocabulary} (
@@ -3689,6 +3693,27 @@ function system_update_2004() {
}
/**
+ * Add language to url_alias table and modify indexes.
+ */
+function system_update_2005() {
+ $ret = array();
+ switch ($GLOBALS['db_type']) {
+ case 'pgsql':
+ db_add_column($ret, 'url_alias', 'language', 'varchar(12)', array('default' => "''", 'not null' => TRUE));
+ $ret[] = update_sql('DROP INDEX {url_alias}_dst_idx');
+ $ret[] = update_sql('CREATE UNIQUE INDEX {url_alias}_dst_language_idx ON {url_alias}(dst, language)');
+ break;
+ case 'mysql':
+ case 'mysqli':
+ $ret[] = update_sql("ALTER TABLE {url_alias} ADD language varchar(12) NOT NULL default ''");
+ $ret[] = update_sql("ALTER TABLE {url_alias} DROP INDEX dst");
+ $ret[] = update_sql("ALTER TABLE {url_alias} ADD UNIQUE dst_language (dst, language)");
+ break;
+ }
+ return $ret;
+}
+
+/**
* @} End of "defgroup updates-5.0-to-x.x"
* The next series of updates should start at 3000.
*/