[GRASS-user] db.select limitation + psql workaround

peter.loewe at gmx.de peter.loewe at gmx.de
Fri Jan 16 10:06:42 EST 2009


Hi,

db.select balks when the SELECT queries are sufficiently complex (experienced in GRASS6.3).

Example:

echo 
"SELECT county_id,county_name_ascii, max(area) INTO ovl_max FROM (SELECT county_id::integer,county_name_ascii,met_id,area FROM ovl_110 GROUP BY county_id,county_name_ascii,area,met_id ORDER BY county_name_ascii) FOO GROUP BY FOO.county_name_ascii,FOO.county_id;" 
 | db.select

results in:
DBMI-Postgres driver error:
Cannot select:
SELECT county_id,county_name_ascii, max(area) INTO ovl_max FROM (SELECT county_id::integer,county_name_ascii,met_id,area FROM ovl_110 GROUP BY county_id,county_name_ascii,area,met_id ORDER BY county_name_ascii) FOO GROUP BY FOO.county_name_ascii,FOO.county_id;

For Linux/PostgresQL this can be circumvented by using a single line call to psql with the identical SQL command:

psql -c 
"SELECT county_id,county_name_ascii, max(area) INTO ovl_max FROM (SELECT county_id::integer,county_name_ascii,met_id,area FROM ovl_110 GROUP BY county_id,county_name_ascii,area,met_id ORDER BY county_name_ascii) FOO GROUP BY FOO.county_name_ascii,FOO.county_id;"
 -dmeteo_null

Best,
Peter
-- 
Dr. Peter Löwe
<peter.loewe at gmx.de>





Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger


More information about the grass-user mailing list