pgRouting

Changeset 148

Show
Ignore:
Timestamp:
04/01/08 10:19:32 (8 months ago)
Author:
anton
Message:

source and target presence analyzing moved to the main loop

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/src/shooting_star.c

    r136 r148  
    372372        edges = repalloc(edges, total_tuples * sizeof(edge_shooting_star_t)); 
    373373 
    374       DBG("memory for more %i ntuples allocated", ntuples); 
    375  
    376374      if (edges == NULL)  
    377        
    378           elog(ERROR, "Out of memory"); 
    379           return finish(SPIcode, ret); 
    380        
     375     
     376        elog(ERROR, "Out of memory"); 
     377        return finish(SPIcode, ret); 
     378     
    381379 
    382380      if (ntuples > 0)  
    383        
     381     
    384382          int t; 
    385383          SPITupleTable *tuptable = SPI_tuptable; 
    386       DBG("tuptable", ntuples); 
    387384          TupleDesc tupdesc = SPI_tuptable->tupdesc; 
    388385 
    389       DBG("tupdesc", ntuples); 
    390            
    391386          for (t = 0; t < ntuples; t++)  
    392             { 
    393               HeapTuple tuple = tuptable->vals[t]; 
    394       DBG("tuple", ntuples); 
    395               fetch_edge_shooting_star(&tuple, &tupdesc, &edge_columns,  
     387          { 
     388            HeapTuple tuple = tuptable->vals[t]; 
     389            fetch_edge_shooting_star(&tuple, &tupdesc, &edge_columns,  
    396390                               &edges[total_tuples - ntuples + t]); 
    397       DBG("fetch", ntuples); 
    398             } 
     391                                
     392            DBG("edges[%i].id = %i", total_tuples - ntuples + t, edges[total_tuples - ntuples + t].id); 
     393 
     394    if(edges[total_tuples - ntuples + t].id<e_min_id) 
     395      e_min_id=edges[total_tuples - ntuples + t].id; 
     396 
     397    if(edges[total_tuples - ntuples + t].id>e_max_id) 
     398      e_max_id=edges[total_tuples - ntuples + t].id; 
     399             
     400 
     401    if(edges[total_tuples - ntuples + t].id == source_edge_id) 
     402      ++s_count; 
     403    if(edges[total_tuples - ntuples + t].id == target_edge_id) 
     404      ++t_count; 
     405 
     406          } 
    399407          SPI_freetuptable(tuptable); 
    400       DBG("freetuptable", ntuples); 
    401         }  
     408      }  
    402409      else  
    403        
     410     
    404411          moredata = FALSE; 
    405        
     412     
    406413    } 
    407414     
     
    410417 
    411418     
    412  
     419/* 
    413420  for(z=0; z<total_tuples; z++) 
    414421  { 
     
    420427 
    421428  } 
    422  
     429*/ 
    423430    DBG("E : %i <-> %i", e_min_id, e_max_id); 
    424431 
    425   for(z=0; z<total_tuples; ++z) 
    426  
     432  //for(z=0; z<total_tuples; ++z) 
     433  //
    427434 
    428435    //check if edges[] contains source and target 
    429     if(edges[z].id == source_edge_id ||  
    430        edges[z].id == source_edge_id) 
     436     
     437  //DBG("edges[%i].id (%i) == %i", z, edges[z].id, source_edge_id); 
     438 
     439/*     
     440    if(edges[z].id == source_edge_id) 
    431441      ++s_count; 
    432     if(edges[z].id == target_edge_id ||  
    433        edges[z].id == target_edge_id) 
     442    if(edges[z].id == target_edge_id) 
    434443      ++t_count; 
    435  
     444*/ 
    436445 
    437446    //edges[z].source-=v_min_id; 
    438447    //edges[z].target-=v_min_id; 
    439448     
    440  
    441      
    442   DBG("Total %i tuples", total_tuples); 
     449  //
     450     
     451  //DBG("Total %i tuples", total_tuples); 
    443452 
    444453  if(s_count == 0)