Eli Mesika has uploaded a new change for review. Change subject: db:add tab/col name validation to common functions ......................................................................
db:add tab/col name validation to common functions No error thrown in common_sp functions in case column or table does not exists. This patch adds validations to drop/change type/rename column common functions in order to prevent the setup continue in case that there was an error in the table/column name. This patch also fix some upgrade scripts that used invalid/non-existing column names. Change-Id: Iba5f087f3d47b4f36bb99151a21c2e1016d77b64 Bug-Url : https://bugzilla.redhat.com/show_bug.cgi?id=1141829 Signed-off-by: Eli Mesika <emes...@redhat.com> --- M packaging/dbscripts/common_sp.sql M packaging/dbscripts/upgrade/03_03_0060_drop_desktop_device.sql M packaging/dbscripts/upgrade/03_03_0380_remove_auto_suspend.sql M packaging/dbscripts/upgrade/03_03_0710_add_profile_to_network_interface.sql 4 files changed, 14 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/59/32959/1 diff --git a/packaging/dbscripts/common_sp.sql b/packaging/dbscripts/common_sp.sql index 1b380f4..edeb2b0 100644 --- a/packaging/dbscripts/common_sp.sql +++ b/packaging/dbscripts/common_sp.sql @@ -31,6 +31,8 @@ v_sql := 'ALTER TABLE ' || v_table || ' DROP COLUMN ' || v_column; EXECUTE v_sql; end; + else + RAISE EXCEPTION 'Column % does not exist in %', v_column, v_table; end if; end;$procedure$ LANGUAGE plpgsql; @@ -49,6 +51,8 @@ v_sql := 'ALTER TABLE ' || v_table || ' ALTER COLUMN ' || v_column || ' TYPE ' || v_new_type; EXECUTE v_sql; end; + else + RAISE EXCEPTION 'Column % does not exist in %', v_column, v_table; end if; END; $procedure$ LANGUAGE plpgsql; @@ -66,6 +70,8 @@ v_sql := 'ALTER TABLE ' || v_table || ' RENAME COLUMN ' || v_column || ' TO ' || v_new_name; EXECUTE v_sql; end; + else + RAISE EXCEPTION 'Column % does not exist in %', v_column, v_table; end if; END; $procedure$ LANGUAGE plpgsql; diff --git a/packaging/dbscripts/upgrade/03_03_0060_drop_desktop_device.sql b/packaging/dbscripts/upgrade/03_03_0060_drop_desktop_device.sql index 1043e8a..541c5d4 100644 --- a/packaging/dbscripts/upgrade/03_03_0060_drop_desktop_device.sql +++ b/packaging/dbscripts/upgrade/03_03_0060_drop_desktop_device.sql @@ -1 +1,3 @@ -select fn_db_drop_column('users','fn_db_drop_column'); +select 3030060 +-- The following drop column was commented, there was no column with such name in users table. +--select fn_db_drop_column('users','fn_db_drop_column'); diff --git a/packaging/dbscripts/upgrade/03_03_0380_remove_auto_suspend.sql b/packaging/dbscripts/upgrade/03_03_0380_remove_auto_suspend.sql index f9b1990..57cb9e6 100644 --- a/packaging/dbscripts/upgrade/03_03_0380_remove_auto_suspend.sql +++ b/packaging/dbscripts/upgrade/03_03_0380_remove_auto_suspend.sql @@ -1 +1,3 @@ -select fn_db_drop_column('vm_templates', 'is_auto_suspend'); +select 3030380 +-- The following drop column was commented since vm_templates was merged with vm_static +--select fn_db_drop_column('vm_templates', 'is_auto_suspend'); diff --git a/packaging/dbscripts/upgrade/03_03_0710_add_profile_to_network_interface.sql b/packaging/dbscripts/upgrade/03_03_0710_add_profile_to_network_interface.sql index 4f96975..6179e07 100644 --- a/packaging/dbscripts/upgrade/03_03_0710_add_profile_to_network_interface.sql +++ b/packaging/dbscripts/upgrade/03_03_0710_add_profile_to_network_interface.sql @@ -91,8 +91,9 @@ AND vm_interface.port_mirroring = vnic_profiles.port_mirroring AND vm_interface.network_name = network.name; +-- The following drop column was commented since it is done also in 03_03_0720 -- drop the port_mirroring column from vm_interface -SELECT fn_db_drop_column ('port_mirroring', 'vm_interface'); +--SELECT fn_db_drop_column ('port_mirroring', 'vm_interface'); -- add permissions to vnic profile (according to existing permissions on networks. Create or replace FUNCTION __temp_set_vnic_profiles_permissions() -- To view, visit http://gerrit.ovirt.org/32959 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iba5f087f3d47b4f36bb99151a21c2e1016d77b64 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Eli Mesika <emes...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches