From 3698e4a14f6c089bf4c97712e778bb8c96f55b87 Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 21 Apr 2017 12:41:53 -0700 Subject: [PATCH 01/22] Update rate limiting for APCu and X-Forwarded-For Summary: Ref T12612. This updates the rate limiting code to: - Support a customizable token, like the client's X-Forwarded-For address, rather than always using `REMOTE_ADDR`. - Support APCu. - Report a little more rate limiting information. - Not reference nonexistent documentation (removed in D16403). I'm planning to put this into production on `secure` for now and then we can deploy it more broadly if things work well. Test Plan: - Enabled it locally, used `ab -n 100` to hit the limit, saw the limit enforced. - Waited a while, was allowed to browse again. Reviewers: chad, amckinley Reviewed By: amckinley Maniphest Tasks: T12612 Differential Revision: https://secure.phabricator.com/D17758 --- .../AphrontApplicationConfiguration.php | 7 +- .../configuring_preamble.diviner | 3 +- support/PhabricatorStartup.php | 111 ++++++++++++++---- 3 files changed, 94 insertions(+), 27 deletions(-) diff --git a/src/aphront/configuration/AphrontApplicationConfiguration.php b/src/aphront/configuration/AphrontApplicationConfiguration.php index e7b3b85c63..b89feaebb5 100644 --- a/src/aphront/configuration/AphrontApplicationConfiguration.php +++ b/src/aphront/configuration/AphrontApplicationConfiguration.php @@ -205,9 +205,8 @@ abstract class AphrontApplicationConfiguration extends Phobject { DarkConsoleXHProfPluginAPI::saveProfilerSample($access_log); // Add points to the rate limits for this request. - if (isset($_SERVER['REMOTE_ADDR'])) { - $user_ip = $_SERVER['REMOTE_ADDR']; - + $rate_token = PhabricatorStartup::getRateLimitToken(); + if ($rate_token !== null) { // The base score for a request allows users to make 30 requests per // minute. $score = (1000 / 30); @@ -217,7 +216,7 @@ abstract class AphrontApplicationConfiguration extends Phobject { $score = $score / 5; } - PhabricatorStartup::addRateLimitScore($user_ip, $score); + PhabricatorStartup::addRateLimitScore($rate_token, $score); } if ($processing_exception) { diff --git a/src/docs/user/configuration/configuring_preamble.diviner b/src/docs/user/configuration/configuring_preamble.diviner index bb76600d3b..fc804e9072 100644 --- a/src/docs/user/configuration/configuring_preamble.diviner +++ b/src/docs/user/configuration/configuring_preamble.diviner @@ -1,8 +1,7 @@ @title Configuring a Preamble Script @group config -Adjust environmental settings (SSL, remote IP, rate limiting) using a preamble -script. +Adjust environmental settings (SSL, remote IPs) using a preamble script. Overview ======== diff --git a/support/PhabricatorStartup.php b/support/PhabricatorStartup.php index 0a27a616e3..fd286b2aa0 100644 --- a/support/PhabricatorStartup.php +++ b/support/PhabricatorStartup.php @@ -50,6 +50,7 @@ final class PhabricatorStartup { // iterate on it a bit for Conduit, some of the specific score levels, and // to deal with NAT'd offices. private static $maximumRate = 0; + private static $rateLimitToken; /* -( Accessing Request Information )-------------------------------------- */ @@ -137,8 +138,9 @@ final class PhabricatorStartup { // we can switch over to relying on our own exception recovery mechanisms. ini_set('display_errors', 0); - if (isset($_SERVER['REMOTE_ADDR'])) { - self::rateLimitRequest($_SERVER['REMOTE_ADDR']); + $rate_token = self::getRateLimitToken(); + if ($rate_token !== null) { + self::rateLimitRequest($rate_token); } self::normalizeInput(); @@ -680,6 +682,36 @@ final class PhabricatorStartup { } + /** + * Set a token to identify the client for purposes of rate limiting. + * + * By default, the `REMOTE_ADDR` is used. If your install is behind a load + * balancer, you may want to parse `X-Forwarded-For` and use that address + * instead. + * + * @param string Client identity for rate limiting. + */ + public static function setRateLimitToken($token) { + self::$rateLimitToken = $token; + } + + + /** + * Get the current client identity for rate limiting. + */ + public static function getRateLimitToken() { + if (self::$rateLimitToken !== null) { + return self::$rateLimitToken; + } + + if (isset($_SERVER['REMOTE_ADDR'])) { + return $_SERVER['REMOTE_ADDR']; + } + + return null; + } + + /** * Check if the user (identified by `$user_identity`) has issued too many * requests recently. If they have, end the request with a 429 error code. @@ -699,13 +731,18 @@ final class PhabricatorStartup { } $score = self::getRateLimitScore($user_identity); - if ($score > (self::$maximumRate * self::getRateLimitBucketCount())) { + $limit = self::$maximumRate * self::getRateLimitBucketCount(); + if ($score > $limit) { // Give the user some bonus points for getting rate limited. This keeps // bad actors who keep slamming the 429 page locked out completely, // instead of letting them get a burst of requests through every minute // after a bucket expires. - self::addRateLimitScore($user_identity, 50); - self::didRateLimit($user_identity); + $penalty = 50; + + self::addRateLimitScore($user_identity, $penalty); + $score += $penalty; + + self::didRateLimit($user_identity, $score, $limit); } } @@ -729,15 +766,21 @@ final class PhabricatorStartup { return; } + $is_apcu = (bool)function_exists('apcu_fetch'); $current = self::getRateLimitBucket(); - // There's a bit of a race here, if a second process reads the bucket before - // this one writes it, but it's fine if we occasionally fail to record a - // user's score. If they're making requests fast enough to hit rate - // limiting, we'll get them soon. + // There's a bit of a race here, if a second process reads the bucket + // before this one writes it, but it's fine if we occasionally fail to + // record a user's score. If they're making requests fast enough to hit + // rate limiting, we'll get them soon enough. $bucket_key = self::getRateLimitBucketKey($current); - $bucket = apc_fetch($bucket_key); + if ($is_apcu) { + $bucket = apcu_fetch($bucket_key); + } else { + $bucket = apc_fetch($bucket_key); + } + if (!is_array($bucket)) { $bucket = array(); } @@ -747,7 +790,12 @@ final class PhabricatorStartup { } $bucket[$user_identity] += $score; - apc_store($bucket_key, $bucket); + + if ($is_apcu) { + apcu_store($bucket_key, $bucket); + } else { + apc_store($bucket_key, $bucket); + } } @@ -761,11 +809,12 @@ final class PhabricatorStartup { * @task ratelimit */ private static function canRateLimit() { + if (!self::$maximumRate) { return false; } - if (!function_exists('apc_fetch')) { + if (!function_exists('apc_fetch') && !function_exists('apcu_fetch')) { return false; } @@ -826,16 +875,26 @@ final class PhabricatorStartup { * @task ratelimit */ private static function getRateLimitScore($user_identity) { + $is_apcu = (bool)function_exists('apcu_fetch'); + $min_key = self::getRateLimitMinKey(); // Identify the oldest bucket stored in APC. $cur = self::getRateLimitBucket(); - $min = apc_fetch($min_key); + if ($is_apcu) { + $min = apcu_fetch($min_key); + } else { + $min = apc_fetch($min_key); + } // If we don't have any buckets stored yet, store the current bucket as // the oldest bucket. if (!$min) { - apc_store($min_key, $cur); + if ($is_apcu) { + apcu_store($min_key, $cur); + } else { + apc_store($min_key, $cur); + } $min = $cur; } @@ -844,14 +903,25 @@ final class PhabricatorStartup { // up an old bucket once per minute. $count = self::getRateLimitBucketCount(); for ($cursor = $min; $cursor < ($cur - $count); $cursor++) { - apc_delete(self::getRateLimitBucketKey($cursor)); - apc_store($min_key, $cursor + 1); + $bucket_key = self::getRateLimitBucketKey($cursor); + if ($is_apcu) { + apcu_delete($bucket_key); + apcu_store($min_key, $cursor + 1); + } else { + apc_delete($bucket_key); + apc_store($min_key, $cursor + 1); + } } // Now, sum up the user's scores in all of the active buckets. $score = 0; for (; $cursor <= $cur; $cursor++) { - $bucket = apc_fetch(self::getRateLimitBucketKey($cursor)); + $bucket_key = self::getRateLimitBucketKey($cursor); + if ($is_apcu) { + $bucket = apcu_fetch($bucket_key); + } else { + $bucket = apc_fetch($bucket_key); + } if (isset($bucket[$user_identity])) { $score += $bucket[$user_identity]; } @@ -868,12 +938,11 @@ final class PhabricatorStartup { * @return exit This method **does not return**. * @task ratelimit */ - private static function didRateLimit() { + private static function didRateLimit($user_identity, $score, $limit) { $message = "TOO MANY REQUESTS\n". - "You are issuing too many requests too quickly.\n". - "To adjust limits, see \"Configuring a Preamble Script\" in the ". - "documentation."; + "You (\"{$user_identity}\") are issuing too many requests ". + "too quickly.\n"; header( 'Content-Type: text/plain; charset=utf-8', From 8d398f6f4a69e86e18362e53cdcc5a83f2b5fad9 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sat, 22 Apr 2017 16:01:10 +0000 Subject: [PATCH 02/22] Fix variable name for theme_class Summary: Fixes T12622. This variable is mis-named. Test Plan: Visit a room I have not joined. Reviewers: epriestley, amckinley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T12622 Differential Revision: https://secure.phabricator.com/D17767 --- src/applications/conpherence/storage/ConpherenceThread.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/applications/conpherence/storage/ConpherenceThread.php b/src/applications/conpherence/storage/ConpherenceThread.php index 7e4c3dc09f..0c70ef2cb5 100644 --- a/src/applications/conpherence/storage/ConpherenceThread.php +++ b/src/applications/conpherence/storage/ConpherenceThread.php @@ -204,7 +204,7 @@ final class ConpherenceThread extends ConpherenceDAO } $user_participation = $this->getParticipantIfExists($viewer->getPHID()); - $theme = ConpherenceRoomSettings::COLOR_LIGHT; + $theme_class = ConpherenceRoomSettings::COLOR_LIGHT; if ($user_participation) { $user_seen_count = $user_participation->getSeenMessageCount(); $participant = $this->getParticipant($viewer->getPHID()); From bc9291b3270871e52f9d3de440b079c07473c12d Mon Sep 17 00:00:00 2001 From: epriestley Date: Sat, 22 Apr 2017 09:21:40 -0700 Subject: [PATCH 03/22] Fix Conpherence theme variables for both logged-out and logged-in users Summary: Ref T12622. Test Plan: As a logged-out and logged-in user, loaded Conpherence threads. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12622 Differential Revision: https://secure.phabricator.com/D17768 --- src/applications/conpherence/storage/ConpherenceThread.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/applications/conpherence/storage/ConpherenceThread.php b/src/applications/conpherence/storage/ConpherenceThread.php index 0c70ef2cb5..bb355154a4 100644 --- a/src/applications/conpherence/storage/ConpherenceThread.php +++ b/src/applications/conpherence/storage/ConpherenceThread.php @@ -204,17 +204,18 @@ final class ConpherenceThread extends ConpherenceDAO } $user_participation = $this->getParticipantIfExists($viewer->getPHID()); - $theme_class = ConpherenceRoomSettings::COLOR_LIGHT; + $theme = ConpherenceRoomSettings::COLOR_LIGHT; if ($user_participation) { $user_seen_count = $user_participation->getSeenMessageCount(); $participant = $this->getParticipant($viewer->getPHID()); $settings = $participant->getSettings(); $theme = idx($settings, 'theme', $theme); - $theme_class = ConpherenceRoomSettings::getThemeClass($theme); } else { $user_seen_count = 0; } + $unread_count = $this->getMessageCount() - $user_seen_count; + $theme_class = ConpherenceRoomSettings::getThemeClass($theme); $title = $this->getTitle(); $topic = $this->getTopic(); From 52c4715bbcfb6b088cdb02b554661f879661d365 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 23 Apr 2017 04:38:38 -0700 Subject: [PATCH 04/22] No-op the Conpherence thumbnail resizing migration Summary: Fixes T12628. After later changes to `PhabricatorFile`, this migration no longer runs if you upgrade through it to a recent `HEAD` while your data has some room images. Since this isn't critical and has been available for ~6 months, I just nuked it as a first pass. I can find a more careful approach which lets us continue to run this migration instead if you're hesitant to skip this step, although it may be a little involved. In 95% of cases we avoid this by updating the storage table as it existed at the time the migraiton ran, but Files are much too complicated for that to be realistic. Test Plan: Ran `bin/storage upgrade -f --apply phabricator:20161005.conpherence.image.2.php`, saw it do nothing. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12628 Differential Revision: https://secure.phabricator.com/D17770 --- .../20161005.conpherence.image.2.php | 34 ++----------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/resources/sql/autopatches/20161005.conpherence.image.2.php b/resources/sql/autopatches/20161005.conpherence.image.2.php index 4345cdd08b..8bad4b55e7 100644 --- a/resources/sql/autopatches/20161005.conpherence.image.2.php +++ b/resources/sql/autopatches/20161005.conpherence.image.2.php @@ -1,34 +1,4 @@ establishConnection('w'); -$table_name = 'conpherence_thread'; - -foreach (new LiskRawMigrationIterator($conn, $table_name) as $row) { - - $images = phutil_json_decode($row['imagePHIDs']); - if (!$images) { - continue; - } - - $file_phid = idx($images, 'original'); - - $file = id(new PhabricatorFileQuery()) - ->setViewer(PhabricatorUser::getOmnipotentUser()) - ->withPHIDs(array($file_phid)) - ->executeOne(); - - $xform = PhabricatorFileTransform::getTransformByKey( - PhabricatorFileThumbnailTransform::TRANSFORM_PROFILE); - $xformed = $xform->executeTransform($file); - $new_phid = $xformed->getPHID(); - - queryfx( - $conn, - 'UPDATE %T SET profileImagePHID = %s WHERE id = %d', - $table->getTableName(), - $new_phid, - $row['id']); -} +// This migration once resized room images for Conpherence, but the File table +// later changed significantly. See T12628. From bb2b91d28e7e9c81722949cbed6624f46f694d1c Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 23 Apr 2017 06:07:40 -0700 Subject: [PATCH 05/22] Add unit tests for file thumbnail generation Summary: Fixes T12614. Test Plan: - Ran tests, saw them pass. - Changed a thumbnail to 800x800, saw tests detect that the default image was missing. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12614 Differential Revision: https://secure.phabricator.com/D17773 --- .../PhabricatorFileTransformTestCase.php | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/applications/files/transform/__tests__/PhabricatorFileTransformTestCase.php b/src/applications/files/transform/__tests__/PhabricatorFileTransformTestCase.php index 4cc4a6e54b..d9a9012ef0 100644 --- a/src/applications/files/transform/__tests__/PhabricatorFileTransformTestCase.php +++ b/src/applications/files/transform/__tests__/PhabricatorFileTransformTestCase.php @@ -2,9 +2,33 @@ final class PhabricatorFileTransformTestCase extends PhabricatorTestCase { + protected function getPhabricatorTestCaseConfiguration() { + return array( + self::PHABRICATOR_TESTCONFIG_BUILD_STORAGE_FIXTURES => true, + ); + } + public function testGetAllTransforms() { PhabricatorFileTransform::getAllTransforms(); $this->assertTrue(true); } + public function testThumbTransformDefaults() { + $xforms = PhabricatorFileTransform::getAllTransforms(); + $file = new PhabricatorFile(); + + foreach ($xforms as $xform) { + if (!($xform instanceof PhabricatorFileThumbnailTransform)) { + continue; + } + + // For thumbnails, generate the default thumbnail. This should be able + // to generate something rather than throwing an exception because we + // forgot to add a default file to the builtin resources. See T12614. + $xform->getDefaultTransform($file); + + $this->assertTrue(true); + } + } + } From bef68ccdd627522c10a9cd519dd36f5251151719 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 23 Apr 2017 06:24:01 -0700 Subject: [PATCH 06/22] Regenrate Quickstart SQL Summary: The quickstart SQL hasn't been regenrated in a while, mildly impacting unit test and instance startup times. - Use `bin/storage quickstart` to regenerate quickstart. - Manually set the FULLTEXT tables back to `MyISAM` until we deal with T11741. Test Plan: - Saw database setup drop from ~10,500ms to ~7,500ms locally. - Visually inspected diff, changes looked expected. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D17775 --- resources/sql/quickstart.sql | 572 +++++++++++++++++++++++++++++++---- 1 file changed, 514 insertions(+), 58 deletions(-) diff --git a/resources/sql/quickstart.sql b/resources/sql/quickstart.sql index 0574c57c8e..b992c03522 100644 --- a/resources/sql/quickstart.sql +++ b/resources/sql/quickstart.sql @@ -61,9 +61,7 @@ USE `{$NAMESPACE}_calendar`; CREATE TABLE `calendar_event` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, - `userPHID` varbinary(64) NOT NULL, - `dateFrom` int(10) unsigned NOT NULL, - `dateTo` int(10) unsigned NOT NULL, + `hostPHID` varbinary(64) NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, `description` longtext COLLATE {$COLLATE_TEXT} NOT NULL, @@ -75,15 +73,25 @@ CREATE TABLE `calendar_event` ( `isAllDay` tinyint(1) NOT NULL, `icon` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, `isRecurring` tinyint(1) NOT NULL, - `recurrenceFrequency` longtext COLLATE {$COLLATE_TEXT} NOT NULL, - `recurrenceEndDate` int(10) unsigned DEFAULT NULL, `instanceOfEventPHID` varbinary(64) DEFAULT NULL, `sequenceIndex` int(10) unsigned DEFAULT NULL, `spacePHID` varbinary(64) DEFAULT NULL, + `isStub` tinyint(1) NOT NULL, + `utcInitialEpoch` int(10) unsigned NOT NULL, + `utcUntilEpoch` int(10) unsigned DEFAULT NULL, + `utcInstanceEpoch` int(10) unsigned DEFAULT NULL, + `parameters` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `importAuthorPHID` varbinary(64) DEFAULT NULL, + `importSourcePHID` varbinary(64) DEFAULT NULL, + `importUIDIndex` binary(12) DEFAULT NULL, + `importUID` longtext COLLATE {$COLLATE_TEXT}, + `seriesParentPHID` varbinary(64) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`), UNIQUE KEY `key_instance` (`instanceOfEventPHID`,`sequenceIndex`), - KEY `userPHID_dateFrom` (`userPHID`,`dateTo`), + UNIQUE KEY `key_rdate` (`instanceOfEventPHID`,`utcInstanceEpoch`), + KEY `key_epoch` (`utcInitialEpoch`,`utcUntilEpoch`), + KEY `key_series` (`seriesParentPHID`,`utcInitialEpoch`), KEY `key_space` (`spacePHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -95,6 +103,7 @@ CREATE TABLE `calendar_eventinvitee` ( `status` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, + `availability` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_event` (`eventPHID`,`inviteePHID`), KEY `key_invitee` (`inviteePHID`) @@ -139,12 +148,117 @@ CREATE TABLE `calendar_eventtransaction_comment` ( UNIQUE KEY `key_version` (`transactionPHID`,`commentVersion`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; -CREATE TABLE `calendar_holiday` ( +CREATE TABLE `calendar_export` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `day` date NOT NULL, - `name` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `phid` varbinary(64) NOT NULL, + `name` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `policyMode` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `queryKey` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `secretKey` binary(20) NOT NULL, + `isDisabled` tinyint(1) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `day` (`day`) + UNIQUE KEY `key_secret` (`secretKey`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_author` (`authorPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `calendar_exporttransaction` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `objectPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `commentPHID` varbinary(64) DEFAULT NULL, + `commentVersion` int(10) unsigned NOT NULL, + `transactionType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `newValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contentSource` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_object` (`objectPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `calendar_externalinvitee` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `name` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `nameIndex` binary(12) NOT NULL, + `uri` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `parameters` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `sourcePHID` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_name` (`nameIndex`), + UNIQUE KEY `key_phid` (`phid`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `calendar_import` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `name` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `engineType` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `parameters` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `isDisabled` tinyint(1) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + `triggerPHID` varbinary(64) DEFAULT NULL, + `triggerFrequency` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_author` (`authorPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `calendar_importlog` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `importPHID` varbinary(64) NOT NULL, + `parameters` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `key_import` (`importPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `calendar_importtransaction` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `objectPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `commentPHID` varbinary(64) DEFAULT NULL, + `commentVersion` int(10) unsigned NOT NULL, + `transactionType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `newValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contentSource` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_object` (`objectPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `calendar_notification` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `eventPHID` varbinary(64) NOT NULL, + `utcInitialEpoch` int(10) unsigned NOT NULL, + `targetPHID` varbinary(64) NOT NULL, + `didNotifyEpoch` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_notify` (`eventPHID`,`utcInitialEpoch`,`targetPHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `edge` ( @@ -209,18 +323,6 @@ CREATE TABLE `conduit_certificatetoken` ( UNIQUE KEY `token` (`token`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; -CREATE TABLE `conduit_connectionlog` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `client` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `clientVersion` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `clientDescription` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `username` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `dateCreated` int(10) unsigned NOT NULL, - `dateModified` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `key_created` (`dateCreated`) -) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; - CREATE TABLE `conduit_methodcalllog` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `connectionID` bigint(20) unsigned DEFAULT NULL, @@ -379,8 +481,8 @@ CREATE TABLE `differential_affectedpath` ( CREATE TABLE `differential_changeset` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `diffID` int(10) unsigned NOT NULL, - `oldFile` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `filename` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldFile` longblob, + `filename` longblob NOT NULL, `awayPaths` longtext COLLATE {$COLLATE_TEXT}, `changeType` int(10) unsigned NOT NULL, `fileType` int(10) unsigned NOT NULL, @@ -461,9 +563,11 @@ CREATE TABLE `differential_diff` ( `description` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, `repositoryUUID` varchar(64) COLLATE {$COLLATE_TEXT} DEFAULT NULL, `viewPolicy` varbinary(64) NOT NULL, + `commitPHID` varbinary(64) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`), - KEY `revisionID` (`revisionID`) + KEY `revisionID` (`revisionID`), + KEY `key_commit` (`commitPHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `differential_diffproperty` ( @@ -550,6 +654,22 @@ CREATE TABLE `differential_hunk_modern` ( KEY `key_created` (`dateCreated`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `differential_reviewer` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `revisionPHID` varbinary(64) NOT NULL, + `reviewerPHID` varbinary(64) NOT NULL, + `reviewerStatus` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + `lastActionDiffPHID` varbinary(64) DEFAULT NULL, + `lastCommentDiffPHID` varbinary(64) DEFAULT NULL, + `lastActorPHID` varbinary(64) DEFAULT NULL, + `voidedPHID` varbinary(64) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_revision` (`revisionPHID`,`reviewerPHID`), + KEY `key_reviewer` (`reviewerPHID`,`revisionPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `differential_revision` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, @@ -569,6 +689,7 @@ CREATE TABLE `differential_revision` ( `viewPolicy` varbinary(64) NOT NULL, `editPolicy` varbinary(64) NOT NULL, `repositoryPHID` varbinary(64) DEFAULT NULL, + `properties` longtext COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`), KEY `authorPHID` (`authorPHID`,`status`), @@ -915,7 +1036,7 @@ CREATE TABLE `edgedata` ( CREATE TABLE `file` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, - `name` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, + `name` varchar(255) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} DEFAULT NULL, `mimeType` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, `byteSize` bigint(20) unsigned NOT NULL, `storageEngine` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, @@ -925,15 +1046,18 @@ CREATE TABLE `file` ( `dateModified` int(10) unsigned NOT NULL, `authorPHID` varbinary(64) DEFAULT NULL, `secretKey` binary(20) DEFAULT NULL, - `contentHash` binary(40) DEFAULT NULL, + `contentHash` binary(64) DEFAULT NULL, `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `ttl` int(10) unsigned DEFAULT NULL, `isExplicitUpload` tinyint(1) DEFAULT '1', `mailKey` binary(20) NOT NULL, `viewPolicy` varbinary(64) NOT NULL, `isPartial` tinyint(1) NOT NULL DEFAULT '0', + `builtinKey` varchar(64) COLLATE {$COLLATE_TEXT} DEFAULT NULL, + `isDeleted` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`), + UNIQUE KEY `key_builtin` (`builtinKey`), KEY `authorPHID` (`authorPHID`), KEY `contentHash` (`contentHash`), KEY `key_ttl` (`ttl`), @@ -952,6 +1076,31 @@ CREATE TABLE `file_chunk` ( KEY `key_data` (`dataFilePHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `file_externalrequest` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `filePHID` varbinary(64) DEFAULT NULL, + `ttl` int(10) unsigned NOT NULL, + `uri` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `uriIndex` binary(12) NOT NULL, + `isSuccessful` tinyint(1) NOT NULL, + `responseMessage` longtext COLLATE {$COLLATE_TEXT}, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_uriindex` (`uriIndex`), + KEY `key_ttl` (`ttl`), + KEY `key_file` (`filePHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `file_filename_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `file_imagemacro` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, @@ -1015,8 +1164,7 @@ CREATE TABLE `file_transaction_comment` ( `dateModified` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`), - UNIQUE KEY `key_version` (`transactionPHID`,`commentVersion`), - UNIQUE KEY `key_draft` (`authorPHID`,`transactionPHID`) + UNIQUE KEY `key_version` (`transactionPHID`,`commentVersion`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `file_transformedfile` ( @@ -1128,7 +1276,8 @@ CREATE TABLE `harbormaster_build` ( UNIQUE KEY `key_planautokey` (`buildablePHID`,`planAutoKey`), KEY `key_buildable` (`buildablePHID`), KEY `key_plan` (`buildPlanPHID`), - KEY `key_status` (`buildStatus`) + KEY `key_status` (`buildStatus`), + KEY `key_initiator` (`initiatorPHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `harbormaster_buildable` ( @@ -1462,7 +1611,7 @@ CREATE TABLE `herald_condition` ( CREATE TABLE `herald_rule` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, + `name` varchar(255) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, `authorPHID` varbinary(64) NOT NULL, `contentType` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, `mustMatchAll` tinyint(1) NOT NULL, @@ -1477,6 +1626,7 @@ CREATE TABLE `herald_rule` ( PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`), KEY `key_trigger` (`triggerObjectPHID`), + KEY `key_name` (`name`(128)), KEY `key_author` (`authorPHID`), KEY `key_ruletype` (`ruleType`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -1634,6 +1784,7 @@ CREATE TABLE `maniphest_task` ( `properties` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `points` double DEFAULT NULL, `bridgedObjectPHID` varbinary(64) DEFAULT NULL, + `subtype` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`), UNIQUE KEY `key_bridgedobject` (`bridgedObjectPHID`), @@ -1646,6 +1797,7 @@ CREATE TABLE `maniphest_task` ( KEY `key_dateCreated` (`dateCreated`), KEY `key_dateModified` (`dateModified`), KEY `key_title` (`title`(64)), + KEY `key_subtype` (`subtype`), KEY `key_space` (`spacePHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -1692,6 +1844,12 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `{$NAMESPACE}_meta_data` /*!40100 DEFAU USE `{$NAMESPACE}_meta_data`; +CREATE TABLE `hoststate` ( + `stateKey` varchar(128) COLLATE {$COLLATE_TEXT} NOT NULL, + `stateValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`stateKey`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `patch_status` ( `patch` varchar(128) COLLATE {$COLLATE_TEXT} NOT NULL, `applied` int(10) unsigned NOT NULL, @@ -1699,7 +1857,7 @@ CREATE TABLE `patch_status` ( PRIMARY KEY (`patch`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; -INSERT INTO `patch_status` VALUES ('phabricator:000.project.sql',1466802850,NULL),('phabricator:0000.legacy.sql',1466802850,NULL),('phabricator:001.maniphest_projects.sql',1466802850,NULL),('phabricator:002.oauth.sql',1466802850,NULL),('phabricator:003.more_oauth.sql',1466802851,NULL),('phabricator:004.daemonrepos.sql',1466802851,NULL),('phabricator:005.workers.sql',1466802851,NULL),('phabricator:006.repository.sql',1466802851,NULL),('phabricator:007.daemonlog.sql',1466802851,NULL),('phabricator:008.repoopt.sql',1466802851,NULL),('phabricator:009.repo_summary.sql',1466802851,NULL),('phabricator:010.herald.sql',1466802851,NULL),('phabricator:011.badcommit.sql',1466802851,NULL),('phabricator:012.dropphidtype.sql',1466802851,NULL),('phabricator:013.commitdetail.sql',1466802851,NULL),('phabricator:014.shortcuts.sql',1466802851,NULL),('phabricator:015.preferences.sql',1466802851,NULL),('phabricator:016.userrealnameindex.sql',1466802851,NULL),('phabricator:017.sessionkeys.sql',1466802851,NULL),('phabricator:018.owners.sql',1466802851,NULL),('phabricator:019.arcprojects.sql',1466802851,NULL),('phabricator:020.pathcapital.sql',1466802851,NULL),('phabricator:021.xhpastview.sql',1466802851,NULL),('phabricator:022.differentialcommit.sql',1466802851,NULL),('phabricator:023.dxkeys.sql',1466802851,NULL),('phabricator:024.mlistkeys.sql',1466802851,NULL),('phabricator:025.commentopt.sql',1466802851,NULL),('phabricator:026.diffpropkey.sql',1466802851,NULL),('phabricator:027.metamtakeys.sql',1466802851,NULL),('phabricator:028.systemagent.sql',1466802851,NULL),('phabricator:029.cursors.sql',1466802851,NULL),('phabricator:030.imagemacro.sql',1466802851,NULL),('phabricator:031.workerrace.sql',1466802851,NULL),('phabricator:032.viewtime.sql',1466802851,NULL),('phabricator:033.privtest.sql',1466802851,NULL),('phabricator:034.savedheader.sql',1466802851,NULL),('phabricator:035.proxyimage.sql',1466802851,NULL),('phabricator:036.mailkey.sql',1466802851,NULL),('phabricator:037.setuptest.sql',1466802851,NULL),('phabricator:038.admin.sql',1466802851,NULL),('phabricator:039.userlog.sql',1466802851,NULL),('phabricator:040.transform.sql',1466802851,NULL),('phabricator:041.heraldrepetition.sql',1466802851,NULL),('phabricator:042.commentmetadata.sql',1466802852,NULL),('phabricator:043.pastebin.sql',1466802852,NULL),('phabricator:044.countdown.sql',1466802852,NULL),('phabricator:045.timezone.sql',1466802852,NULL),('phabricator:046.conduittoken.sql',1466802852,NULL),('phabricator:047.projectstatus.sql',1466802852,NULL),('phabricator:048.relationshipkeys.sql',1466802852,NULL),('phabricator:049.projectowner.sql',1466802852,NULL),('phabricator:050.taskdenormal.sql',1466802852,NULL),('phabricator:051.projectfilter.sql',1466802852,NULL),('phabricator:052.pastelanguage.sql',1466802852,NULL),('phabricator:053.feed.sql',1466802852,NULL),('phabricator:054.subscribers.sql',1466802852,NULL),('phabricator:055.add_author_to_files.sql',1466802852,NULL),('phabricator:056.slowvote.sql',1466802852,NULL),('phabricator:057.parsecache.sql',1466802852,NULL),('phabricator:058.missingkeys.sql',1466802852,NULL),('phabricator:059.engines.php',1466802852,NULL),('phabricator:060.phriction.sql',1466802852,NULL),('phabricator:061.phrictioncontent.sql',1466802852,NULL),('phabricator:062.phrictionmenu.sql',1466802852,NULL),('phabricator:063.pasteforks.sql',1466802852,NULL),('phabricator:064.subprojects.sql',1466802852,NULL),('phabricator:065.sshkeys.sql',1466802852,NULL),('phabricator:066.phrictioncontent.sql',1466802852,NULL),('phabricator:067.preferences.sql',1466802852,NULL),('phabricator:068.maniphestauxiliarystorage.sql',1466802852,NULL),('phabricator:069.heraldxscript.sql',1466802852,NULL),('phabricator:070.differentialaux.sql',1466802852,NULL),('phabricator:071.contentsource.sql',1466802852,NULL),('phabricator:072.blamerevert.sql',1466802852,NULL),('phabricator:073.reposymbols.sql',1466802852,NULL),('phabricator:074.affectedpath.sql',1466802852,NULL),('phabricator:075.revisionhash.sql',1466802852,NULL),('phabricator:076.indexedlanguages.sql',1466802852,NULL),('phabricator:077.originalemail.sql',1466802852,NULL),('phabricator:078.nametoken.sql',1466802852,NULL),('phabricator:079.nametokenindex.php',1466802852,NULL),('phabricator:080.filekeys.sql',1466802852,NULL),('phabricator:081.filekeys.php',1466802852,NULL),('phabricator:082.xactionkey.sql',1466802852,NULL),('phabricator:083.dxviewtime.sql',1466802852,NULL),('phabricator:084.pasteauthorkey.sql',1466802852,NULL),('phabricator:085.packagecommitrelationship.sql',1466802852,NULL),('phabricator:086.formeraffil.sql',1466802852,NULL),('phabricator:087.phrictiondelete.sql',1466802853,NULL),('phabricator:088.audit.sql',1466802853,NULL),('phabricator:089.projectwiki.sql',1466802853,NULL),('phabricator:090.forceuniqueprojectnames.php',1466802853,NULL),('phabricator:091.uniqueslugkey.sql',1466802853,NULL),('phabricator:092.dropgithubnotification.sql',1466802853,NULL),('phabricator:093.gitremotes.php',1466802853,NULL),('phabricator:094.phrictioncolumn.sql',1466802853,NULL),('phabricator:095.directory.sql',1466802853,NULL),('phabricator:096.filename.sql',1466802853,NULL),('phabricator:097.heraldruletypes.sql',1466802853,NULL),('phabricator:098.heraldruletypemigration.php',1466802853,NULL),('phabricator:099.drydock.sql',1466802853,NULL),('phabricator:100.projectxaction.sql',1466802853,NULL),('phabricator:101.heraldruleapplied.sql',1466802853,NULL),('phabricator:102.heraldcleanup.php',1466802853,NULL),('phabricator:103.heraldedithistory.sql',1466802853,NULL),('phabricator:104.searchkey.sql',1466802853,NULL),('phabricator:105.mimetype.sql',1466802853,NULL),('phabricator:106.chatlog.sql',1466802853,NULL),('phabricator:107.oauthserver.sql',1466802853,NULL),('phabricator:108.oauthscope.sql',1466802853,NULL),('phabricator:109.oauthclientphidkey.sql',1466802853,NULL),('phabricator:110.commitaudit.sql',1466802853,NULL),('phabricator:111.commitauditmigration.php',1466802853,NULL),('phabricator:112.oauthaccesscoderedirecturi.sql',1466802853,NULL),('phabricator:113.lastreviewer.sql',1466802853,NULL),('phabricator:114.auditrequest.sql',1466802853,NULL),('phabricator:115.prepareutf8.sql',1466802853,NULL),('phabricator:116.utf8-backup-first-expect-wait.sql',1466802855,NULL),('phabricator:117.repositorydescription.php',1466802855,NULL),('phabricator:118.auditinline.sql',1466802855,NULL),('phabricator:119.filehash.sql',1466802855,NULL),('phabricator:120.noop.sql',1466802855,NULL),('phabricator:121.drydocklog.sql',1466802855,NULL),('phabricator:122.flag.sql',1466802855,NULL),('phabricator:123.heraldrulelog.sql',1466802855,NULL),('phabricator:124.subpriority.sql',1466802855,NULL),('phabricator:125.ipv6.sql',1466802855,NULL),('phabricator:126.edges.sql',1466802855,NULL),('phabricator:127.userkeybody.sql',1466802855,NULL),('phabricator:128.phabricatorcom.sql',1466802855,NULL),('phabricator:129.savedquery.sql',1466802855,NULL),('phabricator:130.denormalrevisionquery.sql',1466802855,NULL),('phabricator:131.migraterevisionquery.php',1466802855,NULL),('phabricator:132.phame.sql',1466802855,NULL),('phabricator:133.imagemacro.sql',1466802855,NULL),('phabricator:134.emptysearch.sql',1466802855,NULL),('phabricator:135.datecommitted.sql',1466802855,NULL),('phabricator:136.sex.sql',1466802855,NULL),('phabricator:137.auditmetadata.sql',1466802855,NULL),('phabricator:138.notification.sql',1466802855,NULL),('phabricator:20121209.pholioxactions.sql',1466802856,NULL),('phabricator:20121209.xmacroadd.sql',1466802856,NULL),('phabricator:20121209.xmacromigrate.php',1466802856,NULL),('phabricator:20121209.xmacromigratekey.sql',1466802856,NULL),('phabricator:20121220.generalcache.sql',1466802856,NULL),('phabricator:20121226.config.sql',1466802856,NULL),('phabricator:20130101.confxaction.sql',1466802856,NULL),('phabricator:20130102.metamtareceivedmailmessageidhash.sql',1466802856,NULL),('phabricator:20130103.filemetadata.sql',1466802856,NULL),('phabricator:20130111.conpherence.sql',1466802856,NULL),('phabricator:20130127.altheraldtranscript.sql',1466802856,NULL),('phabricator:20130131.conpherencepics.sql',1466802857,NULL),('phabricator:20130201.revisionunsubscribed.php',1466802856,NULL),('phabricator:20130201.revisionunsubscribed.sql',1466802857,NULL),('phabricator:20130214.chatlogchannel.sql',1466802857,NULL),('phabricator:20130214.chatlogchannelid.sql',1466802857,NULL),('phabricator:20130214.token.sql',1466802857,NULL),('phabricator:20130215.phabricatorfileaddttl.sql',1466802857,NULL),('phabricator:20130217.cachettl.sql',1466802857,NULL),('phabricator:20130218.longdaemon.sql',1466802857,NULL),('phabricator:20130218.updatechannelid.php',1466802857,NULL),('phabricator:20130219.commitsummary.sql',1466802857,NULL),('phabricator:20130219.commitsummarymig.php',1466802857,NULL),('phabricator:20130222.dropchannel.sql',1466802857,NULL),('phabricator:20130226.commitkey.sql',1466802857,NULL),('phabricator:20130304.lintauthor.sql',1466802857,NULL),('phabricator:20130310.xactionmeta.sql',1466802857,NULL),('phabricator:20130317.phrictionedge.sql',1466802857,NULL),('phabricator:20130319.conpherence.sql',1466802857,NULL),('phabricator:20130319.phabricatorfileexplicitupload.sql',1466802857,NULL),('phabricator:20130320.phlux.sql',1466802857,NULL),('phabricator:20130321.token.sql',1466802857,NULL),('phabricator:20130322.phortune.sql',1466802857,NULL),('phabricator:20130323.phortunepayment.sql',1466802857,NULL),('phabricator:20130324.phortuneproduct.sql',1466802857,NULL),('phabricator:20130330.phrequent.sql',1466802857,NULL),('phabricator:20130403.conpherencecache.sql',1466802857,NULL),('phabricator:20130403.conpherencecachemig.php',1466802857,NULL),('phabricator:20130409.commitdrev.php',1466802857,NULL),('phabricator:20130417.externalaccount.sql',1466802857,NULL),('phabricator:20130423.conpherenceindices.sql',1466802857,NULL),('phabricator:20130423.phortunepaymentrevised.sql',1466802857,NULL),('phabricator:20130423.updateexternalaccount.sql',1466802857,NULL),('phabricator:20130426.search_savedquery.sql',1466802857,NULL),('phabricator:20130502.countdownrevamp1.sql',1466802857,NULL),('phabricator:20130502.countdownrevamp2.php',1466802857,NULL),('phabricator:20130502.countdownrevamp3.sql',1466802857,NULL),('phabricator:20130507.releephrqmailkey.sql',1466802857,NULL),('phabricator:20130507.releephrqmailkeypop.php',1466802857,NULL),('phabricator:20130507.releephrqsimplifycols.sql',1466802857,NULL),('phabricator:20130508.releephtransactions.sql',1466802857,NULL),('phabricator:20130508.releephtransactionsmig.php',1466802857,NULL),('phabricator:20130508.search_namedquery.sql',1466802857,NULL),('phabricator:20130513.receviedmailstatus.sql',1466802857,NULL),('phabricator:20130519.diviner.sql',1466802857,NULL),('phabricator:20130521.dropconphimages.sql',1466802857,NULL),('phabricator:20130523.maniphest_owners.sql',1466802857,NULL),('phabricator:20130524.repoxactions.sql',1466802857,NULL),('phabricator:20130529.macroauthor.sql',1466802857,NULL),('phabricator:20130529.macroauthormig.php',1466802857,NULL),('phabricator:20130530.macrodatekey.sql',1466802857,NULL),('phabricator:20130530.pastekeys.sql',1466802857,NULL),('phabricator:20130530.sessionhash.php',1466802857,NULL),('phabricator:20130531.filekeys.sql',1466802857,NULL),('phabricator:20130602.morediviner.sql',1466802858,NULL),('phabricator:20130602.namedqueries.sql',1466802858,NULL),('phabricator:20130606.userxactions.sql',1466802858,NULL),('phabricator:20130607.xaccount.sql',1466802858,NULL),('phabricator:20130611.migrateoauth.php',1466802858,NULL),('phabricator:20130611.nukeldap.php',1466802858,NULL),('phabricator:20130613.authdb.sql',1466802858,NULL),('phabricator:20130619.authconf.php',1466802858,NULL),('phabricator:20130620.diffxactions.sql',1466802858,NULL),('phabricator:20130621.diffcommentphid.sql',1466802858,NULL),('phabricator:20130621.diffcommentphidmig.php',1466802858,NULL),('phabricator:20130621.diffcommentunphid.sql',1466802858,NULL),('phabricator:20130622.doorkeeper.sql',1466802858,NULL),('phabricator:20130628.legalpadv0.sql',1466802858,NULL),('phabricator:20130701.conduitlog.sql',1466802858,NULL),('phabricator:20130703.legalpaddocdenorm.php',1466802858,NULL),('phabricator:20130703.legalpaddocdenorm.sql',1466802858,NULL),('phabricator:20130709.droptimeline.sql',1466802858,NULL),('phabricator:20130709.legalpadsignature.sql',1466802858,NULL),('phabricator:20130711.pholioimageobsolete.php',1466802858,NULL),('phabricator:20130711.pholioimageobsolete.sql',1466802858,NULL),('phabricator:20130711.pholioimageobsolete2.sql',1466802858,NULL),('phabricator:20130711.trimrealnames.php',1466802858,NULL),('phabricator:20130714.votexactions.sql',1466802858,NULL),('phabricator:20130715.votecomments.php',1466802858,NULL),('phabricator:20130715.voteedges.sql',1466802858,NULL),('phabricator:20130716.archivememberlessprojects.php',1466802858,NULL),('phabricator:20130722.pholioreplace.sql',1466802858,NULL),('phabricator:20130723.taskstarttime.sql',1466802858,NULL),('phabricator:20130726.ponderxactions.sql',1466802858,NULL),('phabricator:20130727.ponderquestionstatus.sql',1466802858,NULL),('phabricator:20130728.ponderunique.php',1466802858,NULL),('phabricator:20130728.ponderuniquekey.sql',1466802858,NULL),('phabricator:20130728.ponderxcomment.php',1466802858,NULL),('phabricator:20130731.releephcutpointidentifier.sql',1466802858,NULL),('phabricator:20130731.releephproject.sql',1466802858,NULL),('phabricator:20130731.releephrepoid.sql',1466802858,NULL),('phabricator:20130801.pastexactions.php',1466802858,NULL),('phabricator:20130801.pastexactions.sql',1466802858,NULL),('phabricator:20130802.heraldphid.sql',1466802858,NULL),('phabricator:20130802.heraldphids.php',1466802858,NULL),('phabricator:20130802.heraldphidukey.sql',1466802858,NULL),('phabricator:20130802.heraldxactions.sql',1466802858,NULL),('phabricator:20130805.pasteedges.sql',1466802858,NULL),('phabricator:20130805.pastemailkey.sql',1466802858,NULL),('phabricator:20130805.pastemailkeypop.php',1466802858,NULL),('phabricator:20130814.usercustom.sql',1466802858,NULL),('phabricator:20130820.file-mailkey-populate.php',1466802859,NULL),('phabricator:20130820.filemailkey.sql',1466802859,NULL),('phabricator:20130820.filexactions.sql',1466802859,NULL),('phabricator:20130820.releephxactions.sql',1466802858,NULL),('phabricator:20130826.divinernode.sql',1466802859,NULL),('phabricator:20130912.maniphest.1.touch.sql',1466802859,NULL),('phabricator:20130912.maniphest.2.created.sql',1466802859,NULL),('phabricator:20130912.maniphest.3.nameindex.sql',1466802859,NULL),('phabricator:20130912.maniphest.4.fillindex.php',1466802859,NULL),('phabricator:20130913.maniphest.1.migratesearch.php',1466802859,NULL),('phabricator:20130914.usercustom.sql',1466802859,NULL),('phabricator:20130915.maniphestcustom.sql',1466802859,NULL),('phabricator:20130915.maniphestmigrate.php',1466802859,NULL),('phabricator:20130915.maniphestqdrop.sql',1466802859,NULL),('phabricator:20130919.mfieldconf.php',1466802859,NULL),('phabricator:20130920.repokeyspolicy.sql',1466802859,NULL),('phabricator:20130921.mtransactions.sql',1466802859,NULL),('phabricator:20130921.xmigratemaniphest.php',1466802859,NULL),('phabricator:20130923.mrename.sql',1466802859,NULL),('phabricator:20130924.mdraftkey.sql',1466802859,NULL),('phabricator:20130925.mpolicy.sql',1466802859,NULL),('phabricator:20130925.xpolicy.sql',1466802859,NULL),('phabricator:20130926.dcustom.sql',1466802859,NULL),('phabricator:20130926.dinkeys.sql',1466802859,NULL),('phabricator:20130926.dinline.php',1466802859,NULL),('phabricator:20130927.audiomacro.sql',1466802859,NULL),('phabricator:20130929.filepolicy.sql',1466802859,NULL),('phabricator:20131004.dxedgekey.sql',1466802859,NULL),('phabricator:20131004.dxreviewers.php',1466802859,NULL),('phabricator:20131006.hdisable.sql',1466802859,NULL),('phabricator:20131010.pstorage.sql',1466802859,NULL),('phabricator:20131015.cpolicy.sql',1466802859,NULL),('phabricator:20131020.col1.sql',1466802859,NULL),('phabricator:20131020.harbormaster.sql',1466802859,NULL),('phabricator:20131020.pcustom.sql',1466802859,NULL),('phabricator:20131020.pxaction.sql',1466802859,NULL),('phabricator:20131020.pxactionmig.php',1466802859,NULL),('phabricator:20131025.repopush.sql',1466802859,NULL),('phabricator:20131026.commitstatus.sql',1466802859,NULL),('phabricator:20131030.repostatusmessage.sql',1466802859,NULL),('phabricator:20131031.vcspassword.sql',1466802859,NULL),('phabricator:20131105.buildstep.sql',1466802859,NULL),('phabricator:20131106.diffphid.1.col.sql',1466802859,NULL),('phabricator:20131106.diffphid.2.mig.php',1466802859,NULL),('phabricator:20131106.diffphid.3.key.sql',1466802859,NULL),('phabricator:20131106.nuance-v0.sql',1466802859,NULL),('phabricator:20131107.buildlog.sql',1466802859,NULL),('phabricator:20131112.userverified.1.col.sql',1466802859,NULL),('phabricator:20131112.userverified.2.mig.php',1466802859,NULL),('phabricator:20131118.ownerorder.php',1466802859,NULL),('phabricator:20131119.passphrase.sql',1466802859,NULL),('phabricator:20131120.nuancesourcetype.sql',1466802860,NULL),('phabricator:20131121.passphraseedge.sql',1466802860,NULL),('phabricator:20131121.repocredentials.1.col.sql',1466802860,NULL),('phabricator:20131121.repocredentials.2.mig.php',1466802860,NULL),('phabricator:20131122.repomirror.sql',1466802860,NULL),('phabricator:20131123.drydockblueprintpolicy.sql',1466802860,NULL),('phabricator:20131129.drydockresourceblueprint.sql',1466802860,NULL),('phabricator:20131204.pushlog.sql',1466802860,NULL),('phabricator:20131205.buildsteporder.sql',1466802860,NULL),('phabricator:20131205.buildstepordermig.php',1466802860,NULL),('phabricator:20131205.buildtargets.sql',1466802860,NULL),('phabricator:20131206.phragment.sql',1466802860,NULL),('phabricator:20131206.phragmentnull.sql',1466802860,NULL),('phabricator:20131208.phragmentsnapshot.sql',1466802860,NULL),('phabricator:20131211.phragmentedges.sql',1466802860,NULL),('phabricator:20131217.pushlogphid.1.col.sql',1466802860,NULL),('phabricator:20131217.pushlogphid.2.mig.php',1466802860,NULL),('phabricator:20131217.pushlogphid.3.key.sql',1466802860,NULL),('phabricator:20131219.pxdrop.sql',1466802860,NULL),('phabricator:20131224.harbormanual.sql',1466802860,NULL),('phabricator:20131227.heraldobject.sql',1466802860,NULL),('phabricator:20131231.dropshortcut.sql',1466802860,NULL),('phabricator:20131302.maniphestvalue.sql',1466802857,NULL),('phabricator:20140104.harbormastercmd.sql',1466802860,NULL),('phabricator:20140106.macromailkey.1.sql',1466802860,NULL),('phabricator:20140106.macromailkey.2.php',1466802860,NULL),('phabricator:20140108.ddbpname.1.sql',1466802860,NULL),('phabricator:20140108.ddbpname.2.php',1466802860,NULL),('phabricator:20140109.ddxactions.sql',1466802860,NULL),('phabricator:20140109.projectcolumnsdates.sql',1466802860,NULL),('phabricator:20140113.legalpadsig.1.sql',1466802860,NULL),('phabricator:20140113.legalpadsig.2.php',1466802860,NULL),('phabricator:20140115.auth.1.id.sql',1466802860,NULL),('phabricator:20140115.auth.2.expires.sql',1466802860,NULL),('phabricator:20140115.auth.3.unlimit.php',1466802860,NULL),('phabricator:20140115.legalpadsigkey.sql',1466802860,NULL),('phabricator:20140116.reporefcursor.sql',1466802860,NULL),('phabricator:20140126.diff.1.parentrevisionid.sql',1466802860,NULL),('phabricator:20140126.diff.2.repositoryphid.sql',1466802860,NULL),('phabricator:20140130.dash.1.board.sql',1466802860,NULL),('phabricator:20140130.dash.2.panel.sql',1466802860,NULL),('phabricator:20140130.dash.3.boardxaction.sql',1466802860,NULL),('phabricator:20140130.dash.4.panelxaction.sql',1466802860,NULL),('phabricator:20140130.mail.1.retry.sql',1466802860,NULL),('phabricator:20140130.mail.2.next.sql',1466802860,NULL),('phabricator:20140201.gc.1.mailsent.sql',1466802860,NULL),('phabricator:20140201.gc.2.mailreceived.sql',1466802860,NULL),('phabricator:20140205.cal.1.rename.sql',1466802860,NULL),('phabricator:20140205.cal.2.phid-col.sql',1466802860,NULL),('phabricator:20140205.cal.3.phid-mig.php',1466802860,NULL),('phabricator:20140205.cal.4.phid-key.sql',1466802860,NULL),('phabricator:20140210.herald.rule-condition-mig.php',1466802860,NULL),('phabricator:20140210.projcfield.1.blurb.php',1466802860,NULL),('phabricator:20140210.projcfield.2.piccol.sql',1466802860,NULL),('phabricator:20140210.projcfield.3.picmig.sql',1466802860,NULL),('phabricator:20140210.projcfield.4.memmig.sql',1466802860,NULL),('phabricator:20140210.projcfield.5.dropprofile.sql',1466802860,NULL),('phabricator:20140211.dx.1.nullablechangesetid.sql',1466802860,NULL),('phabricator:20140211.dx.2.migcommenttext.php',1466802860,NULL),('phabricator:20140211.dx.3.migsubscriptions.sql',1466802860,NULL),('phabricator:20140211.dx.999.drop.relationships.sql',1466802860,NULL),('phabricator:20140212.dx.1.armageddon.php',1466802860,NULL),('phabricator:20140214.clean.1.legacycommentid.sql',1466802860,NULL),('phabricator:20140214.clean.2.dropcomment.sql',1466802860,NULL),('phabricator:20140214.clean.3.dropinline.sql',1466802860,NULL),('phabricator:20140218.differentialdraft.sql',1466802860,NULL),('phabricator:20140218.passwords.1.extend.sql',1466802860,NULL),('phabricator:20140218.passwords.2.prefix.sql',1466802860,NULL),('phabricator:20140218.passwords.3.vcsextend.sql',1466802860,NULL),('phabricator:20140218.passwords.4.vcs.php',1466802860,NULL),('phabricator:20140223.bigutf8scratch.sql',1466802860,NULL),('phabricator:20140224.dxclean.1.datecommitted.sql',1466802860,NULL),('phabricator:20140226.dxcustom.1.fielddata.php',1466802860,NULL),('phabricator:20140226.dxcustom.99.drop.sql',1466802860,NULL),('phabricator:20140228.dxcomment.1.sql',1466802860,NULL),('phabricator:20140305.diviner.1.slugcol.sql',1466802861,NULL),('phabricator:20140305.diviner.2.slugkey.sql',1466802861,NULL),('phabricator:20140311.mdroplegacy.sql',1466802861,NULL),('phabricator:20140314.projectcolumn.1.statuscol.sql',1466802861,NULL),('phabricator:20140314.projectcolumn.2.statuskey.sql',1466802861,NULL),('phabricator:20140317.mupdatedkey.sql',1466802861,NULL),('phabricator:20140321.harbor.1.bxaction.sql',1466802861,NULL),('phabricator:20140321.mstatus.1.col.sql',1466802861,NULL),('phabricator:20140321.mstatus.2.mig.php',1466802861,NULL),('phabricator:20140323.harbor.1.renames.php',1466802861,NULL),('phabricator:20140323.harbor.2.message.sql',1466802861,NULL),('phabricator:20140325.push.1.event.sql',1466802861,NULL),('phabricator:20140325.push.2.eventphid.sql',1466802861,NULL),('phabricator:20140325.push.3.groups.php',1466802861,NULL),('phabricator:20140325.push.4.prune.sql',1466802861,NULL),('phabricator:20140326.project.1.colxaction.sql',1466802861,NULL),('phabricator:20140328.releeph.1.productxaction.sql',1466802861,NULL),('phabricator:20140330.flagtext.sql',1466802861,NULL),('phabricator:20140402.actionlog.sql',1466802861,NULL),('phabricator:20140410.accountsecret.1.sql',1466802861,NULL),('phabricator:20140410.accountsecret.2.php',1466802861,NULL),('phabricator:20140416.harbor.1.sql',1466802861,NULL),('phabricator:20140420.rel.1.objectphid.sql',1466802861,NULL),('phabricator:20140420.rel.2.objectmig.php',1466802861,NULL),('phabricator:20140421.slowvotecolumnsisclosed.sql',1466802861,NULL),('phabricator:20140423.session.1.hisec.sql',1466802861,NULL),('phabricator:20140427.mfactor.1.sql',1466802861,NULL),('phabricator:20140430.auth.1.partial.sql',1466802861,NULL),('phabricator:20140430.dash.1.paneltype.sql',1466802861,NULL),('phabricator:20140430.dash.2.edge.sql',1466802861,NULL),('phabricator:20140501.passphraselockcredential.sql',1466802861,NULL),('phabricator:20140501.remove.1.dlog.sql',1466802861,NULL),('phabricator:20140507.smstable.sql',1466802861,NULL),('phabricator:20140509.coverage.1.sql',1466802861,NULL),('phabricator:20140509.dashboardlayoutconfig.sql',1466802861,NULL),('phabricator:20140512.dparents.1.sql',1466802861,NULL),('phabricator:20140514.harbormasterbuildabletransaction.sql',1466802861,NULL),('phabricator:20140514.pholiomockclose.sql',1466802861,NULL),('phabricator:20140515.trust-emails.sql',1466802861,NULL),('phabricator:20140517.dxbinarycache.sql',1466802861,NULL),('phabricator:20140518.dxmorebinarycache.sql',1466802861,NULL),('phabricator:20140519.dashboardinstall.sql',1466802861,NULL),('phabricator:20140520.authtemptoken.sql',1466802861,NULL),('phabricator:20140521.projectslug.1.create.sql',1466802861,NULL),('phabricator:20140521.projectslug.2.mig.php',1466802861,NULL),('phabricator:20140522.projecticon.sql',1466802861,NULL),('phabricator:20140524.auth.mfa.cache.sql',1466802861,NULL),('phabricator:20140525.hunkmodern.sql',1466802861,NULL),('phabricator:20140615.pholioedit.1.sql',1466802861,NULL),('phabricator:20140615.pholioedit.2.sql',1466802861,NULL),('phabricator:20140617.daemon.explicit-argv.sql',1466802861,NULL),('phabricator:20140617.daemonlog.sql',1466802861,NULL),('phabricator:20140624.projcolor.1.sql',1466802861,NULL),('phabricator:20140624.projcolor.2.sql',1466802861,NULL),('phabricator:20140629.dasharchive.1.sql',1466802861,NULL),('phabricator:20140629.legalsig.1.sql',1466802861,NULL),('phabricator:20140629.legalsig.2.php',1466802861,NULL),('phabricator:20140701.legalexemption.1.sql',1466802861,NULL),('phabricator:20140701.legalexemption.2.sql',1466802861,NULL),('phabricator:20140703.legalcorp.1.sql',1466802861,NULL),('phabricator:20140703.legalcorp.2.sql',1466802861,NULL),('phabricator:20140703.legalcorp.3.sql',1466802861,NULL),('phabricator:20140703.legalcorp.4.sql',1466802861,NULL),('phabricator:20140703.legalcorp.5.sql',1466802861,NULL),('phabricator:20140704.harbormasterstep.1.sql',1466802861,NULL),('phabricator:20140704.harbormasterstep.2.sql',1466802861,NULL),('phabricator:20140704.legalpreamble.1.sql',1466802861,NULL),('phabricator:20140706.harbormasterdepend.1.php',1466802861,NULL),('phabricator:20140706.pedge.1.sql',1466802861,NULL),('phabricator:20140711.pnames.1.sql',1466802861,NULL),('phabricator:20140711.pnames.2.php',1466802861,NULL),('phabricator:20140711.workerpriority.sql',1466802862,NULL),('phabricator:20140712.projcoluniq.sql',1466802862,NULL),('phabricator:20140721.phortune.1.cart.sql',1466802862,NULL),('phabricator:20140721.phortune.2.purchase.sql',1466802862,NULL),('phabricator:20140721.phortune.3.charge.sql',1466802862,NULL),('phabricator:20140721.phortune.4.cartstatus.sql',1466802862,NULL),('phabricator:20140721.phortune.5.cstatusdefault.sql',1466802862,NULL),('phabricator:20140721.phortune.6.onetimecharge.sql',1466802862,NULL),('phabricator:20140721.phortune.7.nullmethod.sql',1466802862,NULL),('phabricator:20140722.appname.php',1466802862,NULL),('phabricator:20140722.audit.1.xactions.sql',1466802862,NULL),('phabricator:20140722.audit.2.comments.sql',1466802862,NULL),('phabricator:20140722.audit.3.miginlines.php',1466802862,NULL),('phabricator:20140722.audit.4.migtext.php',1466802862,NULL),('phabricator:20140722.renameauth.php',1466802862,NULL),('phabricator:20140723.apprenamexaction.sql',1466802862,NULL),('phabricator:20140725.audit.1.migxactions.php',1466802862,NULL),('phabricator:20140731.audit.1.subscribers.php',1466802862,NULL),('phabricator:20140731.cancdn.php',1466802862,NULL),('phabricator:20140731.harbormasterstepdesc.sql',1466802862,NULL),('phabricator:20140805.boardcol.1.sql',1466802862,NULL),('phabricator:20140805.boardcol.2.php',1466802862,NULL),('phabricator:20140807.harbormastertargettime.sql',1466802862,NULL),('phabricator:20140808.boardprop.1.sql',1466802862,NULL),('phabricator:20140808.boardprop.2.sql',1466802862,NULL),('phabricator:20140808.boardprop.3.php',1466802862,NULL),('phabricator:20140811.blob.1.sql',1466802862,NULL),('phabricator:20140811.blob.2.sql',1466802862,NULL),('phabricator:20140812.projkey.1.sql',1466802862,NULL),('phabricator:20140812.projkey.2.sql',1466802862,NULL),('phabricator:20140814.passphrasecredentialconduit.sql',1466802862,NULL),('phabricator:20140815.cancdncase.php',1466802862,NULL),('phabricator:20140818.harbormasterindex.1.sql',1466802862,NULL),('phabricator:20140821.harbormasterbuildgen.1.sql',1466802862,NULL),('phabricator:20140822.daemonenvhash.sql',1466802862,NULL),('phabricator:20140902.almanacdevice.1.sql',1466802862,NULL),('phabricator:20140904.macroattach.php',1466802862,NULL),('phabricator:20140911.fund.1.initiative.sql',1466802862,NULL),('phabricator:20140911.fund.2.xaction.sql',1466802862,NULL),('phabricator:20140911.fund.3.edge.sql',1466802862,NULL),('phabricator:20140911.fund.4.backer.sql',1466802862,NULL),('phabricator:20140911.fund.5.backxaction.sql',1466802862,NULL),('phabricator:20140914.betaproto.php',1466802862,NULL),('phabricator:20140917.project.canlock.sql',1466802862,NULL),('phabricator:20140918.schema.1.dropaudit.sql',1466802862,NULL),('phabricator:20140918.schema.2.dropauditinline.sql',1466802862,NULL),('phabricator:20140918.schema.3.wipecache.sql',1466802862,NULL),('phabricator:20140918.schema.4.cachetype.sql',1466802862,NULL),('phabricator:20140918.schema.5.slowvote.sql',1466802862,NULL),('phabricator:20140919.schema.01.calstatus.sql',1466802862,NULL),('phabricator:20140919.schema.02.calname.sql',1466802862,NULL),('phabricator:20140919.schema.03.dropaux.sql',1466802862,NULL),('phabricator:20140919.schema.04.droptaskproj.sql',1466802862,NULL),('phabricator:20140926.schema.01.droprelev.sql',1466802862,NULL),('phabricator:20140926.schema.02.droprelreqev.sql',1466802862,NULL),('phabricator:20140926.schema.03.dropldapinfo.sql',1466802862,NULL),('phabricator:20140926.schema.04.dropoauthinfo.sql',1466802862,NULL),('phabricator:20140926.schema.05.dropprojaffil.sql',1466802862,NULL),('phabricator:20140926.schema.06.dropsubproject.sql',1466802862,NULL),('phabricator:20140926.schema.07.droppondcom.sql',1466802862,NULL),('phabricator:20140927.schema.01.dropsearchq.sql',1466802862,NULL),('phabricator:20140927.schema.02.pholio1.sql',1466802862,NULL),('phabricator:20140927.schema.03.pholio2.sql',1466802862,NULL),('phabricator:20140927.schema.04.pholio3.sql',1466802862,NULL),('phabricator:20140927.schema.05.phragment1.sql',1466802862,NULL),('phabricator:20140927.schema.06.releeph1.sql',1466802862,NULL),('phabricator:20141001.schema.01.version.sql',1466802862,NULL),('phabricator:20141001.schema.02.taskmail.sql',1466802862,NULL),('phabricator:20141002.schema.01.liskcounter.sql',1466802862,NULL),('phabricator:20141002.schema.02.draftnull.sql',1466802862,NULL),('phabricator:20141004.currency.01.sql',1466802862,NULL),('phabricator:20141004.currency.02.sql',1466802862,NULL),('phabricator:20141004.currency.03.sql',1466802862,NULL),('phabricator:20141004.currency.04.sql',1466802862,NULL),('phabricator:20141004.currency.05.sql',1466802862,NULL),('phabricator:20141004.currency.06.sql',1466802862,NULL),('phabricator:20141004.harborliskcounter.sql',1466802862,NULL),('phabricator:20141005.phortuneproduct.sql',1466802862,NULL),('phabricator:20141006.phortunecart.sql',1466802862,NULL),('phabricator:20141006.phortunemerchant.sql',1466802863,NULL),('phabricator:20141006.phortunemerchantx.sql',1466802863,NULL),('phabricator:20141007.fundmerchant.sql',1466802863,NULL),('phabricator:20141007.fundrisks.sql',1466802863,NULL),('phabricator:20141007.fundtotal.sql',1466802863,NULL),('phabricator:20141007.phortunecartmerchant.sql',1466802863,NULL),('phabricator:20141007.phortunecharge.sql',1466802863,NULL),('phabricator:20141007.phortunepayment.sql',1466802863,NULL),('phabricator:20141007.phortuneprovider.sql',1466802863,NULL),('phabricator:20141007.phortuneproviderx.sql',1466802863,NULL),('phabricator:20141008.phortunemerchdesc.sql',1466802863,NULL),('phabricator:20141008.phortuneprovdis.sql',1466802863,NULL),('phabricator:20141008.phortunerefund.sql',1466802863,NULL),('phabricator:20141010.fundmailkey.sql',1466802863,NULL),('phabricator:20141011.phortunemerchedit.sql',1466802863,NULL),('phabricator:20141012.phortunecartxaction.sql',1466802863,NULL),('phabricator:20141013.phortunecartkey.sql',1466802863,NULL),('phabricator:20141016.almanac.device.sql',1466802863,NULL),('phabricator:20141016.almanac.dxaction.sql',1466802863,NULL),('phabricator:20141016.almanac.interface.sql',1466802863,NULL),('phabricator:20141016.almanac.network.sql',1466802863,NULL),('phabricator:20141016.almanac.nxaction.sql',1466802863,NULL),('phabricator:20141016.almanac.service.sql',1466802863,NULL),('phabricator:20141016.almanac.sxaction.sql',1466802863,NULL),('phabricator:20141017.almanac.binding.sql',1466802863,NULL),('phabricator:20141017.almanac.bxaction.sql',1466802863,NULL),('phabricator:20141025.phriction.1.xaction.sql',1466802863,NULL),('phabricator:20141025.phriction.2.xaction.sql',1466802863,NULL),('phabricator:20141025.phriction.mailkey.sql',1466802863,NULL),('phabricator:20141103.almanac.1.delprop.sql',1466802863,NULL),('phabricator:20141103.almanac.2.addprop.sql',1466802863,NULL),('phabricator:20141104.almanac.3.edge.sql',1466802863,NULL),('phabricator:20141105.ssh.1.rename.sql',1466802863,NULL),('phabricator:20141106.dropold.sql',1466802863,NULL),('phabricator:20141106.uniqdrafts.php',1466802863,NULL),('phabricator:20141107.phriction.policy.1.sql',1466802863,NULL),('phabricator:20141107.phriction.policy.2.php',1466802863,NULL),('phabricator:20141107.phriction.popkeys.php',1466802863,NULL),('phabricator:20141107.ssh.1.colname.sql',1466802863,NULL),('phabricator:20141107.ssh.2.keyhash.sql',1466802863,NULL),('phabricator:20141107.ssh.3.keyindex.sql',1466802863,NULL),('phabricator:20141107.ssh.4.keymig.php',1466802863,NULL),('phabricator:20141107.ssh.5.indexnull.sql',1466802863,NULL),('phabricator:20141107.ssh.6.indexkey.sql',1466802863,NULL),('phabricator:20141107.ssh.7.colnull.sql',1466802863,NULL),('phabricator:20141113.auditdupes.php',1466802863,NULL),('phabricator:20141118.diffxaction.sql',1466802863,NULL),('phabricator:20141119.commitpedge.sql',1466802863,NULL),('phabricator:20141119.differential.diff.policy.sql',1466802863,NULL),('phabricator:20141119.sshtrust.sql',1466802863,NULL),('phabricator:20141123.taskpriority.1.sql',1466802863,NULL),('phabricator:20141123.taskpriority.2.sql',1466802863,NULL),('phabricator:20141210.maniphestsubscribersmig.1.sql',1466802863,NULL),('phabricator:20141210.maniphestsubscribersmig.2.sql',1466802863,NULL),('phabricator:20141210.reposervice.sql',1466802863,NULL),('phabricator:20141212.conduittoken.sql',1466802863,NULL),('phabricator:20141215.almanacservicetype.sql',1466802863,NULL),('phabricator:20141217.almanacdevicelock.sql',1466802864,NULL),('phabricator:20141217.almanaclock.sql',1466802864,NULL),('phabricator:20141218.maniphestcctxn.php',1466802864,NULL),('phabricator:20141222.maniphestprojtxn.php',1466802864,NULL),('phabricator:20141223.daemonloguser.sql',1466802864,NULL),('phabricator:20141223.daemonobjectphid.sql',1466802864,NULL),('phabricator:20141230.pasteeditpolicycolumn.sql',1466802864,NULL),('phabricator:20141230.pasteeditpolicyexisting.sql',1466802864,NULL),('phabricator:20150102.policyname.php',1466802864,NULL),('phabricator:20150102.tasksubscriber.sql',1466802864,NULL),('phabricator:20150105.conpsearch.sql',1466802864,NULL),('phabricator:20150114.oauthserver.client.policy.sql',1466802864,NULL),('phabricator:20150115.applicationemails.sql',1466802864,NULL),('phabricator:20150115.trigger.1.sql',1466802864,NULL),('phabricator:20150115.trigger.2.sql',1466802864,NULL),('phabricator:20150116.maniphestapplicationemails.php',1466802864,NULL),('phabricator:20150120.maniphestdefaultauthor.php',1466802864,NULL),('phabricator:20150124.subs.1.sql',1466802864,NULL),('phabricator:20150129.pastefileapplicationemails.php',1466802864,NULL),('phabricator:20150130.phortune.1.subphid.sql',1466802864,NULL),('phabricator:20150130.phortune.2.subkey.sql',1466802864,NULL),('phabricator:20150131.phortune.1.defaultpayment.sql',1466802864,NULL),('phabricator:20150205.authprovider.autologin.sql',1466802864,NULL),('phabricator:20150205.daemonenv.sql',1466802864,NULL),('phabricator:20150209.invite.sql',1466802864,NULL),('phabricator:20150209.oauthclient.trust.sql',1466802864,NULL),('phabricator:20150210.invitephid.sql',1466802864,NULL),('phabricator:20150212.legalpad.session.1.sql',1466802864,NULL),('phabricator:20150212.legalpad.session.2.sql',1466802864,NULL),('phabricator:20150219.scratch.nonmutable.sql',1466802864,NULL),('phabricator:20150223.daemon.1.id.sql',1466802864,NULL),('phabricator:20150223.daemon.2.idlegacy.sql',1466802864,NULL),('phabricator:20150223.daemon.3.idkey.sql',1466802864,NULL),('phabricator:20150312.filechunk.1.sql',1466802864,NULL),('phabricator:20150312.filechunk.2.sql',1466802864,NULL),('phabricator:20150312.filechunk.3.sql',1466802864,NULL),('phabricator:20150317.conpherence.isroom.1.sql',1466802864,NULL),('phabricator:20150317.conpherence.isroom.2.sql',1466802864,NULL),('phabricator:20150317.conpherence.policy.sql',1466802864,NULL),('phabricator:20150410.nukeruleedit.sql',1466802864,NULL),('phabricator:20150420.invoice.1.sql',1466802864,NULL),('phabricator:20150420.invoice.2.sql',1466802864,NULL),('phabricator:20150425.isclosed.sql',1466802864,NULL),('phabricator:20150427.calendar.1.edge.sql',1466802864,NULL),('phabricator:20150427.calendar.1.xaction.sql',1466802864,NULL),('phabricator:20150427.calendar.2.xaction.sql',1466802864,NULL),('phabricator:20150428.calendar.1.iscancelled.sql',1466802864,NULL),('phabricator:20150428.calendar.1.name.sql',1466802864,NULL),('phabricator:20150429.calendar.1.invitee.sql',1466802864,NULL),('phabricator:20150430.calendar.1.policies.sql',1466802864,NULL),('phabricator:20150430.multimeter.1.sql',1466802864,NULL),('phabricator:20150430.multimeter.2.host.sql',1466802864,NULL),('phabricator:20150430.multimeter.3.viewer.sql',1466802864,NULL),('phabricator:20150430.multimeter.4.context.sql',1466802864,NULL),('phabricator:20150430.multimeter.5.label.sql',1466802864,NULL),('phabricator:20150501.calendar.1.reply.sql',1466802864,NULL),('phabricator:20150501.calendar.2.reply.php',1466802864,NULL),('phabricator:20150501.conpherencepics.sql',1466802865,NULL),('phabricator:20150503.repositorysymbols.1.sql',1466802865,NULL),('phabricator:20150503.repositorysymbols.2.php',1466802865,NULL),('phabricator:20150503.repositorysymbols.3.sql',1466802865,NULL),('phabricator:20150504.symbolsproject.1.php',1466802865,NULL),('phabricator:20150504.symbolsproject.2.sql',1466802865,NULL),('phabricator:20150506.calendarunnamedevents.1.php',1466802865,NULL),('phabricator:20150507.calendar.1.isallday.sql',1466802865,NULL),('phabricator:20150513.user.cache.1.sql',1466802865,NULL),('phabricator:20150514.calendar.status.sql',1466802865,NULL),('phabricator:20150514.phame.blog.xaction.sql',1466802865,NULL),('phabricator:20150514.user.cache.2.sql',1466802865,NULL),('phabricator:20150515.phame.post.xaction.sql',1466802865,NULL),('phabricator:20150515.project.mailkey.1.sql',1466802865,NULL),('phabricator:20150515.project.mailkey.2.php',1466802865,NULL),('phabricator:20150519.calendar.calendaricon.sql',1466802865,NULL),('phabricator:20150521.releephrepository.sql',1466802865,NULL),('phabricator:20150525.diff.hidden.1.sql',1466802865,NULL),('phabricator:20150526.owners.mailkey.1.sql',1466802865,NULL),('phabricator:20150526.owners.mailkey.2.php',1466802865,NULL),('phabricator:20150526.owners.xaction.sql',1466802865,NULL),('phabricator:20150527.calendar.recurringevents.sql',1466802865,NULL),('phabricator:20150601.spaces.1.namespace.sql',1466802865,NULL),('phabricator:20150601.spaces.2.xaction.sql',1466802865,NULL),('phabricator:20150602.mlist.1.sql',1466802865,NULL),('phabricator:20150602.mlist.2.php',1466802865,NULL),('phabricator:20150604.spaces.1.sql',1466802865,NULL),('phabricator:20150605.diviner.edges.sql',1466802865,NULL),('phabricator:20150605.diviner.editPolicy.sql',1466802865,NULL),('phabricator:20150605.diviner.xaction.sql',1466802865,NULL),('phabricator:20150606.mlist.1.php',1466802865,NULL),('phabricator:20150609.inline.sql',1466802865,NULL),('phabricator:20150609.spaces.1.pholio.sql',1466802865,NULL),('phabricator:20150609.spaces.2.maniphest.sql',1466802865,NULL),('phabricator:20150610.spaces.1.desc.sql',1466802865,NULL),('phabricator:20150610.spaces.2.edge.sql',1466802865,NULL),('phabricator:20150610.spaces.3.archive.sql',1466802865,NULL),('phabricator:20150611.spaces.1.mailxaction.sql',1466802865,NULL),('phabricator:20150611.spaces.2.appmail.sql',1466802865,NULL),('phabricator:20150616.divinerrepository.sql',1466802865,NULL),('phabricator:20150617.harbor.1.lint.sql',1466802865,NULL),('phabricator:20150617.harbor.2.unit.sql',1466802865,NULL),('phabricator:20150618.harbor.1.planauto.sql',1466802866,NULL),('phabricator:20150618.harbor.2.stepauto.sql',1466802866,NULL),('phabricator:20150618.harbor.3.buildauto.sql',1466802866,NULL),('phabricator:20150619.conpherencerooms.1.sql',1466802866,NULL),('phabricator:20150619.conpherencerooms.2.sql',1466802866,NULL),('phabricator:20150619.conpherencerooms.3.sql',1466802866,NULL),('phabricator:20150621.phrase.1.sql',1466802866,NULL),('phabricator:20150621.phrase.2.sql',1466802866,NULL),('phabricator:20150622.bulk.1.job.sql',1466802866,NULL),('phabricator:20150622.bulk.2.task.sql',1466802866,NULL),('phabricator:20150622.bulk.3.xaction.sql',1466802866,NULL),('phabricator:20150622.bulk.4.edge.sql',1466802866,NULL),('phabricator:20150622.metamta.1.phid-col.sql',1466802866,NULL),('phabricator:20150622.metamta.2.phid-mig.php',1466802866,NULL),('phabricator:20150622.metamta.3.phid-key.sql',1466802866,NULL),('phabricator:20150622.metamta.4.actor-phid-col.sql',1466802866,NULL),('phabricator:20150622.metamta.5.actor-phid-mig.php',1466802866,NULL),('phabricator:20150622.metamta.6.actor-phid-key.sql',1466802866,NULL),('phabricator:20150624.spaces.1.repo.sql',1466802866,NULL),('phabricator:20150626.spaces.1.calendar.sql',1466802866,NULL),('phabricator:20150630.herald.1.sql',1466802866,NULL),('phabricator:20150630.herald.2.sql',1466802866,NULL),('phabricator:20150701.herald.1.sql',1466802866,NULL),('phabricator:20150701.herald.2.sql',1466802866,NULL),('phabricator:20150702.spaces.1.slowvote.sql',1466802866,NULL),('phabricator:20150706.herald.1.sql',1466802866,NULL),('phabricator:20150707.herald.1.sql',1466802866,NULL),('phabricator:20150708.arcanistproject.sql',1466802866,NULL),('phabricator:20150708.herald.1.sql',1466802866,NULL),('phabricator:20150708.herald.2.sql',1466802866,NULL),('phabricator:20150708.herald.3.sql',1466802866,NULL),('phabricator:20150712.badges.1.sql',1466802866,NULL),('phabricator:20150714.spaces.countdown.1.sql',1466802866,NULL),('phabricator:20150717.herald.1.sql',1466802866,NULL),('phabricator:20150719.countdown.1.sql',1466802866,NULL),('phabricator:20150719.countdown.2.sql',1466802866,NULL),('phabricator:20150719.countdown.3.sql',1466802866,NULL),('phabricator:20150721.phurl.1.url.sql',1466802866,NULL),('phabricator:20150721.phurl.2.xaction.sql',1466802866,NULL),('phabricator:20150721.phurl.3.xactioncomment.sql',1466802866,NULL),('phabricator:20150721.phurl.4.url.sql',1466802866,NULL),('phabricator:20150721.phurl.5.edge.sql',1466802866,NULL),('phabricator:20150721.phurl.6.alias.sql',1466802866,NULL),('phabricator:20150721.phurl.7.authorphid.sql',1466802866,NULL),('phabricator:20150722.dashboard.1.sql',1466802866,NULL),('phabricator:20150722.dashboard.2.sql',1466802866,NULL),('phabricator:20150723.countdown.1.sql',1466802866,NULL),('phabricator:20150724.badges.comments.1.sql',1466802866,NULL),('phabricator:20150724.countdown.comments.1.sql',1466802866,NULL),('phabricator:20150725.badges.mailkey.1.sql',1466802866,NULL),('phabricator:20150725.badges.mailkey.2.php',1466802866,NULL),('phabricator:20150725.badges.viewpolicy.3.sql',1466802866,NULL),('phabricator:20150725.countdown.mailkey.1.sql',1466802866,NULL),('phabricator:20150725.countdown.mailkey.2.php',1466802866,NULL),('phabricator:20150725.slowvote.mailkey.1.sql',1466802866,NULL),('phabricator:20150725.slowvote.mailkey.2.php',1466802866,NULL),('phabricator:20150727.heraldaction.1.sql',1466802866,NULL),('phabricator:20150730.herald.1.sql',1466802866,NULL),('phabricator:20150730.herald.2.sql',1466802866,NULL),('phabricator:20150730.herald.3.sql',1466802866,NULL),('phabricator:20150730.herald.4.sql',1466802866,NULL),('phabricator:20150730.herald.5.sql',1466802866,NULL),('phabricator:20150730.herald.6.sql',1466802866,NULL),('phabricator:20150730.herald.7.sql',1466802866,NULL),('phabricator:20150803.herald.1.sql',1466802866,NULL),('phabricator:20150803.herald.2.sql',1466802866,NULL),('phabricator:20150804.ponder.answer.mailkey.1.sql',1466802866,NULL),('phabricator:20150804.ponder.answer.mailkey.2.php',1466802866,NULL),('phabricator:20150804.ponder.question.1.sql',1466802867,NULL),('phabricator:20150804.ponder.question.2.sql',1466802867,NULL),('phabricator:20150804.ponder.question.3.sql',1466802867,NULL),('phabricator:20150804.ponder.spaces.4.sql',1466802867,NULL),('phabricator:20150805.paste.status.1.sql',1466802867,NULL),('phabricator:20150805.paste.status.2.sql',1466802867,NULL),('phabricator:20150806.ponder.answer.1.sql',1466802867,NULL),('phabricator:20150806.ponder.editpolicy.2.sql',1466802867,NULL),('phabricator:20150806.ponder.status.1.sql',1466802867,NULL),('phabricator:20150806.ponder.status.2.sql',1466802867,NULL),('phabricator:20150806.ponder.status.3.sql',1466802867,NULL),('phabricator:20150808.ponder.vote.1.sql',1466802867,NULL),('phabricator:20150808.ponder.vote.2.sql',1466802867,NULL),('phabricator:20150812.ponder.answer.1.sql',1466802867,NULL),('phabricator:20150812.ponder.answer.2.sql',1466802867,NULL),('phabricator:20150814.harbormater.artifact.phid.sql',1466802867,NULL),('phabricator:20150815.owners.status.1.sql',1466802867,NULL),('phabricator:20150815.owners.status.2.sql',1466802867,NULL),('phabricator:20150823.nuance.queue.1.sql',1466802867,NULL),('phabricator:20150823.nuance.queue.2.sql',1466802867,NULL),('phabricator:20150823.nuance.queue.3.sql',1466802867,NULL),('phabricator:20150823.nuance.queue.4.sql',1466802867,NULL),('phabricator:20150828.ponder.wiki.1.sql',1466802867,NULL),('phabricator:20150829.ponder.dupe.1.sql',1466802867,NULL),('phabricator:20150904.herald.1.sql',1466802867,NULL),('phabricator:20150906.mailinglist.sql',1466802867,NULL),('phabricator:20150910.owners.custom.1.sql',1466802867,NULL),('phabricator:20150916.drydock.slotlocks.1.sql',1466802867,NULL),('phabricator:20150922.drydock.commands.1.sql',1466802867,NULL),('phabricator:20150923.drydock.resourceid.1.sql',1466802867,NULL),('phabricator:20150923.drydock.resourceid.2.sql',1466802867,NULL),('phabricator:20150923.drydock.resourceid.3.sql',1466802867,NULL),('phabricator:20150923.drydock.taskid.1.sql',1466802867,NULL),('phabricator:20150924.drydock.disable.1.sql',1466802867,NULL),('phabricator:20150924.drydock.status.1.sql',1466802867,NULL),('phabricator:20150928.drydock.rexpire.1.sql',1466802867,NULL),('phabricator:20150930.drydock.log.1.sql',1466802867,NULL),('phabricator:20151001.drydock.rname.1.sql',1466802867,NULL),('phabricator:20151002.dashboard.status.1.sql',1466802867,NULL),('phabricator:20151002.harbormaster.bparam.1.sql',1466802867,NULL),('phabricator:20151009.drydock.auth.1.sql',1466802867,NULL),('phabricator:20151010.drydock.auth.2.sql',1466802867,NULL),('phabricator:20151013.drydock.op.1.sql',1466802867,NULL),('phabricator:20151023.harborpolicy.1.sql',1466802867,NULL),('phabricator:20151023.harborpolicy.2.php',1466802867,NULL),('phabricator:20151023.patchduration.sql',1466802867,16373),('phabricator:20151030.harbormaster.initiator.sql',1466802867,21600),('phabricator:20151106.editengine.1.table.sql',1466802867,9430),('phabricator:20151106.editengine.2.xactions.sql',1466802867,7174),('phabricator:20151106.phame.post.mailkey.1.sql',1466802867,19922),('phabricator:20151106.phame.post.mailkey.2.php',1466802867,1343),('phabricator:20151107.phame.blog.mailkey.1.sql',1466802867,17107),('phabricator:20151107.phame.blog.mailkey.2.php',1466802867,1049),('phabricator:20151108.phame.blog.joinpolicy.sql',1466802867,16781),('phabricator:20151108.xhpast.stderr.sql',1466802867,23962),('phabricator:20151109.phame.post.comments.1.sql',1466802867,8796),('phabricator:20151109.repository.coverage.1.sql',1466802867,1058),('phabricator:20151109.xhpast.db.1.sql',1466802867,1587),('phabricator:20151109.xhpast.db.2.sql',1466802867,561),('phabricator:20151110.daemonenvhash.sql',1466802867,36237),('phabricator:20151111.phame.blog.archive.1.sql',1466802867,16500),('phabricator:20151111.phame.blog.archive.2.sql',1466802867,479),('phabricator:20151112.herald.edge.sql',1466802867,14091),('phabricator:20151116.owners.edge.sql',1466802867,11769),('phabricator:20151128.phame.blog.picture.1.sql',1466802867,15526),('phabricator:20151130.phurl.mailkey.1.sql',1466802868,10082),('phabricator:20151130.phurl.mailkey.2.php',1466802868,1190),('phabricator:20151202.versioneddraft.1.sql',1466802868,8290),('phabricator:20151207.editengine.1.sql',1466802868,76502),('phabricator:20151210.land.1.refphid.sql',1466802868,15998),('phabricator:20151210.land.2.refphid.php',1466802868,751),('phabricator:20151215.phame.1.autotitle.sql',1466802868,20074),('phabricator:20151218.key.1.keyphid.sql',1466802868,15772),('phabricator:20151218.key.2.keyphid.php',1466802868,454),('phabricator:20151219.proj.01.prislug.sql',1466802868,22082),('phabricator:20151219.proj.02.prislugkey.sql',1466802868,15591),('phabricator:20151219.proj.03.copyslug.sql',1466802868,581),('phabricator:20151219.proj.04.dropslugkey.sql',1466802868,8692),('phabricator:20151219.proj.05.dropslug.sql',1466802868,21494),('phabricator:20151219.proj.06.defaultpolicy.php',1466802868,1250),('phabricator:20151219.proj.07.viewnull.sql',1466802868,14942),('phabricator:20151219.proj.08.editnull.sql',1466802868,11831),('phabricator:20151219.proj.09.joinnull.sql',1466802868,10583),('phabricator:20151219.proj.10.subcolumns.sql',1466802868,201986),('phabricator:20151219.proj.11.subprojectphids.sql',1466802868,23604),('phabricator:20151221.search.1.version.sql',1466802868,9540),('phabricator:20151221.search.2.ownersngrams.sql',1466802868,7522),('phabricator:20151221.search.3.reindex.php',1466802868,415),('phabricator:20151223.proj.01.paths.sql',1466802868,22569),('phabricator:20151223.proj.02.depths.sql',1466802868,25408),('phabricator:20151223.proj.03.pathkey.sql',1466802868,13193),('phabricator:20151223.proj.04.keycol.sql',1466802868,27276),('phabricator:20151223.proj.05.updatekeys.php',1466802868,451),('phabricator:20151223.proj.06.uniq.sql',1466802868,11754),('phabricator:20151226.reop.1.sql',1466802868,19139),('phabricator:20151227.proj.01.materialize.sql',1466802868,535),('phabricator:20151231.proj.01.icon.php',1466802868,1991),('phabricator:20160102.badges.award.sql',1466802868,10113),('phabricator:20160110.repo.01.slug.sql',1466802868,32438),('phabricator:20160110.repo.02.slug.php',1466802868,459),('phabricator:20160111.repo.01.slugx.sql',1466802868,627),('phabricator:20160112.repo.01.uri.sql',1466802868,8500),('phabricator:20160112.repo.02.uri.index.php',1466802868,64),('phabricator:20160113.propanel.1.storage.sql',1466802868,6858),('phabricator:20160113.propanel.2.xaction.sql',1466802868,7710),('phabricator:20160119.project.1.silence.sql',1466802868,579),('phabricator:20160122.project.1.boarddefault.php',1466802868,904),('phabricator:20160124.people.1.icon.sql',1466802868,12728),('phabricator:20160124.people.2.icondefault.sql',1466802868,477),('phabricator:20160128.repo.1.pull.sql',1466802868,9886),('phabricator:20160202.board.1.proxy.sql',1466802868,17041),('phabricator:20160202.ipv6.1.sql',1466802868,22960),('phabricator:20160202.ipv6.2.php',1466802868,1991),('phabricator:20160206.cover.1.sql',1466802868,29137),('phabricator:20160208.task.1.sql',1466802868,32546),('phabricator:20160208.task.2.sql',1466802868,33818),('phabricator:20160208.task.3.sql',1466802868,34881),('phabricator:20160212.proj.1.sql',1466802868,28365),('phabricator:20160212.proj.2.sql',1466802868,504),('phabricator:20160215.owners.policy.1.sql',1466802868,18780),('phabricator:20160215.owners.policy.2.sql',1466802868,17029),('phabricator:20160215.owners.policy.3.sql',1466802868,432),('phabricator:20160215.owners.policy.4.sql',1466802868,361),('phabricator:20160218.callsigns.1.sql',1466802869,12331),('phabricator:20160221.almanac.1.devicen.sql',1466802869,9432),('phabricator:20160221.almanac.2.devicei.php',1466802869,1470),('phabricator:20160221.almanac.3.servicen.sql',1466802869,7845),('phabricator:20160221.almanac.4.servicei.php',1466802869,916),('phabricator:20160221.almanac.5.networkn.sql',1466802869,8044),('phabricator:20160221.almanac.6.networki.php',1466802869,903),('phabricator:20160221.almanac.7.namespacen.sql',1466802869,7463),('phabricator:20160221.almanac.8.namespace.sql',1466802869,7462),('phabricator:20160221.almanac.9.namespacex.sql',1466802869,7400),('phabricator:20160222.almanac.1.properties.php',1466802869,1750),('phabricator:20160223.almanac.1.bound.sql',1466802869,16093),('phabricator:20160223.almanac.2.lockbind.sql',1466802869,447),('phabricator:20160223.almanac.3.devicelock.sql',1466802869,19320),('phabricator:20160223.almanac.4.servicelock.sql',1466802869,23933),('phabricator:20160223.paste.fileedges.php',1466802869,654),('phabricator:20160225.almanac.1.disablebinding.sql',1466802869,24011),('phabricator:20160225.almanac.2.stype.sql',1466802869,7243),('phabricator:20160225.almanac.3.stype.php',1466802869,464),('phabricator:20160227.harbormaster.1.plann.sql',1466802869,7447),('phabricator:20160227.harbormaster.2.plani.php',1466802869,367),('phabricator:20160303.drydock.1.bluen.sql',1466802869,6561),('phabricator:20160303.drydock.2.bluei.php',1466802869,323),('phabricator:20160303.drydock.3.edge.sql',1466802869,12513),('phabricator:20160308.nuance.01.disabled.sql',1466802869,14286),('phabricator:20160308.nuance.02.cursordata.sql',1466802869,14221),('phabricator:20160308.nuance.03.sourcen.sql',1466802869,7121),('phabricator:20160308.nuance.04.sourcei.php',1466802869,1214),('phabricator:20160308.nuance.05.sourcename.sql',1466802869,10244),('phabricator:20160308.nuance.06.label.sql',1466802869,18965),('phabricator:20160308.nuance.07.itemtype.sql',1466802869,25794),('phabricator:20160308.nuance.08.itemkey.sql',1466802869,21958),('phabricator:20160308.nuance.09.itemcontainer.sql',1466802869,22612),('phabricator:20160308.nuance.10.itemkeyu.sql',1466802869,552),('phabricator:20160308.nuance.11.requestor.sql',1466802869,14556),('phabricator:20160308.nuance.12.queue.sql',1466802869,19884),('phabricator:20160316.lfs.01.token.resource.sql',1466802869,13284),('phabricator:20160316.lfs.02.token.user.sql',1466802869,15555),('phabricator:20160316.lfs.03.token.properties.sql',1466802869,16563),('phabricator:20160316.lfs.04.token.default.sql',1466802869,581),('phabricator:20160317.lfs.01.ref.sql',1466802869,8120),('phabricator:20160321.nuance.01.taskbridge.sql',1466802869,28702),('phabricator:20160322.nuance.01.itemcommand.sql',1466802869,11727),('phabricator:20160323.badgemigrate.sql',1466802869,873),('phabricator:20160329.nuance.01.requestor.sql',1466802869,1313),('phabricator:20160329.nuance.02.requestorsource.sql',1466802869,1704),('phabricator:20160329.nuance.03.requestorxaction.sql',1466802869,1686),('phabricator:20160329.nuance.04.requestorcomment.sql',1466802869,1374),('phabricator:20160330.badges.migratequality.sql',1466802869,9959),('phabricator:20160330.badges.qualityxaction.mig.sql',1466802869,2022),('phabricator:20160331.fund.comments.1.sql',1466802869,6337),('phabricator:20160404.oauth.1.xaction.sql',1466802869,6577),('phabricator:20160405.oauth.2.disable.sql',1466802869,15800),('phabricator:20160406.badges.ngrams.php',1466802869,678),('phabricator:20160406.badges.ngrams.sql',1466802869,8117),('phabricator:20160406.columns.1.php',1466802869,543),('phabricator:20160411.repo.1.version.sql',1466802869,7060),('phabricator:20160418.repouri.1.sql',1466802869,6372),('phabricator:20160418.repouri.2.sql',1466802869,13856),('phabricator:20160418.repoversion.1.sql',1466802869,15751),('phabricator:20160419.pushlog.1.sql',1466802869,25118),('phabricator:20160424.locks.1.sql',1466802869,15525),('phabricator:20160426.searchedge.sql',1466802869,15875),('phabricator:20160428.repo.1.urixaction.sql',1466802869,7234),('phabricator:20160503.repo.01.lpath.sql',1466802869,23546),('phabricator:20160503.repo.02.lpathkey.sql',1466802869,12838),('phabricator:20160503.repo.03.lpathmigrate.php',1466802869,473),('phabricator:20160503.repo.04.mirrormigrate.php',1466802869,540),('phabricator:20160503.repo.05.urimigrate.php',1466802869,355),('phabricator:20160510.repo.01.uriindex.php',1466802869,4261),('phabricator:20160513.owners.01.autoreview.sql',1466802869,17537),('phabricator:20160513.owners.02.autoreviewnone.sql',1466802869,514),('phabricator:20160516.owners.01.dominion.sql',1466802869,16006),('phabricator:20160516.owners.02.dominionstrong.sql',1466802869,563),('phabricator:20160517.oauth.01.edge.sql',1466802869,13998),('phabricator:20160518.ssh.01.activecol.sql',1466802869,15647),('phabricator:20160518.ssh.02.activeval.sql',1466802869,485),('phabricator:20160518.ssh.03.activekey.sql',1466802869,10420),('phabricator:20160519.ssh.01.xaction.sql',1466802869,9024),('phabricator:20160531.pref.01.xaction.sql',1466802869,7837),('phabricator:20160531.pref.02.datecreatecol.sql',1466802869,11848),('phabricator:20160531.pref.03.datemodcol.sql',1466802869,13814),('phabricator:20160531.pref.04.datecreateval.sql',1466802869,429),('phabricator:20160531.pref.05.datemodval.sql',1466802869,305),('phabricator:20160531.pref.06.phidcol.sql',1466802869,12896),('phabricator:20160531.pref.07.phidval.php',1466802869,679),('phabricator:20160601.user.01.cache.sql',1466802869,9294),('phabricator:20160601.user.02.copyprefs.php',1466802869,1552),('phabricator:20160601.user.03.removetime.sql',1466802869,18764),('phabricator:20160601.user.04.removetranslation.sql',1466802869,20404),('phabricator:20160601.user.05.removesex.sql',1466802869,23968),('phabricator:20160603.user.01.removedcenabled.sql',1466802869,25907),('phabricator:20160603.user.02.removedctab.sql',1466802869,20792),('phabricator:20160603.user.03.removedcvisible.sql',1466802869,22140),('phabricator:20160604.user.01.stringmailprefs.php',1466802869,683),('phabricator:20160604.user.02.removeimagecache.sql',1466802870,22776),('phabricator:20160605.user.01.prefnulluser.sql',1466802870,12931),('phabricator:20160605.user.02.prefbuiltin.sql',1466802870,13598),('phabricator:20160605.user.03.builtinunique.sql',1466802870,12068),('phabricator:20160616.phame.blog.header.1.sql',1466802870,21493),('phabricator:20160616.repo.01.oldref.sql',1466802870,9001),('phabricator:20160617.harbormaster.01.arelease.sql',1466802870,16927),('phabricator:20160618.phame.blog.subtitle.sql',1466802870,28832),('phabricator:20160620.phame.blog.parentdomain.2.sql',1466802870,32443),('phabricator:20160620.phame.blog.parentsite.1.sql',1466802870,35279),('phabricator:20160623.phame.blog.fulldomain.1.sql',1466802870,37279),('phabricator:20160623.phame.blog.fulldomain.2.sql',1466802870,500),('phabricator:20160623.phame.blog.fulldomain.3.sql',1466802870,589),('phabricator:daemonstatus.sql',1466802856,NULL),('phabricator:daemonstatuskey.sql',1466802856,NULL),('phabricator:daemontaskarchive.sql',1466802856,NULL),('phabricator:db.almanac',1466802850,NULL),('phabricator:db.audit',1466802850,NULL),('phabricator:db.auth',1466802850,NULL),('phabricator:db.badges',1466802850,NULL),('phabricator:db.cache',1466802850,NULL),('phabricator:db.calendar',1466802850,NULL),('phabricator:db.chatlog',1466802850,NULL),('phabricator:db.conduit',1466802850,NULL),('phabricator:db.config',1466802850,NULL),('phabricator:db.conpherence',1466802850,NULL),('phabricator:db.countdown',1466802850,NULL),('phabricator:db.daemon',1466802850,NULL),('phabricator:db.dashboard',1466802850,NULL),('phabricator:db.differential',1466802850,NULL),('phabricator:db.diviner',1466802850,NULL),('phabricator:db.doorkeeper',1466802850,NULL),('phabricator:db.draft',1466802850,NULL),('phabricator:db.drydock',1466802850,NULL),('phabricator:db.fact',1466802850,NULL),('phabricator:db.feed',1466802850,NULL),('phabricator:db.file',1466802850,NULL),('phabricator:db.flag',1466802850,NULL),('phabricator:db.fund',1466802850,NULL),('phabricator:db.harbormaster',1466802850,NULL),('phabricator:db.herald',1466802850,NULL),('phabricator:db.legalpad',1466802850,NULL),('phabricator:db.maniphest',1466802850,NULL),('phabricator:db.meta_data',1466802850,NULL),('phabricator:db.metamta',1466802850,NULL),('phabricator:db.multimeter',1466802850,NULL),('phabricator:db.nuance',1466802850,NULL),('phabricator:db.oauth_server',1466802850,NULL),('phabricator:db.owners',1466802850,NULL),('phabricator:db.passphrase',1466802850,NULL),('phabricator:db.pastebin',1466802850,NULL),('phabricator:db.phame',1466802850,NULL),('phabricator:db.phlux',1466802850,NULL),('phabricator:db.pholio',1466802850,NULL),('phabricator:db.phortune',1466802850,NULL),('phabricator:db.phragment',1466802850,NULL),('phabricator:db.phrequent',1466802850,NULL),('phabricator:db.phriction',1466802850,NULL),('phabricator:db.phurl',1466802850,NULL),('phabricator:db.policy',1466802850,NULL),('phabricator:db.ponder',1466802850,NULL),('phabricator:db.project',1466802850,NULL),('phabricator:db.releeph',1466802850,NULL),('phabricator:db.repository',1466802850,NULL),('phabricator:db.search',1466802850,NULL),('phabricator:db.slowvote',1466802850,NULL),('phabricator:db.spaces',1466802850,NULL),('phabricator:db.system',1466802850,NULL),('phabricator:db.timeline',1466802850,NULL),('phabricator:db.token',1466802850,NULL),('phabricator:db.user',1466802850,NULL),('phabricator:db.worker',1466802850,NULL),('phabricator:db.xhpast',1466802850,NULL),('phabricator:db.xhpastview',1466802850,NULL),('phabricator:db.xhprof',1466802850,NULL),('phabricator:differentialbookmarks.sql',1466802856,NULL),('phabricator:draft-metadata.sql',1466802856,NULL),('phabricator:dropfileproxyimage.sql',1466802856,NULL),('phabricator:drydockresoucetype.sql',1466802856,NULL),('phabricator:drydocktaskid.sql',1466802856,NULL),('phabricator:edgetype.sql',1466802856,NULL),('phabricator:emailtable.sql',1466802855,NULL),('phabricator:emailtableport.sql',1466802855,NULL),('phabricator:emailtableremove.sql',1466802855,NULL),('phabricator:fact-raw.sql',1466802856,NULL),('phabricator:harbormasterobject.sql',1466802856,NULL),('phabricator:holidays.sql',1466802855,NULL),('phabricator:ldapinfo.sql',1466802855,NULL),('phabricator:legalpad-mailkey-populate.php',1466802858,NULL),('phabricator:legalpad-mailkey.sql',1466802858,NULL),('phabricator:liskcounters-task.sql',1466802856,NULL),('phabricator:liskcounters.php',1466802856,NULL),('phabricator:liskcounters.sql',1466802856,NULL),('phabricator:maniphestxcache.sql',1466802856,NULL),('phabricator:markupcache.sql',1466802856,NULL),('phabricator:migrate-differential-dependencies.php',1466802856,NULL),('phabricator:migrate-maniphest-dependencies.php',1466802856,NULL),('phabricator:migrate-maniphest-revisions.php',1466802856,NULL),('phabricator:migrate-project-edges.php',1466802856,NULL),('phabricator:owners-exclude.sql',1466802856,NULL),('phabricator:pastepolicy.sql',1466802856,NULL),('phabricator:phameblog.sql',1466802856,NULL),('phabricator:phamedomain.sql',1466802856,NULL),('phabricator:phameoneblog.sql',1466802856,NULL),('phabricator:phamepolicy.sql',1466802856,NULL),('phabricator:phiddrop.sql',1466802855,NULL),('phabricator:pholio.sql',1466802856,NULL),('phabricator:policy-project.sql',1466802856,NULL),('phabricator:ponder-comments.sql',1466802856,NULL),('phabricator:ponder-mailkey-populate.php',1466802856,NULL),('phabricator:ponder-mailkey.sql',1466802856,NULL),('phabricator:ponder.sql',1466802856,NULL),('phabricator:releeph.sql',1466802857,NULL),('phabricator:repository-lint.sql',1466802856,NULL),('phabricator:statustxt.sql',1466802856,NULL),('phabricator:symbolcontexts.sql',1466802856,NULL),('phabricator:testdatabase.sql',1466802855,NULL),('phabricator:threadtopic.sql',1466802855,NULL),('phabricator:userstatus.sql',1466802855,NULL),('phabricator:usertranslation.sql',1466802855,NULL),('phabricator:xhprof.sql',1466802856,NULL); +INSERT INTO `patch_status` VALUES ('phabricator:000.project.sql',1492953699,NULL),('phabricator:0000.legacy.sql',1492953699,NULL),('phabricator:001.maniphest_projects.sql',1492953699,NULL),('phabricator:002.oauth.sql',1492953699,NULL),('phabricator:003.more_oauth.sql',1492953699,NULL),('phabricator:004.daemonrepos.sql',1492953699,NULL),('phabricator:005.workers.sql',1492953699,NULL),('phabricator:006.repository.sql',1492953699,NULL),('phabricator:007.daemonlog.sql',1492953699,NULL),('phabricator:008.repoopt.sql',1492953699,NULL),('phabricator:009.repo_summary.sql',1492953699,NULL),('phabricator:010.herald.sql',1492953699,NULL),('phabricator:011.badcommit.sql',1492953699,NULL),('phabricator:012.dropphidtype.sql',1492953699,NULL),('phabricator:013.commitdetail.sql',1492953699,NULL),('phabricator:014.shortcuts.sql',1492953699,NULL),('phabricator:015.preferences.sql',1492953699,NULL),('phabricator:016.userrealnameindex.sql',1492953699,NULL),('phabricator:017.sessionkeys.sql',1492953700,NULL),('phabricator:018.owners.sql',1492953700,NULL),('phabricator:019.arcprojects.sql',1492953700,NULL),('phabricator:020.pathcapital.sql',1492953700,NULL),('phabricator:021.xhpastview.sql',1492953700,NULL),('phabricator:022.differentialcommit.sql',1492953700,NULL),('phabricator:023.dxkeys.sql',1492953700,NULL),('phabricator:024.mlistkeys.sql',1492953700,NULL),('phabricator:025.commentopt.sql',1492953700,NULL),('phabricator:026.diffpropkey.sql',1492953700,NULL),('phabricator:027.metamtakeys.sql',1492953700,NULL),('phabricator:028.systemagent.sql',1492953700,NULL),('phabricator:029.cursors.sql',1492953700,NULL),('phabricator:030.imagemacro.sql',1492953700,NULL),('phabricator:031.workerrace.sql',1492953700,NULL),('phabricator:032.viewtime.sql',1492953700,NULL),('phabricator:033.privtest.sql',1492953700,NULL),('phabricator:034.savedheader.sql',1492953700,NULL),('phabricator:035.proxyimage.sql',1492953700,NULL),('phabricator:036.mailkey.sql',1492953700,NULL),('phabricator:037.setuptest.sql',1492953700,NULL),('phabricator:038.admin.sql',1492953700,NULL),('phabricator:039.userlog.sql',1492953700,NULL),('phabricator:040.transform.sql',1492953700,NULL),('phabricator:041.heraldrepetition.sql',1492953700,NULL),('phabricator:042.commentmetadata.sql',1492953700,NULL),('phabricator:043.pastebin.sql',1492953700,NULL),('phabricator:044.countdown.sql',1492953700,NULL),('phabricator:045.timezone.sql',1492953700,NULL),('phabricator:046.conduittoken.sql',1492953700,NULL),('phabricator:047.projectstatus.sql',1492953700,NULL),('phabricator:048.relationshipkeys.sql',1492953700,NULL),('phabricator:049.projectowner.sql',1492953700,NULL),('phabricator:050.taskdenormal.sql',1492953700,NULL),('phabricator:051.projectfilter.sql',1492953700,NULL),('phabricator:052.pastelanguage.sql',1492953700,NULL),('phabricator:053.feed.sql',1492953700,NULL),('phabricator:054.subscribers.sql',1492953700,NULL),('phabricator:055.add_author_to_files.sql',1492953700,NULL),('phabricator:056.slowvote.sql',1492953700,NULL),('phabricator:057.parsecache.sql',1492953701,NULL),('phabricator:058.missingkeys.sql',1492953701,NULL),('phabricator:059.engines.php',1492953701,NULL),('phabricator:060.phriction.sql',1492953701,NULL),('phabricator:061.phrictioncontent.sql',1492953701,NULL),('phabricator:062.phrictionmenu.sql',1492953701,NULL),('phabricator:063.pasteforks.sql',1492953701,NULL),('phabricator:064.subprojects.sql',1492953701,NULL),('phabricator:065.sshkeys.sql',1492953701,NULL),('phabricator:066.phrictioncontent.sql',1492953701,NULL),('phabricator:067.preferences.sql',1492953701,NULL),('phabricator:068.maniphestauxiliarystorage.sql',1492953701,NULL),('phabricator:069.heraldxscript.sql',1492953701,NULL),('phabricator:070.differentialaux.sql',1492953701,NULL),('phabricator:071.contentsource.sql',1492953701,NULL),('phabricator:072.blamerevert.sql',1492953701,NULL),('phabricator:073.reposymbols.sql',1492953701,NULL),('phabricator:074.affectedpath.sql',1492953701,NULL),('phabricator:075.revisionhash.sql',1492953701,NULL),('phabricator:076.indexedlanguages.sql',1492953701,NULL),('phabricator:077.originalemail.sql',1492953701,NULL),('phabricator:078.nametoken.sql',1492953701,NULL),('phabricator:079.nametokenindex.php',1492953701,NULL),('phabricator:080.filekeys.sql',1492953701,NULL),('phabricator:081.filekeys.php',1492953701,NULL),('phabricator:082.xactionkey.sql',1492953701,NULL),('phabricator:083.dxviewtime.sql',1492953701,NULL),('phabricator:084.pasteauthorkey.sql',1492953701,NULL),('phabricator:085.packagecommitrelationship.sql',1492953701,NULL),('phabricator:086.formeraffil.sql',1492953701,NULL),('phabricator:087.phrictiondelete.sql',1492953701,NULL),('phabricator:088.audit.sql',1492953701,NULL),('phabricator:089.projectwiki.sql',1492953701,NULL),('phabricator:090.forceuniqueprojectnames.php',1492953701,NULL),('phabricator:091.uniqueslugkey.sql',1492953701,NULL),('phabricator:092.dropgithubnotification.sql',1492953701,NULL),('phabricator:093.gitremotes.php',1492953701,NULL),('phabricator:094.phrictioncolumn.sql',1492953701,NULL),('phabricator:095.directory.sql',1492953701,NULL),('phabricator:096.filename.sql',1492953701,NULL),('phabricator:097.heraldruletypes.sql',1492953701,NULL),('phabricator:098.heraldruletypemigration.php',1492953701,NULL),('phabricator:099.drydock.sql',1492953701,NULL),('phabricator:100.projectxaction.sql',1492953701,NULL),('phabricator:101.heraldruleapplied.sql',1492953701,NULL),('phabricator:102.heraldcleanup.php',1492953701,NULL),('phabricator:103.heraldedithistory.sql',1492953701,NULL),('phabricator:104.searchkey.sql',1492953702,NULL),('phabricator:105.mimetype.sql',1492953702,NULL),('phabricator:106.chatlog.sql',1492953702,NULL),('phabricator:107.oauthserver.sql',1492953702,NULL),('phabricator:108.oauthscope.sql',1492953702,NULL),('phabricator:109.oauthclientphidkey.sql',1492953702,NULL),('phabricator:110.commitaudit.sql',1492953702,NULL),('phabricator:111.commitauditmigration.php',1492953702,NULL),('phabricator:112.oauthaccesscoderedirecturi.sql',1492953702,NULL),('phabricator:113.lastreviewer.sql',1492953702,NULL),('phabricator:114.auditrequest.sql',1492953702,NULL),('phabricator:115.prepareutf8.sql',1492953702,NULL),('phabricator:116.utf8-backup-first-expect-wait.sql',1492953704,NULL),('phabricator:117.repositorydescription.php',1492953704,NULL),('phabricator:118.auditinline.sql',1492953704,NULL),('phabricator:119.filehash.sql',1492953704,NULL),('phabricator:120.noop.sql',1492953704,NULL),('phabricator:121.drydocklog.sql',1492953704,NULL),('phabricator:122.flag.sql',1492953704,NULL),('phabricator:123.heraldrulelog.sql',1492953704,NULL),('phabricator:124.subpriority.sql',1492953704,NULL),('phabricator:125.ipv6.sql',1492953704,NULL),('phabricator:126.edges.sql',1492953704,NULL),('phabricator:127.userkeybody.sql',1492953704,NULL),('phabricator:128.phabricatorcom.sql',1492953704,NULL),('phabricator:129.savedquery.sql',1492953704,NULL),('phabricator:130.denormalrevisionquery.sql',1492953704,NULL),('phabricator:131.migraterevisionquery.php',1492953704,NULL),('phabricator:132.phame.sql',1492953704,NULL),('phabricator:133.imagemacro.sql',1492953704,NULL),('phabricator:134.emptysearch.sql',1492953704,NULL),('phabricator:135.datecommitted.sql',1492953704,NULL),('phabricator:136.sex.sql',1492953704,NULL),('phabricator:137.auditmetadata.sql',1492953704,NULL),('phabricator:138.notification.sql',1492953704,NULL),('phabricator:20121209.pholioxactions.sql',1492953705,NULL),('phabricator:20121209.xmacroadd.sql',1492953705,NULL),('phabricator:20121209.xmacromigrate.php',1492953705,NULL),('phabricator:20121209.xmacromigratekey.sql',1492953705,NULL),('phabricator:20121220.generalcache.sql',1492953705,NULL),('phabricator:20121226.config.sql',1492953705,NULL),('phabricator:20130101.confxaction.sql',1492953705,NULL),('phabricator:20130102.metamtareceivedmailmessageidhash.sql',1492953705,NULL),('phabricator:20130103.filemetadata.sql',1492953705,NULL),('phabricator:20130111.conpherence.sql',1492953705,NULL),('phabricator:20130127.altheraldtranscript.sql',1492953705,NULL),('phabricator:20130131.conpherencepics.sql',1492953705,NULL),('phabricator:20130201.revisionunsubscribed.php',1492953705,NULL),('phabricator:20130201.revisionunsubscribed.sql',1492953705,NULL),('phabricator:20130214.chatlogchannel.sql',1492953705,NULL),('phabricator:20130214.chatlogchannelid.sql',1492953705,NULL),('phabricator:20130214.token.sql',1492953705,NULL),('phabricator:20130215.phabricatorfileaddttl.sql',1492953705,NULL),('phabricator:20130217.cachettl.sql',1492953705,NULL),('phabricator:20130218.longdaemon.sql',1492953705,NULL),('phabricator:20130218.updatechannelid.php',1492953705,NULL),('phabricator:20130219.commitsummary.sql',1492953705,NULL),('phabricator:20130219.commitsummarymig.php',1492953705,NULL),('phabricator:20130222.dropchannel.sql',1492953705,NULL),('phabricator:20130226.commitkey.sql',1492953705,NULL),('phabricator:20130304.lintauthor.sql',1492953705,NULL),('phabricator:20130310.xactionmeta.sql',1492953705,NULL),('phabricator:20130317.phrictionedge.sql',1492953705,NULL),('phabricator:20130319.conpherence.sql',1492953705,NULL),('phabricator:20130319.phabricatorfileexplicitupload.sql',1492953705,NULL),('phabricator:20130320.phlux.sql',1492953705,NULL),('phabricator:20130321.token.sql',1492953705,NULL),('phabricator:20130322.phortune.sql',1492953705,NULL),('phabricator:20130323.phortunepayment.sql',1492953705,NULL),('phabricator:20130324.phortuneproduct.sql',1492953705,NULL),('phabricator:20130330.phrequent.sql',1492953705,NULL),('phabricator:20130403.conpherencecache.sql',1492953705,NULL),('phabricator:20130403.conpherencecachemig.php',1492953705,NULL),('phabricator:20130409.commitdrev.php',1492953705,NULL),('phabricator:20130417.externalaccount.sql',1492953705,NULL),('phabricator:20130423.conpherenceindices.sql',1492953706,NULL),('phabricator:20130423.phortunepaymentrevised.sql',1492953706,NULL),('phabricator:20130423.updateexternalaccount.sql',1492953705,NULL),('phabricator:20130426.search_savedquery.sql',1492953706,NULL),('phabricator:20130502.countdownrevamp1.sql',1492953706,NULL),('phabricator:20130502.countdownrevamp2.php',1492953706,NULL),('phabricator:20130502.countdownrevamp3.sql',1492953706,NULL),('phabricator:20130507.releephrqmailkey.sql',1492953706,NULL),('phabricator:20130507.releephrqmailkeypop.php',1492953706,NULL),('phabricator:20130507.releephrqsimplifycols.sql',1492953706,NULL),('phabricator:20130508.releephtransactions.sql',1492953706,NULL),('phabricator:20130508.releephtransactionsmig.php',1492953706,NULL),('phabricator:20130508.search_namedquery.sql',1492953706,NULL),('phabricator:20130513.receviedmailstatus.sql',1492953706,NULL),('phabricator:20130519.diviner.sql',1492953706,NULL),('phabricator:20130521.dropconphimages.sql',1492953706,NULL),('phabricator:20130523.maniphest_owners.sql',1492953706,NULL),('phabricator:20130524.repoxactions.sql',1492953706,NULL),('phabricator:20130529.macroauthor.sql',1492953706,NULL),('phabricator:20130529.macroauthormig.php',1492953706,NULL),('phabricator:20130530.macrodatekey.sql',1492953706,NULL),('phabricator:20130530.pastekeys.sql',1492953706,NULL),('phabricator:20130530.sessionhash.php',1492953706,NULL),('phabricator:20130531.filekeys.sql',1492953706,NULL),('phabricator:20130602.morediviner.sql',1492953706,NULL),('phabricator:20130602.namedqueries.sql',1492953706,NULL),('phabricator:20130606.userxactions.sql',1492953706,NULL),('phabricator:20130607.xaccount.sql',1492953706,NULL),('phabricator:20130611.migrateoauth.php',1492953706,NULL),('phabricator:20130611.nukeldap.php',1492953706,NULL),('phabricator:20130613.authdb.sql',1492953706,NULL),('phabricator:20130619.authconf.php',1492953706,NULL),('phabricator:20130620.diffxactions.sql',1492953706,NULL),('phabricator:20130621.diffcommentphid.sql',1492953706,NULL),('phabricator:20130621.diffcommentphidmig.php',1492953706,NULL),('phabricator:20130621.diffcommentunphid.sql',1492953706,NULL),('phabricator:20130622.doorkeeper.sql',1492953706,NULL),('phabricator:20130628.legalpadv0.sql',1492953706,NULL),('phabricator:20130701.conduitlog.sql',1492953706,NULL),('phabricator:20130703.legalpaddocdenorm.php',1492953707,NULL),('phabricator:20130703.legalpaddocdenorm.sql',1492953707,NULL),('phabricator:20130709.droptimeline.sql',1492953707,NULL),('phabricator:20130709.legalpadsignature.sql',1492953707,NULL),('phabricator:20130711.pholioimageobsolete.php',1492953707,NULL),('phabricator:20130711.pholioimageobsolete.sql',1492953707,NULL),('phabricator:20130711.pholioimageobsolete2.sql',1492953707,NULL),('phabricator:20130711.trimrealnames.php',1492953707,NULL),('phabricator:20130714.votexactions.sql',1492953707,NULL),('phabricator:20130715.votecomments.php',1492953707,NULL),('phabricator:20130715.voteedges.sql',1492953707,NULL),('phabricator:20130716.archivememberlessprojects.php',1492953707,NULL),('phabricator:20130722.pholioreplace.sql',1492953707,NULL),('phabricator:20130723.taskstarttime.sql',1492953707,NULL),('phabricator:20130726.ponderxactions.sql',1492953707,NULL),('phabricator:20130727.ponderquestionstatus.sql',1492953707,NULL),('phabricator:20130728.ponderunique.php',1492953707,NULL),('phabricator:20130728.ponderuniquekey.sql',1492953707,NULL),('phabricator:20130728.ponderxcomment.php',1492953707,NULL),('phabricator:20130731.releephcutpointidentifier.sql',1492953707,NULL),('phabricator:20130731.releephproject.sql',1492953707,NULL),('phabricator:20130731.releephrepoid.sql',1492953707,NULL),('phabricator:20130801.pastexactions.php',1492953707,NULL),('phabricator:20130801.pastexactions.sql',1492953707,NULL),('phabricator:20130802.heraldphid.sql',1492953707,NULL),('phabricator:20130802.heraldphids.php',1492953707,NULL),('phabricator:20130802.heraldphidukey.sql',1492953707,NULL),('phabricator:20130802.heraldxactions.sql',1492953707,NULL),('phabricator:20130805.pasteedges.sql',1492953707,NULL),('phabricator:20130805.pastemailkey.sql',1492953707,NULL),('phabricator:20130805.pastemailkeypop.php',1492953707,NULL),('phabricator:20130814.usercustom.sql',1492953707,NULL),('phabricator:20130820.file-mailkey-populate.php',1492953707,NULL),('phabricator:20130820.filemailkey.sql',1492953707,NULL),('phabricator:20130820.filexactions.sql',1492953707,NULL),('phabricator:20130820.releephxactions.sql',1492953707,NULL),('phabricator:20130826.divinernode.sql',1492953707,NULL),('phabricator:20130912.maniphest.1.touch.sql',1492953707,NULL),('phabricator:20130912.maniphest.2.created.sql',1492953707,NULL),('phabricator:20130912.maniphest.3.nameindex.sql',1492953707,NULL),('phabricator:20130912.maniphest.4.fillindex.php',1492953707,NULL),('phabricator:20130913.maniphest.1.migratesearch.php',1492953707,NULL),('phabricator:20130914.usercustom.sql',1492953707,NULL),('phabricator:20130915.maniphestcustom.sql',1492953707,NULL),('phabricator:20130915.maniphestmigrate.php',1492953707,NULL),('phabricator:20130915.maniphestqdrop.sql',1492953708,NULL),('phabricator:20130919.mfieldconf.php',1492953707,NULL),('phabricator:20130920.repokeyspolicy.sql',1492953707,NULL),('phabricator:20130921.mtransactions.sql',1492953707,NULL),('phabricator:20130921.xmigratemaniphest.php',1492953707,NULL),('phabricator:20130923.mrename.sql',1492953707,NULL),('phabricator:20130924.mdraftkey.sql',1492953707,NULL),('phabricator:20130925.mpolicy.sql',1492953707,NULL),('phabricator:20130925.xpolicy.sql',1492953707,NULL),('phabricator:20130926.dcustom.sql',1492953707,NULL),('phabricator:20130926.dinkeys.sql',1492953707,NULL),('phabricator:20130926.dinline.php',1492953708,NULL),('phabricator:20130927.audiomacro.sql',1492953708,NULL),('phabricator:20130929.filepolicy.sql',1492953708,NULL),('phabricator:20131004.dxedgekey.sql',1492953708,NULL),('phabricator:20131004.dxreviewers.php',1492953708,NULL),('phabricator:20131006.hdisable.sql',1492953708,NULL),('phabricator:20131010.pstorage.sql',1492953708,NULL),('phabricator:20131015.cpolicy.sql',1492953708,NULL),('phabricator:20131020.col1.sql',1492953708,NULL),('phabricator:20131020.harbormaster.sql',1492953708,NULL),('phabricator:20131020.pcustom.sql',1492953708,NULL),('phabricator:20131020.pxaction.sql',1492953708,NULL),('phabricator:20131020.pxactionmig.php',1492953708,NULL),('phabricator:20131025.repopush.sql',1492953708,NULL),('phabricator:20131026.commitstatus.sql',1492953708,NULL),('phabricator:20131030.repostatusmessage.sql',1492953708,NULL),('phabricator:20131031.vcspassword.sql',1492953708,NULL),('phabricator:20131105.buildstep.sql',1492953708,NULL),('phabricator:20131106.diffphid.1.col.sql',1492953708,NULL),('phabricator:20131106.diffphid.2.mig.php',1492953708,NULL),('phabricator:20131106.diffphid.3.key.sql',1492953708,NULL),('phabricator:20131106.nuance-v0.sql',1492953708,NULL),('phabricator:20131107.buildlog.sql',1492953708,NULL),('phabricator:20131112.userverified.1.col.sql',1492953708,NULL),('phabricator:20131112.userverified.2.mig.php',1492953708,NULL),('phabricator:20131118.ownerorder.php',1492953708,NULL),('phabricator:20131119.passphrase.sql',1492953708,NULL),('phabricator:20131120.nuancesourcetype.sql',1492953708,NULL),('phabricator:20131121.passphraseedge.sql',1492953708,NULL),('phabricator:20131121.repocredentials.1.col.sql',1492953708,NULL),('phabricator:20131121.repocredentials.2.mig.php',1492953708,NULL),('phabricator:20131122.repomirror.sql',1492953708,NULL),('phabricator:20131123.drydockblueprintpolicy.sql',1492953708,NULL),('phabricator:20131129.drydockresourceblueprint.sql',1492953708,NULL),('phabricator:20131204.pushlog.sql',1492953708,NULL),('phabricator:20131205.buildsteporder.sql',1492953708,NULL),('phabricator:20131205.buildstepordermig.php',1492953708,NULL),('phabricator:20131205.buildtargets.sql',1492953708,NULL),('phabricator:20131206.phragment.sql',1492953708,NULL),('phabricator:20131206.phragmentnull.sql',1492953708,NULL),('phabricator:20131208.phragmentsnapshot.sql',1492953708,NULL),('phabricator:20131211.phragmentedges.sql',1492953708,NULL),('phabricator:20131217.pushlogphid.1.col.sql',1492953708,NULL),('phabricator:20131217.pushlogphid.2.mig.php',1492953708,NULL),('phabricator:20131217.pushlogphid.3.key.sql',1492953708,NULL),('phabricator:20131219.pxdrop.sql',1492953708,NULL),('phabricator:20131224.harbormanual.sql',1492953708,NULL),('phabricator:20131227.heraldobject.sql',1492953708,NULL),('phabricator:20131231.dropshortcut.sql',1492953708,NULL),('phabricator:20131302.maniphestvalue.sql',1492953705,NULL),('phabricator:20140104.harbormastercmd.sql',1492953709,NULL),('phabricator:20140106.macromailkey.1.sql',1492953709,NULL),('phabricator:20140106.macromailkey.2.php',1492953709,NULL),('phabricator:20140108.ddbpname.1.sql',1492953709,NULL),('phabricator:20140108.ddbpname.2.php',1492953709,NULL),('phabricator:20140109.ddxactions.sql',1492953709,NULL),('phabricator:20140109.projectcolumnsdates.sql',1492953709,NULL),('phabricator:20140113.legalpadsig.1.sql',1492953709,NULL),('phabricator:20140113.legalpadsig.2.php',1492953709,NULL),('phabricator:20140115.auth.1.id.sql',1492953709,NULL),('phabricator:20140115.auth.2.expires.sql',1492953709,NULL),('phabricator:20140115.auth.3.unlimit.php',1492953709,NULL),('phabricator:20140115.legalpadsigkey.sql',1492953709,NULL),('phabricator:20140116.reporefcursor.sql',1492953709,NULL),('phabricator:20140126.diff.1.parentrevisionid.sql',1492953709,NULL),('phabricator:20140126.diff.2.repositoryphid.sql',1492953709,NULL),('phabricator:20140130.dash.1.board.sql',1492953709,NULL),('phabricator:20140130.dash.2.panel.sql',1492953709,NULL),('phabricator:20140130.dash.3.boardxaction.sql',1492953709,NULL),('phabricator:20140130.dash.4.panelxaction.sql',1492953709,NULL),('phabricator:20140130.mail.1.retry.sql',1492953709,NULL),('phabricator:20140130.mail.2.next.sql',1492953709,NULL),('phabricator:20140201.gc.1.mailsent.sql',1492953709,NULL),('phabricator:20140201.gc.2.mailreceived.sql',1492953709,NULL),('phabricator:20140205.cal.1.rename.sql',1492953709,NULL),('phabricator:20140205.cal.2.phid-col.sql',1492953709,NULL),('phabricator:20140205.cal.3.phid-mig.php',1492953709,NULL),('phabricator:20140205.cal.4.phid-key.sql',1492953709,NULL),('phabricator:20140210.herald.rule-condition-mig.php',1492953709,NULL),('phabricator:20140210.projcfield.1.blurb.php',1492953709,NULL),('phabricator:20140210.projcfield.2.piccol.sql',1492953709,NULL),('phabricator:20140210.projcfield.3.picmig.sql',1492953709,NULL),('phabricator:20140210.projcfield.4.memmig.sql',1492953709,NULL),('phabricator:20140210.projcfield.5.dropprofile.sql',1492953709,NULL),('phabricator:20140211.dx.1.nullablechangesetid.sql',1492953709,NULL),('phabricator:20140211.dx.2.migcommenttext.php',1492953709,NULL),('phabricator:20140211.dx.3.migsubscriptions.sql',1492953709,NULL),('phabricator:20140211.dx.999.drop.relationships.sql',1492953709,NULL),('phabricator:20140212.dx.1.armageddon.php',1492953709,NULL),('phabricator:20140214.clean.1.legacycommentid.sql',1492953709,NULL),('phabricator:20140214.clean.2.dropcomment.sql',1492953709,NULL),('phabricator:20140214.clean.3.dropinline.sql',1492953709,NULL),('phabricator:20140218.differentialdraft.sql',1492953709,NULL),('phabricator:20140218.passwords.1.extend.sql',1492953709,NULL),('phabricator:20140218.passwords.2.prefix.sql',1492953709,NULL),('phabricator:20140218.passwords.3.vcsextend.sql',1492953709,NULL),('phabricator:20140218.passwords.4.vcs.php',1492953709,NULL),('phabricator:20140223.bigutf8scratch.sql',1492953709,NULL),('phabricator:20140224.dxclean.1.datecommitted.sql',1492953709,NULL),('phabricator:20140226.dxcustom.1.fielddata.php',1492953709,NULL),('phabricator:20140226.dxcustom.99.drop.sql',1492953709,NULL),('phabricator:20140228.dxcomment.1.sql',1492953709,NULL),('phabricator:20140305.diviner.1.slugcol.sql',1492953709,NULL),('phabricator:20140305.diviner.2.slugkey.sql',1492953709,NULL),('phabricator:20140311.mdroplegacy.sql',1492953709,NULL),('phabricator:20140314.projectcolumn.1.statuscol.sql',1492953709,NULL),('phabricator:20140314.projectcolumn.2.statuskey.sql',1492953709,NULL),('phabricator:20140317.mupdatedkey.sql',1492953709,NULL),('phabricator:20140321.harbor.1.bxaction.sql',1492953709,NULL),('phabricator:20140321.mstatus.1.col.sql',1492953709,NULL),('phabricator:20140321.mstatus.2.mig.php',1492953709,NULL),('phabricator:20140323.harbor.1.renames.php',1492953709,NULL),('phabricator:20140323.harbor.2.message.sql',1492953709,NULL),('phabricator:20140325.push.1.event.sql',1492953709,NULL),('phabricator:20140325.push.2.eventphid.sql',1492953709,NULL),('phabricator:20140325.push.3.groups.php',1492953709,NULL),('phabricator:20140325.push.4.prune.sql',1492953709,NULL),('phabricator:20140326.project.1.colxaction.sql',1492953709,NULL),('phabricator:20140328.releeph.1.productxaction.sql',1492953709,NULL),('phabricator:20140330.flagtext.sql',1492953709,NULL),('phabricator:20140402.actionlog.sql',1492953709,NULL),('phabricator:20140410.accountsecret.1.sql',1492953709,NULL),('phabricator:20140410.accountsecret.2.php',1492953709,NULL),('phabricator:20140416.harbor.1.sql',1492953710,NULL),('phabricator:20140420.rel.1.objectphid.sql',1492953710,NULL),('phabricator:20140420.rel.2.objectmig.php',1492953710,NULL),('phabricator:20140421.slowvotecolumnsisclosed.sql',1492953710,NULL),('phabricator:20140423.session.1.hisec.sql',1492953710,NULL),('phabricator:20140427.mfactor.1.sql',1492953710,NULL),('phabricator:20140430.auth.1.partial.sql',1492953710,NULL),('phabricator:20140430.dash.1.paneltype.sql',1492953710,NULL),('phabricator:20140430.dash.2.edge.sql',1492953710,NULL),('phabricator:20140501.passphraselockcredential.sql',1492953710,NULL),('phabricator:20140501.remove.1.dlog.sql',1492953710,NULL),('phabricator:20140507.smstable.sql',1492953710,NULL),('phabricator:20140509.coverage.1.sql',1492953710,NULL),('phabricator:20140509.dashboardlayoutconfig.sql',1492953710,NULL),('phabricator:20140512.dparents.1.sql',1492953710,NULL),('phabricator:20140514.harbormasterbuildabletransaction.sql',1492953710,NULL),('phabricator:20140514.pholiomockclose.sql',1492953710,NULL),('phabricator:20140515.trust-emails.sql',1492953710,NULL),('phabricator:20140517.dxbinarycache.sql',1492953710,NULL),('phabricator:20140518.dxmorebinarycache.sql',1492953710,NULL),('phabricator:20140519.dashboardinstall.sql',1492953710,NULL),('phabricator:20140520.authtemptoken.sql',1492953710,NULL),('phabricator:20140521.projectslug.1.create.sql',1492953710,NULL),('phabricator:20140521.projectslug.2.mig.php',1492953710,NULL),('phabricator:20140522.projecticon.sql',1492953710,NULL),('phabricator:20140524.auth.mfa.cache.sql',1492953710,NULL),('phabricator:20140525.hunkmodern.sql',1492953710,NULL),('phabricator:20140615.pholioedit.1.sql',1492953710,NULL),('phabricator:20140615.pholioedit.2.sql',1492953710,NULL),('phabricator:20140617.daemon.explicit-argv.sql',1492953710,NULL),('phabricator:20140617.daemonlog.sql',1492953710,NULL),('phabricator:20140624.projcolor.1.sql',1492953710,NULL),('phabricator:20140624.projcolor.2.sql',1492953710,NULL),('phabricator:20140629.dasharchive.1.sql',1492953710,NULL),('phabricator:20140629.legalsig.1.sql',1492953710,NULL),('phabricator:20140629.legalsig.2.php',1492953710,NULL),('phabricator:20140701.legalexemption.1.sql',1492953710,NULL),('phabricator:20140701.legalexemption.2.sql',1492953710,NULL),('phabricator:20140703.legalcorp.1.sql',1492953710,NULL),('phabricator:20140703.legalcorp.2.sql',1492953710,NULL),('phabricator:20140703.legalcorp.3.sql',1492953710,NULL),('phabricator:20140703.legalcorp.4.sql',1492953710,NULL),('phabricator:20140703.legalcorp.5.sql',1492953710,NULL),('phabricator:20140704.harbormasterstep.1.sql',1492953710,NULL),('phabricator:20140704.harbormasterstep.2.sql',1492953710,NULL),('phabricator:20140704.legalpreamble.1.sql',1492953710,NULL),('phabricator:20140706.harbormasterdepend.1.php',1492953710,NULL),('phabricator:20140706.pedge.1.sql',1492953710,NULL),('phabricator:20140711.pnames.1.sql',1492953710,NULL),('phabricator:20140711.pnames.2.php',1492953710,NULL),('phabricator:20140711.workerpriority.sql',1492953710,NULL),('phabricator:20140712.projcoluniq.sql',1492953710,NULL),('phabricator:20140721.phortune.1.cart.sql',1492953710,NULL),('phabricator:20140721.phortune.2.purchase.sql',1492953710,NULL),('phabricator:20140721.phortune.3.charge.sql',1492953710,NULL),('phabricator:20140721.phortune.4.cartstatus.sql',1492953710,NULL),('phabricator:20140721.phortune.5.cstatusdefault.sql',1492953710,NULL),('phabricator:20140721.phortune.6.onetimecharge.sql',1492953710,NULL),('phabricator:20140721.phortune.7.nullmethod.sql',1492953710,NULL),('phabricator:20140722.appname.php',1492953710,NULL),('phabricator:20140722.audit.1.xactions.sql',1492953710,NULL),('phabricator:20140722.audit.2.comments.sql',1492953710,NULL),('phabricator:20140722.audit.3.miginlines.php',1492953710,NULL),('phabricator:20140722.audit.4.migtext.php',1492953710,NULL),('phabricator:20140722.renameauth.php',1492953710,NULL),('phabricator:20140723.apprenamexaction.sql',1492953710,NULL),('phabricator:20140725.audit.1.migxactions.php',1492953710,NULL),('phabricator:20140731.audit.1.subscribers.php',1492953710,NULL),('phabricator:20140731.cancdn.php',1492953710,NULL),('phabricator:20140731.harbormasterstepdesc.sql',1492953710,NULL),('phabricator:20140805.boardcol.1.sql',1492953710,NULL),('phabricator:20140805.boardcol.2.php',1492953710,NULL),('phabricator:20140807.harbormastertargettime.sql',1492953711,NULL),('phabricator:20140808.boardprop.1.sql',1492953711,NULL),('phabricator:20140808.boardprop.2.sql',1492953711,NULL),('phabricator:20140808.boardprop.3.php',1492953711,NULL),('phabricator:20140811.blob.1.sql',1492953711,NULL),('phabricator:20140811.blob.2.sql',1492953711,NULL),('phabricator:20140812.projkey.1.sql',1492953711,NULL),('phabricator:20140812.projkey.2.sql',1492953711,NULL),('phabricator:20140814.passphrasecredentialconduit.sql',1492953711,NULL),('phabricator:20140815.cancdncase.php',1492953711,NULL),('phabricator:20140818.harbormasterindex.1.sql',1492953711,NULL),('phabricator:20140821.harbormasterbuildgen.1.sql',1492953711,NULL),('phabricator:20140822.daemonenvhash.sql',1492953711,NULL),('phabricator:20140902.almanacdevice.1.sql',1492953711,NULL),('phabricator:20140904.macroattach.php',1492953711,NULL),('phabricator:20140911.fund.1.initiative.sql',1492953711,NULL),('phabricator:20140911.fund.2.xaction.sql',1492953711,NULL),('phabricator:20140911.fund.3.edge.sql',1492953711,NULL),('phabricator:20140911.fund.4.backer.sql',1492953711,NULL),('phabricator:20140911.fund.5.backxaction.sql',1492953711,NULL),('phabricator:20140914.betaproto.php',1492953711,NULL),('phabricator:20140917.project.canlock.sql',1492953711,NULL),('phabricator:20140918.schema.1.dropaudit.sql',1492953711,NULL),('phabricator:20140918.schema.2.dropauditinline.sql',1492953711,NULL),('phabricator:20140918.schema.3.wipecache.sql',1492953711,NULL),('phabricator:20140918.schema.4.cachetype.sql',1492953711,NULL),('phabricator:20140918.schema.5.slowvote.sql',1492953711,NULL),('phabricator:20140919.schema.01.calstatus.sql',1492953711,NULL),('phabricator:20140919.schema.02.calname.sql',1492953711,NULL),('phabricator:20140919.schema.03.dropaux.sql',1492953711,NULL),('phabricator:20140919.schema.04.droptaskproj.sql',1492953711,NULL),('phabricator:20140926.schema.01.droprelev.sql',1492953711,NULL),('phabricator:20140926.schema.02.droprelreqev.sql',1492953711,NULL),('phabricator:20140926.schema.03.dropldapinfo.sql',1492953711,NULL),('phabricator:20140926.schema.04.dropoauthinfo.sql',1492953711,NULL),('phabricator:20140926.schema.05.dropprojaffil.sql',1492953711,NULL),('phabricator:20140926.schema.06.dropsubproject.sql',1492953711,NULL),('phabricator:20140926.schema.07.droppondcom.sql',1492953711,NULL),('phabricator:20140927.schema.01.dropsearchq.sql',1492953711,NULL),('phabricator:20140927.schema.02.pholio1.sql',1492953711,NULL),('phabricator:20140927.schema.03.pholio2.sql',1492953711,NULL),('phabricator:20140927.schema.04.pholio3.sql',1492953711,NULL),('phabricator:20140927.schema.05.phragment1.sql',1492953711,NULL),('phabricator:20140927.schema.06.releeph1.sql',1492953711,NULL),('phabricator:20141001.schema.01.version.sql',1492953711,NULL),('phabricator:20141001.schema.02.taskmail.sql',1492953711,NULL),('phabricator:20141002.schema.01.liskcounter.sql',1492953711,NULL),('phabricator:20141002.schema.02.draftnull.sql',1492953711,NULL),('phabricator:20141004.currency.01.sql',1492953711,NULL),('phabricator:20141004.currency.02.sql',1492953711,NULL),('phabricator:20141004.currency.03.sql',1492953711,NULL),('phabricator:20141004.currency.04.sql',1492953711,NULL),('phabricator:20141004.currency.05.sql',1492953711,NULL),('phabricator:20141004.currency.06.sql',1492953711,NULL),('phabricator:20141004.harborliskcounter.sql',1492953711,NULL),('phabricator:20141005.phortuneproduct.sql',1492953711,NULL),('phabricator:20141006.phortunecart.sql',1492953711,NULL),('phabricator:20141006.phortunemerchant.sql',1492953711,NULL),('phabricator:20141006.phortunemerchantx.sql',1492953711,NULL),('phabricator:20141007.fundmerchant.sql',1492953711,NULL),('phabricator:20141007.fundrisks.sql',1492953711,NULL),('phabricator:20141007.fundtotal.sql',1492953711,NULL),('phabricator:20141007.phortunecartmerchant.sql',1492953711,NULL),('phabricator:20141007.phortunecharge.sql',1492953711,NULL),('phabricator:20141007.phortunepayment.sql',1492953712,NULL),('phabricator:20141007.phortuneprovider.sql',1492953712,NULL),('phabricator:20141007.phortuneproviderx.sql',1492953712,NULL),('phabricator:20141008.phortunemerchdesc.sql',1492953712,NULL),('phabricator:20141008.phortuneprovdis.sql',1492953712,NULL),('phabricator:20141008.phortunerefund.sql',1492953712,NULL),('phabricator:20141010.fundmailkey.sql',1492953712,NULL),('phabricator:20141011.phortunemerchedit.sql',1492953712,NULL),('phabricator:20141012.phortunecartxaction.sql',1492953712,NULL),('phabricator:20141013.phortunecartkey.sql',1492953712,NULL),('phabricator:20141016.almanac.device.sql',1492953712,NULL),('phabricator:20141016.almanac.dxaction.sql',1492953712,NULL),('phabricator:20141016.almanac.interface.sql',1492953712,NULL),('phabricator:20141016.almanac.network.sql',1492953712,NULL),('phabricator:20141016.almanac.nxaction.sql',1492953712,NULL),('phabricator:20141016.almanac.service.sql',1492953712,NULL),('phabricator:20141016.almanac.sxaction.sql',1492953712,NULL),('phabricator:20141017.almanac.binding.sql',1492953712,NULL),('phabricator:20141017.almanac.bxaction.sql',1492953712,NULL),('phabricator:20141025.phriction.1.xaction.sql',1492953712,NULL),('phabricator:20141025.phriction.2.xaction.sql',1492953712,NULL),('phabricator:20141025.phriction.mailkey.sql',1492953712,NULL),('phabricator:20141103.almanac.1.delprop.sql',1492953712,NULL),('phabricator:20141103.almanac.2.addprop.sql',1492953712,NULL),('phabricator:20141104.almanac.3.edge.sql',1492953712,NULL),('phabricator:20141105.ssh.1.rename.sql',1492953712,NULL),('phabricator:20141106.dropold.sql',1492953712,NULL),('phabricator:20141106.uniqdrafts.php',1492953712,NULL),('phabricator:20141107.phriction.policy.1.sql',1492953712,NULL),('phabricator:20141107.phriction.policy.2.php',1492953712,NULL),('phabricator:20141107.phriction.popkeys.php',1492953712,NULL),('phabricator:20141107.ssh.1.colname.sql',1492953712,NULL),('phabricator:20141107.ssh.2.keyhash.sql',1492953712,NULL),('phabricator:20141107.ssh.3.keyindex.sql',1492953712,NULL),('phabricator:20141107.ssh.4.keymig.php',1492953712,NULL),('phabricator:20141107.ssh.5.indexnull.sql',1492953712,NULL),('phabricator:20141107.ssh.6.indexkey.sql',1492953712,NULL),('phabricator:20141107.ssh.7.colnull.sql',1492953712,NULL),('phabricator:20141113.auditdupes.php',1492953712,NULL),('phabricator:20141118.diffxaction.sql',1492953712,NULL),('phabricator:20141119.commitpedge.sql',1492953712,NULL),('phabricator:20141119.differential.diff.policy.sql',1492953712,NULL),('phabricator:20141119.sshtrust.sql',1492953712,NULL),('phabricator:20141123.taskpriority.1.sql',1492953712,NULL),('phabricator:20141123.taskpriority.2.sql',1492953712,NULL),('phabricator:20141210.maniphestsubscribersmig.1.sql',1492953712,NULL),('phabricator:20141210.maniphestsubscribersmig.2.sql',1492953712,NULL),('phabricator:20141210.reposervice.sql',1492953712,NULL),('phabricator:20141212.conduittoken.sql',1492953712,NULL),('phabricator:20141215.almanacservicetype.sql',1492953712,NULL),('phabricator:20141217.almanacdevicelock.sql',1492953712,NULL),('phabricator:20141217.almanaclock.sql',1492953712,NULL),('phabricator:20141218.maniphestcctxn.php',1492953712,NULL),('phabricator:20141222.maniphestprojtxn.php',1492953712,NULL),('phabricator:20141223.daemonloguser.sql',1492953712,NULL),('phabricator:20141223.daemonobjectphid.sql',1492953712,NULL),('phabricator:20141230.pasteeditpolicycolumn.sql',1492953712,NULL),('phabricator:20141230.pasteeditpolicyexisting.sql',1492953712,NULL),('phabricator:20150102.policyname.php',1492953712,NULL),('phabricator:20150102.tasksubscriber.sql',1492953712,NULL),('phabricator:20150105.conpsearch.sql',1492953712,NULL),('phabricator:20150114.oauthserver.client.policy.sql',1492953713,NULL),('phabricator:20150115.applicationemails.sql',1492953713,NULL),('phabricator:20150115.trigger.1.sql',1492953713,NULL),('phabricator:20150115.trigger.2.sql',1492953713,NULL),('phabricator:20150116.maniphestapplicationemails.php',1492953713,NULL),('phabricator:20150120.maniphestdefaultauthor.php',1492953713,NULL),('phabricator:20150124.subs.1.sql',1492953713,NULL),('phabricator:20150129.pastefileapplicationemails.php',1492953713,NULL),('phabricator:20150130.phortune.1.subphid.sql',1492953713,NULL),('phabricator:20150130.phortune.2.subkey.sql',1492953713,NULL),('phabricator:20150131.phortune.1.defaultpayment.sql',1492953713,NULL),('phabricator:20150205.authprovider.autologin.sql',1492953713,NULL),('phabricator:20150205.daemonenv.sql',1492953713,NULL),('phabricator:20150209.invite.sql',1492953713,NULL),('phabricator:20150209.oauthclient.trust.sql',1492953713,NULL),('phabricator:20150210.invitephid.sql',1492953713,NULL),('phabricator:20150212.legalpad.session.1.sql',1492953713,NULL),('phabricator:20150212.legalpad.session.2.sql',1492953713,NULL),('phabricator:20150219.scratch.nonmutable.sql',1492953713,NULL),('phabricator:20150223.daemon.1.id.sql',1492953713,NULL),('phabricator:20150223.daemon.2.idlegacy.sql',1492953713,NULL),('phabricator:20150223.daemon.3.idkey.sql',1492953713,NULL),('phabricator:20150312.filechunk.1.sql',1492953713,NULL),('phabricator:20150312.filechunk.2.sql',1492953713,NULL),('phabricator:20150312.filechunk.3.sql',1492953713,NULL),('phabricator:20150317.conpherence.isroom.1.sql',1492953713,NULL),('phabricator:20150317.conpherence.isroom.2.sql',1492953713,NULL),('phabricator:20150317.conpherence.policy.sql',1492953713,NULL),('phabricator:20150410.nukeruleedit.sql',1492953713,NULL),('phabricator:20150420.invoice.1.sql',1492953713,NULL),('phabricator:20150420.invoice.2.sql',1492953713,NULL),('phabricator:20150425.isclosed.sql',1492953713,NULL),('phabricator:20150427.calendar.1.edge.sql',1492953713,NULL),('phabricator:20150427.calendar.1.xaction.sql',1492953713,NULL),('phabricator:20150427.calendar.2.xaction.sql',1492953713,NULL),('phabricator:20150428.calendar.1.iscancelled.sql',1492953713,NULL),('phabricator:20150428.calendar.1.name.sql',1492953713,NULL),('phabricator:20150429.calendar.1.invitee.sql',1492953713,NULL),('phabricator:20150430.calendar.1.policies.sql',1492953713,NULL),('phabricator:20150430.multimeter.1.sql',1492953713,NULL),('phabricator:20150430.multimeter.2.host.sql',1492953713,NULL),('phabricator:20150430.multimeter.3.viewer.sql',1492953713,NULL),('phabricator:20150430.multimeter.4.context.sql',1492953713,NULL),('phabricator:20150430.multimeter.5.label.sql',1492953713,NULL),('phabricator:20150501.calendar.1.reply.sql',1492953713,NULL),('phabricator:20150501.calendar.2.reply.php',1492953713,NULL),('phabricator:20150501.conpherencepics.sql',1492953713,NULL),('phabricator:20150503.repositorysymbols.1.sql',1492953713,NULL),('phabricator:20150503.repositorysymbols.2.php',1492953713,NULL),('phabricator:20150503.repositorysymbols.3.sql',1492953713,NULL),('phabricator:20150504.symbolsproject.1.php',1492953713,NULL),('phabricator:20150504.symbolsproject.2.sql',1492953713,NULL),('phabricator:20150506.calendarunnamedevents.1.php',1492953713,NULL),('phabricator:20150507.calendar.1.isallday.sql',1492953713,NULL),('phabricator:20150513.user.cache.1.sql',1492953713,NULL),('phabricator:20150514.calendar.status.sql',1492953713,NULL),('phabricator:20150514.phame.blog.xaction.sql',1492953713,NULL),('phabricator:20150514.user.cache.2.sql',1492953713,NULL),('phabricator:20150515.phame.post.xaction.sql',1492953713,NULL),('phabricator:20150515.project.mailkey.1.sql',1492953713,NULL),('phabricator:20150515.project.mailkey.2.php',1492953713,NULL),('phabricator:20150519.calendar.calendaricon.sql',1492953713,NULL),('phabricator:20150521.releephrepository.sql',1492953713,NULL),('phabricator:20150525.diff.hidden.1.sql',1492953713,NULL),('phabricator:20150526.owners.mailkey.1.sql',1492953713,NULL),('phabricator:20150526.owners.mailkey.2.php',1492953713,NULL),('phabricator:20150526.owners.xaction.sql',1492953713,NULL),('phabricator:20150527.calendar.recurringevents.sql',1492953713,NULL),('phabricator:20150601.spaces.1.namespace.sql',1492953713,NULL),('phabricator:20150601.spaces.2.xaction.sql',1492953714,NULL),('phabricator:20150602.mlist.1.sql',1492953714,NULL),('phabricator:20150602.mlist.2.php',1492953714,NULL),('phabricator:20150604.spaces.1.sql',1492953714,NULL),('phabricator:20150605.diviner.edges.sql',1492953714,NULL),('phabricator:20150605.diviner.editPolicy.sql',1492953714,NULL),('phabricator:20150605.diviner.xaction.sql',1492953714,NULL),('phabricator:20150606.mlist.1.php',1492953714,NULL),('phabricator:20150609.inline.sql',1492953714,NULL),('phabricator:20150609.spaces.1.pholio.sql',1492953714,NULL),('phabricator:20150609.spaces.2.maniphest.sql',1492953714,NULL),('phabricator:20150610.spaces.1.desc.sql',1492953714,NULL),('phabricator:20150610.spaces.2.edge.sql',1492953714,NULL),('phabricator:20150610.spaces.3.archive.sql',1492953714,NULL),('phabricator:20150611.spaces.1.mailxaction.sql',1492953714,NULL),('phabricator:20150611.spaces.2.appmail.sql',1492953714,NULL),('phabricator:20150616.divinerrepository.sql',1492953714,NULL),('phabricator:20150617.harbor.1.lint.sql',1492953714,NULL),('phabricator:20150617.harbor.2.unit.sql',1492953714,NULL),('phabricator:20150618.harbor.1.planauto.sql',1492953714,NULL),('phabricator:20150618.harbor.2.stepauto.sql',1492953714,NULL),('phabricator:20150618.harbor.3.buildauto.sql',1492953714,NULL),('phabricator:20150619.conpherencerooms.1.sql',1492953714,NULL),('phabricator:20150619.conpherencerooms.2.sql',1492953714,NULL),('phabricator:20150619.conpherencerooms.3.sql',1492953714,NULL),('phabricator:20150621.phrase.1.sql',1492953714,NULL),('phabricator:20150621.phrase.2.sql',1492953714,NULL),('phabricator:20150622.bulk.1.job.sql',1492953714,NULL),('phabricator:20150622.bulk.2.task.sql',1492953714,NULL),('phabricator:20150622.bulk.3.xaction.sql',1492953714,NULL),('phabricator:20150622.bulk.4.edge.sql',1492953714,NULL),('phabricator:20150622.metamta.1.phid-col.sql',1492953714,NULL),('phabricator:20150622.metamta.2.phid-mig.php',1492953714,NULL),('phabricator:20150622.metamta.3.phid-key.sql',1492953714,NULL),('phabricator:20150622.metamta.4.actor-phid-col.sql',1492953714,NULL),('phabricator:20150622.metamta.5.actor-phid-mig.php',1492953714,NULL),('phabricator:20150622.metamta.6.actor-phid-key.sql',1492953714,NULL),('phabricator:20150624.spaces.1.repo.sql',1492953714,NULL),('phabricator:20150626.spaces.1.calendar.sql',1492953714,NULL),('phabricator:20150630.herald.1.sql',1492953714,NULL),('phabricator:20150630.herald.2.sql',1492953714,NULL),('phabricator:20150701.herald.1.sql',1492953714,NULL),('phabricator:20150701.herald.2.sql',1492953714,NULL),('phabricator:20150702.spaces.1.slowvote.sql',1492953714,NULL),('phabricator:20150706.herald.1.sql',1492953714,NULL),('phabricator:20150707.herald.1.sql',1492953714,NULL),('phabricator:20150708.arcanistproject.sql',1492953714,NULL),('phabricator:20150708.herald.1.sql',1492953714,NULL),('phabricator:20150708.herald.2.sql',1492953714,NULL),('phabricator:20150708.herald.3.sql',1492953714,NULL),('phabricator:20150712.badges.1.sql',1492953714,NULL),('phabricator:20150714.spaces.countdown.1.sql',1492953714,NULL),('phabricator:20150717.herald.1.sql',1492953714,NULL),('phabricator:20150719.countdown.1.sql',1492953714,NULL),('phabricator:20150719.countdown.2.sql',1492953714,NULL),('phabricator:20150719.countdown.3.sql',1492953714,NULL),('phabricator:20150721.phurl.1.url.sql',1492953714,NULL),('phabricator:20150721.phurl.2.xaction.sql',1492953714,NULL),('phabricator:20150721.phurl.3.xactioncomment.sql',1492953714,NULL),('phabricator:20150721.phurl.4.url.sql',1492953714,NULL),('phabricator:20150721.phurl.5.edge.sql',1492953714,NULL),('phabricator:20150721.phurl.6.alias.sql',1492953714,NULL),('phabricator:20150721.phurl.7.authorphid.sql',1492953714,NULL),('phabricator:20150722.dashboard.1.sql',1492953714,NULL),('phabricator:20150722.dashboard.2.sql',1492953714,NULL),('phabricator:20150723.countdown.1.sql',1492953714,NULL),('phabricator:20150724.badges.comments.1.sql',1492953714,NULL),('phabricator:20150724.countdown.comments.1.sql',1492953714,NULL),('phabricator:20150725.badges.mailkey.1.sql',1492953714,NULL),('phabricator:20150725.badges.mailkey.2.php',1492953714,NULL),('phabricator:20150725.badges.viewpolicy.3.sql',1492953714,NULL),('phabricator:20150725.countdown.mailkey.1.sql',1492953714,NULL),('phabricator:20150725.countdown.mailkey.2.php',1492953714,NULL),('phabricator:20150725.slowvote.mailkey.1.sql',1492953714,NULL),('phabricator:20150725.slowvote.mailkey.2.php',1492953714,NULL),('phabricator:20150727.heraldaction.1.sql',1492953715,NULL),('phabricator:20150730.herald.1.sql',1492953715,NULL),('phabricator:20150730.herald.2.sql',1492953715,NULL),('phabricator:20150730.herald.3.sql',1492953715,NULL),('phabricator:20150730.herald.4.sql',1492953715,NULL),('phabricator:20150730.herald.5.sql',1492953715,NULL),('phabricator:20150730.herald.6.sql',1492953715,NULL),('phabricator:20150730.herald.7.sql',1492953715,NULL),('phabricator:20150803.herald.1.sql',1492953715,NULL),('phabricator:20150803.herald.2.sql',1492953715,NULL),('phabricator:20150804.ponder.answer.mailkey.1.sql',1492953715,NULL),('phabricator:20150804.ponder.answer.mailkey.2.php',1492953715,NULL),('phabricator:20150804.ponder.question.1.sql',1492953715,NULL),('phabricator:20150804.ponder.question.2.sql',1492953715,NULL),('phabricator:20150804.ponder.question.3.sql',1492953715,NULL),('phabricator:20150804.ponder.spaces.4.sql',1492953715,NULL),('phabricator:20150805.paste.status.1.sql',1492953715,NULL),('phabricator:20150805.paste.status.2.sql',1492953715,NULL),('phabricator:20150806.ponder.answer.1.sql',1492953715,NULL),('phabricator:20150806.ponder.editpolicy.2.sql',1492953715,NULL),('phabricator:20150806.ponder.status.1.sql',1492953715,NULL),('phabricator:20150806.ponder.status.2.sql',1492953715,NULL),('phabricator:20150806.ponder.status.3.sql',1492953715,NULL),('phabricator:20150808.ponder.vote.1.sql',1492953715,NULL),('phabricator:20150808.ponder.vote.2.sql',1492953715,NULL),('phabricator:20150812.ponder.answer.1.sql',1492953715,NULL),('phabricator:20150812.ponder.answer.2.sql',1492953715,NULL),('phabricator:20150814.harbormater.artifact.phid.sql',1492953715,NULL),('phabricator:20150815.owners.status.1.sql',1492953715,NULL),('phabricator:20150815.owners.status.2.sql',1492953715,NULL),('phabricator:20150823.nuance.queue.1.sql',1492953715,NULL),('phabricator:20150823.nuance.queue.2.sql',1492953715,NULL),('phabricator:20150823.nuance.queue.3.sql',1492953715,NULL),('phabricator:20150823.nuance.queue.4.sql',1492953715,NULL),('phabricator:20150828.ponder.wiki.1.sql',1492953715,NULL),('phabricator:20150829.ponder.dupe.1.sql',1492953715,NULL),('phabricator:20150904.herald.1.sql',1492953715,NULL),('phabricator:20150906.mailinglist.sql',1492953715,NULL),('phabricator:20150910.owners.custom.1.sql',1492953715,NULL),('phabricator:20150916.drydock.slotlocks.1.sql',1492953715,NULL),('phabricator:20150922.drydock.commands.1.sql',1492953715,NULL),('phabricator:20150923.drydock.resourceid.1.sql',1492953715,NULL),('phabricator:20150923.drydock.resourceid.2.sql',1492953715,NULL),('phabricator:20150923.drydock.resourceid.3.sql',1492953715,NULL),('phabricator:20150923.drydock.taskid.1.sql',1492953715,NULL),('phabricator:20150924.drydock.disable.1.sql',1492953715,NULL),('phabricator:20150924.drydock.status.1.sql',1492953715,NULL),('phabricator:20150928.drydock.rexpire.1.sql',1492953715,NULL),('phabricator:20150930.drydock.log.1.sql',1492953715,NULL),('phabricator:20151001.drydock.rname.1.sql',1492953715,NULL),('phabricator:20151002.dashboard.status.1.sql',1492953715,NULL),('phabricator:20151002.harbormaster.bparam.1.sql',1492953715,NULL),('phabricator:20151009.drydock.auth.1.sql',1492953715,NULL),('phabricator:20151010.drydock.auth.2.sql',1492953715,NULL),('phabricator:20151013.drydock.op.1.sql',1492953715,NULL),('phabricator:20151023.harborpolicy.1.sql',1492953715,NULL),('phabricator:20151023.harborpolicy.2.php',1492953715,NULL),('phabricator:20151023.patchduration.sql',1492953715,13609),('phabricator:20151030.harbormaster.initiator.sql',1492953715,29433),('phabricator:20151106.editengine.1.table.sql',1492953715,8624),('phabricator:20151106.editengine.2.xactions.sql',1492953715,6593),('phabricator:20151106.phame.post.mailkey.1.sql',1492953715,19247),('phabricator:20151106.phame.post.mailkey.2.php',1492953715,1219),('phabricator:20151107.phame.blog.mailkey.1.sql',1492953715,37986),('phabricator:20151107.phame.blog.mailkey.2.php',1492953715,704),('phabricator:20151108.phame.blog.joinpolicy.sql',1492953715,44574),('phabricator:20151108.xhpast.stderr.sql',1492953715,43870),('phabricator:20151109.phame.post.comments.1.sql',1492953716,7807),('phabricator:20151109.repository.coverage.1.sql',1492953716,943),('phabricator:20151109.xhpast.db.1.sql',1492953716,1093),('phabricator:20151109.xhpast.db.2.sql',1492953716,490),('phabricator:20151110.daemonenvhash.sql',1492953716,34291),('phabricator:20151111.phame.blog.archive.1.sql',1492953716,17601),('phabricator:20151111.phame.blog.archive.2.sql',1492953716,398),('phabricator:20151112.herald.edge.sql',1492953716,15285),('phabricator:20151116.owners.edge.sql',1492953716,13252),('phabricator:20151128.phame.blog.picture.1.sql',1492953716,18001),('phabricator:20151130.phurl.mailkey.1.sql',1492953716,11335),('phabricator:20151130.phurl.mailkey.2.php',1492953716,992),('phabricator:20151202.versioneddraft.1.sql',1492953716,7153),('phabricator:20151207.editengine.1.sql',1492953716,72200),('phabricator:20151210.land.1.refphid.sql',1492953716,13730),('phabricator:20151210.land.2.refphid.php',1492953716,629),('phabricator:20151215.phame.1.autotitle.sql',1492953716,19593),('phabricator:20151218.key.1.keyphid.sql',1492953716,14029),('phabricator:20151218.key.2.keyphid.php',1492953716,375),('phabricator:20151219.proj.01.prislug.sql',1492953716,21886),('phabricator:20151219.proj.02.prislugkey.sql',1492953716,12589),('phabricator:20151219.proj.03.copyslug.sql',1492953716,388),('phabricator:20151219.proj.04.dropslugkey.sql',1492953716,6623),('phabricator:20151219.proj.05.dropslug.sql',1492953716,19905),('phabricator:20151219.proj.06.defaultpolicy.php',1492953716,795),('phabricator:20151219.proj.07.viewnull.sql',1492953716,17884),('phabricator:20151219.proj.08.editnull.sql',1492953716,10628),('phabricator:20151219.proj.09.joinnull.sql',1492953716,9450),('phabricator:20151219.proj.10.subcolumns.sql',1492953716,141357),('phabricator:20151219.proj.11.subprojectphids.sql',1492953716,22236),('phabricator:20151221.search.1.version.sql',1492953716,10587),('phabricator:20151221.search.2.ownersngrams.sql',1492953716,7323),('phabricator:20151221.search.3.reindex.php',1492953716,310),('phabricator:20151223.proj.01.paths.sql',1492953716,21893),('phabricator:20151223.proj.02.depths.sql',1492953716,28023),('phabricator:20151223.proj.03.pathkey.sql',1492953716,13779),('phabricator:20151223.proj.04.keycol.sql',1492953716,29651),('phabricator:20151223.proj.05.updatekeys.php',1492953716,375),('phabricator:20151223.proj.06.uniq.sql',1492953716,11845),('phabricator:20151226.reop.1.sql',1492953716,17667),('phabricator:20151227.proj.01.materialize.sql',1492953716,422),('phabricator:20151231.proj.01.icon.php',1492953716,1539),('phabricator:20160102.badges.award.sql',1492953716,8429),('phabricator:20160110.repo.01.slug.sql',1492953716,36030),('phabricator:20160110.repo.02.slug.php',1492953716,407),('phabricator:20160111.repo.01.slugx.sql',1492953716,639),('phabricator:20160112.repo.01.uri.sql',1492953716,9469),('phabricator:20160112.repo.02.uri.index.php',1492953716,80),('phabricator:20160113.propanel.1.storage.sql',1492953716,6940),('phabricator:20160113.propanel.2.xaction.sql',1492953716,7108),('phabricator:20160119.project.1.silence.sql',1492953716,457),('phabricator:20160122.project.1.boarddefault.php',1492953716,755),('phabricator:20160124.people.1.icon.sql',1492953716,12766),('phabricator:20160124.people.2.icondefault.sql',1492953716,351),('phabricator:20160128.repo.1.pull.sql',1492953716,9469),('phabricator:20160201.revision.properties.1.sql',1492953716,17863),('phabricator:20160201.revision.properties.2.sql',1492953716,370),('phabricator:20160202.board.1.proxy.sql',1492953716,18324),('phabricator:20160202.ipv6.1.sql',1492953716,18661),('phabricator:20160202.ipv6.2.php',1492953716,1141),('phabricator:20160206.cover.1.sql',1492953716,40105),('phabricator:20160208.task.1.sql',1492953716,35042),('phabricator:20160208.task.2.sql',1492953716,32770),('phabricator:20160208.task.3.sql',1492953716,34137),('phabricator:20160212.proj.1.sql',1492953717,29561),('phabricator:20160212.proj.2.sql',1492953717,314),('phabricator:20160215.owners.policy.1.sql',1492953717,18003),('phabricator:20160215.owners.policy.2.sql',1492953717,17598),('phabricator:20160215.owners.policy.3.sql',1492953717,387),('phabricator:20160215.owners.policy.4.sql',1492953717,291),('phabricator:20160218.callsigns.1.sql',1492953717,10721),('phabricator:20160221.almanac.1.devicen.sql',1492953717,8045),('phabricator:20160221.almanac.2.devicei.php',1492953717,965),('phabricator:20160221.almanac.3.servicen.sql',1492953717,5846),('phabricator:20160221.almanac.4.servicei.php',1492953717,510),('phabricator:20160221.almanac.5.networkn.sql',1492953717,6516),('phabricator:20160221.almanac.6.networki.php',1492953717,813),('phabricator:20160221.almanac.7.namespacen.sql',1492953717,6664),('phabricator:20160221.almanac.8.namespace.sql',1492953717,7358),('phabricator:20160221.almanac.9.namespacex.sql',1492953717,7375),('phabricator:20160222.almanac.1.properties.php',1492953717,1075),('phabricator:20160223.almanac.1.bound.sql',1492953717,15258),('phabricator:20160223.almanac.2.lockbind.sql',1492953717,363),('phabricator:20160223.almanac.3.devicelock.sql',1492953717,28139),('phabricator:20160223.almanac.4.servicelock.sql',1492953717,24328),('phabricator:20160223.paste.fileedges.php',1492953717,552),('phabricator:20160225.almanac.1.disablebinding.sql',1492953717,20577),('phabricator:20160225.almanac.2.stype.sql',1492953717,6572),('phabricator:20160225.almanac.3.stype.php',1492953717,402),('phabricator:20160227.harbormaster.1.plann.sql',1492953717,8121),('phabricator:20160227.harbormaster.2.plani.php',1492953717,346),('phabricator:20160303.drydock.1.bluen.sql',1492953717,7287),('phabricator:20160303.drydock.2.bluei.php',1492953717,355),('phabricator:20160303.drydock.3.edge.sql',1492953717,13334),('phabricator:20160308.nuance.01.disabled.sql',1492953717,16961),('phabricator:20160308.nuance.02.cursordata.sql',1492953717,7361),('phabricator:20160308.nuance.03.sourcen.sql',1492953717,6397),('phabricator:20160308.nuance.04.sourcei.php',1492953717,1144),('phabricator:20160308.nuance.05.sourcename.sql',1492953717,11455),('phabricator:20160308.nuance.06.label.sql',1492953717,18960),('phabricator:20160308.nuance.07.itemtype.sql',1492953717,22009),('phabricator:20160308.nuance.08.itemkey.sql',1492953717,21836),('phabricator:20160308.nuance.09.itemcontainer.sql',1492953717,21988),('phabricator:20160308.nuance.10.itemkeyu.sql',1492953717,366),('phabricator:20160308.nuance.11.requestor.sql',1492953717,11681),('phabricator:20160308.nuance.12.queue.sql',1492953717,22125),('phabricator:20160316.lfs.01.token.resource.sql',1492953717,19283),('phabricator:20160316.lfs.02.token.user.sql',1492953717,16100),('phabricator:20160316.lfs.03.token.properties.sql',1492953717,16663),('phabricator:20160316.lfs.04.token.default.sql',1492953717,369),('phabricator:20160317.lfs.01.ref.sql',1492953717,6665),('phabricator:20160321.nuance.01.taskbridge.sql',1492953717,29611),('phabricator:20160322.nuance.01.itemcommand.sql',1492953717,8177),('phabricator:20160323.badgemigrate.sql',1492953717,884),('phabricator:20160329.nuance.01.requestor.sql',1492953717,1317),('phabricator:20160329.nuance.02.requestorsource.sql',1492953717,1457),('phabricator:20160329.nuance.03.requestorxaction.sql',1492953717,1284),('phabricator:20160329.nuance.04.requestorcomment.sql',1492953717,1283),('phabricator:20160330.badges.migratequality.sql',1492953717,11262),('phabricator:20160330.badges.qualityxaction.mig.sql',1492953717,1541),('phabricator:20160331.fund.comments.1.sql',1492953717,6270),('phabricator:20160404.oauth.1.xaction.sql',1492953717,5694),('phabricator:20160405.oauth.2.disable.sql',1492953717,13715),('phabricator:20160406.badges.ngrams.php',1492953717,526),('phabricator:20160406.badges.ngrams.sql',1492953717,11583),('phabricator:20160406.columns.1.php',1492953717,524),('phabricator:20160411.repo.1.version.sql',1492953717,5926),('phabricator:20160418.repouri.1.sql',1492953717,5583),('phabricator:20160418.repouri.2.sql',1492953717,10524),('phabricator:20160418.repoversion.1.sql',1492953717,13780),('phabricator:20160419.pushlog.1.sql',1492953717,25781),('phabricator:20160424.locks.1.sql',1492953717,14645),('phabricator:20160426.searchedge.sql',1492953717,13370),('phabricator:20160428.repo.1.urixaction.sql',1492953717,7961),('phabricator:20160503.repo.01.lpath.sql',1492953717,62415),('phabricator:20160503.repo.02.lpathkey.sql',1492953717,25518),('phabricator:20160503.repo.03.lpathmigrate.php',1492953717,556),('phabricator:20160503.repo.04.mirrormigrate.php',1492953717,493),('phabricator:20160503.repo.05.urimigrate.php',1492953717,418),('phabricator:20160510.repo.01.uriindex.php',1492953717,4833),('phabricator:20160513.owners.01.autoreview.sql',1492953717,32054),('phabricator:20160513.owners.02.autoreviewnone.sql',1492953717,499),('phabricator:20160516.owners.01.dominion.sql',1492953717,14616),('phabricator:20160516.owners.02.dominionstrong.sql',1492953717,323),('phabricator:20160517.oauth.01.edge.sql',1492953717,11629),('phabricator:20160518.ssh.01.activecol.sql',1492953717,13262),('phabricator:20160518.ssh.02.activeval.sql',1492953717,282),('phabricator:20160518.ssh.03.activekey.sql',1492953717,21706),('phabricator:20160519.ssh.01.xaction.sql',1492953717,8147),('phabricator:20160531.pref.01.xaction.sql',1492953717,6483),('phabricator:20160531.pref.02.datecreatecol.sql',1492953717,12856),('phabricator:20160531.pref.03.datemodcol.sql',1492953717,14408),('phabricator:20160531.pref.04.datecreateval.sql',1492953717,367),('phabricator:20160531.pref.05.datemodval.sql',1492953717,298),('phabricator:20160531.pref.06.phidcol.sql',1492953717,16950),('phabricator:20160531.pref.07.phidval.php',1492953717,603),('phabricator:20160601.user.01.cache.sql',1492953717,8935),('phabricator:20160601.user.02.copyprefs.php',1492953717,1423),('phabricator:20160601.user.03.removetime.sql',1492953718,20344),('phabricator:20160601.user.04.removetranslation.sql',1492953718,21336),('phabricator:20160601.user.05.removesex.sql',1492953718,23471),('phabricator:20160603.user.01.removedcenabled.sql',1492953718,20090),('phabricator:20160603.user.02.removedctab.sql',1492953718,19685),('phabricator:20160603.user.03.removedcvisible.sql',1492953718,20696),('phabricator:20160604.user.01.stringmailprefs.php',1492953718,457),('phabricator:20160604.user.02.removeimagecache.sql',1492953718,19842),('phabricator:20160605.user.01.prefnulluser.sql',1492953718,12045),('phabricator:20160605.user.02.prefbuiltin.sql',1492953718,12871),('phabricator:20160605.user.03.builtinunique.sql',1492953718,10637),('phabricator:20160616.phame.blog.header.1.sql',1492953718,15672),('phabricator:20160616.repo.01.oldref.sql',1492953718,6173),('phabricator:20160617.harbormaster.01.arelease.sql',1492953718,15915),('phabricator:20160618.phame.blog.subtitle.sql',1492953718,15243),('phabricator:20160620.phame.blog.parentdomain.2.sql',1492953718,15398),('phabricator:20160620.phame.blog.parentsite.1.sql',1492953718,16059),('phabricator:20160623.phame.blog.fulldomain.1.sql',1492953718,16216),('phabricator:20160623.phame.blog.fulldomain.2.sql',1492953718,383),('phabricator:20160623.phame.blog.fulldomain.3.sql',1492953718,427),('phabricator:20160706.phame.blog.parentdomain.2.sql',1492953718,17416),('phabricator:20160706.phame.blog.parentsite.1.sql',1492953718,15821),('phabricator:20160707.calendar.01.stub.sql',1492953718,15805),('phabricator:20160711.files.01.builtin.sql',1492953718,23541),('phabricator:20160711.files.02.builtinkey.sql',1492953718,11421),('phabricator:20160713.event.01.host.sql',1492953718,11510),('phabricator:20160715.event.01.alldayfrom.sql',1492953718,17347),('phabricator:20160715.event.02.alldayto.sql',1492953718,16771),('phabricator:20160715.event.03.allday.php',1492953718,65),('phabricator:20160720.calendar.invitetxn.php',1492953718,1008),('phabricator:20160721.pack.01.pub.sql',1492953718,11271),('phabricator:20160721.pack.02.pubxaction.sql',1492953718,7364),('phabricator:20160721.pack.03.edge.sql',1492953718,13426),('phabricator:20160721.pack.04.pkg.sql',1492953718,7126),('phabricator:20160721.pack.05.pkgxaction.sql',1492953718,6996),('phabricator:20160721.pack.06.version.sql',1492953718,7508),('phabricator:20160721.pack.07.versionxaction.sql',1492953718,7013),('phabricator:20160722.pack.01.pubngrams.sql',1492953718,6915),('phabricator:20160722.pack.02.pkgngrams.sql',1492953718,7627),('phabricator:20160722.pack.03.versionngrams.sql',1492953718,7239),('phabricator:20160810.commit.01.summarylength.sql',1492953718,11762),('phabricator:20160824.connectionlog.sql',1492953718,1222),('phabricator:20160824.repohint.01.hint.sql',1492953718,6193),('phabricator:20160824.repohint.02.movebad.php',1492953718,459),('phabricator:20160824.repohint.03.nukebad.sql',1492953718,1167),('phabricator:20160825.ponder.sql',1492953718,719),('phabricator:20160829.pastebin.01.language.sql',1492953718,10809),('phabricator:20160829.pastebin.02.language.sql',1492953718,514),('phabricator:20160913.conpherence.topic.1.sql',1492953718,11994),('phabricator:20160919.repo.messagecount.sql',1492953718,13142),('phabricator:20160919.repo.messagedefault.sql',1492953718,7514),('phabricator:20160921.fileexternalrequest.sql',1492953718,6953),('phabricator:20160927.phurl.ngrams.php',1492953718,375),('phabricator:20160927.phurl.ngrams.sql',1492953718,7421),('phabricator:20160928.repo.messagecount.sql',1492953718,381),('phabricator:20160928.tokentoken.sql',1492953718,6865),('phabricator:20161003.cal.01.utcepoch.sql',1492953718,55561),('phabricator:20161003.cal.02.parameters.sql',1492953718,16511),('phabricator:20161004.cal.01.noepoch.php',1492953718,1626),('phabricator:20161005.cal.01.rrules.php',1492953718,276),('phabricator:20161005.cal.02.export.sql',1492953718,9626),('phabricator:20161005.cal.03.exportxaction.sql',1492953718,7148),('phabricator:20161005.conpherence.image.1.sql',1492953718,12044),('phabricator:20161005.conpherence.image.2.php',1492953718,340),('phabricator:20161011.conpherence.ngrams.php',1492953718,313),('phabricator:20161011.conpherence.ngrams.sql',1492953718,9940),('phabricator:20161012.cal.01.import.sql',1492953718,7387),('phabricator:20161012.cal.02.importxaction.sql',1492953718,6560),('phabricator:20161012.cal.03.eventimport.sql',1492953718,64748),('phabricator:20161013.cal.01.importlog.sql',1492953718,6363),('phabricator:20161016.conpherence.imagephids.sql',1492953718,11462),('phabricator:20161025.phortune.contact.1.sql',1492953718,13783),('phabricator:20161025.phortune.merchant.image.1.sql',1492953718,12905),('phabricator:20161026.calendar.01.importtriggers.sql',1492953718,29953),('phabricator:20161027.calendar.01.externalinvitee.sql',1492953718,7485),('phabricator:20161029.phortune.invoice.1.sql',1492953718,36760),('phabricator:20161031.calendar.01.seriesparent.sql',1492953718,18327),('phabricator:20161031.calendar.02.notifylog.sql',1492953718,8078),('phabricator:20161101.calendar.01.noholiday.sql',1492953718,1286),('phabricator:20161101.calendar.02.removecolumns.sql',1492953719,93220),('phabricator:20161104.calendar.01.availability.sql',1492953719,16257),('phabricator:20161104.calendar.02.availdefault.sql',1492953719,430),('phabricator:20161115.phamepost.01.subtitle.sql',1492953719,17588),('phabricator:20161115.phamepost.02.header.sql',1492953719,16388),('phabricator:20161121.cluster.01.hoststate.sql',1492953719,8311),('phabricator:20161124.search.01.stopwords.sql',1492953719,7121),('phabricator:20161125.search.01.stemmed.sql',1492953719,6287),('phabricator:20161130.search.01.manual.sql',1492953719,6232),('phabricator:20161130.search.02.rebuild.php',1492953719,2751),('phabricator:20161210.dashboards.01.author.sql',1492953719,12555),('phabricator:20161210.dashboards.02.author.php',1492953719,746),('phabricator:20161211.menu.01.itemkey.sql',1492953719,8205),('phabricator:20161211.menu.02.itemprops.sql',1492953719,6574),('phabricator:20161211.menu.03.order.sql',1492953719,5930),('phabricator:20161212.dashboardpanel.01.author.sql',1492953719,11841),('phabricator:20161212.dashboardpanel.02.author.php',1492953719,730),('phabricator:20161212.dashboards.01.icon.sql',1492953719,14194),('phabricator:20161213.diff.01.hunks.php',1492953719,542),('phabricator:20161216.dashboard.ngram.01.sql',1492953719,15640),('phabricator:20161216.dashboard.ngram.02.php',1492953719,675),('phabricator:20170106.menu.01.customphd.sql',1492953719,12003),('phabricator:20170109.diff.01.commit.sql',1492953719,16340),('phabricator:20170119.menuitem.motivator.01.php',1492953719,219),('phabricator:20170131.dashboard.personal.01.php',1492953719,672),('phabricator:20170301.subtype.01.col.sql',1492953719,16642),('phabricator:20170301.subtype.02.default.sql',1492953719,394),('phabricator:20170301.subtype.03.taskcol.sql',1492953719,28706),('phabricator:20170301.subtype.04.taskdefault.sql',1492953719,375),('phabricator:20170303.people.01.avatar.sql',1492953719,50756),('phabricator:20170313.reviewers.01.sql',1492953719,9787),('phabricator:20170316.rawfiles.01.php',1492953719,993),('phabricator:20170320.reviewers.01.lastaction.sql',1492953719,13463),('phabricator:20170320.reviewers.02.lastcomment.sql',1492953719,16623),('phabricator:20170320.reviewers.03.migrate.php',1492953719,787),('phabricator:20170322.reviewers.04.actor.sql',1492953719,19471),('phabricator:20170328.reviewers.01.void.sql',1492953719,15326),('phabricator:20170406.hmac.01.keystore.sql',1492953719,7476),('phabricator:20170410.calendar.01.repair.php',1492953719,445),('phabricator:20170412.conpherence.01.picturecrop.sql',1492953719,287),('phabricator:20170413.conpherence.01.recentparty.sql',1492953719,11813),('phabricator:20170417.files.ngrams.sql',1492953719,9145),('phabricator:20170418.1.application.01.xaction.sql',1492953719,6782),('phabricator:20170418.1.application.02.edge.sql',1492953719,12783),('phabricator:20170418.files.isDeleted.sql',1492953719,26882),('phabricator:20170419.app.01.table.sql',1492953719,9433),('phabricator:20170419.thread.01.behind.sql',1492953719,17501),('phabricator:20170419.thread.02.status.sql',1492953719,18503),('phabricator:20170419.thread.03.touched.sql',1492953719,20247),('phabricator:daemonstatus.sql',1492953704,NULL),('phabricator:daemonstatuskey.sql',1492953704,NULL),('phabricator:daemontaskarchive.sql',1492953705,NULL),('phabricator:db.almanac',1492953699,NULL),('phabricator:db.application',1492953699,NULL),('phabricator:db.audit',1492953699,NULL),('phabricator:db.auth',1492953699,NULL),('phabricator:db.badges',1492953699,NULL),('phabricator:db.cache',1492953699,NULL),('phabricator:db.calendar',1492953699,NULL),('phabricator:db.chatlog',1492953699,NULL),('phabricator:db.conduit',1492953699,NULL),('phabricator:db.config',1492953699,NULL),('phabricator:db.conpherence',1492953699,NULL),('phabricator:db.countdown',1492953699,NULL),('phabricator:db.daemon',1492953699,NULL),('phabricator:db.dashboard',1492953699,NULL),('phabricator:db.differential',1492953699,NULL),('phabricator:db.diviner',1492953699,NULL),('phabricator:db.doorkeeper',1492953699,NULL),('phabricator:db.draft',1492953699,NULL),('phabricator:db.drydock',1492953699,NULL),('phabricator:db.fact',1492953699,NULL),('phabricator:db.feed',1492953699,NULL),('phabricator:db.file',1492953699,NULL),('phabricator:db.flag',1492953699,NULL),('phabricator:db.fund',1492953699,NULL),('phabricator:db.harbormaster',1492953699,NULL),('phabricator:db.herald',1492953699,NULL),('phabricator:db.legalpad',1492953699,NULL),('phabricator:db.maniphest',1492953699,NULL),('phabricator:db.meta_data',1492953699,NULL),('phabricator:db.metamta',1492953699,NULL),('phabricator:db.multimeter',1492953699,NULL),('phabricator:db.nuance',1492953699,NULL),('phabricator:db.oauth_server',1492953699,NULL),('phabricator:db.owners',1492953699,NULL),('phabricator:db.packages',1492953699,NULL),('phabricator:db.passphrase',1492953699,NULL),('phabricator:db.pastebin',1492953699,NULL),('phabricator:db.phame',1492953699,NULL),('phabricator:db.phlux',1492953699,NULL),('phabricator:db.pholio',1492953699,NULL),('phabricator:db.phortune',1492953699,NULL),('phabricator:db.phragment',1492953699,NULL),('phabricator:db.phrequent',1492953699,NULL),('phabricator:db.phriction',1492953699,NULL),('phabricator:db.phurl',1492953699,NULL),('phabricator:db.policy',1492953699,NULL),('phabricator:db.ponder',1492953699,NULL),('phabricator:db.project',1492953699,NULL),('phabricator:db.releeph',1492953699,NULL),('phabricator:db.repository',1492953699,NULL),('phabricator:db.search',1492953699,NULL),('phabricator:db.slowvote',1492953699,NULL),('phabricator:db.spaces',1492953699,NULL),('phabricator:db.system',1492953699,NULL),('phabricator:db.timeline',1492953699,NULL),('phabricator:db.token',1492953699,NULL),('phabricator:db.user',1492953699,NULL),('phabricator:db.worker',1492953699,NULL),('phabricator:db.xhpast',1492953699,NULL),('phabricator:db.xhpastview',1492953699,NULL),('phabricator:db.xhprof',1492953699,NULL),('phabricator:differentialbookmarks.sql',1492953704,NULL),('phabricator:draft-metadata.sql',1492953704,NULL),('phabricator:dropfileproxyimage.sql',1492953705,NULL),('phabricator:drydockresoucetype.sql',1492953705,NULL),('phabricator:drydocktaskid.sql',1492953705,NULL),('phabricator:edgetype.sql',1492953704,NULL),('phabricator:emailtable.sql',1492953704,NULL),('phabricator:emailtableport.sql',1492953704,NULL),('phabricator:emailtableremove.sql',1492953704,NULL),('phabricator:fact-raw.sql',1492953704,NULL),('phabricator:harbormasterobject.sql',1492953704,NULL),('phabricator:holidays.sql',1492953704,NULL),('phabricator:ldapinfo.sql',1492953704,NULL),('phabricator:legalpad-mailkey-populate.php',1492953706,NULL),('phabricator:legalpad-mailkey.sql',1492953706,NULL),('phabricator:liskcounters-task.sql',1492953705,NULL),('phabricator:liskcounters.php',1492953705,NULL),('phabricator:liskcounters.sql',1492953705,NULL),('phabricator:maniphestxcache.sql',1492953704,NULL),('phabricator:markupcache.sql',1492953704,NULL),('phabricator:migrate-differential-dependencies.php',1492953704,NULL),('phabricator:migrate-maniphest-dependencies.php',1492953704,NULL),('phabricator:migrate-maniphest-revisions.php',1492953704,NULL),('phabricator:migrate-project-edges.php',1492953704,NULL),('phabricator:owners-exclude.sql',1492953705,NULL),('phabricator:pastepolicy.sql',1492953704,NULL),('phabricator:phameblog.sql',1492953704,NULL),('phabricator:phamedomain.sql',1492953704,NULL),('phabricator:phameoneblog.sql',1492953705,NULL),('phabricator:phamepolicy.sql',1492953704,NULL),('phabricator:phiddrop.sql',1492953704,NULL),('phabricator:pholio.sql',1492953705,NULL),('phabricator:policy-project.sql',1492953704,NULL),('phabricator:ponder-comments.sql',1492953704,NULL),('phabricator:ponder-mailkey-populate.php',1492953704,NULL),('phabricator:ponder-mailkey.sql',1492953704,NULL),('phabricator:ponder.sql',1492953704,NULL),('phabricator:releeph.sql',1492953705,NULL),('phabricator:repository-lint.sql',1492953705,NULL),('phabricator:statustxt.sql',1492953705,NULL),('phabricator:symbolcontexts.sql',1492953704,NULL),('phabricator:testdatabase.sql',1492953704,NULL),('phabricator:threadtopic.sql',1492953704,NULL),('phabricator:userstatus.sql',1492953704,NULL),('phabricator:usertranslation.sql',1492953704,NULL),('phabricator:xhprof.sql',1492953704,NULL); CREATE DATABASE /*!32312 IF NOT EXISTS*/ `{$NAMESPACE}_metamta` /*!40100 DEFAULT CHARACTER SET {$CHARSET} COLLATE {$COLLATE_TEXT} */; @@ -1737,7 +1895,7 @@ CREATE TABLE `metamta_applicationemail` ( UNIQUE KEY `key_phid` (`phid`), KEY `key_application` (`applicationPHID`), KEY `key_space` (`spacePHID`) -) ENGINE=MyISAM DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `metamta_applicationemailtransaction` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, @@ -2057,7 +2215,7 @@ CREATE TABLE `pastebin_paste` ( `filePHID` varbinary(64) NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, - `language` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `language` varchar(64) COLLATE {$COLLATE_TEXT} DEFAULT NULL, `parentPHID` varbinary(64) DEFAULT NULL, `viewPolicy` varbinary(64) DEFAULT NULL, `editPolicy` varbinary(64) NOT NULL, @@ -2153,8 +2311,8 @@ CREATE TABLE `phame_blog` ( `profileImagePHID` varbinary(64) DEFAULT NULL, `headerImagePHID` varbinary(64) DEFAULT NULL, `subtitle` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, - `parentDomain` varchar(128) COLLATE {$COLLATE_TEXT} NOT NULL, - `parentSite` varchar(128) COLLATE {$COLLATE_TEXT} NOT NULL, + `parentDomain` varchar(128) COLLATE {$COLLATE_TEXT} DEFAULT NULL, + `parentSite` varchar(128) COLLATE {$COLLATE_TEXT} DEFAULT NULL, `domainFullURI` varchar(128) COLLATE {$COLLATE_TEXT} DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`), @@ -2196,6 +2354,8 @@ CREATE TABLE `phame_post` ( `dateModified` int(10) unsigned NOT NULL, `blogPHID` varbinary(64) DEFAULT NULL, `mailKey` binary(20) NOT NULL, + `subtitle` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `headerImagePHID` varbinary(64) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`), KEY `bloggerPosts` (`bloggerPHID`,`visibility`,`datePublished`,`id`) @@ -2577,12 +2737,6 @@ CREATE TABLE `repository_auditrequest` ( KEY `auditorPHID` (`auditorPHID`,`auditStatus`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; -CREATE TABLE `repository_badcommit` ( - `fullCommitName` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, - `description` longtext COLLATE {$COLLATE_TEXT} NOT NULL, - PRIMARY KEY (`fullCommitName`) -) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; - CREATE TABLE `repository_branch` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `repositoryID` int(10) unsigned NOT NULL, @@ -2603,7 +2757,7 @@ CREATE TABLE `repository_commit` ( `mailKey` binary(20) NOT NULL, `authorPHID` varbinary(64) DEFAULT NULL, `auditStatus` int(10) unsigned NOT NULL, - `summary` varchar(80) COLLATE {$COLLATE_TEXT} NOT NULL, + `summary` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, `importStatus` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`), @@ -2625,6 +2779,16 @@ CREATE TABLE `repository_commitdata` ( UNIQUE KEY `commitID` (`commitID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `repository_commithint` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `repositoryPHID` varbinary(64) NOT NULL, + `oldCommitIdentifier` varchar(40) COLLATE {$COLLATE_TEXT} NOT NULL, + `newCommitIdentifier` varchar(40) COLLATE {$COLLATE_TEXT} DEFAULT NULL, + `hintType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_old` (`repositoryPHID`,`oldCommitIdentifier`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `repository_coverage` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `branchID` int(10) unsigned NOT NULL, @@ -2806,6 +2970,7 @@ CREATE TABLE `repository_statusmessage` ( `statusCode` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, `parameters` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `epoch` int(10) unsigned NOT NULL, + `messageCount` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `repositoryID` (`repositoryID`,`statusType`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -2950,7 +3115,8 @@ CREATE TABLE `search_document` ( `documentCreated` int(10) unsigned NOT NULL, `documentModified` int(10) unsigned NOT NULL, PRIMARY KEY (`phid`), - KEY `documentCreated` (`documentCreated`) + KEY `documentCreated` (`documentCreated`), + KEY `key_type` (`documentType`,`documentCreated`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `search_documentfield` ( @@ -2959,8 +3125,9 @@ CREATE TABLE `search_documentfield` ( `field` varchar(4) COLLATE {$COLLATE_TEXT} NOT NULL, `auxPHID` varbinary(64) DEFAULT NULL, `corpus` longtext CHARACTER SET {$CHARSET_FULLTEXT} COLLATE {$COLLATE_FULLTEXT}, + `stemmedCorpus` longtext CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT}, KEY `phid` (`phid`), - FULLTEXT KEY `corpus` (`corpus`) + FULLTEXT KEY `key_corpus` (`corpus`,`stemmedCorpus`) ) ENGINE=MyISAM DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `search_documentrelationship` ( @@ -2989,6 +3156,7 @@ CREATE TABLE `search_editengineconfiguration` ( `isEdit` tinyint(1) NOT NULL, `createOrder` int(10) unsigned NOT NULL, `editOrder` int(10) unsigned NOT NULL, + `subtype` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`), UNIQUE KEY `key_engine` (`engineKey`,`builtinKey`), @@ -3045,16 +3213,17 @@ CREATE TABLE `search_profilepanelconfiguration` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, `profilePHID` varbinary(64) NOT NULL, - `panelKey` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `menuItemKey` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, `builtinKey` varchar(64) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `panelOrder` int(10) unsigned DEFAULT NULL, + `menuItemOrder` int(10) unsigned DEFAULT NULL, `visibility` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, - `panelProperties` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `menuItemProperties` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, + `customPHID` varbinary(64) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`), - KEY `key_profile` (`profilePHID`,`panelOrder`) + KEY `key_profile` (`profilePHID`,`menuItemOrder`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `search_profilepanelconfigurationtransaction` ( @@ -3089,6 +3258,12 @@ CREATE TABLE `search_savedquery` ( UNIQUE KEY `key_queryKey` (`queryKey`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `stopwords` ( + `value` varchar(32) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +INSERT INTO `stopwords` VALUES ('the'),('be'),('and'),('of'),('a'),('in'),('to'),('have'),('it'),('I'),('that'),('for'),('you'),('he'),('with'),('on'),('do'),('say'),('this'),('they'),('at'),('but'),('we'),('his'),('from'),('not'),('by'),('or'),('as'),('what'),('go'),('their'),('can'),('who'),('get'),('if'),('would'),('all'),('my'),('will'),('up'),('there'),('so'),('its'),('us'); + CREATE DATABASE /*!32312 IF NOT EXISTS*/ `{$NAMESPACE}_slowvote` /*!40100 DEFAULT CHARACTER SET {$CHARSET} COLLATE {$COLLATE_TEXT} */; USE `{$NAMESPACE}_slowvote`; @@ -3251,6 +3426,8 @@ CREATE TABLE `user` ( `availabilityCache` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, `availabilityCacheTTL` int(10) unsigned DEFAULT NULL, `isMailingList` tinyint(1) NOT NULL, + `defaultProfileImagePHID` varbinary(64) DEFAULT NULL, + `defaultProfileImageVersion` varchar(64) COLLATE {$COLLATE_TEXT} DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `userName` (`userName`), UNIQUE KEY `phid` (`phid`), @@ -3516,6 +3693,7 @@ CREATE TABLE `worker_archivetask` ( PRIMARY KEY (`id`), KEY `dateCreated` (`dateCreated`), KEY `leaseOwner` (`leaseOwner`,`priority`,`id`), + KEY `key_modified` (`dateModified`), KEY `key_object` (`objectPHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -3964,36 +4142,41 @@ CREATE TABLE `conpherence_participant` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `participantPHID` varbinary(64) NOT NULL, `conpherencePHID` varbinary(64) NOT NULL, - `participationStatus` int(10) unsigned NOT NULL DEFAULT '0', - `dateTouched` int(10) unsigned NOT NULL, - `behindTransactionPHID` varbinary(64) NOT NULL, `seenMessageCount` bigint(20) unsigned NOT NULL, `settings` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `conpherencePHID` (`conpherencePHID`,`participantPHID`), - KEY `unreadCount` (`participantPHID`,`participationStatus`), - KEY `participationIndex` (`participantPHID`,`dateTouched`,`id`) + KEY `key_thread` (`participantPHID`,`conpherencePHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; CREATE TABLE `conpherence_thread` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, `title` varchar(255) COLLATE {$COLLATE_TEXT} DEFAULT NULL, - `imagePHIDs` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `messageCount` bigint(20) unsigned NOT NULL, - `recentParticipantPHIDs` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `viewPolicy` varbinary(64) NOT NULL, `editPolicy` varbinary(64) NOT NULL, `joinPolicy` varbinary(64) NOT NULL, `mailKey` varchar(20) COLLATE {$COLLATE_TEXT} NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, + `topic` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, + `profileImagePHID` varbinary(64) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phid` (`phid`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `conpherence_threadtitle_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `conpherence_transaction` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, @@ -4071,6 +4254,14 @@ CREATE TABLE `config_entry` ( UNIQUE KEY `key_name` (`namespace`,`configKey`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `config_manualactivity` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `activityType` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `parameters` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_type` (`activityType`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `config_transaction` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, @@ -4118,6 +4309,23 @@ CREATE TABLE `token_given` ( KEY `key_token` (`tokenPHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `token_token` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `name` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `flavor` varchar(128) COLLATE {$COLLATE_TEXT} NOT NULL, + `status` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `builtinKey` varchar(32) COLLATE {$COLLATE_TEXT} DEFAULT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + `creatorPHID` varbinary(64) NOT NULL, + `tokenImagePHID` varbinary(64) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + UNIQUE KEY `key_builtin` (`builtinKey`), + KEY `key_creator` (`creatorPHID`,`dateModified`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE DATABASE /*!32312 IF NOT EXISTS*/ `{$NAMESPACE}_releeph` /*!40100 DEFAULT CHARACTER SET {$CHARSET} COLLATE {$COLLATE_TEXT} */; USE `{$NAMESPACE}_releeph`; @@ -4429,6 +4637,10 @@ CREATE TABLE `phortune_merchant` ( `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, `description` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contactInfo` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `profileImagePHID` varbinary(64) DEFAULT NULL, + `invoiceEmail` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, + `invoiceFooter` longtext COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -4696,6 +4908,16 @@ CREATE TABLE `auth_factorconfig` ( KEY `key_user` (`userPHID`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `auth_hmackey` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `keyName` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, + `keyValue` varchar(128) COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_name` (`keyName`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `auth_providerconfig` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, @@ -5361,17 +5583,37 @@ USE `{$NAMESPACE}_dashboard`; CREATE TABLE `dashboard` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, - `name` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, + `name` varchar(255) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, `layoutConfig` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `viewPolicy` varbinary(64) NOT NULL, `editPolicy` varbinary(64) NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, `status` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `icon` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `dashboard_dashboard_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `dashboard_dashboardpanel_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `dashboard_install` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `installerPHID` varbinary(64) NOT NULL, @@ -5387,7 +5629,7 @@ CREATE TABLE `dashboard_install` ( CREATE TABLE `dashboard_panel` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, - `name` varchar(255) COLLATE {$COLLATE_TEXT} NOT NULL, + `name` varchar(255) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, `panelType` varchar(64) COLLATE {$COLLATE_TEXT} NOT NULL, `viewPolicy` varbinary(64) NOT NULL, `editPolicy` varbinary(64) NOT NULL, @@ -5395,6 +5637,7 @@ CREATE TABLE `dashboard_panel` ( `properties` longtext COLLATE {$COLLATE_TEXT} NOT NULL, `dateCreated` int(10) unsigned NOT NULL, `dateModified` int(10) unsigned NOT NULL, + `authorPHID` varbinary(64) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `key_phid` (`phid`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; @@ -6007,6 +6250,15 @@ CREATE TABLE `edgedata` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; +CREATE TABLE `phurl_phurlname_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + CREATE TABLE `phurl_url` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phid` varbinary(64) NOT NULL, @@ -6167,3 +6419,207 @@ CREATE TABLE `edgedata` ( `data` longtext COLLATE {$COLLATE_TEXT} NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `{$NAMESPACE}_packages` /*!40100 DEFAULT CHARACTER SET {$CHARSET} COLLATE {$COLLATE_TEXT} */; + +USE `{$NAMESPACE}_packages`; + +CREATE TABLE `edge` ( + `src` varbinary(64) NOT NULL, + `type` int(10) unsigned NOT NULL, + `dst` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `seq` int(10) unsigned NOT NULL, + `dataID` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`src`,`type`,`dst`), + UNIQUE KEY `key_dst` (`dst`,`type`,`src`), + KEY `src` (`src`,`type`,`dateCreated`,`seq`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `edgedata` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `data` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_package` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `name` varchar(64) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, + `publisherPHID` varbinary(64) NOT NULL, + `packageKey` varchar(64) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + UNIQUE KEY `key_package` (`publisherPHID`,`packageKey`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_packagename_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_packagetransaction` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `objectPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `commentPHID` varbinary(64) DEFAULT NULL, + `commentVersion` int(10) unsigned NOT NULL, + `transactionType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `newValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contentSource` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_object` (`objectPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_publisher` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `name` varchar(64) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, + `publisherKey` varchar(64) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + UNIQUE KEY `key_publisher` (`publisherKey`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_publishername_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_publishertransaction` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `objectPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `commentPHID` varbinary(64) DEFAULT NULL, + `commentVersion` int(10) unsigned NOT NULL, + `transactionType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `newValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contentSource` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_object` (`objectPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_version` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `name` varchar(64) CHARACTER SET {$CHARSET_SORT} COLLATE {$COLLATE_SORT} NOT NULL, + `packagePHID` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + UNIQUE KEY `key_package` (`packagePHID`,`name`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_versionname_ngrams` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `objectID` int(10) unsigned NOT NULL, + `ngram` char(3) COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`), + KEY `key_object` (`objectID`), + KEY `key_ngram` (`ngram`,`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `packages_versiontransaction` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `objectPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `commentPHID` varbinary(64) DEFAULT NULL, + `commentVersion` int(10) unsigned NOT NULL, + `transactionType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `newValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contentSource` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_object` (`objectPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `{$NAMESPACE}_application` /*!40100 DEFAULT CHARACTER SET {$CHARSET} COLLATE {$COLLATE_TEXT} */; + +USE `{$NAMESPACE}_application`; + +CREATE TABLE `application_application` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `application_applicationtransaction` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `phid` varbinary(64) NOT NULL, + `authorPHID` varbinary(64) NOT NULL, + `objectPHID` varbinary(64) NOT NULL, + `viewPolicy` varbinary(64) NOT NULL, + `editPolicy` varbinary(64) NOT NULL, + `commentPHID` varbinary(64) DEFAULT NULL, + `commentVersion` int(10) unsigned NOT NULL, + `transactionType` varchar(32) COLLATE {$COLLATE_TEXT} NOT NULL, + `oldValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `newValue` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `contentSource` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `metadata` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `dateModified` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `key_phid` (`phid`), + KEY `key_object` (`objectPHID`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `edge` ( + `src` varbinary(64) NOT NULL, + `type` int(10) unsigned NOT NULL, + `dst` varbinary(64) NOT NULL, + `dateCreated` int(10) unsigned NOT NULL, + `seq` int(10) unsigned NOT NULL, + `dataID` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`src`,`type`,`dst`), + UNIQUE KEY `key_dst` (`dst`,`type`,`src`), + KEY `src` (`src`,`type`,`dateCreated`,`seq`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; + +CREATE TABLE `edgedata` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `data` longtext COLLATE {$COLLATE_TEXT} NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET={$CHARSET} COLLATE={$COLLATE_TEXT}; From d0e6bf831d6a1a3c55f1d64abbc2bb95f071ac09 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 23 Apr 2017 07:15:35 -0700 Subject: [PATCH 07/22] Add "%I" (instance name) to application log formats Summary: Ref T12611. Currently, the HTTP/SSH logs don't have an option to include the instance name. Add such an option. Leave it out of the default logs because most installs don't use this. Test Plan: See next changes. Reviewers: chad, amckinley Reviewed By: chad Maniphest Tasks: T12611 Differential Revision: https://secure.phabricator.com/D17776 --- .../config/option/PhabricatorAccessLogConfigOptions.php | 1 + src/infrastructure/log/PhabricatorAccessLog.php | 1 + src/infrastructure/log/PhabricatorSSHLog.php | 1 + 3 files changed, 3 insertions(+) diff --git a/src/applications/config/option/PhabricatorAccessLogConfigOptions.php b/src/applications/config/option/PhabricatorAccessLogConfigOptions.php index 6183f9936f..9ae60825ea 100644 --- a/src/applications/config/option/PhabricatorAccessLogConfigOptions.php +++ b/src/applications/config/option/PhabricatorAccessLogConfigOptions.php @@ -35,6 +35,7 @@ final class PhabricatorAccessLogConfigOptions 'P' => pht('The logged-in user PHID, if one is logged in.'), 'i' => pht('Request input, in bytes.'), 'o' => pht('Request output, in bytes.'), + 'I' => pht('Cluster instance name, if configured.'), ); $http_map = $common_map + array( diff --git a/src/infrastructure/log/PhabricatorAccessLog.php b/src/infrastructure/log/PhabricatorAccessLog.php index d3d9979aac..2ffa0577a8 100644 --- a/src/infrastructure/log/PhabricatorAccessLog.php +++ b/src/infrastructure/log/PhabricatorAccessLog.php @@ -30,6 +30,7 @@ final class PhabricatorAccessLog extends Phobject { 'h' => php_uname('n'), 'p' => getmypid(), 'e' => time(), + 'I' => PhabricatorEnv::getEnvConfig('cluster.instance'), )); self::$log = $log; diff --git a/src/infrastructure/log/PhabricatorSSHLog.php b/src/infrastructure/log/PhabricatorSSHLog.php index 9f9f75b41b..de4c270f72 100644 --- a/src/infrastructure/log/PhabricatorSSHLog.php +++ b/src/infrastructure/log/PhabricatorSSHLog.php @@ -20,6 +20,7 @@ final class PhabricatorSSHLog extends Phobject { 'h' => php_uname('n'), 'p' => getmypid(), 'e' => time(), + 'I' => PhabricatorEnv::getEnvConfig('cluster.instance'), ); $sudo_user = PhabricatorEnv::getEnvConfig('phd.user'); From b3c8226cbb0bda820a222768fa6ca74f26a19617 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Sun, 23 Apr 2017 12:32:27 -0700 Subject: [PATCH 08/22] New hovercard UI for Maniphest Tasks Summary: Swaps out hovercard boring view for super cool workboard card view. Will have more diffs to add additional information down the road. Test Plan: {F4921092} Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D17769 --- resources/celerity/map.php | 4 +- .../ManiphestHovercardEngineExtension.php | 50 +++++++++++++++---- webroot/rsrc/css/phui/phui-hovercard.css | 4 ++ 3 files changed, 45 insertions(+), 13 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 7937f6556e..d2ea14c5b4 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -155,7 +155,7 @@ return array( 'rsrc/css/phui/phui-form.css' => 'a5570f70', 'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f', 'rsrc/css/phui/phui-header-view.css' => 'e082678d', - 'rsrc/css/phui/phui-hovercard.css' => 'ae091fc5', + 'rsrc/css/phui/phui-hovercard.css' => 'df27a6c2', 'rsrc/css/phui/phui-icon-set-selector.css' => '87db8fee', 'rsrc/css/phui/phui-icon.css' => '12b387a1', 'rsrc/css/phui/phui-image-mask.css' => 'a8498f9c', @@ -862,7 +862,7 @@ return array( 'phui-head-thing-view-css' => 'fd311e5f', 'phui-header-view-css' => 'e082678d', 'phui-hovercard' => '1bd28176', - 'phui-hovercard-view-css' => 'ae091fc5', + 'phui-hovercard-view-css' => 'df27a6c2', 'phui-icon-set-selector-css' => '87db8fee', 'phui-icon-view-css' => '12b387a1', 'phui-image-mask-css' => 'a8498f9c', diff --git a/src/applications/maniphest/engineextension/ManiphestHovercardEngineExtension.php b/src/applications/maniphest/engineextension/ManiphestHovercardEngineExtension.php index c49c7b6201..2b2ef3c93d 100644 --- a/src/applications/maniphest/engineextension/ManiphestHovercardEngineExtension.php +++ b/src/applications/maniphest/engineextension/ManiphestHovercardEngineExtension.php @@ -24,24 +24,52 @@ final class ManiphestHovercardEngineExtension $task, $data) { $viewer = $this->getViewer(); + require_celerity_resource('phui-workcard-view-css'); - $hovercard - ->setTitle($task->getMonogram()) - ->setDetail($task->getTitle()); + $id = $task->getID(); + $task = id(new ManiphestTaskQuery()) + ->setViewer($viewer) + ->withIDs(array($id)) + ->needProjectPHIDs(true) + ->executeOne(); + + $phids = array(); + $owner_phid = $task->getOwnerPHID(); + if ($owner_phid) { + $phids[$owner_phid] = $owner_phid; + } + foreach ($task->getProjectPHIDs() as $phid) { + $phids[$phid] = $phid; + } + + $handles = $viewer->loadHandles($phids); + $handles = iterator_to_array($handles); + + $card = id(new ProjectBoardTaskCard()) + ->setViewer($viewer) + ->setTask($task) + ->setCanEdit(false); $owner_phid = $task->getOwnerPHID(); if ($owner_phid) { - $owner = $viewer->renderHandle($owner_phid); - } else { - $owner = phutil_tag('em', array(), pht('None')); + $owner_handle = $handles[$owner_phid]; + $card->setOwner($owner_handle); } - $hovercard->addField(pht('Assigned To'), $owner); - $hovercard->addField( - pht('Priority'), - ManiphestTaskPriority::getTaskPriorityName($task->getPriority())); + $project_phids = $task->getProjectPHIDs(); + $project_handles = array_select_keys($handles, $project_phids); + if ($project_handles) { + $card->setProjectHandles($project_handles); + } + + $item = $card->getItem(); + $card = id(new PHUIObjectItemListView()) + ->setFlush(true) + ->setItemClass('phui-workcard') + ->addClass('hovercard-task-view') + ->addItem($item); + $hovercard->appendChild($card); - $hovercard->addTag(ManiphestView::renderTagForTask($task)); } } diff --git a/webroot/rsrc/css/phui/phui-hovercard.css b/webroot/rsrc/css/phui/phui-hovercard.css index bf81096a71..dca30881b9 100644 --- a/webroot/rsrc/css/phui/phui-hovercard.css +++ b/webroot/rsrc/css/phui/phui-hovercard.css @@ -105,3 +105,7 @@ .phui-hovercard-tail a.button { margin: 3px; } + +.phui-hovercard-wrapper .hovercard-task-view { + box-shadow: 0px 4px 16px rgba(0,0,0,.2); +} From 27bdc322fc11974df3caff9aa3f09f3f655c0682 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 24 Apr 2017 03:18:57 -0700 Subject: [PATCH 09/22] Put the keyboard focus reticle back on top of diffs Summary: Fixes T10954. This got hidden underneath things at some point. Use `pointer-events: none` to make the mouse ignore the element so that hover/select/edit/click still work "through" the element. Design could probably be improved here, maybe I'll make it more-visible when you press {key n} and then have it fade quickly so it kind of gets out of your way once you find the block you want to read. Test Plan: {F4921746} Reviewers: chad Reviewed By: chad Maniphest Tasks: T10954 Differential Revision: https://secure.phabricator.com/D17784 --- webroot/rsrc/css/application/base/standard-page-view.css | 5 +++-- webroot/rsrc/css/core/z-index.css | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/webroot/rsrc/css/application/base/standard-page-view.css b/webroot/rsrc/css/application/base/standard-page-view.css index b4386764ab..1205dc93e7 100644 --- a/webroot/rsrc/css/application/base/standard-page-view.css +++ b/webroot/rsrc/css/application/base/standard-page-view.css @@ -61,9 +61,10 @@ body.white-background { } .keyboard-focus-focus-reticle { - background: #ffffd3; + background: rgba(255, 255, 211, 0.15); position: absolute; - border: 1px solid #999900; + border: 1px solid {$yellow}; + pointer-events: none; } a.handle-status-closed { diff --git a/webroot/rsrc/css/core/z-index.css b/webroot/rsrc/css/core/z-index.css index a5b95d568b..bdab2e97ed 100644 --- a/webroot/rsrc/css/core/z-index.css +++ b/webroot/rsrc/css/core/z-index.css @@ -2,16 +2,16 @@ * @provides phabricator-zindex-css */ -.keyboard-focus-focus-reticle { - z-index: 1; -} - .device .phabricator-action-list-view.phabricator-action-list-toggle, .device-desktop .phui-document-content .phabricator-action-list-view.phabricator-action-list-toggle { z-index: 1; } +.keyboard-focus-focus-reticle { + z-index: 2; +} + .device-desktop .phui-timeline-minor-event .phui-timeline-image { z-index: 2; } From 41d9453ece060ad12373eb079a2c3298da619c41 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 24 Apr 2017 09:09:46 -0700 Subject: [PATCH 10/22] When a user changes to a verified primary address, mark their account as verified Summary: Ref T12635. See that task for discussion. You can currently end up with a verified primary address but no "verified" flag on your account through an unusual sequence of address mutations. Test Plan: - Registered without verifying, using address "A". - Added a second email address, address "B". - Verified B (most easily with `bin/auth verify`). - Changed my primary email to B. - Before patch: account not verified. - After patch: account verified. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12635 Differential Revision: https://secure.phabricator.com/D17785 --- resources/celerity/map.php | 10 +++++----- .../people/editor/PhabricatorUserEditor.php | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index d2ea14c5b4..8d3aaa53e7 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -9,7 +9,7 @@ return array( 'names' => array( 'conpherence.pkg.css' => 'ff161f2d', 'conpherence.pkg.js' => 'b5b51108', - 'core.pkg.css' => '005d943f', + 'core.pkg.css' => '823f43f3', 'core.pkg.js' => '47a69358', 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '90b30783', @@ -42,7 +42,7 @@ return array( 'rsrc/css/application/base/main-menu-view.css' => '5294060f', 'rsrc/css/application/base/notification-menu.css' => '6a697e43', 'rsrc/css/application/base/phui-theme.css' => '9f261c6b', - 'rsrc/css/application/base/standard-page-view.css' => '89da5a9c', + 'rsrc/css/application/base/standard-page-view.css' => 'eb5b80c5', 'rsrc/css/application/chatlog/chatlog.css' => 'd295b020', 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/config/config-options.css' => '0ede4c9b', @@ -116,7 +116,7 @@ return array( 'rsrc/css/core/core.css' => '9f4cb463', 'rsrc/css/core/remarkup.css' => '17c0fb37', 'rsrc/css/core/syntax.css' => 'cae95e89', - 'rsrc/css/core/z-index.css' => '5e72c4e0', + 'rsrc/css/core/z-index.css' => '0233d039', 'rsrc/css/diviner/diviner-shared.css' => '896f1d43', 'rsrc/css/font/font-awesome.css' => 'e838e088', 'rsrc/css/font/font-lato.css' => 'c7ccd872', @@ -809,7 +809,7 @@ return array( 'phabricator-shaped-request' => '7cbe244b', 'phabricator-slowvote-css' => 'a94b7230', 'phabricator-source-code-view-css' => '4383192f', - 'phabricator-standard-page-view' => '89da5a9c', + 'phabricator-standard-page-view' => 'eb5b80c5', 'phabricator-textareautils' => '320810c8', 'phabricator-title' => '485aaa6c', 'phabricator-tooltip' => '8fadb715', @@ -824,7 +824,7 @@ return array( 'phabricator-uiexample-reactor-select' => 'a155550f', 'phabricator-uiexample-reactor-sendclass' => '1def2711', 'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee', - 'phabricator-zindex-css' => '5e72c4e0', + 'phabricator-zindex-css' => '0233d039', 'phame-css' => 'b3a0b3a3', 'pholio-css' => 'ca89d380', 'pholio-edit-css' => '07676f51', diff --git a/src/applications/people/editor/PhabricatorUserEditor.php b/src/applications/people/editor/PhabricatorUserEditor.php index cb5ed65f8d..20c9c01370 100644 --- a/src/applications/people/editor/PhabricatorUserEditor.php +++ b/src/applications/people/editor/PhabricatorUserEditor.php @@ -540,6 +540,14 @@ final class PhabricatorUserEditor extends PhabricatorEditor { $email->setIsPrimary(1); $email->save(); + // If the user doesn't have the verified flag set on their account + // yet, set it. We've made sure the email is verified above. See + // T12635 for discussion. + if (!$user->getIsEmailVerified()) { + $user->setIsEmailVerified(1); + $user->save(); + } + $log = PhabricatorUserLog::initializeNewLog( $actor, $user->getPHID(), From e2a94019b1f194d0101e3a4ef6885bc0c0e362a0 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 24 Apr 2017 09:22:38 -0700 Subject: [PATCH 11/22] Migrate accounts to correct user email verification state flag Summary: Depends on D17785. Fixes T12635. There was a bug where users could verify their primary email without getting the "isEmailVerified" flag set on their accounts. D17785 fixes this bug. This change migrates affected account to fix their state, now that they can't get in trouble any more (hopefully). Test Plan: - Explicitly removed this flag from a bunch of accounts. - Ran migration, saw the accounts get fixed. - Ran migration again (`storage upgrade --apply ...`), saw the accounts not get touched. - We have 117 affected accounts on `secure`, so I'll verify that this fixes them. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12635 Differential Revision: https://secure.phabricator.com/D17786 --- .../autopatches/20170424.user.01.verify.php | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 resources/sql/autopatches/20170424.user.01.verify.php diff --git a/resources/sql/autopatches/20170424.user.01.verify.php b/resources/sql/autopatches/20170424.user.01.verify.php new file mode 100644 index 0000000000..d2bbacd3e0 --- /dev/null +++ b/resources/sql/autopatches/20170424.user.01.verify.php @@ -0,0 +1,34 @@ +establishConnection('w'); + +foreach (new LiskMigrationIterator($table) as $user) { + // Ignore users who are verified. + if ($user->getIsEmailVerified()) { + continue; + } + + // Ignore unverified users with missing (rare) or unverified (common) + // primary emails: it's correct that their accounts are not verified. + $primary = $user->loadPrimaryEmail(); + if (!$primary) { + continue; + } + + if (!$primary->getIsVerified()) { + continue; + } + + queryfx( + $conn, + 'UPDATE %T SET isEmailVerified = 1 WHERE id = %d', + $table->getTableName(), + $user->getID()); + + echo tsprintf( + "%s\n", + pht( + 'Corrected account verification state for user "%s".', + $user->getUsername())); +} From 0d5538672caacc29a250a2da311b0d12de39b604 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sun, 23 Apr 2017 06:13:53 -0700 Subject: [PATCH 12/22] Detect unsynchronizable repositories on multiple cluster hosts Summary: Ref T12613. Currently, the SVNTEST and HGTEST repositories are improperly configured on `secure`. These repositories use VCS systems which do not support synchronization, so they can not be served from cluster services with multiple hosts. However, I've incorrectly configured them the same way as all the Git repositories, which support synchronization. This causes about 50% of requests to randomly fail (when they reach the wrong host). Detect this issue and warn the user that the configuration is not valid. It should be exceptionally difficult for normal installs to run into this. Test Plan: - Mostly faked these conditions locally, verified that `secure` really has this configuration. - I'll push this, verify that the issue is detected correctly in production, then fix the config which should resolve the intermittent issues with SVNTEST. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12613 Differential Revision: https://secure.phabricator.com/D17774 --- .../DiffusionRepositoryClusterEngine.php | 3 +-- .../storage/PhabricatorRepository.php | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php b/src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php index e87c798e28..a1a22670f9 100644 --- a/src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php +++ b/src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php @@ -559,8 +559,7 @@ final class DiffusionRepositoryClusterEngine extends Phobject { return false; } - // TODO: For now, this is only supported for Git. - if (!$repository->isGit()) { + if (!$repository->supportsSynchronization()) { return false; } diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php index fd7413c392..889bb734f3 100644 --- a/src/applications/repository/storage/PhabricatorRepository.php +++ b/src/applications/repository/storage/PhabricatorRepository.php @@ -1929,10 +1929,31 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO 'Cluster hosts must correctly route their intracluster requests.')); } + if (count($results) > 1) { + if (!$this->supportsSynchronization()) { + throw new Exception( + pht( + 'Repository "%s" is bound to multiple active repository hosts, '. + 'but this repository does not support cluster synchronization. '. + 'Declusterize this repository or move it to a service with only '. + 'one host.', + $this->getDisplayName())); + } + } + shuffle($results); return head($results); } + public function supportsSynchronization() { + // TODO: For now, this is only supported for Git. + if (!$this->isGit()) { + return false; + } + + return true; + } + public function getAlmanacServiceCacheKey() { $service_phid = $this->getAlmanacServicePHID(); if (!$service_phid) { From e18ce14c203b20a7ae42d9b91d244b992d0a99ff Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 25 Apr 2017 08:40:20 -0700 Subject: [PATCH 13/22] Fix closed task hovercard background color Summary: Ref T12600. This makes the background solid when in hovercard context. Test Plan: Close a task, view hovercard, see solid background Reviewers: epriestley, amckinley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T12600 Differential Revision: https://secure.phabricator.com/D17788 --- resources/celerity/map.php | 10 +++++----- .../rsrc/css/phui/object-item/phui-oi-list-view.css | 1 + webroot/rsrc/css/phui/phui-hovercard.css | 4 ++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 8d3aaa53e7..c81cf2a4b8 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -9,7 +9,7 @@ return array( 'names' => array( 'conpherence.pkg.css' => 'ff161f2d', 'conpherence.pkg.js' => 'b5b51108', - 'core.pkg.css' => '823f43f3', + 'core.pkg.css' => 'c54a8bec', 'core.pkg.js' => '47a69358', 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '90b30783', @@ -131,7 +131,7 @@ return array( 'rsrc/css/phui/object-item/phui-oi-color.css' => 'cd2b9b77', 'rsrc/css/phui/object-item/phui-oi-drag-ui.css' => 'f12cbc9f', 'rsrc/css/phui/object-item/phui-oi-flush-ui.css' => '9d9685d6', - 'rsrc/css/phui/object-item/phui-oi-list-view.css' => '5c383524', + 'rsrc/css/phui/object-item/phui-oi-list-view.css' => '7c8ec27a', 'rsrc/css/phui/object-item/phui-oi-simple-ui.css' => 'a8beebea', 'rsrc/css/phui/phui-action-list.css' => 'c01858f4', 'rsrc/css/phui/phui-action-panel.css' => '91c7b835', @@ -155,7 +155,7 @@ return array( 'rsrc/css/phui/phui-form.css' => 'a5570f70', 'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f', 'rsrc/css/phui/phui-header-view.css' => 'e082678d', - 'rsrc/css/phui/phui-hovercard.css' => 'df27a6c2', + 'rsrc/css/phui/phui-hovercard.css' => 'f0592bcf', 'rsrc/css/phui/phui-icon-set-selector.css' => '87db8fee', 'rsrc/css/phui/phui-icon.css' => '12b387a1', 'rsrc/css/phui/phui-image-mask.css' => 'a8498f9c', @@ -862,7 +862,7 @@ return array( 'phui-head-thing-view-css' => 'fd311e5f', 'phui-header-view-css' => 'e082678d', 'phui-hovercard' => '1bd28176', - 'phui-hovercard-view-css' => 'df27a6c2', + 'phui-hovercard-view-css' => 'f0592bcf', 'phui-icon-set-selector-css' => '87db8fee', 'phui-icon-view-css' => '12b387a1', 'phui-image-mask-css' => 'a8498f9c', @@ -877,7 +877,7 @@ return array( 'phui-oi-color-css' => 'cd2b9b77', 'phui-oi-drag-ui-css' => 'f12cbc9f', 'phui-oi-flush-ui-css' => '9d9685d6', - 'phui-oi-list-view-css' => '5c383524', + 'phui-oi-list-view-css' => '7c8ec27a', 'phui-oi-simple-ui-css' => 'a8beebea', 'phui-pager-css' => '77d8a794', 'phui-pinboard-view-css' => '2495140e', diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css b/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css index b4cdbebe39..2f29001f9a 100644 --- a/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css +++ b/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css @@ -302,6 +302,7 @@ ul.phui-oi-list-view { display: inline-block; color: {$greytext}; vertical-align: top; + margin-right: 4px; } .phui-oi-attribute-spacer { diff --git a/webroot/rsrc/css/phui/phui-hovercard.css b/webroot/rsrc/css/phui/phui-hovercard.css index dca30881b9..0daa904ade 100644 --- a/webroot/rsrc/css/phui/phui-hovercard.css +++ b/webroot/rsrc/css/phui/phui-hovercard.css @@ -109,3 +109,7 @@ .phui-hovercard-wrapper .hovercard-task-view { box-shadow: 0px 4px 16px rgba(0,0,0,.2); } + +.hovercard-task-view .phui-oi-disabled.phui-workcard { + background-color: #fff; +} From 9509bd1c7f2ecda96a070708cd8f267a97924a89 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 25 Apr 2017 09:24:45 -0700 Subject: [PATCH 14/22] Fix legalpad error display Summary: Fixes T12636. Test Plan: Make a from, submit signature without checking box, see correctly aligned error. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T12636 Differential Revision: https://secure.phabricator.com/D17789 --- .../legalpad/controller/LegalpadDocumentSignController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/applications/legalpad/controller/LegalpadDocumentSignController.php b/src/applications/legalpad/controller/LegalpadDocumentSignController.php index 70b750c38a..05a691e34a 100644 --- a/src/applications/legalpad/controller/LegalpadDocumentSignController.php +++ b/src/applications/legalpad/controller/LegalpadDocumentSignController.php @@ -320,13 +320,16 @@ final class LegalpadDocumentSignController extends LegalpadController { $crumbs->setBorder(true); $crumbs->addTextCrumb($document->getMonogram()); + $box = id(new PHUITwoColumnView()) + ->setFooter($signature_box); + return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) ->setPageObjectPHIDs(array($document->getPHID())) ->appendChild(array( $content, - $signature_box, + $box, )); } From 279816683b172f55cb3f8b5c42dadb52500162c2 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 25 Apr 2017 10:47:48 -0700 Subject: [PATCH 15/22] Move ToC 4px in documentproview Summary: Fixes T12637. Test Plan: Reload page, see wider button. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T12637 Differential Revision: https://secure.phabricator.com/D17790 --- resources/celerity/map.php | 4 ++-- webroot/rsrc/css/phui/phui-document-pro.css | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index c81cf2a4b8..12f1922102 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -146,7 +146,7 @@ return array( 'rsrc/css/phui/phui-comment-panel.css' => 'f50152ad', 'rsrc/css/phui/phui-crumbs-view.css' => '6ece3bbb', 'rsrc/css/phui/phui-curtain-view.css' => '679743bb', - 'rsrc/css/phui/phui-document-pro.css' => 'f56738ed', + 'rsrc/css/phui/phui-document-pro.css' => '62c4dcbf', 'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf', 'rsrc/css/phui/phui-document.css' => 'c32e8dec', 'rsrc/css/phui/phui-feed-story.css' => '44a9c8e9', @@ -853,7 +853,7 @@ return array( 'phui-curtain-view-css' => '679743bb', 'phui-document-summary-view-css' => '9ca48bdf', 'phui-document-view-css' => 'c32e8dec', - 'phui-document-view-pro-css' => 'f56738ed', + 'phui-document-view-pro-css' => '62c4dcbf', 'phui-feed-story-css' => '44a9c8e9', 'phui-font-icon-base-css' => '870a7360', 'phui-fontkit-css' => '1320ed01', diff --git a/webroot/rsrc/css/phui/phui-document-pro.css b/webroot/rsrc/css/phui/phui-document-pro.css index c939b250ed..0aef43ed90 100644 --- a/webroot/rsrc/css/phui/phui-document-pro.css +++ b/webroot/rsrc/css/phui/phui-document-pro.css @@ -74,7 +74,7 @@ body.printable { a.button.phui-document-toc { display: inline-block; height: 16px; - width: 16px; + width: 20px; padding: 3px 8px 4px 8px; } @@ -88,7 +88,7 @@ a.button.phui-document-toc { z-index: 30; background-color: #fff; top: 52px; - left: -44px; + left: -40px; } .device .phui-document-view-pro .phui-document-toc { From 6bfaf31c0a929fb7783453c135b2d3ef52f46d38 Mon Sep 17 00:00:00 2001 From: Austin McKinley Date: Tue, 25 Apr 2017 12:11:35 -0700 Subject: [PATCH 16/22] Spelling fix Summary: I can't believe I've been staring at this page for so long without noticing this typo Test Plan: doitlive Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D17791 --- .../badges/application/PhabricatorBadgesApplication.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/applications/badges/application/PhabricatorBadgesApplication.php b/src/applications/badges/application/PhabricatorBadgesApplication.php index 4df412a6fc..9920ba4c9e 100644 --- a/src/applications/badges/application/PhabricatorBadgesApplication.php +++ b/src/applications/badges/application/PhabricatorBadgesApplication.php @@ -11,7 +11,7 @@ final class PhabricatorBadgesApplication extends PhabricatorApplication { } public function getShortDescription() { - return pht('Achievements and Notority'); + return pht('Achievements and Notoriety'); } public function getIcon() { From d70d09c02ccdbb5cc377e2a9b8f5888bdcde2b93 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 25 Apr 2017 16:40:34 -0700 Subject: [PATCH 17/22] Fix notice spacing on table views Summary: When a notice is in a table view in a two column layout, reset the margins. Test Plan: Visit OwnerDetails with no paths set. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Differential Revision: https://secure.phabricator.com/D17792 --- resources/celerity/map.php | 6 +++--- .../controller/PhabricatorOwnersDetailController.php | 8 ++++---- webroot/rsrc/css/aphront/table-view.css | 4 ++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 12f1922102..15ad603b24 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -9,7 +9,7 @@ return array( 'names' => array( 'conpherence.pkg.css' => 'ff161f2d', 'conpherence.pkg.js' => 'b5b51108', - 'core.pkg.css' => 'c54a8bec', + 'core.pkg.css' => '84ce260a', 'core.pkg.js' => '47a69358', 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '90b30783', @@ -32,7 +32,7 @@ return array( 'rsrc/css/aphront/notification.css' => '3f6c89c9', 'rsrc/css/aphront/panel-view.css' => '8427b78d', 'rsrc/css/aphront/phabricator-nav-view.css' => 'faf6a6fc', - 'rsrc/css/aphront/table-view.css' => '6ca8e057', + 'rsrc/css/aphront/table-view.css' => '34cf86b4', 'rsrc/css/aphront/tokenizer.css' => '9a8cb501', 'rsrc/css/aphront/tooltip.css' => '173b9431', 'rsrc/css/aphront/typeahead-browse.css' => '8904346a', @@ -549,7 +549,7 @@ return array( 'aphront-list-filter-view-css' => '5d6f0526', 'aphront-multi-column-view-css' => '84cc6640', 'aphront-panel-view-css' => '8427b78d', - 'aphront-table-view-css' => '6ca8e057', + 'aphront-table-view-css' => '34cf86b4', 'aphront-tokenizer-control-css' => '9a8cb501', 'aphront-tooltip-css' => '173b9431', 'aphront-typeahead-control-css' => '8a84cc7d', diff --git a/src/applications/owners/controller/PhabricatorOwnersDetailController.php b/src/applications/owners/controller/PhabricatorOwnersDetailController.php index b6260416da..3c6ae3836c 100644 --- a/src/applications/owners/controller/PhabricatorOwnersDetailController.php +++ b/src/applications/owners/controller/PhabricatorOwnersDetailController.php @@ -323,6 +323,10 @@ final class PhabricatorOwnersDetailController 'wide', )); + if ($info) { + $table->setNotice($info); + } + $header = id(new PHUIHeaderView()) ->setHeader(pht('Paths')) ->setHeaderIcon('fa-folder-open'); @@ -332,10 +336,6 @@ final class PhabricatorOwnersDetailController ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setTable($table); - if ($info) { - $box->setInfoView($info); - } - return $box; } diff --git a/webroot/rsrc/css/aphront/table-view.css b/webroot/rsrc/css/aphront/table-view.css index 8ea7691130..2de08095dd 100644 --- a/webroot/rsrc/css/aphront/table-view.css +++ b/webroot/rsrc/css/aphront/table-view.css @@ -29,6 +29,10 @@ border-bottom: 1px solid {$thinblueborder}; } +.phui-two-column-view .aphront-table-notice .phui-info-view { + margin: 0; +} + .aphront-table-view tr.alt { background: {$lightgreybackground}; } From 782471052265106b669c8d953a801adca5104525 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Tue, 25 Apr 2017 17:29:47 -0700 Subject: [PATCH 18/22] Add an Owners Package hovercard Summary: Ref T12600. Basically all the property (not path) information on a hovercard for owner packages. Test Plan: Create a package with LOTS OF RULES. Test it as open and archived states. {F4923441} {F4923444} Reviewers: epriestley, jmeador Reviewed By: jmeador Subscribers: jmeador, Korvin Maniphest Tasks: T12600 Differential Revision: https://secure.phabricator.com/D17793 --- src/__phutil_library_map__.php | 2 + ...bricatorOwnersHovercardEngineExtension.php | 89 +++++++++++++++++++ src/view/phui/PHUIHovercardView.php | 7 +- 3 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 src/applications/owners/engineextension/PhabricatorOwnersHovercardEngineExtension.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 1efe9749e7..4d6ef65368 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -3204,6 +3204,7 @@ phutil_register_library_map(array( 'PhabricatorOwnersDefaultViewCapability' => 'applications/owners/capability/PhabricatorOwnersDefaultViewCapability.php', 'PhabricatorOwnersDetailController' => 'applications/owners/controller/PhabricatorOwnersDetailController.php', 'PhabricatorOwnersEditController' => 'applications/owners/controller/PhabricatorOwnersEditController.php', + 'PhabricatorOwnersHovercardEngineExtension' => 'applications/owners/engineextension/PhabricatorOwnersHovercardEngineExtension.php', 'PhabricatorOwnersListController' => 'applications/owners/controller/PhabricatorOwnersListController.php', 'PhabricatorOwnersOwner' => 'applications/owners/storage/PhabricatorOwnersOwner.php', 'PhabricatorOwnersPackage' => 'applications/owners/storage/PhabricatorOwnersPackage.php', @@ -8406,6 +8407,7 @@ phutil_register_library_map(array( 'PhabricatorOwnersDefaultViewCapability' => 'PhabricatorPolicyCapability', 'PhabricatorOwnersDetailController' => 'PhabricatorOwnersController', 'PhabricatorOwnersEditController' => 'PhabricatorOwnersController', + 'PhabricatorOwnersHovercardEngineExtension' => 'PhabricatorHovercardEngineExtension', 'PhabricatorOwnersListController' => 'PhabricatorOwnersController', 'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO', 'PhabricatorOwnersPackage' => array( diff --git a/src/applications/owners/engineextension/PhabricatorOwnersHovercardEngineExtension.php b/src/applications/owners/engineextension/PhabricatorOwnersHovercardEngineExtension.php new file mode 100644 index 0000000000..744d3fbea2 --- /dev/null +++ b/src/applications/owners/engineextension/PhabricatorOwnersHovercardEngineExtension.php @@ -0,0 +1,89 @@ +getViewer(); + $phids = mpull($objects, 'getPHID'); + + $packages = id(new PhabricatorOwnersPackageQuery()) + ->setViewer($viewer) + ->withPHIDs($phids) + ->execute(); + $packages = mpull($packages, null, 'getPHID'); + + return array( + 'packages' => $packages, + ); + } + + public function renderHovercard( + PHUIHovercardView $hovercard, + PhabricatorObjectHandle $handle, + $object, + $data) { + + $viewer = $this->getViewer(); + + $package = idx($data['packages'], $object->getPHID()); + if (!$package) { + return; + } + + $title = pht('%s: %s', 'O'.$package->getID(), $package->getName()); + $hovercard->setTitle($title); + + $dominion = $package->getDominion(); + $dominion_map = PhabricatorOwnersPackage::getDominionOptionsMap(); + $spec = idx($dominion_map, $dominion, array()); + $name = idx($spec, 'short', $dominion); + $hovercard->addField(pht('Dominion'), $name); + + $auto = $package->getAutoReview(); + $autoreview_map = PhabricatorOwnersPackage::getAutoreviewOptionsMap(); + $spec = idx($autoreview_map, $auto, array()); + $name = idx($spec, 'name', $auto); + $hovercard->addField(pht('Auto Review'), $name); + + if ($package->isArchived()) { + $tag = id(new PHUITagView()) + ->setName(pht('Archived')) + ->setShade(PHUITagView::COLOR_INDIGO) + ->setType(PHUITagView::TYPE_OBJECT); + $hovercard->addTag($tag); + } + + $owner_phids = $package->getOwnerPHIDs(); + + $hovercard->addField( + pht('Owners'), + $viewer->renderHandleList($owner_phids)->setAsInline(true)); + + $description = $package->getDescription(); + if (strlen($description)) { + $description = id(new PhutilUTF8StringTruncator()) + ->setMaximumGlyphs(120) + ->truncateString($description); + + $hovercard->addField(pht('Description'), $description); + } + + } + +} diff --git a/src/view/phui/PHUIHovercardView.php b/src/view/phui/PHUIHovercardView.php index 115964f191..b99fc8153e 100644 --- a/src/view/phui/PHUIHovercardView.php +++ b/src/view/phui/PHUIHovercardView.php @@ -112,14 +112,17 @@ final class PHUIHovercardView extends AphrontTagView { $body = array(); + $body_title = null; if ($this->detail) { $body_title = $this->detail; - } else { + } else if (!$this->fields) { // Fallback for object handles $body_title = $handle->getFullName(); } - $body[] = phutil_tag_div('phui-hovercard-body-header', $body_title); + if ($body_title) { + $body[] = phutil_tag_div('phui-hovercard-body-header', $body_title); + } foreach ($this->fields as $field) { $item = array( From adb1d3a5be6845ffe987e033171adc64ef1f66e8 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 26 Apr 2017 08:37:29 -0700 Subject: [PATCH 19/22] Fix autocomplete/send-on-enter interactions Summary: Send-on-enter and autocomplete both listen for "return" keypresses, and could race. Have autocomplete let other handlers take a shot at the action before it does. Also, fix a case where ":)" and the suffix list (which lets you type `someone is 100% to blame here (@epriestley)` and get the results you want) interacted badly, so ":)" cancels the autocompleter like ":3" does. Test Plan: - Typed "@xxx" and mashed return real fast over and over again while reloading the page. Before: sometimes handlers raced and text submitted. After: always handled by autocomplete behavior. - Typed ":", ")", "", sent an emoticon (previously: no). Reviewers: chad, amckinley Reviewed By: chad Subscribers: xxx Differential Revision: https://secure.phabricator.com/D17794 --- .../js/core/behavior-phabricator-remarkup-assist.js | 9 +++++++-- webroot/rsrc/js/phuix/PHUIXAutocomplete.js | 10 +++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js b/webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js index a53c567607..e4d987c425 100644 --- a/webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js +++ b/webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js @@ -393,6 +393,12 @@ JX.behavior('phabricator-remarkup-assist', function(config) { return; } + // Let other listeners (particularly the inline autocomplete) have a + // chance to handle this event. + if (JX.Stratcom.pass()) { + return; + } + var raw = e.getRawEvent(); if (raw.shiftKey) { // If the shift key is pressed, let the browser write a newline into @@ -412,8 +418,7 @@ JX.behavior('phabricator-remarkup-assist', function(config) { // This allows 'workflow' and similar actions to take effect. // Such as pontificate in Conpherence var form = e.getNode('tag:form'); - var r = JX.DOM.invoke(form, 'didSyntheticSubmit'); - + JX.DOM.invoke(form, 'didSyntheticSubmit'); }); } diff --git a/webroot/rsrc/js/phuix/PHUIXAutocomplete.js b/webroot/rsrc/js/phuix/PHUIXAutocomplete.js index 16ed8b75f3..ac073a0e38 100644 --- a/webroot/rsrc/js/phuix/PHUIXAutocomplete.js +++ b/webroot/rsrc/js/phuix/PHUIXAutocomplete.js @@ -127,7 +127,7 @@ JX.install('PHUIXAutocomplete', { } // Get all the text on the current line. If the line only contains - // whitespace, don't actiavte: the user is probably typing code or a + // whitespace, don't activate: the user is probably typing code or a // numbered list. var line = area.value.substring(0, head - 1); line = line.split('\n'); @@ -454,7 +454,7 @@ JX.install('PHUIXAutocomplete', { // If the user hasn't typed any text yet after typing the character // which can summon the autocomplete, deactivate and let the keystroke - // through. For example, We hit this when a line ends with an + // through. For example, we hit this when a line ends with an // autocomplete character and the user is trying to type a newline. if (range.start == this._cursorHead) { this._deactivate(); @@ -529,9 +529,13 @@ JX.install('PHUIXAutocomplete', { } } + // Deactivate immediately if the user types an ignored token like ":)", + // the smiley face emoticon. Note that we test against "text", not + // "trim", because the ignore list and suffix list can otherwise + // interact destructively. var ignore = this._getIgnoreList(); for (ii = 0; ii < ignore.length; ii++) { - if (trim.indexOf(ignore[ii]) === 0) { + if (text.indexOf(ignore[ii]) === 0) { this._deactivate(); return; } From 6da73fb3617bb21234d1ff5752eaae41dba37f10 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 26 Apr 2017 08:49:53 -0700 Subject: [PATCH 20/22] Leafy fresh vegetables. --- resources/celerity/map.php | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 15ad603b24..8c426f8b7f 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -10,7 +10,7 @@ return array( 'conpherence.pkg.css' => 'ff161f2d', 'conpherence.pkg.js' => 'b5b51108', 'core.pkg.css' => '84ce260a', - 'core.pkg.js' => '47a69358', + 'core.pkg.js' => 'fffe0122', 'darkconsole.pkg.js' => '1f9a31bc', 'differential.pkg.css' => '90b30783', 'differential.pkg.js' => 'ddfeb49b', @@ -508,7 +508,7 @@ return array( 'rsrc/js/core/behavior-object-selector.js' => 'e0ec7f2f', 'rsrc/js/core/behavior-oncopy.js' => '2926fff2', 'rsrc/js/core/behavior-phabricator-nav.js' => '08675c6d', - 'rsrc/js/core/behavior-phabricator-remarkup-assist.js' => '0ca788bd', + 'rsrc/js/core/behavior-phabricator-remarkup-assist.js' => 'acd29eee', 'rsrc/js/core/behavior-read-only-warning.js' => 'ba158207', 'rsrc/js/core/behavior-refresh-csrf.js' => 'ab2f381b', 'rsrc/js/core/behavior-remarkup-preview.js' => '4b700e9e', @@ -536,7 +536,7 @@ return array( 'rsrc/js/phui/behavior-phui-tab-group.js' => '0a0b10e9', 'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8', 'rsrc/js/phuix/PHUIXActionView.js' => 'b3465b9b', - 'rsrc/js/phuix/PHUIXAutocomplete.js' => 'd713a2c5', + 'rsrc/js/phuix/PHUIXAutocomplete.js' => 'f6699267', 'rsrc/js/phuix/PHUIXDropdownMenu.js' => '8018ee50', 'rsrc/js/phuix/PHUIXFormControl.js' => '83e03671', 'rsrc/js/phuix/PHUIXIconView.js' => 'bff6884b', @@ -673,7 +673,7 @@ return array( 'javelin-behavior-phabricator-notification-example' => '8ce821c5', 'javelin-behavior-phabricator-object-selector' => 'e0ec7f2f', 'javelin-behavior-phabricator-oncopy' => '2926fff2', - 'javelin-behavior-phabricator-remarkup-assist' => '0ca788bd', + 'javelin-behavior-phabricator-remarkup-assist' => 'acd29eee', 'javelin-behavior-phabricator-reveal-content' => '60821bc7', 'javelin-behavior-phabricator-search-typeahead' => 'eded9ee8', 'javelin-behavior-phabricator-show-older-transactions' => '94c65b72', @@ -896,7 +896,7 @@ return array( 'phui-workpanel-view-css' => 'a3a63478', 'phuix-action-list-view' => 'b5c256b8', 'phuix-action-view' => 'b3465b9b', - 'phuix-autocomplete' => 'd713a2c5', + 'phuix-autocomplete' => 'f6699267', 'phuix-dropdown-menu' => '8018ee50', 'phuix-form-control-view' => '83e03671', 'phuix-icon-view' => 'bff6884b', @@ -988,17 +988,6 @@ return array( 'javelin-dom', 'javelin-router', ), - '0ca788bd' => array( - 'javelin-behavior', - 'javelin-stratcom', - 'javelin-dom', - 'phabricator-phtize', - 'phabricator-textareautils', - 'javelin-workflow', - 'javelin-vector', - 'phuix-autocomplete', - 'javelin-mask', - ), '0f764c35' => array( 'javelin-install', 'javelin-util', @@ -1822,6 +1811,17 @@ return array( 'javelin-util', 'phabricator-busy', ), + 'acd29eee' => array( + 'javelin-behavior', + 'javelin-stratcom', + 'javelin-dom', + 'phabricator-phtize', + 'phabricator-textareautils', + 'javelin-workflow', + 'javelin-vector', + 'phuix-autocomplete', + 'javelin-mask', + ), 'b003d4fb' => array( 'javelin-behavior', 'javelin-stratcom', @@ -2087,12 +2087,6 @@ return array( 'javelin-json', 'phabricator-prefab', ), - 'd713a2c5' => array( - 'javelin-install', - 'javelin-dom', - 'phuix-icon-view', - 'phabricator-prefab', - ), 'd7a74243' => array( 'javelin-behavior', 'javelin-stratcom', @@ -2220,6 +2214,12 @@ return array( 'javelin-util', 'javelin-reactor', ), + 'f6699267' => array( + 'javelin-install', + 'javelin-dom', + 'phuix-icon-view', + 'phabricator-prefab', + ), 'f7fc67ec' => array( 'javelin-install', 'javelin-typeahead', From 85ff1d5c2df03a7892eb14aec7eac6080e104714 Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 26 Apr 2017 11:48:44 -0700 Subject: [PATCH 21/22] Reduce the impact of `bin/storage dump` Summary: Ref T12646. - Use "wb1" instead of "wb" to use level 1 gzip compression (faster, less compressy). Locally, this went about 2x faster and the output only grew 4% larger. - LinesOfALargeExecFuture does a lot of unnecessary string operations, and can boil down to a busy wait. The process is pretty saturated by I/O so this isn't the end of the world, but just use raw ExecFuture with FutureIterator so that we wait in `select()`. - Also, nice the process to +19 so we try to give other things CPU. Test Plan: - Ran `bin/storage dump --compress --output ...`. - Saw CPU time for my local database drop from ~240s to ~90s, with a 4% larger output. Most of this was adding the `1`, but the ExecFuture thing helped a little, too. - I'm not sure what a great way to test `nice` in a local environment is and it's system dependent anyway, but nothing got worse / blew up. - Used `gzcat | head` and `gzcat | tail` on the result to sanity-check that everything was preserved. Reviewers: chad, amckinley Reviewed By: chad Maniphest Tasks: T12646 Differential Revision: https://secure.phabricator.com/D17795 --- ...abricatorStorageManagementDumpWorkflow.php | 49 +++++++++++++------ 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDumpWorkflow.php b/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDumpWorkflow.php index 7195e735c6..4dc5c64042 100644 --- a/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDumpWorkflow.php +++ b/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementDumpWorkflow.php @@ -138,6 +138,13 @@ final class PhabricatorStorageManagementDumpWorkflow $command = csprintf('mysqldump %Ls', $argv); } + // Decrease the CPU priority of this process so it doesn't contend with + // other more important things. + if (function_exists('proc_nice')) { + proc_nice(19); + } + + // If we aren't writing to a file, just passthru the command. if ($output_file === null) { return phutil_passthru('%C', $command); @@ -148,7 +155,7 @@ final class PhabricatorStorageManagementDumpWorkflow // a full disk). See T6996 for discussion. if ($is_compress) { - $file = gzopen($output_file, 'wb'); + $file = gzopen($output_file, 'wb1'); } else { $file = fopen($output_file, 'wb'); } @@ -162,23 +169,35 @@ final class PhabricatorStorageManagementDumpWorkflow $future = new ExecFuture('%C', $command); - $lines = new LinesOfALargeExecFuture($future); - try { - foreach ($lines as $line) { - $line = $line."\n"; - if ($is_compress) { - $ok = gzwrite($file, $line); - } else { - $ok = fwrite($file, $line); + $iterator = id(new FutureIterator(array($future))) + ->setUpdateInterval(0.100); + foreach ($iterator as $ready) { + list($stdout, $stderr) = $future->read(); + $future->discardBuffers(); + + if (strlen($stderr)) { + fwrite(STDERR, $stderr); } - if ($ok !== strlen($line)) { - throw new Exception( - pht( - 'Failed to write %d byte(s) to file "%s".', - new PhutilNumber(strlen($line)), - $output_file)); + if (strlen($stdout)) { + if ($is_compress) { + $ok = gzwrite($file, $stdout); + } else { + $ok = fwrite($file, $stdout); + } + + if ($ok !== strlen($stdout)) { + throw new Exception( + pht( + 'Failed to write %d byte(s) to file "%s".', + new PhutilNumber(strlen($stdout)), + $output_file)); + } + } + + if ($ready !== null) { + $ready->resolvex(); } } From d2baa88171fcc3f327b157277afb905430b5a918 Mon Sep 17 00:00:00 2001 From: epriestley Date: Thu, 27 Apr 2017 15:07:32 -0700 Subject: [PATCH 22/22] Allow Owners packages to have arbitrarily long names Summary: - Change column type from `sort128` to `sort`. - Remove `originalName`. This column is unused. Long ago, we used it to generate a `Thread-Topic` header for mail, but just use PHIDs now (the value just needs to be stable for a given object, users normally don't see it). Test Plan: - Created a package with a beautifully long name. Magnificent! - Grepped for `originalName` / `getOriginalName()`, found no Owners hits. - Verified that there isn't any name-length validation code to remove. {F4925637} Reviewers: chad, amckinley Reviewed By: chad Differential Revision: https://secure.phabricator.com/D17798 --- resources/sql/autopatches/20170427.owners.01.long.sql | 2 ++ .../owners/storage/PhabricatorOwnersPackage.php | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 resources/sql/autopatches/20170427.owners.01.long.sql diff --git a/resources/sql/autopatches/20170427.owners.01.long.sql b/resources/sql/autopatches/20170427.owners.01.long.sql new file mode 100644 index 0000000000..01a463f52a --- /dev/null +++ b/resources/sql/autopatches/20170427.owners.01.long.sql @@ -0,0 +1,2 @@ +ALTER TABLE {$NAMESPACE}_owners.owners_package + DROP originalName; diff --git a/src/applications/owners/storage/PhabricatorOwnersPackage.php b/src/applications/owners/storage/PhabricatorOwnersPackage.php index 1b12365e4f..2b22a7a145 100644 --- a/src/applications/owners/storage/PhabricatorOwnersPackage.php +++ b/src/applications/owners/storage/PhabricatorOwnersPackage.php @@ -12,7 +12,6 @@ final class PhabricatorOwnersPackage PhabricatorNgramsInterface { protected $name; - protected $originalName; protected $auditingEnabled; protected $autoReview; protected $description; @@ -105,8 +104,7 @@ final class PhabricatorOwnersPackage self::CONFIG_TIMESTAMPS => false, self::CONFIG_AUX_PHID => true, self::CONFIG_COLUMN_SCHEMA => array( - 'name' => 'sort128', - 'originalName' => 'text255', + 'name' => 'sort', 'description' => 'text', 'primaryOwnerPHID' => 'phid?', 'auditingEnabled' => 'bool', @@ -137,9 +135,6 @@ final class PhabricatorOwnersPackage public function setName($name) { $this->name = $name; - if (!$this->getID()) { - $this->originalName = $name; - } return $this; }