On 04/04/12 08:33, Moritz Lennert wrote:
On 04/04/12 08:02, Michael Barton wrote:
I want to update a column with the value of another column. I am using
v.db.update.

The docs say that I can update a column with the value of another column
by specifying that column in the value field. In fact, if I put the
names of numeric columns, this works fine (e.g., v.db.update
map=myvector layer=1 column=summary value=col3 + col4).

But if I do something like this for a string column, I simply get the
string of the name of the column (e.g., v.db.update map=myvector layer=1
column=summary value=col5 put "col5" into the summary column, NOT the
strings that are STORED in col5).

Are the docs wrong or is this a bug?

When the column to update is a string column, the script surrounds the
value given with the value= parameter with quotes. It could check
whether the given value is a column name and then not quote it but then
again, how can we know that the person does not what to just fill a
column with a string that corresponds to the name of another column ?

Try using the qcolumn parameter.

So docs should be updated to reflect that.

How about:

Index: v.db.update.py
===================================================================
--- v.db.update.py      (révision 51255)
+++ v.db.update.py      (copie de travail)
@@ -33,12 +33,12 @@
 #%option
 #% key: value
 #% type: string
-#% description: Value to update the column with, can be (combination of) other column(s)
+#% description: Value to update the column with
 #% required: no
 #%end
 #%option G_OPT_DB_COLUMN
 #% key: qcolumn
-#% description: Name of attribute column to query
+#% description: Name of other attribute column to query, can be combination of columns (e.g. co1+col2)
 #%end
 #%option G_OPT_DB_WHERE
 #%end
Index: v.db.update.html
===================================================================
--- v.db.update.html    (révision 51255)
+++ v.db.update.html    (copie de travail)
@@ -1,8 +1,8 @@
 <h2>DESCRIPTION</h2>

 <em>v.db.update</em> allows to assign a new value to a column in the
-attribute table connected to a given map. Alternatively, values can be
-copied from another column in the table.
+attribute table connected to a given map. The <em>value</em> parameter allows updating with a literal value. Alternatively, with the <em>qcol</em> parameter values can be +copied from another column in the table or be the result of a combination or transformation of other columns.

 <h2>NOTES</h2>


?

Moritz
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to