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/
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev