# Returns
# 0. 0 (success),
# 1. original relation id (unchanged),
- # 2. new relation id.
+ # 2. new relation id,
+ # 3. version.
def putrelation(renumberednodes, renumberedways, usertoken, changeset_id, version, relid, tags, members, visible) #:doc:
user = getuser(usertoken)
new_relation.changeset_id = changeset_id
new_relation.version = version
- # NOTE: id or relid here? id doesn't seem to be set above
if relid <= 0
# We're creating the node
new_relation.create_with_history(user)
end
end # transaction
- if id <= 0
+ if relid <= 0
return [0, relid, new_relation.id, new_relation.version]
else
- return [0, relid, relation.id, relation.version]
+ return [0, relid, relid, relation.version]
end
rescue OSM::APIChangesetAlreadyClosedError => ex
return [-1, "The changeset #{ex.changeset.id} was closed at #{ex.changeset.closed_at}."]
return [-1, "The relation has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
- return [-2, "An unusual error happened (in 'putrelation')."]
+ return [-2, "An unusual error happened (in 'putrelation' #{relid})."]
end
# Save a way to the database, including all nodes. Any nodes in the previous
return [-1, "The point has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
- return [-2, "An unusual error happened (in 'putway')."]
+ return [-2, "An unusual error happened (in 'putway' #{originalway})."]
end
# Save POI to the database.
return [-1, "The point has already been deleted"]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
- return [-2, "An unusual error happened (in 'putpoi')."]
+ return [-2, "An unusual error happened (in 'putpoi' #{id})."]
end
# Read POI from database
return [-1, "The way has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
- return [-2, "An unusual error happened (in 'deleteway')."]
+ return [-2, "An unusual error happened (in 'deleteway' #{way_id})."]
end
AND crm.member_id IN (#{way_ids.join(',')})
EOF
end
- return ActiveRecord::Base.connection.select_all(sql).collect { |a| [a['relid'].to_i,a['version'].to_i] }
+ ActiveRecord::Base.connection.select_all(sql).collect { |a| [a['relid'].to_i,a['version'].to_i] }
end
def sql_get_nodes_in_way(wayid)