blob: 5da855289c2ec2edc0d12fc85a2ad0706ae93ed5 [file] [log] [blame]
This is a rough manual trace of what occurs on a PROPFIND request.
Location of file: M == mod_dav, S == mod_dav_svn
dav_method_propfind [ M:mod_dav.c ]
dav_svn_walk [ S:repos.c ]
dav_svn_do_walk [ S:repos.c ]
** may recursively call dav_svn_do_walk for children as depth dictates
- dav_propfind_walker [ M:mod_dav.c ]
- dav_open_propdb [ M:props.c ]
** sets propdb->p to r->pool
- dav_svn_db_open [ S:deadprops.c ]
** creates db->p
- dav_get_props [ M:props.c ]
** Uses propdb->p.
** Appends response to propdb->p
- may call dav_find_liveprop [ M:props.c ]
- dav_svn_find_liveprop [ S:liveprops.c ]
- dav_do_find_liveprop [ M:liveprop.c ]
** static storage
- dav_insert_liveprop [ M:props.c ]
- dav_svn_insert_prop [ S:liveprops.c ]
** uses resource->info->pool to svn_fs_*
** places result in resource->pool
- dav_svn_db_output_value [ S:deadprops.c ]
** uses db->resource->pool
- get_value [ S:deadprops.c ]
** Uses db->p
- dav_svn_db_define_namespaces [ S:deadprops.c ]
- calls dav_xmlsns_add with constant storage space.
- Must live as long as xi->prefix_uri/xi->uri_prefix
** Uses propdb->p
- dav_get_allprops [ M:props.c ]
** Uses propdb->p
- dav_run_insert_all_liveprops [ M:hook ]
- dav_svn_insert_all_liveprops [ S:liveprops.c ]
** Uses resource->info->pool
- dav_svn_insert_prop [ see above ]
** resource->info->pool tweaked to be a temp subpool
- dav_close_propdb [ M:props.c ]
- dav_svn_db_close [ S:deadprops.c ]
** destroys db->p
- dav_add_response [ M:mod_dav.c ]
** uses wres->pool to store response