[GRASS-dev] Re: [bug #5341] Data corruption problem with v.db.select

Hamish hamish_nospam at yahoo.com
Thu Nov 30 21:23:54 EST 2006

> http://intevation.de/rt/webrt?serial_num=5341

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
> allowed.
> Also GRASS manual mentions both, eg.
> http://grass.itc.it/grass63/manuals/html63_user/sql.html:
> 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
> http://intevation.de/rt/webrt?serial_num=5341,

It is the same bug. Merged.


#includes Brad's updates from 2 days ago

G63> v.db.select -c archsites where="CAT = 1"
1|Signature Rock

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"
Signature Rock

G63> v.db.select -c archsites column=str1 where="CAT=1"
No Name

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 mailing list