From 40f717cad9b54511d6d4c0d549fd253409f8dd12 Mon Sep 17 00:00:00 2001 From: marcus Date: Thu, 6 Nov 2008 16:33:49 +0000 Subject: datalists now has primary key, datalist set function optimised git-svn-id: https://code.elgg.org/elgg/trunk@2417 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 4 ++-- engine/schema/mysql.sql | 2 +- engine/schema/upgrades/2008110601.sql | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 engine/schema/upgrades/2008110601.sql (limited to 'engine') diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 0ff9b2d26..836064060 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -1529,8 +1529,8 @@ $name = sanitise_string($name); $value = sanitise_string($value); - delete_data("delete from {$CONFIG->dbprefix}datalists where name = '{$name}'"); - insert_data("insert into {$CONFIG->dbprefix}datalists set name = '{$name}', value = '{$value}'"); + //delete_data("delete from {$CONFIG->dbprefix}datalists where name = '{$name}'"); + insert_data("INSERT into {$CONFIG->dbprefix}datalists set name = '{$name}', value = '{$value}' ON DUPLICATE KEY UPDATE value='{$value}'"); $DATALIST_CACHE[$name] = $value; diff --git a/engine/schema/mysql.sql b/engine/schema/mysql.sql index b906f9b5b..695a2e79f 100644 --- a/engine/schema/mysql.sql +++ b/engine/schema/mysql.sql @@ -288,7 +288,7 @@ CREATE TABLE `prefix_users_sessions` ( CREATE TABLE `prefix_datalists` ( `name` varchar(32) NOT NULL, `value` text NOT NULL, - KEY `name` (`name`) + PRIMARY KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- System log diff --git a/engine/schema/upgrades/2008110601.sql b/engine/schema/upgrades/2008110601.sql new file mode 100644 index 000000000..ddd80a91b --- /dev/null +++ b/engine/schema/upgrades/2008110601.sql @@ -0,0 +1,3 @@ +-- Alter datalists to have a primary key +ALTER TABLE `prefix_datalists` DROP KEY `name`; +ALTER TABLE `prefix_datalists` ADD PRIMARY KEY `name` (`name`); -- cgit v1.2.3