]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way.rb
Import leaflet.contextmenu source files
[rails.git] / app / models / way.rb
index f0b35a88a2384914d31b97f65992b71efd9afed0..6d49735f1406bee653d02783eae58ab076b7e5fc 100644 (file)
@@ -83,16 +83,6 @@ class Way < ActiveRecord::Base
     way
   end
 
-  # Find a way given it's ID, and in a single SQL call also grab its nodes
-  #
-
-  # You can't pull in all the tags too unless we put a sequence_id on the way_tags table and have a multipart key
-  def self.find_eager(id)
-    Way.find(id, :include => { :way_nodes => :node })
-    # If waytag had a multipart key that was real, you could do this:
-    # Way.find(id, :include => [:way_tags, {:way_nodes => :node}])
-  end
-
   # Find a way given it's ID, and in a single SQL call also grab its nodes and tags
   def to_xml
     doc = OSM::API.new.get_xml_doc
@@ -209,7 +199,9 @@ class Way < ActiveRecord::Base
     new_nds = (nds - old_nodes).sort.uniq
 
     unless new_nds.empty?
-      db_nds = Node.where(:id => new_nds, :visible => true)
+      # NOTE: nodes are locked here to ensure they can't be deleted before
+      # the current transaction commits.
+      db_nds = Node.where(:id => new_nds, :visible => true).lock("for share")
 
       if db_nds.length < new_nds.length
         missing = new_nds - db_nds.collect(&:id)
@@ -242,11 +234,6 @@ class Way < ActiveRecord::Base
     end
   end
 
-  # Temporary method to match interface to nodes
-  def tags_as_hash
-    tags
-  end
-
   ##
   # if any referenced nodes are placeholder IDs (i.e: are negative) then
   # this calling this method will fix them using the map from placeholders