Permalink
Browse files

Merge pull request #802 from jberkus/master

Add B2G to database.
  • Loading branch information...
2 parents 604ff83 + 2105c2f commit 890c06499ac64b007bbfde6fdacd0f188d4d8108 @rhelmer rhelmer committed Aug 23, 2012
Showing with 122 additions and 0 deletions.
  1. +16 −0 sql/upgrade/17.7/README.rst
  2. +3 −0 sql/upgrade/17.7/add_b2g.sql
  3. +73 −0 sql/upgrade/17.7/add_product.sql
  4. +30 −0 sql/upgrade/17.7/upgrade.sh
View
16 sql/upgrade/17.7/README.rst
@@ -0,0 +1,16 @@
+.. This Source Code Form is subject to the terms of the Mozilla Public
+.. License, v. 2.0. If a copy of the MPL was not distributed with this
+.. file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+17.7 Database Updates
+=====================
+
+This batch makes the following database changes:
+
+bug #774290
+ Add B2G to database.
+
+...
+
+The above changes should take only a few minutes to deploy.
+This upgrade does not require a downtime.
View
3 sql/upgrade/17.7/add_b2g.sql
@@ -0,0 +1,3 @@
+\set ON_ERROR_STOP 1
+
+SELECT add_new_product('B2G','17.0','{3c2e2abc-06d4-11e1-ac3b-374f68613e61}','b2g');
View
73 sql/upgrade/17.7/add_product.sql
@@ -0,0 +1,73 @@
+-- This Source Code Form is subject to the terms of the Mozilla Public
+-- License, v. 2.0. If a copy of the MPL was not distributed with this
+-- file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+\set ON_ERROR_STOP 1
+
+create or replace function add_new_product(
+ prodname text,
+ initversion major_version,
+ prodid text default null,
+ ftpname text default null,
+ release_throttle numeric default 1.0 )
+returns boolean
+language plpgsql
+as $f$
+declare current_sort int;
+ rel_name text;
+begin
+
+IF prodname IS NULL OR initversion IS NULL THEN
+ RAISE EXCEPTION 'a product name and initial version are required';
+END IF;
+
+-- check if product already exists
+PERFORM 1 FROM products
+WHERE product_name = prodname;
+
+IF FOUND THEN
+ RAISE INFO 'product % is already in the database';
+ RETURN FALSE;
+END IF;
+
+-- add the product
+SELECT max(sort) INTO current_sort
+FROM products;
+
+INSERT INTO products ( product_name, sort, rapid_release_version,
+ release_name )
+VALUES ( prodname, current_sort + 1, initversion,
+ COALESCE(ftpname, prodname));
+
+-- add the release channels
+
+INSERT INTO product_release_channels ( product_name, release_channel )
+SELECT prodname, release_channel
+FROM release_channels;
+
+-- if throttling, change throttle for release versions
+
+IF release_throttle < 1.0 THEN
+
+ UPDATE product_release_channels
+ SET throttle = release_throttle
+ WHERE product_name = prodname
+ AND release_channel = 'release';
+
+END IF;
+
+-- add the productid map
+
+IF prodid IS NOT NULL THEN
+ INSERT INTO product_productid_map ( product_name,
+ productid, version_began )
+ VALUES ( prodname, prodid, initversion );
+END IF;
+
+RETURN TRUE;
+
+END;$f$;
+
+
+
+
View
30 sql/upgrade/17.7/upgrade.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#please see README
+
+set -e
+
+CURDIR=$(dirname $0)
+DBNAME=$1
+: ${DBNAME:="breakpad"}
+VERSION=17.7
+
+#echo '*********************************************************'
+#echo 'support functions'
+#psql -f ${CURDIR}/support_functions.sql $DBNAME
+
+echo '*********************************************************'
+echo 'add add_new_product function and B2G to database'
+echo 'bug 774290'
+psql -f ${CURDIR}/add_product.sql $DBNAME
+psql -f ${CURDIR}/add_b2g.sql $DBNAME
+
+#change version in DB
+psql -c "SELECT update_socorro_db_version( '$VERSION' )" $DBNAME
+
+echo "$VERSION upgrade done"
+
+exit 0

0 comments on commit 890c064

Please sign in to comment.