[GRASS-SVN] r70343 - grass/trunk/lib/vector/Vlib
svn_grass at osgeo.org
svn_grass at osgeo.org
Wed Jan 11 07:07:42 PST 2017
Author: martinl
Date: 2017-01-11 07:07:41 -0800 (Wed, 11 Jan 2017)
New Revision: 70343
Modified:
grass/trunk/lib/vector/Vlib/read_pg.c
Log:
Vlib/pg: fix reading PostGIS features when fid column contains uppercase letter
Modified: grass/trunk/lib/vector/Vlib/read_pg.c
===================================================================
--- grass/trunk/lib/vector/Vlib/read_pg.c 2017-01-11 14:50:26 UTC (rev 70342)
+++ grass/trunk/lib/vector/Vlib/read_pg.c 2017-01-11 15:07:41 UTC (rev 70343)
@@ -1245,17 +1245,25 @@
if (!pg_info->toposchema_name) {
/* simple feature access (geom, fid) */
/* TODO: start_fid */
- if (pg_info->where)
+ if (pg_info->where) {
/* set attribute filter if where sql statement defined */
+ char **tokens = G_tokenize(pg_info->where, "=");
+ if (G_number_of_tokens(tokens) != 2) {
+ G_warning(_("Unable to parse '%s'"), pg_info->where);
+ return -1;
+ }
sprintf(stmt,
- "DECLARE %s CURSOR FOR SELECT %s,%s FROM \"%s\".\"%s\" WHERE %s ORDER BY %s",
+ "DECLARE %s CURSOR FOR SELECT \"%s\",\"%s\" FROM \"%s\".\"%s\" WHERE \"%s\"=%s ORDER BY \"%s\"",
pg_info->cursor_name, pg_info->geom_column, pg_info->fid_column, pg_info->schema_name,
- pg_info->table_name, pg_info->where, pg_info->fid_column);
- else
+ pg_info->table_name, tokens[0], tokens[1], pg_info->fid_column);
+ G_free_tokens(tokens);
+ }
+ else {
sprintf(stmt,
- "DECLARE %s CURSOR FOR SELECT %s,%s FROM \"%s\".\"%s\" ORDER BY %s",
+ "DECLARE %s CURSOR FOR SELECT \"%s\",\"%s\" FROM \"%s\".\"%s\" ORDER BY \"%s\"",
pg_info->cursor_name, pg_info->geom_column, pg_info->fid_column, pg_info->schema_name,
pg_info->table_name, pg_info->fid_column);
+ }
}
else {
/* topology access (geom,id,fid,type) */
More information about the grass-commit
mailing list