1-- 2-- SELECT_VIEWS 3-- test the views defined in CREATE_VIEWS 4-- 5SELECT * FROM street; 6 name | thepath | cname 7------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------- 8 Access Rd 25 | [(-121.9283,37.894),(-121.9283,37.9)] | Oakland 9 Ada St | [(-122.2487,37.398),(-122.2496,37.401)] | Lafayette 10 Agua Fria Creek | [(-121.9254,37.922),(-121.9281,37.889)] | Oakland 11 Allen Ct | [(-122.0131,37.602),(-122.0117,37.597)] | Berkeley 12 Alvarado Niles Road | [(-122.0325,37.903),(-122.0316,37.9)] | Berkeley 13 Andrea Cir | [(-121.733218,37.88641),(-121.733286,37.90617)] | Oakland 14 Apricot Lane | [(-121.9471,37.401),(-121.9456,37.392)] | Oakland 15 Apricot Lane | [(-121.9471,37.401),(-121.9456,37.392)] | Oakland 16 Arden Road | [(-122.0978,37.177),(-122.1,37.177)] | Oakland 17 Arizona St | [(-122.0381,37.901),(-122.0367,37.898)] | Berkeley 18 Arlington Dr | [(-121.8802,37.408),(-121.8807,37.394)] | Oakland 19 Arlington Dr | [(-121.8802,37.408),(-121.8807,37.394)] | Oakland 20 Arlington Road | [(-121.7957,37.898),(-121.7956,37.906)] | Oakland 21 Arroyo Las Positas | [(-121.7973,37.997),(-121.7957,37.005)] | Oakland 22 Arroyo Las Positas | [(-121.7973,37.997),(-121.7957,37.005)] | Oakland 23 Arroyo Seco | [(-121.7073,37.766),(-121.6997,37.729)] | Oakland 24 Ash St | [(-122.0408,37.31),(-122.04,37.292)] | Oakland 25 Avenue 134th | [(-122.1823,37.002),(-122.1851,37.992)] | Oakland 26 Avenue 134th | [(-122.1823,37.002),(-122.1851,37.992)] | Berkeley 27 Avenue 140th | [(-122.1656,37.003),(-122.1691,37.988)] | Oakland 28 Avenue 140th | [(-122.1656,37.003),(-122.1691,37.988)] | Berkeley 29 Avenue D | [(-122.298,37.848),(-122.3024,37.849)] | Berkeley 30 B St | [(-122.1749,37.451),(-122.1743,37.443)] | Oakland 31 Bancroft Ave | [(-122.15714,37.4242),(-122.156,37.409)] | Oakland 32 Bancroft Ave | [(-122.1643,37.523),(-122.1631,37.508),(-122.1621,37.493)] | Oakland 33 Birch St | [(-122.1617,37.425),(-122.1614,37.417)] | Oakland 34 Birch St | [(-122.1673,37.509),(-122.1661,37.492)] | Oakland 35 Blacow Road | [(-122.0179,37.469),(-122.0167,37.465)] | Oakland 36 Bridgepointe Dr | [(-122.0514,37.305),(-122.0509,37.299)] | Oakland 37 Broadmore Ave | [(-122.095,37.522),(-122.0936,37.497)] | Oakland 38 Broadway | [(-122.2409,37.586),(-122.2395,37.601)] | Berkeley 39 Buckingham Blvd | [(-122.2231,37.59),(-122.2214,37.606)] | Berkeley 40 Butterfield Dr | [(-122.0838,37.002),(-122.0834,37.987)] | Oakland 41 Butterfield Dr | [(-122.0838,37.002),(-122.0834,37.987)] | Oakland 42 Butterfield Dr | [(-122.0838,37.002),(-122.0834,37.987)] | Berkeley 43 C St | [(-122.1768,37.46),(-122.1749,37.435)] | Oakland 44 Calaveras Creek | [(-121.8203,37.035),(-121.8207,37.931)] | Oakland 45 Calaveras Creek | [(-121.8203,37.035),(-121.8207,37.931)] | Oakland 46 California St | [(-122.2032,37.005),(-122.2016,37.996)] | Berkeley 47 California St | [(-122.2032,37.005),(-122.2016,37.996)] | Lafayette 48 Cameron Ave | [(-122.1316,37.502),(-122.1327,37.481)] | Oakland 49 Campus Dr | [(-122.1704,37.905),(-122.1678,37.868),(-122.1671,37.865)] | Berkeley 50 Capricorn Ave | [(-122.2176,37.404),(-122.2164,37.384)] | Lafayette 51 Carson St | [(-122.1846,37.9),(-122.1843,37.901)] | Berkeley 52 Cedar Blvd | [(-122.0282,37.446),(-122.0265,37.43)] | Oakland 53 Cedar St | [(-122.3011,37.737),(-122.2999,37.739)] | Berkeley 54 Celia St | [(-122.0611,37.3),(-122.0616,37.299)] | Oakland 55 Central Ave | [(-122.2343,37.602),(-122.2331,37.595)] | Berkeley 56 Chambers Dr | [(-122.2004,37.352),(-122.1972,37.368)] | Lafayette 57 Chambers Lane | [(-122.2001,37.359),(-122.1975,37.371)] | Lafayette 58 Champion St | [(-122.214,37.991),(-122.2147,37.002)] | Berkeley 59 Champion St | [(-122.214,37.991),(-122.2147,37.002)] | Lafayette 60 Chapman Dr | [(-122.0421,37.504),(-122.0414,37.498)] | Oakland 61 Charles St | [(-122.0255,37.505),(-122.0252,37.499)] | Oakland 62 Cherry St | [(-122.0437,37.42),(-122.0434,37.413)] | Oakland 63 Claremont Pl | [(-122.0542,37.995),(-122.0542,37.008)] | Oakland 64 Claremont Pl | [(-122.0542,37.995),(-122.0542,37.008)] | Oakland 65 Claremont Pl | [(-122.0542,37.995),(-122.0542,37.008)] | Berkeley 66 Coliseum Way | [(-122.2001,37.47),(-122.1978,37.516)] | Oakland 67 Coliseum Way | [(-122.2113,37.626),(-122.2085,37.592),(-122.2063,37.568)] | Berkeley 68 Coolidge Ave | [(-122.2007,37.058),(-122.1992,37.06)] | Lafayette 69 Cornell Ave | [(-122.2956,37.925),(-122.2949,37.906),(-122.2939,37.875)] | Berkeley 70 Corriea Way | [(-121.9501,37.402),(-121.9505,37.398)] | Oakland 71 Corriea Way | [(-121.9501,37.402),(-121.9505,37.398)] | Oakland 72 Cowing Road | [(-122.0002,37.934),(-121.9772,37.782)] | Oakland 73 Creston Road | [(-122.2639,37.002),(-122.2613,37.986),(-122.2602,37.978),(-122.2598,37.973)] | Berkeley 74 Creston Road | [(-122.2639,37.002),(-122.2613,37.986),(-122.2602,37.978),(-122.2598,37.973)] | Lafayette 75 Crow Canyon Creek | [(-122.043,37.905),(-122.0368,37.71)] | Berkeley 76 Crystaline Dr | [(-121.925856,37),(-121.925869,37.00527)] | Oakland 77 Cull Canyon Road | [(-122.0536,37.435),(-122.0499,37.315)] | Oakland 78 Cull Creek | [(-122.0624,37.875),(-122.0582,37.527)] | Berkeley 79 D St | [(-122.1811,37.505),(-122.1805,37.497)] | Oakland 80 Decoto Road | [(-122.0159,37.006),(-122.016,37.002),(-122.0164,37.993)] | Oakland 81 Decoto Road | [(-122.0159,37.006),(-122.016,37.002),(-122.0164,37.993)] | Oakland 82 Decoto Road | [(-122.0159,37.006),(-122.016,37.002),(-122.0164,37.993)] | Berkeley 83 Deering St | [(-122.2146,37.904),(-122.2126,37.897)] | Berkeley 84 Dimond Ave | [(-122.2167,37.994),(-122.2162,37.006)] | Berkeley 85 Dimond Ave | [(-122.2167,37.994),(-122.2162,37.006)] | Lafayette 86 Donna Way | [(-122.1333,37.606),(-122.1316,37.599)] | Berkeley 87 Driftwood Dr | [(-122.0109,37.482),(-122.0113,37.477)] | Oakland 88 Driscoll Road | [(-121.9482,37.403),(-121.948451,37.39995)] | Oakland 89 Driscoll Road | [(-121.9482,37.403),(-121.948451,37.39995)] | Oakland 90 E St | [(-122.1832,37.505),(-122.1826,37.498),(-122.182,37.49)] | Oakland 91 Eden Ave | [(-122.1143,37.505),(-122.1142,37.491)] | Oakland 92 Eden Creek | [(-122.022037,37.00675),(-122.0221,37.998)] | Oakland 93 Eden Creek | [(-122.022037,37.00675),(-122.0221,37.998)] | Oakland 94 Eden Creek | [(-122.022037,37.00675),(-122.0221,37.998)] | Berkeley 95 Edgewater Dr | [(-122.201,37.379),(-122.2042,37.41)] | Lafayette 96 Enos Way | [(-121.7677,37.896),(-121.7673,37.91)] | Oakland 97 Euclid Ave | [(-122.2671,37.009),(-122.2666,37.987)] | Berkeley 98 Euclid Ave | [(-122.2671,37.009),(-122.2666,37.987)] | Lafayette 99 Fairview Ave | [(-121.999,37.428),(-121.9863,37.351)] | Oakland 100 Fairview Ave | [(-121.999,37.428),(-121.9863,37.351)] | Oakland 101 Foothill Blvd | [(-122.2414,37.9),(-122.2403,37.893)] | Berkeley 102 Fountain St | [(-122.2306,37.593),(-122.2293,37.605)] | Berkeley 103 Gading Road | [(-122.0801,37.343),(-122.08,37.336)] | Oakland 104 Grizzly Peak Blvd | [(-122.2213,37.638),(-122.2127,37.581)] | Berkeley 105 Grove Way | [(-122.0643,37.884),(-122.062679,37.89162),(-122.061796,37.89578),(-122.0609,37.9)] | Berkeley 106 Harris Road | [(-122.0659,37.372),(-122.0675,37.363)] | Oakland 107 Heartwood Dr | [(-122.2006,37.341),(-122.1992,37.338)] | Lafayette 108 Hegenberger Exwy | [(-122.1946,37.52),(-122.1947,37.497)] | Oakland 109 Herrier St | [(-122.1943,37.006),(-122.1936,37.998)] | Oakland 110 Herrier St | [(-122.1943,37.006),(-122.1936,37.998)] | Berkeley 111 Hesperian Blvd | [(-122.097,37.333),(-122.0956,37.31),(-122.0946,37.293)] | Oakland 112 Hesperian Blvd | [(-122.097,37.333),(-122.0956,37.31),(-122.0946,37.293)] | Oakland 113 Hesperian Blvd | [(-122.1132,37.6),(-122.1123,37.586)] | Berkeley 114 Hollis St | [(-122.2885,37.397),(-122.289,37.414)] | Lafayette 115 I- 580 | [(-121.727,37.074),(-121.7229,37.093),(-121.722301,37.09522),(-121.721001,37.10005),(-121.7194,37.106),(-121.7188,37.109),(-121.7168,37.12),(-121.7163,37.123),(-121.7145,37.127),(-121.7096,37.148),(-121.707731,37.1568),(-121.7058,37.166),(-121.7055,37.168),(-121.7044,37.174),(-121.7038,37.172),(-121.7037,37.172),(-121.7027,37.175),(-121.7001,37.181),(-121.6957,37.191),(-121.6948,37.192),(-121.6897,37.204),(-121.6697,37.185)] | Oakland 116 I- 580 | [(-121.9322,37.989),(-121.9243,37.006),(-121.9217,37.014)] | Oakland 117 I- 580 | [(-121.9322,37.989),(-121.9243,37.006),(-121.9217,37.014)] | Oakland 118 I- 580 | [(-122.018,37.019),(-122.0009,37.032),(-121.9787,37.983),(-121.958,37.984),(-121.9571,37.986)] | Oakland 119 I- 580 | [(-122.018,37.019),(-122.0009,37.032),(-121.9787,37.983),(-121.958,37.984),(-121.9571,37.986)] | Oakland 120 I- 580 | [(-122.1108,37.023),(-122.1101,37.02),(-122.108103,37.00764),(-122.108,37.007),(-122.1069,37.998),(-122.1064,37.994),(-122.1053,37.982),(-122.1048,37.977),(-122.1032,37.958),(-122.1026,37.953),(-122.1013,37.938),(-122.0989,37.911),(-122.0984,37.91),(-122.098,37.908)] | Oakland 121 I- 580 | [(-122.1108,37.023),(-122.1101,37.02),(-122.108103,37.00764),(-122.108,37.007),(-122.1069,37.998),(-122.1064,37.994),(-122.1053,37.982),(-122.1048,37.977),(-122.1032,37.958),(-122.1026,37.953),(-122.1013,37.938),(-122.0989,37.911),(-122.0984,37.91),(-122.098,37.908)] | Berkeley 122 I- 580 | [(-122.1543,37.703),(-122.1535,37.694),(-122.1512,37.655),(-122.1475,37.603),(-122.1468,37.583),(-122.1472,37.569),(-122.149044,37.54874),(-122.1493,37.546),(-122.1501,37.532),(-122.1506,37.509),(-122.1495,37.482),(-122.1487,37.467),(-122.1477,37.447),(-122.1414,37.383),(-122.1404,37.376),(-122.1398,37.372),(-122.139,37.356),(-122.1388,37.353),(-122.1385,37.34),(-122.1382,37.33),(-122.1378,37.316)] | Oakland 123 I- 580 | [(-122.1543,37.703),(-122.1535,37.694),(-122.1512,37.655),(-122.1475,37.603),(-122.1468,37.583),(-122.1472,37.569),(-122.149044,37.54874),(-122.1493,37.546),(-122.1501,37.532),(-122.1506,37.509),(-122.1495,37.482),(-122.1487,37.467),(-122.1477,37.447),(-122.1414,37.383),(-122.1404,37.376),(-122.1398,37.372),(-122.139,37.356),(-122.1388,37.353),(-122.1385,37.34),(-122.1382,37.33),(-122.1378,37.316)] | Berkeley 124 I- 580 | [(-122.2197,37.99),(-122.22,37.99),(-122.222092,37.99523),(-122.2232,37.998),(-122.224146,37.99963),(-122.2261,37.003),(-122.2278,37.007),(-122.2302,37.026),(-122.2323,37.043),(-122.2344,37.059),(-122.235405,37.06427),(-122.2365,37.07)] | Berkeley 125 I- 580 | [(-122.2197,37.99),(-122.22,37.99),(-122.222092,37.99523),(-122.2232,37.998),(-122.224146,37.99963),(-122.2261,37.003),(-122.2278,37.007),(-122.2302,37.026),(-122.2323,37.043),(-122.2344,37.059),(-122.235405,37.06427),(-122.2365,37.07)] | Lafayette 126 I- 580 Ramp | [(-121.8521,37.011),(-121.8479,37.999),(-121.8476,37.999),(-121.8456,37.01),(-121.8455,37.011)] | Oakland 127 I- 580 Ramp | [(-121.8521,37.011),(-121.8479,37.999),(-121.8476,37.999),(-121.8456,37.01),(-121.8455,37.011)] | Oakland 128 I- 580 Ramp | [(-121.8743,37.014),(-121.8722,37.999),(-121.8714,37.999)] | Oakland 129 I- 580 Ramp | [(-121.8743,37.014),(-121.8722,37.999),(-121.8714,37.999)] | Oakland 130 I- 580 Ramp | [(-121.9043,37.998),(-121.9036,37.013),(-121.902632,37.0174),(-121.9025,37.018)] | Oakland 131 I- 580 Ramp | [(-121.9043,37.998),(-121.9036,37.013),(-121.902632,37.0174),(-121.9025,37.018)] | Oakland 132 I- 580 Ramp | [(-121.9368,37.986),(-121.936483,37.98832),(-121.9353,37.997),(-121.93504,37.00035),(-121.9346,37.006),(-121.933764,37.00031),(-121.9333,37.997),(-121.9322,37.989)] | Oakland 133 I- 580 Ramp | [(-121.9368,37.986),(-121.936483,37.98832),(-121.9353,37.997),(-121.93504,37.00035),(-121.9346,37.006),(-121.933764,37.00031),(-121.9333,37.997),(-121.9322,37.989)] | Oakland 134 I- 580 Ramp | [(-122.093241,37.90351),(-122.09364,37.89634),(-122.093788,37.89212)] | Berkeley 135 I- 580 Ramp | [(-122.0934,37.896),(-122.09257,37.89961),(-122.0911,37.906)] | Berkeley 136 I- 580 Ramp | [(-122.0941,37.897),(-122.0943,37.902)] | Berkeley 137 I- 580 Ramp | [(-122.096,37.888),(-122.0962,37.891),(-122.0964,37.9)] | Berkeley 138 I- 580 Ramp | [(-122.101,37.898),(-122.1005,37.902),(-122.0989,37.911)] | Berkeley 139 I- 580 Ramp | [(-122.1086,37.003),(-122.1068,37.993),(-122.1066,37.992),(-122.1053,37.982)] | Oakland 140 I- 580 Ramp | [(-122.1086,37.003),(-122.1068,37.993),(-122.1066,37.992),(-122.1053,37.982)] | Berkeley 141 I- 580 Ramp | [(-122.1414,37.383),(-122.1407,37.376),(-122.1403,37.372),(-122.139,37.356)] | Oakland 142 I- 580/I-680 Ramp | ((-121.9207,37.988),(-121.9192,37.016)) | Oakland 143 I- 580/I-680 Ramp | ((-121.9207,37.988),(-121.9192,37.016)) | Oakland 144 I- 680 | ((-121.939,37.15),(-121.9387,37.145),(-121.9373,37.125),(-121.934242,37.07643),(-121.933886,37.0709),(-121.9337,37.068),(-121.933122,37.06139),(-121.932736,37.05698),(-121.93222,37.05108),(-121.931844,37.04678),(-121.930113,37.027),(-121.926829,37),(-121.9265,37.998),(-121.9217,37.96),(-121.9203,37.949),(-121.9184,37.934)) | Oakland 145 I- 680 | ((-121.939,37.15),(-121.9387,37.145),(-121.9373,37.125),(-121.934242,37.07643),(-121.933886,37.0709),(-121.9337,37.068),(-121.933122,37.06139),(-121.932736,37.05698),(-121.93222,37.05108),(-121.931844,37.04678),(-121.930113,37.027),(-121.926829,37),(-121.9265,37.998),(-121.9217,37.96),(-121.9203,37.949),(-121.9184,37.934)) | Oakland 146 I- 680 | [(-121.9101,37.715),(-121.911269,37.74682),(-121.9119,37.764),(-121.9124,37.776),(-121.9174,37.905),(-121.9194,37.957),(-121.9207,37.988)] | Oakland 147 I- 680 | [(-121.9184,37.934),(-121.917,37.913),(-121.9122,37.83),(-121.9052,37.702)] | Oakland 148 I- 680 Ramp | [(-121.8833,37.376),(-121.8833,37.392),(-121.883,37.4),(-121.8835,37.402),(-121.8852,37.422)] | Oakland 149 I- 680 Ramp | [(-121.8833,37.376),(-121.8833,37.392),(-121.883,37.4),(-121.8835,37.402),(-121.8852,37.422)] | Oakland 150 I- 680 Ramp | [(-121.92,37.438),(-121.9218,37.424),(-121.9238,37.408),(-121.9252,37.392)] | Oakland 151 I- 680 Ramp | [(-121.92,37.438),(-121.9218,37.424),(-121.9238,37.408),(-121.9252,37.392)] | Oakland 152 I- 680 Ramp | [(-121.9238,37.402),(-121.9234,37.395),(-121.923,37.399)] | Oakland 153 I- 680 Ramp | [(-121.9238,37.402),(-121.9234,37.395),(-121.923,37.399)] | Oakland 154 I- 80 | ((-122.2937,37.277),(-122.3016,37.262)) | Lafayette 155 I- 80 | ((-122.2962,37.273),(-122.3004,37.264)) | Lafayette 156 I- 80 Ramp | [(-122.2962,37.413),(-122.2959,37.382),(-122.2951,37.372)] | Lafayette 157 I- 880 | ((-121.9669,37.075),(-121.9663,37.071),(-121.9656,37.065),(-121.9618,37.037),(-121.95689,37),(-121.948,37.933)) | Oakland 158 I- 880 | ((-121.9669,37.075),(-121.9663,37.071),(-121.9656,37.065),(-121.9618,37.037),(-121.95689,37),(-121.948,37.933)) | Oakland 159 I- 880 | [(-121.948,37.933),(-121.9471,37.925),(-121.9467,37.923),(-121.946,37.918),(-121.9452,37.912),(-121.937,37.852)] | Oakland 160 I- 880 | [(-122.0219,37.466),(-122.0205,37.447),(-122.020331,37.44447),(-122.020008,37.43962),(-122.0195,37.432),(-122.0193,37.429),(-122.0164,37.393),(-122.010219,37.34771),(-122.0041,37.313)] | Oakland 161 I- 880 | [(-122.0375,37.632),(-122.0359,37.619),(-122.0358,37.616),(-122.034514,37.60409),(-122.031876,37.57965),(-122.031193,37.57332),(-122.03016,37.56375),(-122.02943,37.55698),(-122.028689,37.54929),(-122.027833,37.53908),(-122.025979,37.51698),(-122.0238,37.491)] | Oakland 162 I- 880 | [(-122.0375,37.632),(-122.0359,37.619),(-122.0358,37.616),(-122.034514,37.60409),(-122.031876,37.57965),(-122.031193,37.57332),(-122.03016,37.56375),(-122.02943,37.55698),(-122.028689,37.54929),(-122.027833,37.53908),(-122.025979,37.51698),(-122.0238,37.491)] | Berkeley 163 I- 880 | [(-122.0612,37.003),(-122.0604,37.991),(-122.0596,37.982),(-122.0585,37.967),(-122.0583,37.961),(-122.0553,37.918),(-122.053635,37.89475),(-122.050759,37.8546),(-122.05,37.844),(-122.0485,37.817),(-122.0483,37.813),(-122.0482,37.811)] | Oakland 164 I- 880 | [(-122.0612,37.003),(-122.0604,37.991),(-122.0596,37.982),(-122.0585,37.967),(-122.0583,37.961),(-122.0553,37.918),(-122.053635,37.89475),(-122.050759,37.8546),(-122.05,37.844),(-122.0485,37.817),(-122.0483,37.813),(-122.0482,37.811)] | Oakland 165 I- 880 | [(-122.0612,37.003),(-122.0604,37.991),(-122.0596,37.982),(-122.0585,37.967),(-122.0583,37.961),(-122.0553,37.918),(-122.053635,37.89475),(-122.050759,37.8546),(-122.05,37.844),(-122.0485,37.817),(-122.0483,37.813),(-122.0482,37.811)] | Berkeley 166 I- 880 | [(-122.0831,37.312),(-122.0819,37.296),(-122.081,37.285),(-122.0786,37.248),(-122.078,37.24),(-122.077642,37.23496),(-122.076983,37.22567),(-122.076599,37.22026),(-122.076229,37.21505),(-122.0758,37.209)] | Oakland 167 I- 880 | [(-122.0978,37.528),(-122.096,37.496),(-122.0931,37.453),(-122.09277,37.4496),(-122.090189,37.41442),(-122.0896,37.405),(-122.085,37.34)] | Oakland 168 I- 880 | [(-122.1365,37.902),(-122.1358,37.898),(-122.1333,37.881),(-122.1323,37.874),(-122.1311,37.866),(-122.1308,37.865),(-122.1307,37.864),(-122.1289,37.851),(-122.1277,37.843),(-122.1264,37.834),(-122.1231,37.812),(-122.1165,37.766),(-122.1104,37.72),(-122.109695,37.71094),(-122.109,37.702),(-122.108312,37.69168),(-122.1076,37.681)] | Berkeley 169 I- 880 | [(-122.1755,37.185),(-122.1747,37.178),(-122.1742,37.173),(-122.1692,37.126),(-122.167792,37.11594),(-122.16757,37.11435),(-122.1671,37.111),(-122.1655,37.1),(-122.165169,37.09811),(-122.1641,37.092),(-122.1596,37.061),(-122.158381,37.05275),(-122.155991,37.03657),(-122.1531,37.017),(-122.1478,37.98),(-122.1407,37.932),(-122.1394,37.924),(-122.1389,37.92),(-122.1376,37.91)] | Oakland 170 I- 880 | [(-122.1755,37.185),(-122.1747,37.178),(-122.1742,37.173),(-122.1692,37.126),(-122.167792,37.11594),(-122.16757,37.11435),(-122.1671,37.111),(-122.1655,37.1),(-122.165169,37.09811),(-122.1641,37.092),(-122.1596,37.061),(-122.158381,37.05275),(-122.155991,37.03657),(-122.1531,37.017),(-122.1478,37.98),(-122.1407,37.932),(-122.1394,37.924),(-122.1389,37.92),(-122.1376,37.91)] | Berkeley 171 I- 880 | [(-122.2214,37.711),(-122.2202,37.699),(-122.2199,37.695),(-122.219,37.682),(-122.2184,37.672),(-122.2173,37.652),(-122.2159,37.638),(-122.2144,37.616),(-122.2138,37.612),(-122.2135,37.609),(-122.212,37.592),(-122.2116,37.586),(-122.2111,37.581)] | Berkeley 172 I- 880 | [(-122.2707,37.975),(-122.2693,37.972),(-122.2681,37.966),(-122.267,37.962),(-122.2659,37.957),(-122.2648,37.952),(-122.2636,37.946),(-122.2625,37.935),(-122.2617,37.927),(-122.2607,37.921),(-122.2593,37.916),(-122.258,37.911),(-122.2536,37.898),(-122.2432,37.858),(-122.2408,37.845),(-122.2386,37.827),(-122.2374,37.811)] | Berkeley 173 I- 880 Ramp | [(-122.0019,37.301),(-122.002,37.293)] | Oakland 174 I- 880 Ramp | [(-122.0041,37.313),(-122.0018,37.315),(-122.0007,37.315),(-122.0005,37.313),(-122.0002,37.308),(-121.9995,37.289)] | Oakland 175 I- 880 Ramp | [(-122.0041,37.313),(-122.0038,37.308),(-122.0039,37.284),(-122.0013,37.287),(-121.9995,37.289)] | Oakland 176 I- 880 Ramp | [(-122.0236,37.488),(-122.0231,37.458),(-122.0227,37.458),(-122.0223,37.452),(-122.0205,37.447)] | Oakland 177 I- 880 Ramp | [(-122.0238,37.491),(-122.0215,37.483),(-122.0211,37.477),(-122.0205,37.447)] | Oakland 178 I- 880 Ramp | [(-122.059,37.982),(-122.0577,37.984),(-122.0612,37.003)] | Oakland 179 I- 880 Ramp | [(-122.059,37.982),(-122.0577,37.984),(-122.0612,37.003)] | Oakland 180 I- 880 Ramp | [(-122.059,37.982),(-122.0577,37.984),(-122.0612,37.003)] | Berkeley 181 I- 880 Ramp | [(-122.0618,37.011),(-122.0631,37.982),(-122.0585,37.967)] | Oakland 182 I- 880 Ramp | [(-122.0618,37.011),(-122.0631,37.982),(-122.0585,37.967)] | Oakland 183 I- 880 Ramp | [(-122.0618,37.011),(-122.0631,37.982),(-122.0585,37.967)] | Berkeley 184 I- 880 Ramp | [(-122.085,37.34),(-122.0801,37.316),(-122.081,37.285)] | Oakland 185 I- 880 Ramp | [(-122.085,37.34),(-122.0801,37.316),(-122.081,37.285)] | Oakland 186 I- 880 Ramp | [(-122.085,37.34),(-122.0866,37.316),(-122.0819,37.296)] | Oakland 187 I- 880 Ramp | [(-122.085,37.34),(-122.0866,37.316),(-122.0819,37.296)] | Oakland 188 I- 880 Ramp | [(-122.1029,37.61),(-122.1013,37.587),(-122.0999,37.569)] | Berkeley 189 I- 880 Ramp | [(-122.1379,37.891),(-122.1383,37.897),(-122.1377,37.902)] | Berkeley 190 I- 880 Ramp | [(-122.1379,37.931),(-122.137597,37.92736),(-122.1374,37.925),(-122.1373,37.924),(-122.1369,37.914),(-122.1358,37.905),(-122.1365,37.908),(-122.1358,37.898)] | Berkeley 191 I- 880 Ramp | [(-122.2536,37.898),(-122.254,37.902)] | Berkeley 192 I- 880 Ramp | [(-122.2771,37.002),(-122.278,37)] | Lafayette 193 Indian Way | [(-122.2066,37.398),(-122.2045,37.411)] | Lafayette 194 Jackson St | [(-122.0845,37.6),(-122.0842,37.606)] | Berkeley 195 Johnson Dr | [(-121.9145,37.901),(-121.915,37.877)] | Oakland 196 Joyce St | [(-122.0792,37.604),(-122.0774,37.581)] | Berkeley 197 Juniper St | [(-121.7823,37.897),(-121.7815,37.9)] | Oakland 198 Kaiser Dr | [(-122.067163,37.47821),(-122.060402,37.51961)] | Oakland 199 Keeler Ave | [(-122.2578,37.906),(-122.2579,37.899)] | Berkeley 200 Kildare Road | [(-122.0968,37.016),(-122.0959,37)] | Oakland 201 La Playa Dr | [(-122.1039,37.545),(-122.101,37.493)] | Oakland 202 Laguna Ave | [(-122.2099,37.989),(-122.2089,37)] | Berkeley 203 Laguna Ave | [(-122.2099,37.989),(-122.2089,37)] | Lafayette 204 Lakehurst Cir | [(-122.284729,37.89025),(-122.286096,37.90364)] | Berkeley 205 Lakeshore Ave | [(-122.2586,37.99),(-122.2556,37.006)] | Berkeley 206 Lakeshore Ave | [(-122.2586,37.99),(-122.2556,37.006)] | Lafayette 207 Las Positas Road | [(-121.764488,37.99199),(-121.75569,37.02022)] | Oakland 208 Las Positas Road | [(-121.764488,37.99199),(-121.75569,37.02022)] | Oakland 209 Linden St | [(-122.2867,37.998),(-122.2864,37.008)] | Berkeley 210 Linden St | [(-122.2867,37.998),(-122.2864,37.008)] | Lafayette 211 Livermore Ave | [(-121.7687,37.448),(-121.769,37.375)] | Oakland 212 Livermore Ave | [(-121.7687,37.448),(-121.769,37.375)] | Oakland 213 Livermore Ave | [(-121.772719,37.99085),(-121.7728,37.001)] | Oakland 214 Livermore Ave | [(-121.772719,37.99085),(-121.7728,37.001)] | Oakland 215 Locust St | [(-122.1606,37.007),(-122.1593,37.987)] | Oakland 216 Locust St | [(-122.1606,37.007),(-122.1593,37.987)] | Berkeley 217 Logan Ct | [(-122.0053,37.492),(-122.0061,37.484)] | Oakland 218 Magnolia St | [(-122.0971,37.5),(-122.0962,37.484)] | Oakland 219 Mandalay Road | [(-122.2322,37.397),(-122.2321,37.403)] | Lafayette 220 Marin Ave | [(-122.2741,37.894),(-122.272,37.901)] | Berkeley 221 Martin Luther King Jr Way | [(-122.2712,37.608),(-122.2711,37.599)] | Berkeley 222 Mattos Dr | [(-122.0005,37.502),(-122.000898,37.49683)] | Oakland 223 Maubert Ave | [(-122.1114,37.009),(-122.1096,37.995)] | Oakland 224 Maubert Ave | [(-122.1114,37.009),(-122.1096,37.995)] | Berkeley 225 McClure Ave | [(-122.1431,37.001),(-122.1436,37.998)] | Oakland 226 McClure Ave | [(-122.1431,37.001),(-122.1436,37.998)] | Berkeley 227 Medlar Dr | [(-122.0627,37.378),(-122.0625,37.375)] | Oakland 228 Mildred Ct | [(-122.0002,37.388),(-121.9998,37.386)] | Oakland 229 Miller Road | [(-122.0902,37.645),(-122.0865,37.545)] | Berkeley 230 Miramar Ave | [(-122.1009,37.025),(-122.099089,37.03209)] | Oakland 231 Mission Blvd | [(-121.918886,37),(-121.9194,37.976),(-121.9198,37.975)] | Oakland 232 Mission Blvd | [(-121.918886,37),(-121.9194,37.976),(-121.9198,37.975)] | Oakland 233 Mission Blvd | [(-122.0006,37.896),(-121.9989,37.88)] | Oakland 234 Mission Blvd | [(-122.0006,37.896),(-121.9989,37.88)] | Berkeley 235 Moores Ave | [(-122.0087,37.301),(-122.0094,37.292)] | Oakland 236 National Ave | [(-122.1192,37.5),(-122.1281,37.489)] | Oakland 237 Navajo Ct | [(-121.8779,37.901),(-121.8783,37.9)] | Oakland 238 Newark Blvd | [(-122.0352,37.438),(-122.0341,37.423)] | Oakland 239 Oakland Inner Harbor | [(-122.2625,37.913),(-122.260016,37.89484)] | Berkeley 240 Oakridge Road | [(-121.8316,37.049),(-121.828382,37)] | Oakland 241 Oneil Ave | [(-122.076754,37.62476),(-122.0745,37.595)] | Berkeley 242 Parkridge Dr | [(-122.1438,37.884),(-122.1428,37.9)] | Berkeley 243 Parkside Dr | [(-122.0475,37.603),(-122.0443,37.596)] | Berkeley 244 Paseo Padre Pkwy | [(-121.9143,37.005),(-121.913522,37)] | Oakland 245 Paseo Padre Pkwy | [(-122.0021,37.639),(-121.996,37.628)] | Oakland 246 Paseo Padre Pkwy | [(-122.0021,37.639),(-121.996,37.628)] | Berkeley 247 Pearl St | [(-122.2383,37.594),(-122.2366,37.615)] | Berkeley 248 Periwinkle Road | [(-122.0451,37.301),(-122.044758,37.29844)] | Oakland 249 Pimlico Dr | [(-121.8616,37.998),(-121.8618,37.008)] | Oakland 250 Pimlico Dr | [(-121.8616,37.998),(-121.8618,37.008)] | Oakland 251 Portsmouth Ave | [(-122.1064,37.315),(-122.1064,37.308)] | Oakland 252 Proctor Ave | [(-122.2267,37.406),(-122.2251,37.386)] | Lafayette 253 Railroad Ave | [(-122.0245,37.013),(-122.0234,37.003),(-122.0223,37.993)] | Oakland 254 Railroad Ave | [(-122.0245,37.013),(-122.0234,37.003),(-122.0223,37.993)] | Oakland 255 Railroad Ave | [(-122.0245,37.013),(-122.0234,37.003),(-122.0223,37.993)] | Berkeley 256 Ranspot Dr | [(-122.0972,37.999),(-122.0959,37)] | Oakland 257 Ranspot Dr | [(-122.0972,37.999),(-122.0959,37)] | Oakland 258 Ranspot Dr | [(-122.0972,37.999),(-122.0959,37)] | Berkeley 259 Redding St | [(-122.1978,37.901),(-122.1975,37.895)] | Berkeley 260 Redwood Road | [(-122.1493,37.98),(-122.1437,37.001)] | Oakland 261 Redwood Road | [(-122.1493,37.98),(-122.1437,37.001)] | Berkeley 262 Roca Dr | [(-122.0335,37.609),(-122.0314,37.599)] | Berkeley 263 Rosedale Ct | [(-121.9232,37.9),(-121.924,37.897)] | Oakland 264 Sacramento St | [(-122.2799,37.606),(-122.2797,37.597)] | Berkeley 265 Saddle Brook Dr | [(-122.1478,37.909),(-122.1454,37.904),(-122.1451,37.888)] | Berkeley 266 Saginaw Ct | [(-121.8803,37.898),(-121.8806,37.901)] | Oakland 267 San Andreas Dr | [(-122.0609,37.9),(-122.0614,37.895)] | Berkeley 268 Santa Maria Ave | [(-122.0773,37),(-122.0773,37.98)] | Oakland 269 Santa Maria Ave | [(-122.0773,37),(-122.0773,37.98)] | Oakland 270 Santa Maria Ave | [(-122.0773,37),(-122.0773,37.98)] | Berkeley 271 Shattuck Ave | [(-122.2686,37.904),(-122.2686,37.897)] | Berkeley 272 Sheridan Road | [(-122.2279,37.425),(-122.2253,37.411),(-122.2223,37.377)] | Lafayette 273 Shoreline Dr | [(-122.2657,37.603),(-122.2648,37.6)] | Berkeley 274 Skyline Blvd | [(-122.1738,37.01),(-122.1714,37.996)] | Oakland 275 Skyline Blvd | [(-122.1738,37.01),(-122.1714,37.996)] | Berkeley 276 Skyline Dr | [(-122.0277,37.5),(-122.0284,37.498)] | Oakland 277 Skywest Dr | [(-122.1161,37.62),(-122.1123,37.586)] | Berkeley 278 Southern Pacific Railroad | [(-122.3002,37.674),(-122.2999,37.661)] | Berkeley 279 Sp Railroad | [(-121.893564,37.99009),(-121.897,37.016)] | Oakland 280 Sp Railroad | [(-121.893564,37.99009),(-121.897,37.016)] | Oakland 281 Sp Railroad | [(-121.9565,37.898),(-121.9562,37.9)] | Oakland 282 Sp Railroad | [(-122.0734,37.001),(-122.0734,37.997)] | Oakland 283 Sp Railroad | [(-122.0734,37.001),(-122.0734,37.997)] | Oakland 284 Sp Railroad | [(-122.0734,37.001),(-122.0734,37.997)] | Berkeley 285 Sp Railroad | [(-122.0914,37.601),(-122.087,37.56),(-122.086408,37.5551)] | Berkeley 286 Sp Railroad | [(-122.137792,37.003),(-122.1365,37.992),(-122.131257,37.94612)] | Oakland 287 Sp Railroad | [(-122.137792,37.003),(-122.1365,37.992),(-122.131257,37.94612)] | Berkeley 288 Sp Railroad | [(-122.1947,37.497),(-122.193328,37.4848)] | Oakland 289 Stanton Ave | [(-122.100392,37.0697),(-122.099513,37.06052)] | Oakland 290 State Hwy 123 | [(-122.3004,37.986),(-122.2998,37.969),(-122.2995,37.962),(-122.2992,37.952),(-122.299,37.942),(-122.2987,37.935),(-122.2984,37.924),(-122.2982,37.92),(-122.2976,37.904),(-122.297,37.88),(-122.2966,37.869),(-122.2959,37.848),(-122.2961,37.843)] | Berkeley 291 State Hwy 13 | [(-122.1797,37.943),(-122.179871,37.91849),(-122.18,37.9),(-122.179023,37.86615),(-122.1787,37.862),(-122.1781,37.851),(-122.1777,37.845),(-122.1773,37.839),(-122.177,37.833)] | Berkeley 292 State Hwy 13 | [(-122.2049,37.2),(-122.20328,37.17975),(-122.1989,37.125),(-122.198078,37.11641),(-122.1975,37.11)] | Lafayette 293 State Hwy 13 Ramp | [(-122.2244,37.427),(-122.223,37.414),(-122.2214,37.396),(-122.2213,37.388)] | Lafayette 294 State Hwy 238 | ((-122.098,37.908),(-122.0983,37.907),(-122.099,37.905),(-122.101,37.898),(-122.101535,37.89711),(-122.103173,37.89438),(-122.1046,37.892),(-122.106,37.89)) | Berkeley 295 State Hwy 238 Ramp | [(-122.1288,37.9),(-122.1293,37.895),(-122.1296,37.906)] | Berkeley 296 State Hwy 24 | [(-122.2674,37.246),(-122.2673,37.248),(-122.267,37.261),(-122.2668,37.271),(-122.2663,37.298),(-122.2659,37.315),(-122.2655,37.336),(-122.265007,37.35882),(-122.264443,37.37286),(-122.2641,37.381),(-122.2638,37.388),(-122.2631,37.396),(-122.2617,37.405),(-122.2615,37.407),(-122.2605,37.412)] | Lafayette 297 State Hwy 84 | [(-121.9565,37.898),(-121.956589,37.89911),(-121.9569,37.903),(-121.956,37.91),(-121.9553,37.919)] | Oakland 298 State Hwy 84 | [(-122.0671,37.426),(-122.07,37.402),(-122.074,37.37),(-122.0773,37.338)] | Oakland 299 State Hwy 92 | [(-122.1085,37.326),(-122.1095,37.322),(-122.1111,37.316),(-122.1119,37.313),(-122.1125,37.311),(-122.1131,37.308),(-122.1167,37.292),(-122.1187,37.285),(-122.12,37.28)] | Oakland 300 State Hwy 92 Ramp | [(-122.1086,37.321),(-122.1089,37.315),(-122.1111,37.316)] | Oakland 301 Stuart St | [(-122.2518,37.6),(-122.2507,37.601),(-122.2491,37.606)] | Berkeley 302 Sunol Ridge Trl | [(-121.9419,37.455),(-121.9345,37.38)] | Oakland 303 Sunol Ridge Trl | [(-121.9419,37.455),(-121.9345,37.38)] | Oakland 304 Tassajara Creek | [(-121.87866,37.98898),(-121.8782,37.015)] | Oakland 305 Tassajara Creek | [(-121.87866,37.98898),(-121.8782,37.015)] | Oakland 306 Taurus Ave | [(-122.2159,37.416),(-122.2128,37.389)] | Lafayette 307 Tennyson Road | [(-122.0891,37.317),(-122.0927,37.317)] | Oakland 308 Thackeray Ave | [(-122.072,37.305),(-122.0715,37.298)] | Oakland 309 Theresa Way | [(-121.7289,37.906),(-121.728,37.899)] | Oakland 310 Tissiack Way | [(-121.920364,37),(-121.9208,37.995)] | Oakland 311 Tissiack Way | [(-121.920364,37),(-121.9208,37.995)] | Oakland 312 Tupelo Ter | [(-122.059087,37.6113),(-122.057021,37.59942)] | Berkeley 313 Vallecitos Road | [(-121.8699,37.916),(-121.8703,37.891)] | Oakland 314 Warm Springs Blvd | [(-121.933956,37),(-121.9343,37.97)] | Oakland 315 Warm Springs Blvd | [(-121.933956,37),(-121.9343,37.97)] | Oakland 316 Welch Creek Road | [(-121.7695,37.386),(-121.7737,37.413)] | Oakland 317 Welch Creek Road | [(-121.7695,37.386),(-121.7737,37.413)] | Oakland 318 West Loop Road | [(-122.0576,37.604),(-122.0602,37.586)] | Berkeley 319 Western Pacific Railroad Spur | [(-122.0394,37.018),(-122.0394,37.961)] | Oakland 320 Western Pacific Railroad Spur | [(-122.0394,37.018),(-122.0394,37.961)] | Oakland 321 Western Pacific Railroad Spur | [(-122.0394,37.018),(-122.0394,37.961)] | Berkeley 322 Whitlock Creek | [(-121.74683,37.91276),(-121.733107,37)] | Oakland 323 Whitlock Creek | [(-121.74683,37.91276),(-121.733107,37)] | Oakland 324 Willimet Way | [(-122.0964,37.517),(-122.0949,37.493)] | Oakland 325 Wisconsin St | [(-122.1994,37.017),(-122.1975,37.998),(-122.1971,37.994)] | Oakland 326 Wisconsin St | [(-122.1994,37.017),(-122.1975,37.998),(-122.1971,37.994)] | Berkeley 327 Wp Railroad | [(-122.254,37.902),(-122.2506,37.891)] | Berkeley 328 100th Ave | [(-122.1657,37.429),(-122.1647,37.432)] | Oakland 329 107th Ave | [(-122.1555,37.403),(-122.1531,37.41)] | Oakland 330 14th St | [(-122.299,37.147),(-122.3,37.148)] | Lafayette 331 19th Ave | [(-122.2366,37.897),(-122.2359,37.905)] | Berkeley 332 1st St | [(-121.75508,37.89294),(-121.753581,37.90031)] | Oakland 333 5th St | [(-122.278,37),(-122.2792,37.005),(-122.2803,37.009)] | Lafayette 334 5th St | [(-122.296,37.615),(-122.2953,37.598)] | Berkeley 335 82nd Ave | [(-122.1695,37.596),(-122.1681,37.603)] | Berkeley 336 85th Ave | [(-122.1877,37.466),(-122.186,37.476)] | Oakland 337 89th Ave | [(-122.1822,37.459),(-122.1803,37.471)] | Oakland 338 98th Ave | [(-122.1568,37.498),(-122.1558,37.502)] | Oakland 339 98th Ave | [(-122.1693,37.438),(-122.1682,37.444)] | Oakland 340 98th Ave | [(-122.2001,37.258),(-122.1974,37.27)] | Lafayette 341(333 rows) 342 343SELECT name, #thepath FROM iexit ORDER BY name COLLATE "C", 2; 344 name | ?column? 345------------------------------------+---------- 346 I- 580 | 2 347 I- 580 | 2 348 I- 580 | 2 349 I- 580 | 2 350 I- 580 | 2 351 I- 580 | 2 352 I- 580 | 2 353 I- 580 | 2 354 I- 580 | 2 355 I- 580 | 2 356 I- 580 | 2 357 I- 580 | 3 358 I- 580 | 3 359 I- 580 | 3 360 I- 580 | 3 361 I- 580 | 3 362 I- 580 | 3 363 I- 580 | 3 364 I- 580 | 3 365 I- 580 | 3 366 I- 580 | 3 367 I- 580 | 3 368 I- 580 | 3 369 I- 580 | 3 370 I- 580 | 3 371 I- 580 | 3 372 I- 580 | 3 373 I- 580 | 3 374 I- 580 | 3 375 I- 580 | 4 376 I- 580 | 4 377 I- 580 | 4 378 I- 580 | 4 379 I- 580 | 5 380 I- 580 | 5 381 I- 580 | 5 382 I- 580 | 5 383 I- 580 | 5 384 I- 580 | 6 385 I- 580 | 6 386 I- 580 | 6 387 I- 580 | 6 388 I- 580 | 6 389 I- 580 | 6 390 I- 580 | 6 391 I- 580 | 6 392 I- 580 | 6 393 I- 580 | 6 394 I- 580 | 6 395 I- 580 | 6 396 I- 580 | 6 397 I- 580 | 6 398 I- 580 | 6 399 I- 580 | 6 400 I- 580 | 6 401 I- 580 | 6 402 I- 580 | 6 403 I- 580 | 6 404 I- 580 | 6 405 I- 580 | 6 406 I- 580 | 6 407 I- 580 | 7 408 I- 580 | 7 409 I- 580 | 7 410 I- 580 | 7 411 I- 580 | 7 412 I- 580 | 7 413 I- 580 | 7 414 I- 580 | 8 415 I- 580 | 8 416 I- 580 | 8 417 I- 580 | 8 418 I- 580 | 8 419 I- 580 | 8 420 I- 580 | 8 421 I- 580 | 8 422 I- 580 | 8 423 I- 580 | 9 424 I- 580 | 9 425 I- 580 | 9 426 I- 580 | 9 427 I- 580 | 9 428 I- 580 | 12 429 I- 580 | 12 430 I- 580 | 12 431 I- 580 | 12 432 I- 580 | 12 433 I- 580 | 12 434 I- 580 | 12 435 I- 580 | 12 436 I- 580 | 12 437 I- 580 | 12 438 I- 580 | 13 439 I- 580 | 13 440 I- 580 | 13 441 I- 580 | 13 442 I- 580 | 13 443 I- 580 | 13 444 I- 580 | 14 445 I- 580 | 14 446 I- 580 | 14 447 I- 580 | 14 448 I- 580 | 14 449 I- 580 | 14 450 I- 580 | 14 451 I- 580 | 14 452 I- 580 | 18 453 I- 580 | 18 454 I- 580 | 18 455 I- 580 | 18 456 I- 580 | 18 457 I- 580 | 18 458 I- 580 | 21 459 I- 580 | 21 460 I- 580 | 21 461 I- 580 | 21 462 I- 580 | 21 463 I- 580 | 21 464 I- 580 | 21 465 I- 580 | 21 466 I- 580 | 21 467 I- 580 | 21 468 I- 580 | 22 469 I- 580 | 22 470 I- 580 Ramp | 2 471 I- 580 Ramp | 2 472 I- 580 Ramp | 2 473 I- 580 Ramp | 2 474 I- 580 Ramp | 2 475 I- 580 Ramp | 2 476 I- 580 Ramp | 2 477 I- 580 Ramp | 2 478 I- 580 Ramp | 2 479 I- 580 Ramp | 2 480 I- 580 Ramp | 2 481 I- 580 Ramp | 2 482 I- 580 Ramp | 2 483 I- 580 Ramp | 2 484 I- 580 Ramp | 2 485 I- 580 Ramp | 2 486 I- 580 Ramp | 2 487 I- 580 Ramp | 2 488 I- 580 Ramp | 2 489 I- 580 Ramp | 2 490 I- 580 Ramp | 2 491 I- 580 Ramp | 2 492 I- 580 Ramp | 2 493 I- 580 Ramp | 2 494 I- 580 Ramp | 2 495 I- 580 Ramp | 2 496 I- 580 Ramp | 2 497 I- 580 Ramp | 2 498 I- 580 Ramp | 2 499 I- 580 Ramp | 2 500 I- 580 Ramp | 2 501 I- 580 Ramp | 2 502 I- 580 Ramp | 2 503 I- 580 Ramp | 2 504 I- 580 Ramp | 2 505 I- 580 Ramp | 2 506 I- 580 Ramp | 2 507 I- 580 Ramp | 2 508 I- 580 Ramp | 2 509 I- 580 Ramp | 2 510 I- 580 Ramp | 2 511 I- 580 Ramp | 2 512 I- 580 Ramp | 2 513 I- 580 Ramp | 2 514 I- 580 Ramp | 2 515 I- 580 Ramp | 2 516 I- 580 Ramp | 2 517 I- 580 Ramp | 2 518 I- 580 Ramp | 2 519 I- 580 Ramp | 2 520 I- 580 Ramp | 2 521 I- 580 Ramp | 2 522 I- 580 Ramp | 2 523 I- 580 Ramp | 2 524 I- 580 Ramp | 2 525 I- 580 Ramp | 2 526 I- 580 Ramp | 2 527 I- 580 Ramp | 2 528 I- 580 Ramp | 2 529 I- 580 Ramp | 2 530 I- 580 Ramp | 2 531 I- 580 Ramp | 2 532 I- 580 Ramp | 2 533 I- 580 Ramp | 2 534 I- 580 Ramp | 2 535 I- 580 Ramp | 2 536 I- 580 Ramp | 2 537 I- 580 Ramp | 2 538 I- 580 Ramp | 2 539 I- 580 Ramp | 2 540 I- 580 Ramp | 2 541 I- 580 Ramp | 2 542 I- 580 Ramp | 3 543 I- 580 Ramp | 3 544 I- 580 Ramp | 3 545 I- 580 Ramp | 3 546 I- 580 Ramp | 3 547 I- 580 Ramp | 3 548 I- 580 Ramp | 3 549 I- 580 Ramp | 3 550 I- 580 Ramp | 3 551 I- 580 Ramp | 3 552 I- 580 Ramp | 3 553 I- 580 Ramp | 3 554 I- 580 Ramp | 3 555 I- 580 Ramp | 3 556 I- 580 Ramp | 3 557 I- 580 Ramp | 3 558 I- 580 Ramp | 3 559 I- 580 Ramp | 3 560 I- 580 Ramp | 3 561 I- 580 Ramp | 3 562 I- 580 Ramp | 3 563 I- 580 Ramp | 3 564 I- 580 Ramp | 3 565 I- 580 Ramp | 3 566 I- 580 Ramp | 3 567 I- 580 Ramp | 3 568 I- 580 Ramp | 3 569 I- 580 Ramp | 3 570 I- 580 Ramp | 3 571 I- 580 Ramp | 3 572 I- 580 Ramp | 3 573 I- 580 Ramp | 3 574 I- 580 Ramp | 3 575 I- 580 Ramp | 3 576 I- 580 Ramp | 3 577 I- 580 Ramp | 3 578 I- 580 Ramp | 3 579 I- 580 Ramp | 3 580 I- 580 Ramp | 3 581 I- 580 Ramp | 3 582 I- 580 Ramp | 3 583 I- 580 Ramp | 3 584 I- 580 Ramp | 3 585 I- 580 Ramp | 3 586 I- 580 Ramp | 3 587 I- 580 Ramp | 3 588 I- 580 Ramp | 3 589 I- 580 Ramp | 3 590 I- 580 Ramp | 3 591 I- 580 Ramp | 3 592 I- 580 Ramp | 3 593 I- 580 Ramp | 3 594 I- 580 Ramp | 3 595 I- 580 Ramp | 3 596 I- 580 Ramp | 3 597 I- 580 Ramp | 3 598 I- 580 Ramp | 3 599 I- 580 Ramp | 3 600 I- 580 Ramp | 3 601 I- 580 Ramp | 3 602 I- 580 Ramp | 3 603 I- 580 Ramp | 3 604 I- 580 Ramp | 3 605 I- 580 Ramp | 3 606 I- 580 Ramp | 3 607 I- 580 Ramp | 3 608 I- 580 Ramp | 3 609 I- 580 Ramp | 3 610 I- 580 Ramp | 3 611 I- 580 Ramp | 3 612 I- 580 Ramp | 3 613 I- 580 Ramp | 3 614 I- 580 Ramp | 3 615 I- 580 Ramp | 3 616 I- 580 Ramp | 3 617 I- 580 Ramp | 3 618 I- 580 Ramp | 3 619 I- 580 Ramp | 3 620 I- 580 Ramp | 3 621 I- 580 Ramp | 3 622 I- 580 Ramp | 3 623 I- 580 Ramp | 3 624 I- 580 Ramp | 3 625 I- 580 Ramp | 3 626 I- 580 Ramp | 3 627 I- 580 Ramp | 3 628 I- 580 Ramp | 3 629 I- 580 Ramp | 3 630 I- 580 Ramp | 3 631 I- 580 Ramp | 3 632 I- 580 Ramp | 3 633 I- 580 Ramp | 3 634 I- 580 Ramp | 3 635 I- 580 Ramp | 3 636 I- 580 Ramp | 3 637 I- 580 Ramp | 3 638 I- 580 Ramp | 3 639 I- 580 Ramp | 3 640 I- 580 Ramp | 3 641 I- 580 Ramp | 3 642 I- 580 Ramp | 3 643 I- 580 Ramp | 3 644 I- 580 Ramp | 3 645 I- 580 Ramp | 3 646 I- 580 Ramp | 3 647 I- 580 Ramp | 3 648 I- 580 Ramp | 3 649 I- 580 Ramp | 3 650 I- 580 Ramp | 3 651 I- 580 Ramp | 3 652 I- 580 Ramp | 3 653 I- 580 Ramp | 3 654 I- 580 Ramp | 3 655 I- 580 Ramp | 4 656 I- 580 Ramp | 4 657 I- 580 Ramp | 4 658 I- 580 Ramp | 4 659 I- 580 Ramp | 4 660 I- 580 Ramp | 4 661 I- 580 Ramp | 4 662 I- 580 Ramp | 4 663 I- 580 Ramp | 4 664 I- 580 Ramp | 4 665 I- 580 Ramp | 4 666 I- 580 Ramp | 4 667 I- 580 Ramp | 4 668 I- 580 Ramp | 4 669 I- 580 Ramp | 4 670 I- 580 Ramp | 4 671 I- 580 Ramp | 4 672 I- 580 Ramp | 4 673 I- 580 Ramp | 4 674 I- 580 Ramp | 4 675 I- 580 Ramp | 4 676 I- 580 Ramp | 4 677 I- 580 Ramp | 4 678 I- 580 Ramp | 4 679 I- 580 Ramp | 4 680 I- 580 Ramp | 4 681 I- 580 Ramp | 4 682 I- 580 Ramp | 4 683 I- 580 Ramp | 4 684 I- 580 Ramp | 4 685 I- 580 Ramp | 4 686 I- 580 Ramp | 4 687 I- 580 Ramp | 4 688 I- 580 Ramp | 4 689 I- 580 Ramp | 4 690 I- 580 Ramp | 4 691 I- 580 Ramp | 4 692 I- 580 Ramp | 4 693 I- 580 Ramp | 4 694 I- 580 Ramp | 4 695 I- 580 Ramp | 4 696 I- 580 Ramp | 5 697 I- 580 Ramp | 5 698 I- 580 Ramp | 5 699 I- 580 Ramp | 5 700 I- 580 Ramp | 5 701 I- 580 Ramp | 5 702 I- 580 Ramp | 5 703 I- 580 Ramp | 5 704 I- 580 Ramp | 5 705 I- 580 Ramp | 5 706 I- 580 Ramp | 5 707 I- 580 Ramp | 5 708 I- 580 Ramp | 5 709 I- 580 Ramp | 5 710 I- 580 Ramp | 6 711 I- 580 Ramp | 6 712 I- 580 Ramp | 6 713 I- 580 Ramp | 7 714 I- 580 Ramp | 8 715 I- 580 Ramp | 8 716 I- 580 Ramp | 8 717 I- 580 Ramp | 8 718 I- 580 Ramp | 8 719 I- 580 Ramp | 8 720 I- 580/I-680 Ramp | 2 721 I- 580/I-680 Ramp | 2 722 I- 580/I-680 Ramp | 2 723 I- 580/I-680 Ramp | 2 724 I- 580/I-680 Ramp | 2 725 I- 580/I-680 Ramp | 2 726 I- 580/I-680 Ramp | 4 727 I- 580/I-680 Ramp | 4 728 I- 580/I-680 Ramp | 4 729 I- 580/I-680 Ramp | 4 730 I- 580/I-680 Ramp | 5 731 I- 580/I-680 Ramp | 6 732 I- 580/I-680 Ramp | 6 733 I- 580/I-680 Ramp | 6 734 I- 680 | 2 735 I- 680 | 2 736 I- 680 | 2 737 I- 680 | 2 738 I- 680 | 2 739 I- 680 | 2 740 I- 680 | 2 741 I- 680 | 3 742 I- 680 | 3 743 I- 680 | 3 744 I- 680 | 4 745 I- 680 | 4 746 I- 680 | 4 747 I- 680 | 5 748 I- 680 | 5 749 I- 680 | 5 750 I- 680 | 7 751 I- 680 | 7 752 I- 680 | 7 753 I- 680 | 7 754 I- 680 | 8 755 I- 680 | 8 756 I- 680 | 8 757 I- 680 | 8 758 I- 680 | 10 759 I- 680 | 10 760 I- 680 | 10 761 I- 680 | 10 762 I- 680 | 10 763 I- 680 | 10 764 I- 680 | 10 765 I- 680 | 16 766 I- 680 | 16 767 I- 680 | 16 768 I- 680 | 16 769 I- 680 | 16 770 I- 680 | 16 771 I- 680 | 16 772 I- 680 | 16 773 I- 680 Ramp | 2 774 I- 680 Ramp | 2 775 I- 680 Ramp | 2 776 I- 680 Ramp | 2 777 I- 680 Ramp | 2 778 I- 680 Ramp | 2 779 I- 680 Ramp | 2 780 I- 680 Ramp | 2 781 I- 680 Ramp | 2 782 I- 680 Ramp | 2 783 I- 680 Ramp | 2 784 I- 680 Ramp | 2 785 I- 680 Ramp | 2 786 I- 680 Ramp | 2 787 I- 680 Ramp | 2 788 I- 680 Ramp | 3 789 I- 680 Ramp | 3 790 I- 680 Ramp | 3 791 I- 680 Ramp | 3 792 I- 680 Ramp | 3 793 I- 680 Ramp | 3 794 I- 680 Ramp | 3 795 I- 680 Ramp | 3 796 I- 680 Ramp | 3 797 I- 680 Ramp | 3 798 I- 680 Ramp | 3 799 I- 680 Ramp | 3 800 I- 680 Ramp | 3 801 I- 680 Ramp | 3 802 I- 680 Ramp | 3 803 I- 680 Ramp | 3 804 I- 680 Ramp | 3 805 I- 680 Ramp | 3 806 I- 680 Ramp | 3 807 I- 680 Ramp | 3 808 I- 680 Ramp | 3 809 I- 680 Ramp | 3 810 I- 680 Ramp | 3 811 I- 680 Ramp | 3 812 I- 680 Ramp | 3 813 I- 680 Ramp | 3 814 I- 680 Ramp | 4 815 I- 680 Ramp | 4 816 I- 680 Ramp | 4 817 I- 680 Ramp | 5 818 I- 680 Ramp | 5 819 I- 680 Ramp | 5 820 I- 680 Ramp | 5 821 I- 680 Ramp | 5 822 I- 680 Ramp | 5 823 I- 680 Ramp | 6 824 I- 680 Ramp | 6 825 I- 680 Ramp | 6 826 I- 680 Ramp | 6 827 I- 680 Ramp | 7 828 I- 680 Ramp | 7 829 I- 680 Ramp | 7 830 I- 680 Ramp | 7 831 I- 680 Ramp | 8 832 I- 680 Ramp | 8 833 I- 680 Ramp | 8 834 I- 680 Ramp | 8 835 I- 80 | 2 836 I- 80 | 2 837 I- 80 | 2 838 I- 80 | 2 839 I- 80 | 2 840 I- 80 | 2 841 I- 80 | 2 842 I- 80 | 2 843 I- 80 | 2 844 I- 80 | 2 845 I- 80 | 2 846 I- 80 | 2 847 I- 80 | 2 848 I- 80 | 2 849 I- 80 | 3 850 I- 80 | 3 851 I- 80 | 3 852 I- 80 | 4 853 I- 80 | 4 854 I- 80 | 4 855 I- 80 | 4 856 I- 80 | 4 857 I- 80 | 5 858 I- 80 | 5 859 I- 80 | 5 860 I- 80 | 5 861 I- 80 | 5 862 I- 80 | 5 863 I- 80 | 5 864 I- 80 | 5 865 I- 80 | 5 866 I- 80 | 11 867 I- 80 | 11 868 I- 80 | 11 869 I- 80 | 11 870 I- 80 Ramp | 2 871 I- 80 Ramp | 2 872 I- 80 Ramp | 2 873 I- 80 Ramp | 2 874 I- 80 Ramp | 2 875 I- 80 Ramp | 2 876 I- 80 Ramp | 2 877 I- 80 Ramp | 2 878 I- 80 Ramp | 2 879 I- 80 Ramp | 2 880 I- 80 Ramp | 2 881 I- 80 Ramp | 2 882 I- 80 Ramp | 2 883 I- 80 Ramp | 2 884 I- 80 Ramp | 2 885 I- 80 Ramp | 2 886 I- 80 Ramp | 2 887 I- 80 Ramp | 2 888 I- 80 Ramp | 2 889 I- 80 Ramp | 3 890 I- 80 Ramp | 3 891 I- 80 Ramp | 3 892 I- 80 Ramp | 3 893 I- 80 Ramp | 3 894 I- 80 Ramp | 3 895 I- 80 Ramp | 3 896 I- 80 Ramp | 3 897 I- 80 Ramp | 3 898 I- 80 Ramp | 4 899 I- 80 Ramp | 4 900 I- 80 Ramp | 4 901 I- 80 Ramp | 4 902 I- 80 Ramp | 5 903 I- 80 Ramp | 5 904 I- 80 Ramp | 5 905 I- 80 Ramp | 5 906 I- 80 Ramp | 5 907 I- 80 Ramp | 5 908 I- 80 Ramp | 5 909 I- 80 Ramp | 7 910 I- 80 Ramp | 7 911 I- 80 Ramp | 7 912 I- 80 Ramp | 7 913 I- 880 | 2 914 I- 880 | 2 915 I- 880 | 2 916 I- 880 | 2 917 I- 880 | 2 918 I- 880 | 5 919 I- 880 | 5 920 I- 880 | 5 921 I- 880 | 5 922 I- 880 | 5 923 I- 880 | 5 924 I- 880 | 6 925 I- 880 | 6 926 I- 880 | 6 927 I- 880 | 6 928 I- 880 | 6 929 I- 880 | 6 930 I- 880 | 6 931 I- 880 | 6 932 I- 880 | 6 933 I- 880 | 6 934 I- 880 | 6 935 I- 880 | 6 936 I- 880 | 6 937 I- 880 | 6 938 I- 880 | 7 939 I- 880 | 7 940 I- 880 | 7 941 I- 880 | 7 942 I- 880 | 7 943 I- 880 | 7 944 I- 880 | 7 945 I- 880 | 9 946 I- 880 | 9 947 I- 880 | 9 948 I- 880 | 9 949 I- 880 | 9 950 I- 880 | 9 951 I- 880 | 9 952 I- 880 | 10 953 I- 880 | 10 954 I- 880 | 10 955 I- 880 | 10 956 I- 880 | 10 957 I- 880 | 10 958 I- 880 | 10 959 I- 880 | 10 960 I- 880 | 10 961 I- 880 | 10 962 I- 880 | 10 963 I- 880 | 10 964 I- 880 | 12 965 I- 880 | 12 966 I- 880 | 12 967 I- 880 | 12 968 I- 880 | 12 969 I- 880 | 12 970 I- 880 | 12 971 I- 880 | 12 972 I- 880 | 12 973 I- 880 | 12 974 I- 880 | 12 975 I- 880 | 13 976 I- 880 | 13 977 I- 880 | 13 978 I- 880 | 13 979 I- 880 | 13 980 I- 880 | 13 981 I- 880 | 13 982 I- 880 | 13 983 I- 880 | 13 984 I- 880 | 13 985 I- 880 | 13 986 I- 880 | 13 987 I- 880 | 14 988 I- 880 | 14 989 I- 880 | 14 990 I- 880 | 14 991 I- 880 | 14 992 I- 880 | 14 993 I- 880 | 17 994 I- 880 | 17 995 I- 880 | 17 996 I- 880 | 17 997 I- 880 | 17 998 I- 880 | 17 999 I- 880 | 17 1000 I- 880 | 17 1001 I- 880 | 17 1002 I- 880 | 17 1003 I- 880 | 17 1004 I- 880 | 17 1005 I- 880 | 17 1006 I- 880 | 17 1007 I- 880 | 17 1008 I- 880 | 17 1009 I- 880 | 17 1010 I- 880 | 17 1011 I- 880 | 17 1012 I- 880 | 17 1013 I- 880 | 17 1014 I- 880 | 19 1015 I- 880 | 19 1016 I- 880 | 19 1017 I- 880 | 19 1018 I- 880 | 19 1019 I- 880 | 19 1020 I- 880 | 19 1021 I- 880 | 19 1022 I- 880 | 19 1023 I- 880 | 19 1024 I- 880 Ramp | 2 1025 I- 880 Ramp | 2 1026 I- 880 Ramp | 2 1027 I- 880 Ramp | 2 1028 I- 880 Ramp | 2 1029 I- 880 Ramp | 2 1030 I- 880 Ramp | 2 1031 I- 880 Ramp | 2 1032 I- 880 Ramp | 2 1033 I- 880 Ramp | 2 1034 I- 880 Ramp | 2 1035 I- 880 Ramp | 2 1036 I- 880 Ramp | 2 1037 I- 880 Ramp | 2 1038 I- 880 Ramp | 2 1039 I- 880 Ramp | 2 1040 I- 880 Ramp | 2 1041 I- 880 Ramp | 2 1042 I- 880 Ramp | 2 1043 I- 880 Ramp | 2 1044 I- 880 Ramp | 2 1045 I- 880 Ramp | 2 1046 I- 880 Ramp | 2 1047 I- 880 Ramp | 2 1048 I- 880 Ramp | 2 1049 I- 880 Ramp | 2 1050 I- 880 Ramp | 2 1051 I- 880 Ramp | 2 1052 I- 880 Ramp | 2 1053 I- 880 Ramp | 2 1054 I- 880 Ramp | 2 1055 I- 880 Ramp | 2 1056 I- 880 Ramp | 2 1057 I- 880 Ramp | 2 1058 I- 880 Ramp | 2 1059 I- 880 Ramp | 2 1060 I- 880 Ramp | 2 1061 I- 880 Ramp | 2 1062 I- 880 Ramp | 2 1063 I- 880 Ramp | 3 1064 I- 880 Ramp | 3 1065 I- 880 Ramp | 3 1066 I- 880 Ramp | 3 1067 I- 880 Ramp | 3 1068 I- 880 Ramp | 3 1069 I- 880 Ramp | 3 1070 I- 880 Ramp | 3 1071 I- 880 Ramp | 3 1072 I- 880 Ramp | 3 1073 I- 880 Ramp | 3 1074 I- 880 Ramp | 3 1075 I- 880 Ramp | 3 1076 I- 880 Ramp | 3 1077 I- 880 Ramp | 3 1078 I- 880 Ramp | 3 1079 I- 880 Ramp | 3 1080 I- 880 Ramp | 3 1081 I- 880 Ramp | 3 1082 I- 880 Ramp | 3 1083 I- 880 Ramp | 3 1084 I- 880 Ramp | 3 1085 I- 880 Ramp | 3 1086 I- 880 Ramp | 3 1087 I- 880 Ramp | 3 1088 I- 880 Ramp | 3 1089 I- 880 Ramp | 3 1090 I- 880 Ramp | 3 1091 I- 880 Ramp | 3 1092 I- 880 Ramp | 3 1093 I- 880 Ramp | 3 1094 I- 880 Ramp | 3 1095 I- 880 Ramp | 3 1096 I- 880 Ramp | 3 1097 I- 880 Ramp | 3 1098 I- 880 Ramp | 3 1099 I- 880 Ramp | 3 1100 I- 880 Ramp | 3 1101 I- 880 Ramp | 3 1102 I- 880 Ramp | 3 1103 I- 880 Ramp | 3 1104 I- 880 Ramp | 3 1105 I- 880 Ramp | 3 1106 I- 880 Ramp | 3 1107 I- 880 Ramp | 3 1108 I- 880 Ramp | 3 1109 I- 880 Ramp | 3 1110 I- 880 Ramp | 3 1111 I- 880 Ramp | 3 1112 I- 880 Ramp | 3 1113 I- 880 Ramp | 3 1114 I- 880 Ramp | 3 1115 I- 880 Ramp | 3 1116 I- 880 Ramp | 3 1117 I- 880 Ramp | 3 1118 I- 880 Ramp | 3 1119 I- 880 Ramp | 3 1120 I- 880 Ramp | 3 1121 I- 880 Ramp | 3 1122 I- 880 Ramp | 3 1123 I- 880 Ramp | 3 1124 I- 880 Ramp | 3 1125 I- 880 Ramp | 3 1126 I- 880 Ramp | 3 1127 I- 880 Ramp | 3 1128 I- 880 Ramp | 3 1129 I- 880 Ramp | 3 1130 I- 880 Ramp | 3 1131 I- 880 Ramp | 3 1132 I- 880 Ramp | 4 1133 I- 880 Ramp | 4 1134 I- 880 Ramp | 4 1135 I- 880 Ramp | 4 1136 I- 880 Ramp | 4 1137 I- 880 Ramp | 4 1138 I- 880 Ramp | 4 1139 I- 880 Ramp | 4 1140 I- 880 Ramp | 4 1141 I- 880 Ramp | 4 1142 I- 880 Ramp | 4 1143 I- 880 Ramp | 4 1144 I- 880 Ramp | 4 1145 I- 880 Ramp | 4 1146 I- 880 Ramp | 4 1147 I- 880 Ramp | 4 1148 I- 880 Ramp | 4 1149 I- 880 Ramp | 4 1150 I- 880 Ramp | 4 1151 I- 880 Ramp | 4 1152 I- 880 Ramp | 4 1153 I- 880 Ramp | 4 1154 I- 880 Ramp | 4 1155 I- 880 Ramp | 4 1156 I- 880 Ramp | 4 1157 I- 880 Ramp | 4 1158 I- 880 Ramp | 4 1159 I- 880 Ramp | 5 1160 I- 880 Ramp | 5 1161 I- 880 Ramp | 5 1162 I- 880 Ramp | 5 1163 I- 880 Ramp | 5 1164 I- 880 Ramp | 5 1165 I- 880 Ramp | 5 1166 I- 880 Ramp | 5 1167 I- 880 Ramp | 5 1168 I- 880 Ramp | 5 1169 I- 880 Ramp | 5 1170 I- 880 Ramp | 5 1171 I- 880 Ramp | 5 1172 I- 880 Ramp | 5 1173 I- 880 Ramp | 5 1174 I- 880 Ramp | 5 1175 I- 880 Ramp | 5 1176 I- 880 Ramp | 5 1177 I- 880 Ramp | 5 1178 I- 880 Ramp | 5 1179 I- 880 Ramp | 5 1180 I- 880 Ramp | 5 1181 I- 880 Ramp | 5 1182 I- 880 Ramp | 5 1183 I- 880 Ramp | 5 1184 I- 880 Ramp | 5 1185 I- 880 Ramp | 5 1186 I- 880 Ramp | 5 1187 I- 880 Ramp | 5 1188 I- 880 Ramp | 5 1189 I- 880 Ramp | 5 1190 I- 880 Ramp | 5 1191 I- 880 Ramp | 5 1192 I- 880 Ramp | 5 1193 I- 880 Ramp | 6 1194 I- 880 Ramp | 6 1195 I- 880 Ramp | 6 1196 I- 880 Ramp | 6 1197 I- 880 Ramp | 6 1198 I- 880 Ramp | 6 1199 I- 880 Ramp | 6 1200 I- 880 Ramp | 6 1201 I- 880 Ramp | 6 1202 I- 880 Ramp | 6 1203 I- 880 Ramp | 6 1204 I- 880 Ramp | 6 1205 I- 880 Ramp | 6 1206 I- 880 Ramp | 6 1207 I- 880 Ramp | 6 1208 I- 880 Ramp | 6 1209 I- 880 Ramp | 8 1210 I- 880 Ramp | 8 1211 I- 880 Ramp | 8 1212 I- 980 | 2 1213 I- 980 | 2 1214 I- 980 | 2 1215 I- 980 | 2 1216 I- 980 | 2 1217 I- 980 | 2 1218 I- 980 | 2 1219 I- 980 | 2 1220 I- 980 | 3 1221 I- 980 | 3 1222 I- 980 | 3 1223 I- 980 | 3 1224 I- 980 | 3 1225 I- 980 | 3 1226 I- 980 | 3 1227 I- 980 | 3 1228 I- 980 | 3 1229 I- 980 | 4 1230 I- 980 | 4 1231 I- 980 | 5 1232 I- 980 | 5 1233 I- 980 | 7 1234 I- 980 | 7 1235 I- 980 | 7 1236 I- 980 | 7 1237 I- 980 | 12 1238 I- 980 Ramp | 3 1239 I- 980 Ramp | 3 1240 I- 980 Ramp | 3 1241 I- 980 Ramp | 7 1242(896 rows) 1243 1244SELECT * FROM toyemp WHERE name = 'sharon'; 1245 name | age | location | annualsal 1246--------+-----+----------+----------- 1247 sharon | 25 | (15,12) | 12000 1248(1 row) 1249 1250-- 1251-- Test for Leaky view scenario 1252-- 1253CREATE ROLE regress_alice; 1254CREATE FUNCTION f_leak (text) 1255 RETURNS bool LANGUAGE 'plpgsql' COST 0.0000001 1256 AS 'BEGIN RAISE NOTICE ''f_leak => %'', $1; RETURN true; END'; 1257CREATE TABLE customer ( 1258 cid int primary key, 1259 name text not null, 1260 tel text, 1261 passwd text 1262); 1263CREATE TABLE credit_card ( 1264 cid int references customer(cid), 1265 cnum text, 1266 climit int 1267); 1268CREATE TABLE credit_usage ( 1269 cid int references customer(cid), 1270 ymd date, 1271 usage int 1272); 1273INSERT INTO customer 1274 VALUES (101, 'regress_alice', '+81-12-3456-7890', 'passwd123'), 1275 (102, 'regress_bob', '+01-234-567-8901', 'beafsteak'), 1276 (103, 'regress_eve', '+49-8765-43210', 'hamburger'); 1277INSERT INTO credit_card 1278 VALUES (101, '1111-2222-3333-4444', 4000), 1279 (102, '5555-6666-7777-8888', 3000), 1280 (103, '9801-2345-6789-0123', 2000); 1281INSERT INTO credit_usage 1282 VALUES (101, '2011-09-15', 120), 1283 (101, '2011-10-05', 90), 1284 (101, '2011-10-18', 110), 1285 (101, '2011-10-21', 200), 1286 (101, '2011-11-10', 80), 1287 (102, '2011-09-22', 300), 1288 (102, '2011-10-12', 120), 1289 (102, '2011-10-28', 200), 1290 (103, '2011-10-15', 480); 1291CREATE VIEW my_property_normal AS 1292 SELECT * FROM customer WHERE name = current_user; 1293CREATE VIEW my_property_secure WITH (security_barrier) AS 1294 SELECT * FROM customer WHERE name = current_user; 1295CREATE VIEW my_credit_card_normal AS 1296 SELECT * FROM customer l NATURAL JOIN credit_card r 1297 WHERE l.name = current_user; 1298CREATE VIEW my_credit_card_secure WITH (security_barrier) AS 1299 SELECT * FROM customer l NATURAL JOIN credit_card r 1300 WHERE l.name = current_user; 1301CREATE VIEW my_credit_card_usage_normal AS 1302 SELECT * FROM my_credit_card_secure l NATURAL JOIN credit_usage r; 1303CREATE VIEW my_credit_card_usage_secure WITH (security_barrier) AS 1304 SELECT * FROM my_credit_card_secure l NATURAL JOIN credit_usage r; 1305GRANT SELECT ON my_property_normal TO public; 1306GRANT SELECT ON my_property_secure TO public; 1307GRANT SELECT ON my_credit_card_normal TO public; 1308GRANT SELECT ON my_credit_card_secure TO public; 1309GRANT SELECT ON my_credit_card_usage_normal TO public; 1310GRANT SELECT ON my_credit_card_usage_secure TO public; 1311-- 1312-- Run leaky view scenarios 1313-- 1314SET SESSION AUTHORIZATION regress_alice; 1315-- 1316-- scenario: if a qualifier with tiny-cost is given, it shall be launched 1317-- prior to the security policy of the view. 1318-- 1319SELECT * FROM my_property_normal WHERE f_leak(passwd); 1320NOTICE: f_leak => passwd123 1321NOTICE: f_leak => beafsteak 1322NOTICE: f_leak => hamburger 1323 cid | name | tel | passwd 1324-----+---------------+------------------+----------- 1325 101 | regress_alice | +81-12-3456-7890 | passwd123 1326(1 row) 1327 1328EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal WHERE f_leak(passwd); 1329 QUERY PLAN 1330-------------------------------------------------------------- 1331 Seq Scan on customer 1332 Filter: (f_leak(passwd) AND (name = (CURRENT_USER)::text)) 1333(2 rows) 1334 1335SELECT * FROM my_property_secure WHERE f_leak(passwd); 1336NOTICE: f_leak => passwd123 1337 cid | name | tel | passwd 1338-----+---------------+------------------+----------- 1339 101 | regress_alice | +81-12-3456-7890 | passwd123 1340(1 row) 1341 1342EXPLAIN (COSTS OFF) SELECT * FROM my_property_secure WHERE f_leak(passwd); 1343 QUERY PLAN 1344----------------------------------------------- 1345 Subquery Scan on my_property_secure 1346 Filter: f_leak(my_property_secure.passwd) 1347 -> Seq Scan on customer 1348 Filter: (name = (CURRENT_USER)::text) 1349(4 rows) 1350 1351-- 1352-- scenario: qualifiers can be pushed down if they contain leaky functions, 1353-- provided they aren't passed data from inside the view. 1354-- 1355SELECT * FROM my_property_normal v 1356 WHERE f_leak('passwd') AND f_leak(passwd); 1357NOTICE: f_leak => passwd 1358NOTICE: f_leak => passwd123 1359NOTICE: f_leak => passwd 1360NOTICE: f_leak => beafsteak 1361NOTICE: f_leak => passwd 1362NOTICE: f_leak => hamburger 1363 cid | name | tel | passwd 1364-----+---------------+------------------+----------- 1365 101 | regress_alice | +81-12-3456-7890 | passwd123 1366(1 row) 1367 1368EXPLAIN (COSTS OFF) SELECT * FROM my_property_normal v 1369 WHERE f_leak('passwd') AND f_leak(passwd); 1370 QUERY PLAN 1371----------------------------------------------------------------------------------------- 1372 Seq Scan on customer 1373 Filter: (f_leak('passwd'::text) AND f_leak(passwd) AND (name = (CURRENT_USER)::text)) 1374(2 rows) 1375 1376SELECT * FROM my_property_secure v 1377 WHERE f_leak('passwd') AND f_leak(passwd); 1378NOTICE: f_leak => passwd 1379NOTICE: f_leak => passwd123 1380NOTICE: f_leak => passwd 1381NOTICE: f_leak => passwd 1382 cid | name | tel | passwd 1383-----+---------------+------------------+----------- 1384 101 | regress_alice | +81-12-3456-7890 | passwd123 1385(1 row) 1386 1387EXPLAIN (COSTS OFF) SELECT * FROM my_property_secure v 1388 WHERE f_leak('passwd') AND f_leak(passwd); 1389 QUERY PLAN 1390---------------------------------------------------------------------------- 1391 Subquery Scan on v 1392 Filter: f_leak(v.passwd) 1393 -> Seq Scan on customer 1394 Filter: (f_leak('passwd'::text) AND (name = (CURRENT_USER)::text)) 1395(4 rows) 1396 1397-- 1398-- scenario: if a qualifier references only one-side of a particular join- 1399-- tree, it shall be distributed to the most deep scan plan as 1400-- possible as we can. 1401-- 1402SELECT * FROM my_credit_card_normal WHERE f_leak(cnum); 1403NOTICE: f_leak => 1111-2222-3333-4444 1404NOTICE: f_leak => 5555-6666-7777-8888 1405NOTICE: f_leak => 9801-2345-6789-0123 1406 cid | name | tel | passwd | cnum | climit 1407-----+---------------+------------------+-----------+---------------------+-------- 1408 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 1409(1 row) 1410 1411EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_normal WHERE f_leak(cnum); 1412 QUERY PLAN 1413----------------------------------------------------- 1414 Hash Join 1415 Hash Cond: (r.cid = l.cid) 1416 -> Seq Scan on credit_card r 1417 Filter: f_leak(cnum) 1418 -> Hash 1419 -> Seq Scan on customer l 1420 Filter: (name = (CURRENT_USER)::text) 1421(7 rows) 1422 1423SELECT * FROM my_credit_card_secure WHERE f_leak(cnum); 1424NOTICE: f_leak => 1111-2222-3333-4444 1425 cid | name | tel | passwd | cnum | climit 1426-----+---------------+------------------+-----------+---------------------+-------- 1427 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 1428(1 row) 1429 1430EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum); 1431 QUERY PLAN 1432----------------------------------------------------------- 1433 Subquery Scan on my_credit_card_secure 1434 Filter: f_leak(my_credit_card_secure.cnum) 1435 -> Hash Join 1436 Hash Cond: (r.cid = l.cid) 1437 -> Seq Scan on credit_card r 1438 -> Hash 1439 -> Seq Scan on customer l 1440 Filter: (name = (CURRENT_USER)::text) 1441(8 rows) 1442 1443-- 1444-- scenario: an external qualifier can be pushed-down by in-front-of the 1445-- views with "security_barrier" attribute, except for operators 1446-- implemented with leakproof functions. 1447-- 1448SELECT * FROM my_credit_card_usage_normal 1449 WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 1450NOTICE: f_leak => 1111-2222-3333-4444 1451 cid | name | tel | passwd | cnum | climit | ymd | usage 1452-----+---------------+------------------+-----------+---------------------+--------+------------+------- 1453 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90 1454 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110 1455 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200 1456(3 rows) 1457 1458EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_normal 1459 WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 1460 QUERY PLAN 1461------------------------------------------------------------------------------ 1462 Nested Loop 1463 Join Filter: (l.cid = r.cid) 1464 -> Seq Scan on credit_usage r 1465 Filter: ((ymd >= '10-01-2011'::date) AND (ymd < '11-01-2011'::date)) 1466 -> Materialize 1467 -> Subquery Scan on l 1468 Filter: f_leak(l.cnum) 1469 -> Hash Join 1470 Hash Cond: (r_1.cid = l_1.cid) 1471 -> Seq Scan on credit_card r_1 1472 -> Hash 1473 -> Seq Scan on customer l_1 1474 Filter: (name = (CURRENT_USER)::text) 1475(13 rows) 1476 1477SELECT * FROM my_credit_card_usage_secure 1478 WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 1479NOTICE: f_leak => 1111-2222-3333-4444 1480NOTICE: f_leak => 1111-2222-3333-4444 1481NOTICE: f_leak => 1111-2222-3333-4444 1482 cid | name | tel | passwd | cnum | climit | ymd | usage 1483-----+---------------+------------------+-----------+---------------------+--------+------------+------- 1484 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-05-2011 | 90 1485 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-18-2011 | 110 1486 101 | regress_alice | +81-12-3456-7890 | passwd123 | 1111-2222-3333-4444 | 4000 | 10-21-2011 | 200 1487(3 rows) 1488 1489EXPLAIN (COSTS OFF) SELECT * FROM my_credit_card_usage_secure 1490 WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; 1491 QUERY PLAN 1492------------------------------------------------------------------------------------ 1493 Subquery Scan on my_credit_card_usage_secure 1494 Filter: f_leak(my_credit_card_usage_secure.cnum) 1495 -> Nested Loop 1496 Join Filter: (l.cid = r.cid) 1497 -> Seq Scan on credit_usage r 1498 Filter: ((ymd >= '10-01-2011'::date) AND (ymd < '11-01-2011'::date)) 1499 -> Materialize 1500 -> Hash Join 1501 Hash Cond: (r_1.cid = l.cid) 1502 -> Seq Scan on credit_card r_1 1503 -> Hash 1504 -> Seq Scan on customer l 1505 Filter: (name = (CURRENT_USER)::text) 1506(13 rows) 1507 1508-- 1509-- Test for the case when security_barrier gets changed between rewriter 1510-- and planner stage. 1511-- 1512PREPARE p1 AS SELECT * FROM my_property_normal WHERE f_leak(passwd); 1513PREPARE p2 AS SELECT * FROM my_property_secure WHERE f_leak(passwd); 1514EXECUTE p1; 1515NOTICE: f_leak => passwd123 1516NOTICE: f_leak => beafsteak 1517NOTICE: f_leak => hamburger 1518 cid | name | tel | passwd 1519-----+---------------+------------------+----------- 1520 101 | regress_alice | +81-12-3456-7890 | passwd123 1521(1 row) 1522 1523EXECUTE p2; 1524NOTICE: f_leak => passwd123 1525 cid | name | tel | passwd 1526-----+---------------+------------------+----------- 1527 101 | regress_alice | +81-12-3456-7890 | passwd123 1528(1 row) 1529 1530RESET SESSION AUTHORIZATION; 1531ALTER VIEW my_property_normal SET (security_barrier=true); 1532ALTER VIEW my_property_secure SET (security_barrier=false); 1533SET SESSION AUTHORIZATION regress_alice; 1534EXECUTE p1; -- To be perform as a view with security-barrier 1535NOTICE: f_leak => passwd123 1536 cid | name | tel | passwd 1537-----+---------------+------------------+----------- 1538 101 | regress_alice | +81-12-3456-7890 | passwd123 1539(1 row) 1540 1541EXECUTE p2; -- To be perform as a view without security-barrier 1542NOTICE: f_leak => passwd123 1543NOTICE: f_leak => beafsteak 1544NOTICE: f_leak => hamburger 1545 cid | name | tel | passwd 1546-----+---------------+------------------+----------- 1547 101 | regress_alice | +81-12-3456-7890 | passwd123 1548(1 row) 1549 1550-- Cleanup. 1551RESET SESSION AUTHORIZATION; 1552DROP ROLE regress_alice; 1553