diff options
author | Dries Buytaert <dries@buytaert.net> | 2007-03-26 01:32:22 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2007-03-26 01:32:22 +0000 |
commit | eb0caa354ea6fec8d63f930ee249121c09eec1b7 (patch) | |
tree | ce8a8238193314fc604c11830671201ab18b8445 /modules/system/system.install | |
parent | 5739c24c1450a81777813610021bfa452138a939 (diff) | |
download | brdo-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.install | 35 |
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. */ |