On the 1.10-cache-improvements branch: Introduce the concepts of "entry keys" to address cache entries and "full keys" to actually identify a given item.
On the 1.10-cache-improvements branch:
Introduce the concepts of "entry keys" to address cache entries and "full
keys" to actually identify a given item.

This commit only introduces the respective struct definitions and replaces
the plain array we used previously for keys.  Lots of code churn but no
actual data format or logic change.

* subversion/libsvn_subr/cache-membuffer.c
  (entry_key_t): Replace array with a struct - to be extended later.
  (full_key_t): New type - to be extended later.

  (store_key_part): Use the full key now.
  (assert_equal_tags): Update caller.
  (get_group_index): Pass in the key as explicit pointer and update to
                     the type change. 
  (find_entry): Now expect a full key for the lookup.
  (entry_exists_internal,
   entry_exists): Same for pass-through keys.
  (select_level): Update struct initializer.

  (membuffer_cache_set_internal,
   membuffer_cache_set,
   membuffer_cache_get_internal,
   membuffer_cache_get,
   membuffer_cache_has_key_internal,
   membuffer_cache_has_key,
   membuffer_cache_get_partial_internal,
   membuffer_cache_get_partial,
   membuffer_cache_set_partial_internal,
   membuffer_cache_set_partial): Always use the full key for lookup.

  (svn_membuffer_cache_t): Use the complete keys instead of folded ones.
  (combine_long_key,
   combine_key): Update key structure access.
  (svn_membuffer_cache_get,
   svn_membuffer_cache_has_key,
   svn_membuffer_cache_set,
   svn_membuffer_cache_get_partial,
   svn_membuffer_cache_set_partial): Update callers.
  (svn_cache__create_membuffer_cache): Update struct access.

git-svn-id: 9abecf2226429f900b686d5b950d6ce0235536c5@1675666 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion