summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordekehn <dekehn@gmail.com>2012-11-14 11:21:21 -0700
committerdekehn <dekehn@gmail.com>2012-11-16 12:40:37 -0700
commit1f6595acc01c6dfda899886388b4309f3d8c855b (patch)
tree077db427a0c8dc9a4c36a807ee0f31b107c261c4
parent40d7bcb8a3b797cfa691d83d8694a3c9c81ad8dc (diff)
add index to fixed_ips
add index to fixed_ips(deleted, allocated) columns blueprint db-cleanup Change-Id: I6013bb5d5207fc904d5a8a10716c4e8588ea9e91
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/139_add_indexes_to_fixed_ips.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/139_add_indexes_to_fixed_ips.py b/nova/db/sqlalchemy/migrate_repo/versions/139_add_indexes_to_fixed_ips.py
new file mode 100644
index 000000000..8a471c057
--- /dev/null
+++ b/nova/db/sqlalchemy/migrate_repo/versions/139_add_indexes_to_fixed_ips.py
@@ -0,0 +1,46 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 OpenStack LLC.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from sqlalchemy import Index, MetaData, Table
+from sqlalchemy.exc import IntegrityError
+
+
+def upgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ t = Table('fixed_ips', meta, autoload=True)
+
+ # Based on fixed_ip_delete_associate
+ # from: nova/db/sqlalchemy/api.py
+ i = Index('fixed_ips_deleted_allocated_idx',
+ t.c.address, t.c.deleted, t.c.allocated)
+ try:
+ i.create(migrate_engine)
+ except IntegrityError:
+ pass
+
+
+def downgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ t = Table('fixed_ips', meta, autoload=True)
+
+ i = Index('fixed_ips_deleted_allocated_idx',
+ t.c.address, t.c.deleted, t.c.allocated)
+ i.drop(migrate_engine)