On 22/10/08 17:45, Glynn Clements wrote:
Moritz Lennert wrote:

 > 2) v.db.join: The layer option was missing in v.db.addcol and, in
 db.execute, 'driver' and 'database' options were missing thus breaking it
 for layer > 1

 Fixed in Revision 33971.
I would like to port this to grass7. Does attached diff look correct (seems straightforward, but no experience with python scripting, yet, so just making sure) ?

-       if grass.run_command('v.db.addcol', map = map, columns = colspec) != 0:
+       if grass.run_command('v.db.addcol', map = map, columns = colspec, layer 
= layer) != 0:

This looks okay.

        stmt = template.substitute(table = maptable, column = column,
                                   otable = otable, ocolumn = ocolumn,
-                                  colname = colname)
+                                  colname = colname, database = database, 
driver = driver)

This won't do anything, as the template doesn't contain substitutions
for $database and $driver. Nor can they be added, as the template is
just the SQL statement. The database and driver would need to be
passed to db.execute, e.g.:

-       if grass.write_command('db.execute', stdin = stmt) != 0:
+       if grass.write_command('db.execute', stdin = stmt, database = database, 
driver = driver) != 0:

Duh, should have seen this if I had looked more carefully ! Thanks. Committed.

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

Reply via email to