Quote the database and user strings when altering databases.
authorAndy Allan <andy@gravitystorm.co.uk>
Tue, 21 Jan 2014 12:26:26 +0000 (12:26 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 21 Jan 2014 12:29:20 +0000 (12:29 +0000)
cookbooks/postgresql/providers/database.rb

index 9cf9dd4421dce04ada41d0103ee072e322162ad1..a63197afe63325dd2bd8b027fa3d605134beaa65 100644 (file)
@@ -34,11 +34,11 @@ end
 
 action :create do
   unless @pg.databases.include?(new_resource.database)
-    @pg.execute(:command => "CREATE DATABASE #{new_resource.database} OWNER #{new_resource.owner} TEMPLATE template0 ENCODING '#{new_resource.encoding}' LC_COLLATE '#{new_resource.collation}' LC_CTYPE '#{new_resource.ctype}'")
+    @pg.execute(:command => "CREATE DATABASE \"#{new_resource.database}\" OWNER \"#{new_resource.owner}\" TEMPLATE template0 ENCODING '#{new_resource.encoding}' LC_COLLATE '#{new_resource.collation}' LC_CTYPE '#{new_resource.ctype}'")
     new_resource.updated_by_last_action(true)
   else
     if new_resource.owner != @current_resource.owner
-      @pg.execute(:command => "ALTER DATABASE #{new_resource.database} OWNER TO #{new_resource.owner}")
+      @pg.execute(:command => "ALTER DATABASE \"#{new_resource.database}\" OWNER TO \"#{new_resource.owner}\"")
       new_resource.updated_by_last_action(true)
     end
   end
@@ -46,7 +46,7 @@ end
 
 action :drop do
   if @pg.databases.include?(new_resource.database)
-    @pg.execute(:command => "DROP DATABASE #{new_resource.database}")
+    @pg.execute(:command => "DROP DATABASE \"#{new_resource.database}\"")
     new_resource.updated_by_last_action(true)
   end
 end