You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by Apache subversion Wiki <co...@subversion.apache.org> on 2016/12/21 20:18:29 UTC

[Subversion Wiki] Update of "AuthzImprovements" by StefanFuhrmann

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.

The "AuthzImprovements" page has been changed by StefanFuhrmann:
https://wiki.apache.org/subversion/AuthzImprovements?action=diff&rev1=16&rev2=17

              state.rights = access
          state.current = next
  }}}
+ So, the full lookup without caching is as shown below.  For efficiency, we check the accumulated global rights calculated by the parser before performing a tree lookup. There are probably many cases where the result of any lookup can be predicted from those rights, and therefore the lookup itself, and even creation of the filtered tree, could be skipped entirely.
- So, the full lookup without caching is
- {{{#!wiki caution
- There is one step we should perform before the initial lookup: check the accumulated global rights calculated by the parser. There are probably many cases where the result of any lookup can be predicted from those rights, and therefore the lookup itself, and even creation of the filtered tree, could be skipped entirely (for the cost of a couple extra hash lookups in the worst case).
- }}}
  {{{
      lookup(tree : ref to filtered-tree, path : string):
      state = init(tree)
@@ -205, +202 @@

  
  == Better Access Control ==
  
- TODO
+ TODO after 1.10.
  
  = Implementation Notes =