[GRASS-dev] [bug #5258] (grass) v.patch: crash or ERROR, if tables missing in input

this bug's URL: http://intevation.de/rt/webrt?serial_num=5258

hamish_nospam@yahoo.com wrote (Sun, Nov 5 2006 06:45:09):

Guido Lorenz wrote:

v.patch -e input=paguirre2006base4,testarea output=testpatch
--overwrite GRASS_INFO_ERROR(28119,1): Missing table

Manually creating a database table in PostgreSQL, connecting it to the
vector file (v.db.connect) and updloading the cat values is a simple
workaround so far.

v.in.region creates a vector box -- it has no attributes that need
storing in a table.

The problem is with v.patch. It will not work if used with -e while any of the
input vectors doesn't have a table. I'm renaming the bug.

I can't comment on PosgreSQL or deriative needs.

This is not related to Postgres. With DBF it's the same.

Moreover, v.patch segfaults if used with -e while *neither* input vector has a
table. See the follwoing examples:

in spearfish60:

$ v.random out=pt1 n=10
$ v.random out=pt2 n=10

### CASE 1: neither input vector has a table:

$ v.patch input=pt1,pt2 out=ptp -e
Segmentation fault (core dumped)
$ gdb v.patch core
(gdb) bt
#0 0x0804a29f in main (argc=0, argv=0xbfcdf604) at main.c:193
(gdb) q

### CASE 2: only one input vector doesn't have a table:

$ v.db.addtable pt1 columns="cat integer"
$ v.patch input=pt1,pt2 out=ptp -e
ERROR: Missing table

### CASE 3: both input vectors have a table:

$ v.db.addtable pt2 columns="cat integer"
$ v.patch input=pt1,pt2 out=ptp -e
(works)

Maciek

-------------------------------------------- Managed by Request Tracker