Eli Mesika has uploaded a new change for review. Change subject: Adding support for user types cleanup ......................................................................
Adding support for user types cleanup The following patch adds support for user-types cleanup in the database. Call had been added as well to the cleandb function. Change-Id: I48e3b85da55e256c87673105551ce36cd15b54b6 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1034201 Signed-off-by: Eli Mesika <emes...@redhat.com> --- M packaging/dbscripts/common_sp.sql M packaging/dbscripts/dbfunctions.sh M packaging/setup/ovirt_engine_setup/database.py 3 files changed, 28 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/22022/1 diff --git a/packaging/dbscripts/common_sp.sql b/packaging/dbscripts/common_sp.sql index 63df62d..12f44e9 100644 --- a/packaging/dbscripts/common_sp.sql +++ b/packaging/dbscripts/common_sp.sql @@ -282,6 +282,18 @@ END; $procedure$ LANGUAGE plpgsql; +Create or replace FUNCTION generate_drop_all_user_types_syntax() RETURNS SETOF text STABLE + AS $procedure$ +BEGIN +RETURN QUERY SELECT 'DROP TYPE if exists ' || c.relname::information_schema.sql_identifier || ' CASCADE;' + FROM pg_namespace n, pg_class c, pg_type t + WHERE n.oid = c.relnamespace AND t.typrelid = c.oid AND c.relkind = 'c'::"char" and + n.nspname = 'public' + ORDER BY c.relname::information_schema.sql_identifier; +END; $procedure$ +LANGUAGE plpgsql; + + Create or replace FUNCTION fn_get_column_size( v_table varchar(64), v_column varchar(64)) returns integer STABLE AS $procedure$ declare diff --git a/packaging/dbscripts/dbfunctions.sh b/packaging/dbscripts/dbfunctions.sh index 2a470e5..b4c1da9 100755 --- a/packaging/dbscripts/dbfunctions.sh +++ b/packaging/dbscripts/dbfunctions.sh @@ -81,6 +81,8 @@ execute_command "$CMD" ${DATABASE} ${SERVERNAME} ${PORT} >> $file CMD="select * from generate_drop_all_functions_syntax();" execute_command "$CMD" ${DATABASE} ${SERVERNAME} ${PORT} >> $file + CMD="select * from generate_drop_all_user_types_syntax();" + execute_command "$CMD" ${DATABASE} ${SERVERNAME} ${PORT} >> $file execute_file "${file}" ${DATABASE} ${SERVERNAME} ${PORT} > /dev/null } diff --git a/packaging/setup/ovirt_engine_setup/database.py b/packaging/setup/ovirt_engine_setup/database.py index 76999b3..ff87eeb 100644 --- a/packaging/setup/ovirt_engine_setup/database.py +++ b/packaging/setup/ovirt_engine_setup/database.py @@ -341,7 +341,7 @@ statement=""" create or replace function - generate_drop_all_functions_syntax() + oesetup_generate_drop_all_syntax() returns setof text AS $procedure$ begin return query @@ -358,9 +358,17 @@ pg_proc.pronamespace=ns.oid ) where - ns.nspname = 'public' and - proname not ilike 'uuid%%' - order by proname; + ns.nspname = 'public' + union + select + 'drop type if exists ' || + c.relname::information_schema.sql_identifier || ' ' || + 'cascade;' + from + pg_namespace n, pg_class c, pg_type t + where + n.oid = c.relnamespace and t.typrelid = c.oid and + c.relkind = 'c'::"char" and n.nspname = 'public'; end; $procedure$ language plpgsql; """, @@ -371,8 +379,8 @@ spdrops = statement.execute( statement=""" - select generate_drop_all_functions_syntax as drop - from generate_drop_all_functions_syntax() + select oesetup_generate_drop_all_syntax as drop + from oesetup_generate_drop_all_syntax() """, ownConnection=True, transaction=False, -- To view, visit http://gerrit.ovirt.org/22022 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I48e3b85da55e256c87673105551ce36cd15b54b6 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.3 Gerrit-Owner: Eli Mesika <emes...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches