]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - lib/mv/plugins/davical.rb
mailshears.gemspec: bump version to 0.1.0
[mailshears.git] / lib / mv / plugins / davical.rb
index 58287b3b69937eaa32b2823d3ffd62f13de83566..1b8a8582e0de67881667dfaeefa358d937fbcbcb 100644 (file)
@@ -1,7 +1,7 @@
 require 'pg'
 
 require 'common/davical_plugin'
-require 'rm/rm_plugin'
+require 'mv/mv_plugin'
 
 # Handle moving (renaming) DAViCal users in its database. DAViCal has
 # no concept of domains.
@@ -29,16 +29,15 @@ class DavicalMv
     raise NonexistentUserError.new(src.to_s()) if not user_exists(src)
     raise UserAlreadyExistsError.new(dst.to_s()) if user_exists(dst)
 
-    sql_queries = ['UPDATE usr SET username = $1 WHERE username = $2']
+    sql_query = 'UPDATE usr SET username = $1 WHERE username = $2;'
 
-    connection = PGconn.connect(@db_host, @db_port, @db_opts, @db_tty,
-                                @db_name, @db_user, @db_pass)
-
-    sql_queries.each do |sql_query|
-      connection.query(sql_query, [dst.to_s(), src.to_s()])
+    connection = PG::Connection.new(@db_hash)
+    begin
+      connection.sync_exec_params(sql_query, [dst.to_s(), src.to_s()])
+    ensure
+      # Make sure the connection gets closed even if the query explodes.
+      connection.close()
     end
-
-    connection.close()
   end
 
 end