[gdal-dev] Clearing OGR Attribute Filter on ESRI Personal
Geodatabase
Joel Odom
joelodom at gmail.com
Fri Jul 30 07:37:40 EDT 2010
I'm encountering an issue where once I've set an attribute filter on an ESRI
personal geodatabase, I cannot clear that filter. If I pass NULL to
SetAttributeFilter, the filter is internally set to "", which makes future
queries return zero results instead of all rows. Examining the personal
geodatabase driver code, I find:
OGRErr OGRPGeoTableLayer::SetAttributeFilter( const char *pszQuery )
{
if( (pszQuery == NULL && this->pszQuery == NULL)
|| (pszQuery != NULL && this->pszQuery != NULL
&& EQUAL(pszQuery,this->pszQuery)) )
return OGRERR_NONE;
CPLFree( this->pszQuery );
this->pszQuery = CPLStrdup( pszQuery );
ClearStatement();
return OGRERR_NONE;
}
Around the line, "this->pszQuery = CPLStrdup( pszQuery );" should there be
an additional bit of logic that sets this->pszQuery to NULL if pszQuery is
NULL? I've searched this mailing list and find no reference to this. Is
there a possible work around? Thanks.
--
http://www.operationliberate.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100730/ede8ace8/attachment.html
More information about the gdal-dev
mailing list