Opened 13 years ago

Closed 12 years ago

#1328 closed defect (fixed)

v.in.ogr: bogus table connection created when input Shapefile has spaces in it's name

Reported by: msieczka Owned by: grass-dev@…
Priority: major Milestone: 6.4.4
Component: Vector Version: svn-releasebranch64
Keywords: Cc:
CPU: All Platform: All

Description

Debian, releasebranch_6_4 r45717.

Import the attached "a a.shp":

$ v.in.ogr dsn=a\ a.shp output=b

Try some operation on it - e.g:

$ v.info -c b
Displaying column types/names for database connection of layer 1:
DBMI-DBF driver error:
Cannot create dbf database: cat /home/grassdata/spearfish60/PERMANENT/dbf/


ERROR: Unable to open database <cat
       /home/grassdata/spearfish60/PERMANENT/dbf/> by driver <d

That's because the table link is bogus:

$ v.db.connect -p b
Vector map <b@PERMANENT> is connected by:
layer <1> table <a> in database <cat /home/grassdata/spearfish60/PERMANENT/dbf/> through driver <dbf> with key <b>

which should rather be:

layer <1> table <b> in database </home/grassdata/spearfish60/PERMANENT/dbf/> through driver <dbf> with key <cat>

The respective dbln file contains:

1/a a b cat $GISDBASE/$LOCATION_NAME/$MAPSET/dbf/ dbf

(Mind the "a a" above, derived from input Shapefile layer name.)

Does GRASS allow spaces in layer names? If so, maybe use a different separator in dbln's?

Attachments (1)

a_a.zip (463 bytes ) - added by msieczka 13 years ago.

Download all attachments as: .zip

Change History (6)

by msieczka, 13 years ago

Attachment: a_a.zip added

comment:1 by hamish, 12 years ago

see #809.

the dbln file field sep in grass7 has been changed to '|' from space.

Hamish

in reply to:  1 ; comment:2 by neteler, 12 years ago

Milestone: 6.4.16.4.4

Replying to hamish:

see #809.

the dbln file field sep in grass7 has been changed to '|' from space.

Since we cannot change the dbln format in GRASS 6, this looks like "wontfix".

in reply to:  2 ; comment:3 by mmetz, 12 years ago

Replying to neteler:

Replying to hamish:

see #809.

the dbln file field sep in grass7 has been changed to '|' from space.

Since we cannot change the dbln format in GRASS 6, this looks like "wontfix".

Fixed in 6.5 r52755 by replacing whitespace with underscore in the GRASS layer name. Works for me with shapefiles with whitespace in the name. Backport to 6.4?

Markus M

in reply to:  3 comment:4 by mmetz, 12 years ago

Replying to mmetz:

Replying to neteler:

Replying to hamish:

see #809.

the dbln file field sep in grass7 has been changed to '|' from space.

Since we cannot change the dbln format in GRASS 6, this looks like "wontfix".

Fixed in 6.5 r52755 by replacing whitespace with underscore in the GRASS layer name. Works for me with shapefiles with whitespace in the name. Backport to 6.4?

Whitespace support in OGR dsn and OGR layer names has been backported to 6.4 in r52765.

Markus M

comment:5 by mmetz, 12 years ago

Resolution: fixed
Status: newclosed

Closing ticket.

Note: See TracTickets for help on using tickets.