[fdo-trac] #558: SQLite filter processing can output filters that result in sqlite parser stack overflow

FDO trac_fdo at osgeo.org
Thu Sep 24 14:55:08 EDT 2009


#558: SQLite filter processing can output filters that result in sqlite parser
stack overflow
-------------------------------+--------------------------------------------
   Reporter:  traianstanev     |       Owner:  traianstanev
       Type:  defect           |      Status:  new         
   Priority:  major            |   Milestone:  3.5.0       
  Component:  SQLite Provider  |     Version:  3.4.0       
   Severity:  3                |    Keywords:              
External_id:                   |  
-------------------------------+--------------------------------------------
 The SQLite filter processor converts this:

 Below is what we get from FDO when we call ToString

 UNIQUEID = 400 OR UNIQUEID = 1789 OR UNIQUEID = 1790 OR UNIQUEID = 1791 OR
 UNIQUEID = 1792 OR UNIQUEID = 1793 OR .....

 to this (notice the nested ()):

 (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((UNIQUEID
 = 400) OR (UNIQUEID = 1789)) OR (UNIQUEID = 1790)) OR (UNIQUEID = 1791))
 OR (UNIQUEID = 1792)) OR (UNIQUEID = 1793)) OR (UNIQUEID = 1794)) OR
 (UNIQUEID = 1795)) OR (UNIQUEID = 1796)) OR (UNIQUEID = 1797)) OR
 (UNIQUEID = 1798)) OR (UNIQUEID = 1799)) OR (UNIQUEID = 1800)) OR
 (UNIQUEID = 1801)) OR (UNIQUEID = 1802)) OR (UNIQUEID = 1803)) OR
 (UNIQUEID = 1804)) OR (UNIQUEID = 1805)) OR (UNIQUEID = 1806)) OR
 (UNIQUEID = 1807)) OR (UNIQUEID = 1962)) OR (UNIQUEID = 1963)) OR
 (UNIQUEID = 1966)) OR .....

 For large queries, this results in parser stack overflow inside sqlite.

-- 
Ticket URL: <http://trac.osgeo.org/fdo/ticket/558>
FDO <http://fdo.osgeo.org/>
Feature Data Objects


More information about the fdo-trac mailing list