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
F18821983: D18734.diff
Thu, Oct 23, 3:18 AM
F18783819: D18734.id44965.diff
Mon, Oct 13, 9:44 AM
F18776963: D18734.id44965.diff
Sat, Oct 11, 12:19 AM
F18772544: D18734.id.diff
Thu, Oct 9, 3:02 AM
F18766224: D18734.diff
Tue, Oct 7, 3:38 PM
F18703015: D18734.diff
Sun, Sep 28, 2:39 AM
F18649880: D18734.id44971.diff
Sep 20 2025, 10:32 PM
F18278123: D18734.id.diff
Aug 22 2025, 8:37 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