Markus,
In part, I think this is another example of a problem that affects all GRASS 5.7 GUI entries that use an argument with spaces. Commands that require such entries include those that ask for sql statements or a list of database fields. Somehow g_parser or G_PARSER() is translating the single string argument as a list of separate entries. In other words, the argument 'field1 int,field2 varchar(20),field3 double' becomes 4 arguments "field1", "int,field2", "varchar(20),field3", and "double".
I tried to report this a week or so back, but perhaps didn't explain it well enough. Glynn Clements responded and, if I understand correctly, he thinks it is somewhere in G_PARSER().
Michael
____________________
C. Michael Barton, Professor
School of Human Origins, Cultures, & Societies
PO Box 872402
Arizona State University
Tempe, AZ 85287-2402
USA
Phone: 480-965-6262
Fax: 480-965-7671
www: <www.public.asu.edu/~cmbarton>
On Jun 26, 2004, at 10:01 PM, Multiple recipients of list wrote:
From: Markus Neteler <neteler@itc.it>
Date: June 26, 2004 11:45:39 AM MST
To: Grasslist <GRASSLIST@baylor.edu>
Subject: [GRASSLIST:3752] Re: db.executeOn Fri, Jun 25, 2004 at 06:01:53PM +0200, Radim Blazek wrote:
On Friday 25 June 2004 17:43, Daniel Isenegger wrote:
Hi
i'm working on a suse 8.2 with grass57 (compiled from source) on a local
Grass-DB:with:
db.connect -p
driver:dbf
database:/data/gis/nfp48/nfp48/ipodlas0.1/grass/grassdata/UpperEngadine/dis
en/dbfdb.select-statement works well
(echo "select defoliatio from defoliation_53_shp" | db.select)but db.execute statements fail, e.g.:
echo 'create table test_table ("cat" int, "desc" text)' | db.execute'text' is not supported by DBF, column names should not be quoted, try
echo 'create table test_table (cat int, desc varchar(50))' | db.executeAlso this suggestion fails (also the command given in the man page):
echo 'create table test_table (cat int, desc varchar(50))' | db.execute
DBMI-Postgres driver error:
Cannot execute:
create table test_table (cat int, desc varchar(50))ERROR: parser: parse error at or near "desc" at character 35
WARNING: Error while executing: "create table test_table (cat int, desc
varchar(50))
"(here: PG driver)
I don't know how to debug it...
also db.driver fails with the error:
error: can't read "opttype(1)": no such element in arraydb.drivers -p ? Command line or GUI?
The GUI version gives that error.
Markus