Page MenuHomePhabricator

Add a missing key to PhabricatorFile for destroying Files
ClosedPublic

Authored by epriestley on Oct 26 2017, 8:15 PM.
Tags
None
Referenced Files
F18278123: D18734.id.diff
Fri, Aug 22, 8:37 PM
F18249158: D18734.diff
Thu, Aug 21, 2:01 PM
F18103748: D18734.id.diff
Sun, Aug 10, 7:35 AM
F18099859: D18734.id44965.diff
Sat, Aug 9, 9:09 AM
F18098181: D18734.id44971.diff
Fri, Aug 8, 7:07 PM
Unknown Object (File)
May 17 2025, 8:48 PM
Unknown Object (File)
May 10 2025, 11:28 PM
Unknown Object (File)
May 4 2025, 1:02 PM
Subscribers
None

Details

Summary

See PHI176. Depends on D18733. We issue a query when deleting files that currently doesn't hit any keys.

Test Plan

Ran ./bin/remove destroy --force --trace F56376 to get the query.

Ran SELECT * FROM `file` WHERE storageEngine = 'blob' AND storageHandle = '23366' LIMIT 1 before and after the change.

Before:

mysql> explain SELECT * FROM `file` WHERE storageEngine = 'blob' AND storageHandle = '23366' LIMIT 1;
+----+-------------+-------+------+---------------+------+---------+------+-------+-------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows  | Extra       |
+----+-------------+-------+------+---------------+------+---------+------+-------+-------------+
|  1 | SIMPLE      | file  | ALL  | NULL          | NULL | NULL    | NULL | 33866 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+-------+-------------+
1 row in set (0.01 sec)

After:

mysql> explain SELECT * FROM `file` WHERE storageEngine = 'blob' AND storageHandle = '23366' LIMIT 1;
+----+-------------+-------+------+---------------+------------+---------+-------------+------+------------------------------------+
| id | select_type | table | type | possible_keys | key        | key_len | ref         | rows | Extra                              |
+----+-------------+-------+------+---------------+------------+---------+-------------+------+------------------------------------+
|  1 | SIMPLE      | file  | ref  | key_engine    | key_engine | 388     | const,const |  190 | Using index condition; Using where |
+----+-------------+-------+------+---------------+------------+---------+-------------+------+------------------------------------+
1 row in set (0.00 sec)

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable