Eli Mesika has uploaded a new change for review.

Change subject: core: Upgrade should set SEQUENCE number to the correct value
......................................................................

core: Upgrade should set SEQUENCE number to the correct value

Table sequences may get out of sync after database is restored.
We had that in  a customer database, the sequence value for generating
option_id for vdc_options was 238 while the max(option_id) was 399. That
resulted of course with PK violation.

for more details , see:
http://www.postgresql.org/docs/8.4/static/sql-createsequence.html

Change-Id: Icd774770cbdbf197736a547de901826bdbec7abc
Signed-off-by: Eli Mesika <emes...@redhat.com>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=896552
---
M backend/manager/dbscripts/dbfunctions.sh
A backend/manager/dbscripts/update_sequence_numbers.sql
2 files changed, 8 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/53/11153/1

diff --git a/backend/manager/dbscripts/dbfunctions.sh 
b/backend/manager/dbscripts/dbfunctions.sh
index 98a38c1..97dfe2c 100755
--- a/backend/manager/dbscripts/dbfunctions.sh
+++ b/backend/manager/dbscripts/dbfunctions.sh
@@ -132,6 +132,8 @@
     drop_views
     drop_sps
     install_common_func
+    #update sequence numers
+    execute_file "update_sequence_numbers.sql" ${DATABASE} ${SERVERNAME} 
${PORT}> /dev/null
     #run pre upgrade scripts
     execute_commands_in_dir 'pre_upgrade' 'pre-upgrade'
     install_materialized_views_func
diff --git a/backend/manager/dbscripts/update_sequence_numbers.sql 
b/backend/manager/dbscripts/update_sequence_numbers.sql
new file mode 100644
index 0000000..83cbcbe
--- /dev/null
+++ b/backend/manager/dbscripts/update_sequence_numbers.sql
@@ -0,0 +1,6 @@
+-- Insure all SEQUENCES has the right number
+SELECT setval('vdc_options_seq', max(option_id)) FROM vdc_options;
+SELECT setval('custom_actions_seq', max(action_id)) FROM custom_actions;
+SELECT setval('vdc_db_log_seq', max(error_id)) FROM vdc_db_log;
+SELECT setval('audit_log_seq', max(audit_log_id)) FROM audit_log;
+SELECT setval('schema_version_seq', max(id)) FROM schema_version;


--
To view, visit http://gerrit.ovirt.org/11153
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icd774770cbdbf197736a547de901826bdbec7abc
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

Reply via email to