]> granicus.if.org Git - postgresql/commitdiff
Cleanup of OR processing.
authorBruce Momjian <bruce@momjian.us>
Mon, 3 Aug 1998 05:49:24 +0000 (05:49 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 3 Aug 1998 05:49:24 +0000 (05:49 +0000)
src/backend/optimizer/path/indxpath.c
src/tools/backend/flow.fig
src/tools/backend/flow.jpg
src/tools/backend/index.html

index d8453a9455dfc08ff63f50a7f7266c88e199dc7a..191b1966b8aabd1bf7a0d5f65c96404871de3012 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.22 1998/08/02 07:10:38 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/optimizer/path/indxpath.c,v 1.23 1998/08/03 05:49:19 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -307,17 +307,23 @@ match_index_orclause(RelOptInfo *rel,
                                         List *other_matching_indices)
 {
        Node       *clause = NULL;
-       List       *matched_indices;
+       List       *matching_indices = other_matching_indices;
        List       *index_list = NIL;
        List       *clist;
 
+       /* first time through, we create index list */
+       if (!other_matching_indices)
+       {
+               foreach(clist, or_clauses)
+                       matching_indices = lcons(NIL, matching_indices);
+       }
+       else    matching_indices = other_matching_indices;
+
+       index_list = matching_indices;
+       
        foreach(clist, or_clauses)
        {
                clause = lfirst(clist);
-               if (other_matching_indices)
-                       matched_indices = lfirst(other_matching_indices);
-               else
-                       matched_indices = NIL;
                        
                if (is_opclause(clause) &&
                        op_class(((Oper *) ((Expr *) clause)->oper)->opno,
@@ -333,14 +339,10 @@ match_index_orclause(RelOptInfo *rel,
                                                                   index) &&
                         IsA(get_rightop((Expr *) clause), Const))))
                {
-                       matched_indices = lcons(index, matched_indices);
+                       lfirst(matching_indices) = lcons(index, lfirst(matching_indices));
                }
 
-               /* for the first index, we are creating the indexids list */
-               index_list = lappend(index_list, matched_indices);
-
-               if (other_matching_indices)
-                       other_matching_indices = lnext(other_matching_indices);
+               matching_indices = lnext(matching_indices);
        }
        return (index_list);
 
index 7faf66f489b8a183b6b0dcb37a37c0dc45328233..c12880ef0587d08b8de449f5dddcd92a20501a94 100644 (file)
@@ -3,141 +3,136 @@ Landscape
 Center
 Inches
 1200 2
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 1200 6900 600 4500 600 4500 1200 6900 1200
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 1200 5700 1800
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 2400 6900 1800 4500 1800 4500 2400 6900 2400
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 3600 6900 3000 4500 3000 4500 3600 6900 3600
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 2400 5700 3000
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        10800 3600 10800 3000 8400 3000 8400 3600 10800 3600
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 2400 9600 3000
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 5100 6900 4500 4500 4500 4500 5100 6900 5100
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 6300 6900 5700 4500 5700 4500 6300 6900 6300
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 5100 5700 5700
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 7500 6900 6900 4500 6900 4500 7500 6900 7500
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 6300 5700 6900
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 8700 6900 8100 4500 8100 4500 8700 6900 8700
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 7500 5700 8100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 8700 5700 9300
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        10800 6300 10800 5700 8400 5700 8400 6300 10800 6300
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        6900 6000 8400 6000
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
-       0 0 1.00 60.00 120.00
-        4500 9600 3900 9600 3900 6600
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
-        2700 8100
+6 450 375 2250 1575
+4 0 -1 0 0 0 24 0.0000 4 255 735 450 1515 Flow\001
+4 0 -1 0 0 0 24 0.0000 4 330 1800 450 675 PostgreSQL\001
+4 0 -1 0 0 0 24 0.0000 4 330 1290 450 1095 Program\001
+-6
+6 5325 13125 7725 14400
+2 4 0 1 -1 29 0 0 20 0.000 0 0 7 0 0 5
+        7725 14400 5325 14400 5325 13800 7725 13800 7725 14400
+2 1 0 1 29 7 0 0 -1 0.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        6450 13200 6450 13800
+-6
 2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
         8475 2175
 2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
         8475 2175
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        3900 6600 3900 4200
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        3900 4200 5700 4200
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 4200 5700 4500
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        2700 9600 2700 9000 300 9000 300 9600 2700 9600
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        2700 9300 3300 9300
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        2700 8700 2700 8100 300 8100 300 8700 2700 8700
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        2700 8400 3300 8400
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        2700 7800 2700 7200 300 7200 300 7800 2700 7800
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        3300 7500 2700 7500
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        2700 6900 2700 6300 300 6300 300 6900 2700 6900
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        3300 6600 2700 6600
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        2700 6000 2700 5400 300 5400 300 6000 2700 6000
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        2700 5700 3300 5700
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        6900 9900 6900 9300 4500 9300 4500 9900 6900 9900
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 8 0 0 5
-        10800 1200 10800 600 8400 600 8400 1200 10800 1200
-2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
-        10800 2400 10800 1800 8400 1800 8400 2400 10800 2400
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        8400 2100 7725 2100
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
-       0 0 1.00 60.00 120.00
-       0 0 1.00 60.00 120.00
-        8325 2175 7725 2550
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        5700 3600 5700 4200
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
-       0 0 1.00 60.00 120.00
-        10800 6000 11400 6000 11400 4200
-2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
-       0 0 1.00 60.00 120.00
-        11400 4200 5700 4200
-4 1 -1 0 0 28 18 0.0000 4 195 630 5670 990 Main\001
-4 1 -1 0 0 28 18 0.0000 4 195 1470 5685 2190 Postmaster\001
-4 1 -1 0 0 28 18 0.0000 4 240 1110 9585 3375 Postgres\001
-4 1 -1 0 0 28 18 0.0000 4 240 1110 5700 3390 Postgres\001
-4 1 -1 0 0 28 18 0.0000 4 195 1980 5685 7455 Generate Paths\001
-4 1 -1 0 0 28 18 0.0000 4 195 1275 5715 7170 Rewrite &\001
-4 1 -1 0 0 28 18 0.0000 4 255 1500 5715 6090 Traffic Cop\001
-4 1 -1 0 0 28 18 0.0000 4 195 825 5685 4875 Parser\001
-4 1 -1 0 0 28 18 0.0000 4 195 1485 9600 6255 Commands\001
-4 1 -1 0 0 28 18 0.0000 4 195 1830 5715 8670 Generate Plan\001
-4 1 -1 0 0 28 18 0.0000 4 195 1890 5700 8400 Choose Path &\001
-4 1 -1 0 0 28 18 0.0000 4 240 1125 5715 6660 complex\001
-4 0 -1 0 0 0 24 0.0000 4 330 1290 600 1470 Program\001
-4 0 -1 0 0 0 24 0.0000 4 255 735 600 1890 Flow\001
-4 0 -1 0 0 0 24 0.0000 4 330 1800 600 1050 PostgreSQL\001
-4 0 -1 0 0 0 18 0.0000 4 255 1095 9000 975 Bootstrap\001
-4 1 -1 0 0 28 18 0.0000 4 240 2325 1515 9390 Storage Managers\001
-4 0 -1 0 0 0 18 0.0000 4 225 1425 750 8475 Nodes / Lists\001
-4 1 -1 0 0 28 18 0.0000 4 195 1050 1485 7590 Utilities\001
-4 1 -1 0 0 28 18 0.0000 4 195 2100 1485 5805 Access Methods\001
-4 1 -1 0 0 28 18 0.0000 4 195 1140 5685 9720 Executor\001
-4 0 -1 0 0 0 18 0.0000 4 255 645 9225 2175 Libpq\001
-4 0 -1 0 0 0 18 0.0000 4 255 840 1050 6675 Catalog\001
-4 1 -1 0 0 28 18 0.0000 4 240 795 7605 5925 utility\001
-4 1 -1 0 0 28 18 0.0000 4 240 825 9600 5970 Utility\001
+2 4 0 1 -1 29 0 0 20 0.000 0 0 7 0 0 5
+        2850 13200 450 13200 450 12600 2850 12600 2850 13200
+2 1 0 1 29 7 0 0 -1 0.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        1650 12600 1650 12000
+2 4 0 1 -1 29 0 0 20 0.000 0 0 7 0 0 5
+        9225 13200 6825 13200 6825 12600 9225 12600 9225 13200
+2 1 0 1 29 7 0 0 -1 0.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        8025 11925 8025 12525
+2 4 0 1 -1 29 0 0 20 0.000 0 0 7 0 0 5
+        6000 13200 3600 13200 3600 12600 6000 12600 6000 13200
+2 1 0 1 29 7 0 0 -1 0.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        4800 12600 4800 12000
+2 4 0 1 -1 29 0 0 20 0.000 0 0 7 0 0 5
+        4425 14400 2025 14400 2025 13800 4425 13800 4425 14400
+2 1 0 1 29 7 0 0 -1 0.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        3225 13200 3225 13800
+2 1 0 1 8 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 6675 2625 7275
+2 1 0 1 19 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 2775 2625 3375
+2 4 0 1 -1 4 0 0 20 0.000 0 0 7 0 0 5
+        3825 3975 1425 3975 1425 3375 3825 3375 3825 3975
+2 1 0 1 20 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 3975 2625 4575
+2 1 0 1 20 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 3975 6525 4575
+2 4 0 1 -1 8 0 0 20 0.000 0 0 7 0 0 5
+        3825 6675 1425 6675 1425 6075 3825 6075 3825 6675
+2 4 0 1 -1 8 0 0 20 0.000 0 0 7 0 0 5
+        3825 7875 1425 7875 1425 7275 3825 7275 3825 7875
+2 4 0 1 -1 8 0 0 20 0.000 0 0 7 0 0 5
+        3825 9075 1425 9075 1425 8475 3825 8475 3825 9075
+2 1 0 1 8 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 7875 2625 8475
+2 4 0 1 -1 8 0 0 20 0.000 0 0 7 0 0 5
+        3825 10275 1425 10275 1425 9675 3825 9675 3825 10275
+2 1 0 1 8 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 9075 2625 9675
+2 1 0 1 8 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 10275 2625 10875
+2 4 0 1 -1 8 0 0 20 0.000 0 0 7 0 0 5
+        7725 7875 5325 7875 5325 7275 7725 7275 7725 7875
+2 1 0 1 8 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        3825 7575 5325 7575
+2 1 0 1 8 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 5775 2625 6075
+2 4 0 1 -1 8 0 0 20 0.000 0 0 7 0 0 5
+        3825 11475 1425 11475 1425 10875 3825 10875 3825 11475
+2 1 0 1 31 7 0 0 -1 0.000 0 0 -1 1 0 2
+       0 0 1.00 60.00 120.00
+        2625 5175 2625 5775
+2 4 0 1 -1 31 0 0 20 0.000 0 0 7 0 0 5
+        3825 5175 1425 5175 1425 4575 3825 4575 3825 5175
+2 4 0 1 -1 31 0 0 20 0.000 0 0 7 0 0 5
+        7725 5175 5325 5175 5325 4575 7725 4575 7725 5175
+2 4 0 1 -1 17 1 0 20 0.000 0 0 40 0 0 5
+        8775 11775 375 11775 375 5625 8775 5625 8775 11775
+2 4 0 1 -1 0 0 0 20 0.000 0 0 7 0 0 5
+        7725 3375 5325 3375 5325 2775 7725 2775 7725 3375
+2 1 1 1 -1 7 0 0 -1 3.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        4660 3324 5295 3093
+2 1 1 1 -1 7 0 0 -1 4.000 0 0 -1 1 1 2
+       0 0 1.00 60.00 120.00
+       0 0 1.00 60.00 120.00
+        4890 3708 5325 3150
+2 4 0 1 -1 26 0 0 20 0.000 0 0 7 0 0 5
+        3825 2775 1425 2775 1425 2175 3825 2175 3825 2775
+2 4 0 1 -1 23 0 0 20 0.000 0 0 8 0 0 5
+        2925 15675 525 15675 525 15075 2925 15075 2925 15675
+3 0 0 1 8 7 0 0 -1 0.000 0 1 0 5
+       0 0 1.00 60.00 120.00
+        7725 7575 8325 7275 8325 6375 7950 5775 2625 5775
+3 0 0 1 8 7 0 0 -1 0.000 0 1 0 5
+       0 0 1.00 60.00 120.00
+        1425 11175 750 10725 750 6225 1425 5775 2625 5775
+4 1 -1 0 0 28 18 0.0000 4 195 1050 1635 12990 Utilities\001
+4 1 -1 0 0 28 18 0.0000 4 240 2325 8040 12990 Storage Managers\001
+4 1 -1 0 0 0 18 0.0000 4 255 840 4800 12975 Catalog\001
+4 1 -1 0 0 28 18 0.0000 4 195 2100 3210 14205 Access Methods\001
+4 1 7 0 0 28 18 0.0000 4 195 1980 2610 9030 Generate Paths\001
+4 1 7 0 0 28 18 0.0000 4 195 1485 6525 7830 Commands\001
+4 1 7 0 0 28 18 0.0000 4 195 1830 2640 10245 Generate Plan\001
+4 1 -1 0 0 28 18 0.0000 4 195 1470 2610 3765 Postmaster\001
+4 1 -1 0 0 28 18 0.0000 4 240 1110 6510 4950 Postgres\001
+4 1 -1 0 0 28 18 0.0000 4 240 1110 2625 4965 Postgres\001
+4 1 7 0 0 28 18 0.0000 4 195 1275 2640 8745 Rewrite &\001
+4 1 7 0 0 28 18 0.0000 4 255 1500 2640 7665 Traffic Cop\001
+4 1 7 0 0 28 18 0.0000 4 195 825 2610 6450 Parser\001
+4 1 7 0 0 28 18 0.0000 4 195 1890 2625 9975 Choose Path &\001
+4 1 7 0 0 28 18 0.0000 4 195 1140 2610 11295 Executor\001
+4 1 8 0 0 28 18 0.0000 4 240 795 4530 7500 utility\001
+4 1 7 0 0 28 18 0.0000 4 240 825 6525 7545 Utility\001
+4 1 -1 0 0 28 18 0.0000 4 195 630 2595 2565 Main\001
+4 1 8 0 0 28 18 0.0000 4 240 1125 2640 8235 complex\001
+4 1 -1 0 0 0 18 0.0000 4 225 1425 6525 14175 Nodes / Lists\001
+4 1 7 0 0 0 18 0.0000 4 255 645 6525 3150 Libpq\001
+4 1 -1 0 0 0 18 0.0000 4 255 1095 1725 15450 Bootstrap\001
index 297cd10fde95b90d7194ab20b59ae0b284b487d1..dba7dcd5f7791d15662bb19c1e4af70d42b1abfb 100644 (file)
Binary files a/src/tools/backend/flow.jpg and b/src/tools/backend/flow.jpg differ
index e1538affc41e59e3fc3dedd60c8c879685267d78..1942e729f5b65d6f035050b10cd7a4730cbe185c 100644 (file)
@@ -20,23 +20,23 @@ Click on an item to see more detail or look at the full
 <IMG src="flow.jpg" usemap="#flowmap" alt="flowchart">
 </CENTER>
 <MAP name="flowmap">
-<AREA COORDS="290,10,450,50" HREF="backend_dirs.html#main">
-<AREA COORDS="550,10,710,50" HREF="backend_dirs.html#bootstrap">
-<AREA COORDS="290,90,450,130," HREF="backend_dirs.html#postmaster">
-<AREA COORDS="550,90,710,130," HREF="backend_dirs.html#libpq">
-<AREA COORDS="290,170,450,210" HREF="backend_dirs.html#tcop">
-<AREA COORDS="550,170,710,210" HREF="backend_dirs.html#tcop">
-<AREA COORDS="290,270,450,310" HREF="backend_dirs.html#parser">
-<AREA COORDS="290,350,450,390" HREF="backend_dirs.html#tcop">
-<AREA COORDS="290,430,450,470" HREF="backend_dirs.html#optimizer">
-<AREA COORDS="290,510,450,550" HREF="backend_dirs.html#optimizer/plan">
-<AREA COORDS="290,570,450,630" HREF="backend_dirs.html#executor">
-<AREA COORDS="550,350,710,390" HREF="backend_dirs.html#commands">
-<AREA COORDS="10,330,170,370" HREF="backend_dirs.html#access">
-<AREA COORDS="10,390,170,430" HREF="backend_dirs.html#catalog">
-<AREA COORDS="10,450,170,490" HREF="backend_dirs.html#utils">
-<AREA COORDS="10,510,170,550" HREF="backend_dirs.html#nodes">
-<AREA COORDS="10,570,170,610" HREF="backend_dirs.html#storage">
+<AREA COORDS="80,130,240,170" HREF="backend_dirs.html#main">
+<AREA COORDS="80,210,240,250" HREF="backend_dirs.html#postmaster">
+<AREA COORDS="340,170,500,210" HREF="backend_dirs.html#libpq">
+<AREA COORDS="80,290,240,330" HREF="backend_dirs.html#tcop">
+<AREA COORDS="340,290,500,330" HREF="backend_dirs.html#tcop">
+<AREA COORDS="80,390,240,430" HREF="backend_dirs.html#parser">
+<AREA COORDS="80,470,240,510" HREF="backend_dirs.html#tcop">
+<AREA COORDS="80,550,240,590" HREF="backend_dirs.html#optimizer">
+<AREA COORDS="80,530,240,670" HREF="backend_dirs.html#optimizer/plan">
+<AREA COORDS="80,710,240,750" HREF="backend_dirs.html#executor">
+<AREA COORDS="340,470,500,510" HREF="backend_dirs.html#commands">
+<AREA COORDS="10,820,170,870" HREF="backend_dirs.html#utils">
+<AREA COORDS="220,820,380,860" HREF="backend_dirs.html#catalog">
+<AREA COORDS="430,820,600,870" HREF="backend_dirs.html#storage">
+<AREA COORDS="110,900,280,950" HREF="backend_dirs.html#access">
+<AREA COORDS="340,900,500,950" HREF="backend_dirs.html#nodes">
+<AREA COORDS="20,990,180,1030" HREF="backend_dirs.html#bootstrap">
 </MAP>
 <BR>
 <P>