In the implementations of svn_fs_get_mergeinfo, make sure that the
[svn.git] / notes / propfind-pool-notes
blob5da855289c2ec2edc0d12fc85a2ad0706ae93ed5
1 This is a rough manual trace of what occurs on a PROPFIND request.
3 Location of file: M == mod_dav, S == mod_dav_svn
5 dav_method_propfind [ M:mod_dav.c ]
6 dav_svn_walk [ S:repos.c ]
7 dav_svn_do_walk [ S:repos.c ]
8   ** may recursively call dav_svn_do_walk for children as depth dictates
9   - dav_propfind_walker [ M:mod_dav.c ]
10     - dav_open_propdb [ M:props.c ]
11       ** sets propdb->p to r->pool
12       - dav_svn_db_open [ S:deadprops.c ]
13         ** creates db->p
14     - dav_get_props [ M:props.c ]
15       ** Uses propdb->p.
16       ** Appends response to propdb->p
17       - may call dav_find_liveprop [ M:props.c ]
18         - dav_svn_find_liveprop [ S:liveprops.c ]
19           - dav_do_find_liveprop [ M:liveprop.c ]
20             ** static storage 
21       - dav_insert_liveprop [ M:props.c ]
22         - dav_svn_insert_prop [ S:liveprops.c ]
23           ** uses resource->info->pool to svn_fs_*
24           ** places result in resource->pool
25       - dav_svn_db_output_value [ S:deadprops.c ]
26         ** uses db->resource->pool
27         - get_value [ S:deadprops.c ]
28           ** Uses db->p
29       - dav_svn_db_define_namespaces [ S:deadprops.c ]
30         - calls dav_xmlsns_add with constant storage space.
31         - Must live as long as xi->prefix_uri/xi->uri_prefix
32           ** Uses propdb->p
33     - dav_get_allprops [ M:props.c ]
34       ** Uses propdb->p
35       - dav_run_insert_all_liveprops [ M:hook ]
36         - dav_svn_insert_all_liveprops [ S:liveprops.c ]
37           ** Uses resource->info->pool
38           - dav_svn_insert_prop [ see above ]
39             ** resource->info->pool tweaked to be a temp subpool
40     - dav_close_propdb [ M:props.c ]
41       - dav_svn_db_close [ S:deadprops.c ]
42          ** destroys db->p
43     - dav_add_response [ M:mod_dav.c ]
44       ** uses wres->pool to store response