diff --git a/src/overpass_api/statements/id_query.h b/src/overpass_api/statements/id_query.h index f9732e834..8605458d3 100644 --- a/src/overpass_api/statements/id_query.h +++ b/src/overpass_api/statements/id_query.h @@ -38,7 +38,7 @@ class Id_Query_Statement : public Output_Statement static Generic_Statement_Maker< Id_Query_Statement > statement_maker; virtual Query_Constraint* get_query_constraint(); - + const std::vector< uint64 >& get_refs() { return refs; } int get_type() const { return type; } @@ -58,14 +58,12 @@ class Id_Query_Statement : public Output_Statement virtual std::string dump_xml(const std::string& indent) const { - std::vector< uint64 >::const_iterator it = refs.begin(); - std::string result = indent + "\n"; } @@ -77,14 +75,14 @@ class Id_Query_Statement : public Output_Statement virtual std::string dump_ql_in_query(const std::string& indent) const { std::vector< uint64 >::const_iterator it = refs.begin(); - - std::string result = "("; + + std::string result = (refs.size() > 1) ? "(id:" : "("; if (it != refs.end()) result += ::to_string(*it++); while (it != refs.end()) result += "," + ::to_string(*it++); result += ")"; - + return result; }