diff options
author | zotlabs <mike@macgirvin.com> | 2018-03-07 15:39:14 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-03-07 15:39:14 -0800 |
commit | a454aad124f999e59e8bffb625c103b975aef107 (patch) | |
tree | 175ca8a9feffee0944de0784e093154291438e82 | |
parent | f0f58dade886d88fc178b78c04e1a4067ddfda04 (diff) | |
download | volse-hubzilla-a454aad124f999e59e8bffb625c103b975aef107.tar.gz volse-hubzilla-a454aad124f999e59e8bffb625c103b975aef107.tar.bz2 volse-hubzilla-a454aad124f999e59e8bffb625c103b975aef107.zip |
federated polls: GNU-Social requires us to preserve the original order of the poll answers for use in making a vote, unlike diaspora (which selects by guid) and activitypub (which selects by non-localisable text).
-rw-r--r-- | Zotlabs/Update/_1209.php | 26 | ||||
-rwxr-xr-x | boot.php | 2 | ||||
-rw-r--r-- | install/schema_mysql.sql | 4 | ||||
-rw-r--r-- | install/schema_postgres.sql | 2 |
4 files changed, 32 insertions, 2 deletions
diff --git a/Zotlabs/Update/_1209.php b/Zotlabs/Update/_1209.php new file mode 100644 index 000000000..5ec449395 --- /dev/null +++ b/Zotlabs/Update/_1209.php @@ -0,0 +1,26 @@ +<?php + +namespace Zotlabs\Update; + +class _1209 { + + function run() { + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { + $r1 = q("ALTER TABLE poll_elm ADD pelm_order numeric(6) NOT NULL DEFAULT '0' "); + $r2 = q("create index \"pelm_order_idx\" on poll_elm \"pelm_order\""); + + $r = ($r1 && $r2); + } + else { + $r = q("ALTER TABLE `poll_elm` ADD `pelm_order` int(11) NOT NULL DEFAULT 0, + ADD INDEX `pelm_order` (`pelm_order`)"); + } + + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; + + } + +} @@ -54,7 +54,7 @@ define ( 'STD_VERSION', '3.3.2' ); define ( 'ZOT_REVISION', '6.0a' ); -define ( 'DB_UPDATE_VERSION', 1208 ); +define ( 'DB_UPDATE_VERSION', 1209 ); define ( 'PROJECT_BASE', __DIR__ ); diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index 9d60d9eb2..62cf6a5f2 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -988,10 +988,12 @@ CREATE TABLE IF NOT EXISTS `poll_elm` ( `pelm_desc` text NOT NULL, `pelm_flags` int(11) NOT NULL DEFAULT 0 , `pelm_result` float NOT NULL DEFAULT 0 , + `pelm_order` int(11) NOT NULL DEFAULT 0 , PRIMARY KEY (`pelm_id`), KEY `pelm_guid` (`pelm_guid`), KEY `pelm_poll` (`pelm_poll`), - KEY `pelm_result` (`pelm_result`) + KEY `pelm_result` (`pelm_result`), + KEY `pelm_order` (`pelm_order`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `profdef` ( diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index d8bbd89f4..a4f6e9253 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -963,11 +963,13 @@ CREATE TABLE "poll_elm" ( "pelm_desc" text NOT NULL, "pelm_flags" bigint NOT NULL DEFAULT '0', "pelm_result" float NOT NULL DEFAULT '0', + "pelm_order" numeric(6) NOT NULL DEFAULT '0', PRIMARY KEY ("pelm_id") ); create index "pelm_guid" on poll_elm ("pelm_guid"); create index "pelm_poll" on poll_elm ("pelm_poll"); create index "pelm_result" on poll_elm ("pelm_result"); +create index "pelm_order" on poll_elm ("pelm_order"); CREATE TABLE "profdef" ( "id" serial NOT NULL, |