~svn/ubuntu/raring/subversion/ppa

« back to all changes in this revision

Viewing changes to notes/propfind-pool-notes

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-12-05 01:26:14 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051205012614-qom4xfypgtsqc2xq
Tags: 1.2.3dfsg1-3ubuntu1
Merge with the final Debian release of 1.2.3dfsg1-3, bringing in
fixes to the clean target, better documentation of the libdb4.3
upgrade and build fixes to work with swig1.3_1.3.27.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
This is a rough manual trace of what occurs on a PROPFIND request.
 
2
 
 
3
Location of file: M == mod_dav, S == mod_dav_svn
 
4
 
 
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