SHOW:
|
|
- or go back to the newest paste.
1 | EXPLAIN | |
2 | -- (ANALYZE, BUFFERS) | |
3 | SELECT ac.alloc_id, ac.txn_id, MAX(ac.ac_type) AS type, ac.subclass_id AS subclass_id, ac.member_name_id, ac.byte_offset, ac.data_type_id | |
4 | FROM accesses_flat ac | |
5 | WHERE ac.txn_id IS NOT NULL | |
6 | AND NOT EXISTS | |
7 | ( | |
8 | -- Get all accesses that happened on an init path or accessed a blacklisted member | |
9 | SELECT 1 | |
10 | FROM stacktraces AS s_st | |
11 | LEFT JOIN (SELECT * | |
12 | - | FROM function_blacklist in_sfn_bl |
12 | + | FROM function_blacklist sfn_bl |
13 | WHERE | |
14 | ((in_sfn_bl .subclass_id IS NULL AND s_fn_bl.member_name_id IS NULL) -- globally blacklisted function | |
15 | OR | |
16 | (s_fn_bl.subclass_id = s_ac.subclass_id AND s_fn_bl.member_name_id IS NULL) -- for this data type blacklisted | |
17 | OR | |
18 | - | (s_fn_bl.subclass_id = s_ac.subclass_id AND s_fn_bl.member_name_id = s_ac.member_name_id)) |
18 | + | (s_fn_bl.subclass_id = s_ac.subclass_id AND s_fn_bl.member_name_id = ac.member_name_id)) |
19 | AND | |
20 | (s_fn_bl.sequence IS NULL OR s_fn_bl.sequence = s_st.sequence) | |
21 | - | ) os_fn_bl ON ps_fn_bl.fn = s_st.function |
21 | + | ) os_fn_bl ON os_fn_bl.fn = s_st.function |
22 | WHERE ac.stacktrace_id = s_st.id | |
23 | - | AND s_fn_bl.fn IS NOT NULL |
23 | + | AND os_fn_bl.fn IS NOT NULL |
24 | LIMIT 1 | |
25 | ) | |
26 | - | AND ac.member_name_id IS NULL |
26 | + | AND NOT EXISTS (select 1 |
27 | FROM member_blacklist m_bl | |
28 | WHERE m_bl.subclass_id = ac.subclass_id | |
29 | AND m_bl.member_name_id = ac.member_name_id) | |
30 | GROUP BY ac.alloc_id, ac.txn_id, ac.byte_offset, ac.data_type_id, ac.subclass_id, ac.member_name_id |