invalidate memory cache when needed
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 25 Nov 2003 20:04:24 +0000 (20:04 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 25 Nov 2003 20:04:24 +0000 (20:04 +0000)
git-svn-id: file:///home/dpavlin/private/svn/webpac/trunk@180 13eb9ef6-21d5-0310-b721-a9d68796d827

all2xml.pl

index 29f236a..13cec21 100755 (executable)
@@ -102,20 +102,20 @@ sub data2xml {
        }
 
        my @sorted_tags;
-       if ($cache->{tags_by_order}->{$type}) {
-               @sorted_tags = @{$cache->{tags_by_order}->{$type}};
+       if ($cache->{tags_by_order}) {
+               @sorted_tags = @{$cache->{tags_by_order}};
        } else {
                @sorted_tags = sort by_order keys %{$config->{indexer}};
-               $cache->{tags_by_order}->{$type} = \@sorted_tags;
+               $cache->{tags_by_order} = \@sorted_tags;
        }
 
        # lookup key
        my $lookup_key;
 
        # cache for field in pages
-       $cache->{display_data} = ();
-       $cache->{swish_data} = ();
-       $cache->{swish_exact_data} = ();
+       delete $cache->{display_data};
+       delete $cache->{swish_data};
+       delete $cache->{swish_exact_data};
        my @page_fields;        # names of fields
 
 
@@ -566,6 +566,9 @@ print STDERR "reading ./import_xml/$type.xml\n";
        # now read database
 print STDERR "using: $type...\n";
 
+       # erase cache for tags by order in this database
+       delete $cache->{tags_by_order};
+
        if ($type_base eq "isis") {
 
                my $isis_db = $cfg -> val($database, 'isis_db') || die "$database doesn't have 'isis_db' defined!";