Bug report #2007
Query builders LIKE statement treats every string like '%string%' with DBF backend
Status: | Closed | ||
---|---|---|---|
Priority: | Low | ||
Assignee: | nobody - | ||
Category: | Vectors | ||
Affected QGIS version: | Regression?: | No | |
Operating System: | Gentoo | Easy fix?: | No |
Pull Request or Patch supplied: | Resolution: | fixed | |
Crashes QGIS or corrupts data: | Copied to github as #: | 12067 |
Description
- Open Shapefile;
- Open attribute table;
- Open query builder;
- Create following query:
mycolumn LIKE 'A%'
- Test result.
Result set should contain only mycolumn entries that start with "A" letter, still they will contain also any entry that has "A" letter in it. Seems like "%" and "_" are ignored and string is allways treated like "%%" one.
I have no idea if it's only DBF related (limitation?) or not, but as queries in query builder return wrong data sets, something must be done to warn user about QGIS specific SQL dialect, if it's not possible to fix this issue.
Associated revisions
fix #2007
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@11804 c8812cc2-4d05-0410-92ff-de0c093fc19c
fix #2007
git-svn-id: http://svn.osgeo.org/qgis/trunk@11804 c8812cc2-4d05-0410-92ff-de0c093fc19c
History
#1 Updated by Jürgen Fischer about 15 years ago
not reproducable here. QGIS uses OGR to access shapefiles and uses OGR SQL to query OGR layers. So this might be a GDAL issue. Which version are you using?
#2 Updated by Giovanni Manghi about 15 years ago
Not replicable here too.
#3 Updated by marisn - about 15 years ago
Good news - it's NOT an GDAL/OGR bug but a QGIS bug :) Tested with 1.6.2 ogrinfo -where and -sql options - OGR returns correct results. QGIS 1.2.0 and current trunk - NOT correct results. I will attach sample dataset.
Steps to reproduce:- Open file (UTF-8 coding);
- Open Attribute table;
- Advanced search;
- At SQL where clause enter following text:
NOSAUKUMS LIKE 'S%'
- Press OK.
I get 4 results - also "CESIS", still "CESIS" doesn't match 'S%' pattern.
#4 Updated by Giovanni Manghi about 15 years ago
With your sample data and you SQL clause I get 3 (correct) results, so I cannot confirm the problem.
Using qgis trunk compiled under Ubuntu 9.04
#5 Updated by Jürgen Fischer about 15 years ago
- Status changed from Open to Closed
- Resolution set to fixed
#6 Updated by marisn - about 15 years ago
Thanks! Tested - now works just fine. Sorry for confusing description - at first I was using localised QGIS version and thus migh be calling things different than en_US version does :)