[GRASS-dev] Re: [bug #5341] Data corruption problem with v.db.select
hamish_nospam at yahoo.com
Thu Nov 30 21:23:54 EST 2006
Well, that didn't take long. We now have a nasty 6.2.1 blocker bug.
See the spearfish example below.
> > v.db.select segfaults if SQL query is malformed:
> > G63> v.db.select -c fish_sites col=site_id where="CAT = 1"
> > Ai1
> > G63> v.db.select -c fish_sites col=site_id where="CAT=1"
> > Segmentation fault
> Why do you think "CAT=1" is malformed and "CAT = 1" is not?
> See eg. http://www.w3schools.com/sql/sql_where.asp. Both notations are
> Also GRASS manual mentions both, eg.
> d.vect map where="individual='juvenile'
yes you are correct. (fyi, I put that example in, we were tracking
the movements of sea lion pups)
re-testing for that sea lion map, it is only v.db.select that is broken.
d.vect, v.extract work without the extra whitespace.
the column= where= options are newer than 6.0.2, so can't test that, but
they do break in 6.1.0.
> This bug is similar to my recent
It is the same bug. Merged.
#includes Brad's updates from 2 days ago
G63> v.db.select -c archsites where="CAT = 1"
G63> v.db.select -c archsites where="CAT=1"
DBMI-DBF driver error:
SQL parser error in statement:
SELECT * FROM archsites WHERE CAT=1)
Error in db_open_select_cursor()
ERROR: Cannot open select cursor
G63> v.db.select -c archsites column=str1 where="CAT = 1"
G63> v.db.select -c archsites column=str1 where="CAT=1"
G63> v.db.select archsites where="CAT = 1" col=cat
G63> v.db.select archsites where="CAT=1" col=cat
==> that is very bad, it reports the attribute of the wrong cat !
More information about the grass-dev