diff options
author | zotlabs <mike@macgirvin.com> | 2018-02-16 12:42:02 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-02-16 12:42:02 -0800 |
commit | f492f808f4861ae9937dcaf3bf8476513ae1c091 (patch) | |
tree | dba3179893ab7beae238568a87578f2a498f12aa /Zotlabs/Update/_1156.php | |
parent | 27cd26ec1e26b6c389a623395687af5052f0b5a1 (diff) | |
download | volse-hubzilla-f492f808f4861ae9937dcaf3bf8476513ae1c091.tar.gz volse-hubzilla-f492f808f4861ae9937dcaf3bf8476513ae1c091.tar.bz2 volse-hubzilla-f492f808f4861ae9937dcaf3bf8476513ae1c091.zip |
refactor of the DB update system. Updates are now stored individually in Zotlabs/Update/_nnnn.php and are objects; so only the pending updates need to be loaded and executed rather than all historical updates. There is one single number (DB_UPDATE_VERSION) representing the current version and it is EQUAL TO the last known update. A dummy update _1201 was created to address the difference in counting behaviour; it will be executed on the next change of DB_UPDATE_VERSION as well as the next update. The database config values are also loaded from disk on every update immediately before setting the update lock in order to reduce timing conflicts and race conditions.
Diffstat (limited to 'Zotlabs/Update/_1156.php')
-rw-r--r-- | Zotlabs/Update/_1156.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Zotlabs/Update/_1156.php b/Zotlabs/Update/_1156.php new file mode 100644 index 000000000..536a219d8 --- /dev/null +++ b/Zotlabs/Update/_1156.php @@ -0,0 +1,28 @@ +<?php + +namespace Zotlabs\Update; + +class _1156 { +function run() { + $r1 = q("ALTER TABLE mail ADD conv_guid CHAR( 255 ) NOT NULL DEFAULT '' "); + $r2 = q("create index conv_guid on mail ( conv_guid ) "); + + $r3 = q("select mail.id, mail.convid, conv.guid from mail left join conv on mail.convid = conv.id where true"); + if($r3) { + foreach($r3 as $rr) { + if($rr['convid']) { + q("update mail set conv_guid = '%s' where id = %d", + dbesc($rr['guid']), + intval($rr['id']) + ); + } + } + } + + if($r1 && $r2) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + + +}
\ No newline at end of file |