[Title] Fixed not to use "INSERT OR REPLACE"
authordonghee yang <donghee.yang@samsung.com>
Tue, 30 Oct 2012 08:37:01 +0000 (17:37 +0900)
committerdonghee yang <donghee.yang@samsung.com>
Tue, 30 Oct 2012 08:37:01 +0000 (17:37 +0900)
src/build_server/BuildServer.rb
src/build_server/DistributionManager.rb
test/build-server.basic1/buildsvr.init

index 4c98eaa53726b8fc89af2b33f2738c8255c40ef5..30133b23fe8ef9a762238e89cc85b6d959535ef6 100644 (file)
@@ -322,7 +322,7 @@ class BuildServer
                get_db_connection() do |db|
                        row = db.select_one("SELECT * FROM supported_os WHERE name='#{os_name}'")
                        if not row.nil? then return false end
-                       db.do "INSERT OR REPLACE INTO supported_os VALUES ('#{os_name}')"
+                       db.do "INSERT INTO supported_os VALUES ('#{os_name}')"
                end
 
                return true
index 7b4dec2836092a8033fb56d4a7955548db34d7bd..8801f4fdcd710080d92b896802bb18aea78a79cf 100644 (file)
@@ -93,7 +93,12 @@ class PackageDistribution
 
        def save(db)
                dist_addr = @pkgsvr_ip + ":" + @pkgsvr_port.to_s
-               db.do "INSERT OR REPLACE INTO distributions VALUES ('#{@name}','#{@pkgsvr_url}','#{dist_addr}','#{@status}')"
+               row = db.select_one("SELECT * FROM distributions WHERE name='#{@name}'")
+               if row.nil? then
+                       db.do "INSERT INTO distributions VALUES ('#{@name}','#{@pkgsvr_url}','#{dist_addr}','#{@status}')"
+               else
+                       db.do "UPDATE distributions SET pkgsvr_url='#{@pkgsvr_url}', pkgsvr_addr='#{dist_addr}', status='#{@status}' WHERE name='#{@name}'"
+               end
        end
 end
 
index 9432b2bd251c5c8be00dda49fdd184fb43294751..41877633526871dd502b1101a1a056c3f3f0b26b 100755 (executable)
@@ -10,7 +10,8 @@ rm -rf ~/.build_tools/build_server/testserver3
 ../../build-svr remove -n testserver3
 mkdir buildsvr01
 cd buildsvr01
-${RUBY} ../../../build-svr create -n testserver3 
+${RUBY} ../../../build-svr create -n testserver3
+${RUBY} ../../../build-svr migrate -n testserver3 --dsn Mysql:testserver3:localhost --dbuser root --dbpassword ehdgml
 cd ..
 ${RUBY} ../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/pkgsvr01/unstable -d 127.0.0.1:3333
 ${RUBY} ../../build-svr add-svr -n testserver3 -d 127.0.0.1:2224