|
@@ -1495,22 +1495,22 @@ int Vect__load_map_lines_pg(struct Map_info *Map)
|
|
|
if (pg_info->topo_geo_only)
|
|
|
sprintf(stmt,
|
|
|
"SELECT tt.node_id,tt.geom,ft.%s FROM \"%s\".node AS tt "
|
|
|
- "LEFT JOIN \"%s\" AS ft ON "
|
|
|
+ "LEFT JOIN \"%s\".\"%s\" AS ft ON "
|
|
|
"(%s).type = 1 AND (%s).id = node_id WHERE containing_face "
|
|
|
"IS NULL AND node_id NOT IN "
|
|
|
"(SELECT node FROM (SELECT start_node AS node FROM \"%s\".edge "
|
|
|
"GROUP BY start_node UNION ALL SELECT end_node AS node FROM "
|
|
|
"\"%s\".edge GROUP BY end_node) AS foo) ORDER BY node_id",
|
|
|
- "fid", pg_info->toposchema_name, pg_info->table_name,
|
|
|
+ "fid", pg_info->toposchema_name, pg_info->schema_name, pg_info->table_name,
|
|
|
pg_info->topogeom_column, pg_info->topogeom_column, pg_info->toposchema_name,
|
|
|
pg_info->toposchema_name);
|
|
|
else
|
|
|
sprintf(stmt,
|
|
|
"SELECT tt.node_id,tt.geom,ft.%s "
|
|
|
- "FROM \"%s\".node AS tt LEFT JOIN \"%s\" AS ft ON "
|
|
|
+ "FROM \"%s\".node AS tt LEFT JOIN \"%s\".\"%s\" AS ft ON "
|
|
|
"(%s).type = 1 AND (%s).id = node_id WHERE node_id NOT IN "
|
|
|
"(SELECT node_id FROM \"%s\".%s) AND containing_face IS NULL ORDER BY node_id",
|
|
|
- "fid", pg_info->toposchema_name, pg_info->table_name,
|
|
|
+ "fid", pg_info->toposchema_name, pg_info->schema_name, pg_info->table_name,
|
|
|
pg_info->topogeom_column, pg_info->topogeom_column,
|
|
|
pg_info->toposchema_name, TOPO_TABLE_NODE);
|
|
|
G_debug(2, "SQL: %s", stmt);
|
|
@@ -1544,18 +1544,19 @@ int Vect__load_map_lines_pg(struct Map_info *Map)
|
|
|
if (pg_info->topo_geo_only)
|
|
|
sprintf(stmt, /* TODO: fix fid column! */
|
|
|
"SELECT edge_id,start_node,end_node,left_face,right_face AS right_area,tt.geom,ft.%s "
|
|
|
- "FROM \"%s\".edge AS tt LEFT JOIN \"%s\" AS ft ON (%s).type = 2 AND "
|
|
|
+ "FROM \"%s\".edge AS tt LEFT JOIN \"%s\".\"%s\" AS ft ON (%s).type = 2 AND "
|
|
|
"(%s).id = edge_id ORDER BY edge_id",
|
|
|
- "fid", pg_info->toposchema_name, pg_info->table_name,
|
|
|
+ "fid", pg_info->toposchema_name, pg_info->schema_name, pg_info->table_name,
|
|
|
pg_info->topogeom_column, pg_info->topogeom_column);
|
|
|
else
|
|
|
sprintf(stmt, /* TODO: fix fid column! */
|
|
|
"SELECT edge_id,start_node,end_node,left_area,right_area,tt.geom,ft.%s "
|
|
|
- "FROM \"%s\".edge AS tt LEFT JOIN \"%s\".%s ON "
|
|
|
- "edge_id = line_id LEFT JOIN \"%s\" AS ft ON (%s).type = 2 AND "
|
|
|
+ "FROM \"%s\".edge AS tt LEFT JOIN \"%s\".\"%s\" ON "
|
|
|
+ "edge_id = line_id LEFT JOIN \"%s\".\"%s\" AS ft ON (%s).type = 2 AND "
|
|
|
"(%s).id = edge_id ORDER BY edge_id",
|
|
|
"fid", pg_info->toposchema_name, pg_info->toposchema_name, TOPO_TABLE_LINE,
|
|
|
- pg_info->table_name, pg_info->topogeom_column, pg_info->topogeom_column);
|
|
|
+ pg_info->schema_name, pg_info->table_name, pg_info->topogeom_column,
|
|
|
+ pg_info->topogeom_column);
|
|
|
|
|
|
G_debug(2, "SQL: %s", stmt);
|
|
|
res = PQexec(pg_info->conn, stmt);
|
|
@@ -1591,24 +1592,24 @@ int Vect__load_map_lines_pg(struct Map_info *Map)
|
|
|
if (pg_info->topo_geo_only)
|
|
|
sprintf(stmt,
|
|
|
"SELECT node_id,tt.geom,containing_face,ft.%s FROM "
|
|
|
- "\"%s\".node AS tt LEFT JOIN \"%s\" AS ft ON "
|
|
|
+ "\"%s\".node AS tt LEFT JOIN \"%s\".\"%s\" AS ft ON "
|
|
|
"(%s).type = 3 AND (%s).id = containing_face WHERE containing_face "
|
|
|
"IS NOT NULL AND node_id NOT IN "
|
|
|
"(SELECT node FROM (SELECT start_node AS node FROM \"%s\".edge "
|
|
|
"GROUP BY start_node UNION ALL SELECT end_node AS node FROM "
|
|
|
"\"%s\".edge GROUP BY end_node) AS foo) ORDER BY node_id",
|
|
|
- "fid", pg_info->toposchema_name, pg_info->table_name,
|
|
|
+ "fid", pg_info->toposchema_name, pg_info->schema_name, pg_info->table_name,
|
|
|
pg_info->topogeom_column, pg_info->topogeom_column,
|
|
|
pg_info->toposchema_name,
|
|
|
pg_info->toposchema_name);
|
|
|
else
|
|
|
sprintf(stmt,
|
|
|
"SELECT tt.node_id,tt.geom,containing_face,ft.%s FROM "
|
|
|
- "\"%s\".node AS tt LEFT JOIN \"%s\" AS ft ON "
|
|
|
+ "\"%s\".node AS tt LEFT JOIN \"%s\".\"%s\" AS ft ON "
|
|
|
"(%s).type = 3 AND (%s).id = containing_face WHERE "
|
|
|
"node_id NOT IN (SELECT node_id FROM \"%s\".%s) AND containing_face "
|
|
|
"IS NOT NULL ORDER BY node_id",
|
|
|
- "fid", pg_info->toposchema_name, pg_info->table_name,
|
|
|
+ "fid", pg_info->toposchema_name, pg_info->schema_name, pg_info->table_name,
|
|
|
pg_info->topogeom_column, pg_info->topogeom_column,
|
|
|
pg_info->toposchema_name, TOPO_TABLE_NODE);
|
|
|
G_debug(2, "SQL: %s", stmt);
|