HomePhabricator

Destroy changeset parse cache when destroying a revision

Description

Destroy changeset parse cache when destroying a revision

Summary: When we delete a DifferentialChangeset, also delete the cache if it exists.

Test Plan:
Destroyed a revision, verified cache was destroyed. See marked line below.

      $ ./scripts/differential/destroy_revision.php D1 --trace
      >>> [0] <connect>
      <<< [0] <connect> 1,324 us
      >>> [1] <query> SELECT * FROM `differential_revision` WHERE `id` = 1
      <<< [1] <query> 517 us

          Really destroy 'D1: asdb' forever? [y/N] y

      >>> [2] <connect>
      <<< [2] <connect> 633 us
      >>> [3] <query> START TRANSACTION
      <<< [3] <query> 183 us
      >>> [4] <query> SELECT * FROM `differential_diff` WHERE revisionID = 1
      <<< [4] <query> 560 us
      >>> [5] <query> SAVEPOINT Aphront_Savepoint_1
      <<< [5] <query> 197 us
      >>> [6] <query> SELECT * FROM `differential_changeset` WHERE diffID = 3
      <<< [6] <query> 672 us
      >>> [7] <query> SAVEPOINT Aphront_Savepoint_2
      <<< [7] <query> 188 us
      >>> [8] <query> SELECT * FROM `differential_hunk` WHERE changesetID = 6
      <<< [8] <query> 946 us
      >>> [9] <query> DELETE FROM `differential_hunk` WHERE `id` = 6
      <<< [9] <query> 335 us
****  >>> [10] <query> DELETE FROM `differential_changeset_parse_cache` WHERE id = 6
      <<< [10] <query> 1,464 us
      >>> [11] <query> DELETE FROM `differential_changeset` WHERE `id` = 6
      <<< [11] <query> 313 us
      >>> [12] <query> SAVEPOINT Aphront_Savepoint_2
      <<< [12] <query> 151 us
      >>> [13] <query> SELECT * FROM `differential_hunk` WHERE changesetID = 7
      <<< [13] <query> 226 us
      >>> [14] <query> DELETE FROM `differential_hunk` WHERE `id` = 7
      <<< [14] <query> 164 us
      >>> [15] <query> DELETE FROM `differential_changeset_parse_cache` WHERE id = 7
      <<< [15] <query> 318 us
      >>> [16] <query> DELETE FROM `differential_changeset` WHERE `id` = 7
      <<< [16] <query> 189 us
      >>> [17] <query> SELECT * FROM `differential_diffproperty` WHERE diffID = 3
      <<< [17] <query> 500 us
      >>> [18] <query> DELETE FROM `differential_diffproperty` WHERE `id` = 1
      <<< [18] <query> 179 us
      >>> [19] <query> DELETE FROM `differential_diff` WHERE `id` = 3
      <<< [19] <query> 211 us
      >>> [20] <query> DELETE FROM `differential_relationship` WHERE revisionID = 1
      <<< [20] <query> 391 us
      >>> [21] <query> DELETE FROM `differential_commit` WHERE revisionID = 1
      <<< [21] <query> 397 us
      >>> [22] <query> SELECT * FROM `differential_comment` WHERE revisionID = 1
      <<< [22] <query> 448 us
      >>> [23] <query> DELETE FROM `differential_comment` WHERE `id` = 1
      <<< [23] <query> 212 us
      >>> [24] <query> DELETE FROM `differential_comment` WHERE `id` = 2
      <<< [24] <query> 160 us
      >>> [25] <query> SELECT * FROM `differential_inlinecomment` WHERE revisionID = 1
      <<< [25] <query> 549 us
      >>> [26] <query> SELECT * FROM `differential_auxiliaryfield` WHERE revisionPHID = 'PHID-DREV-orsh7alzcj764ubv2f34'
      <<< [26] <query> 531 us
      >>> [27] <query> SELECT * FROM `differential_affectedpath` WHERE revisionID = 1
      <<< [27] <query> 5,676 us
      >>> [28] <query> DELETE FROM `differential_revision` WHERE `id` = 1
      <<< [28] <query> 442 us
      >>> [29] <query> COMMIT
      <<< [29] <query> 324 us
      OK, destroyed revision.

Reviewers: csilvers, btrahan

Reviewed By: csilvers

CC: aran

Differential Revision: https://secure.phabricator.com/D2835

Details

Provenance
epriestleyAuthored on
Reviewer
csilvers
Differential Revision
Restricted Differential Revision
Parents
rPe3eb8d55c5fe: Mark date and time format translatable
Branches
Unknown
Tags
Unknown

Event Timeline