Barry Warsaw pushed to branch master at mailman / Mailman
Commits:
6f0b236e by Aurélien Bompard at 2016-01-14T15:36:26+01:00
Add indexes on the MailingList table
Ensure that list_id is unique, and add indexes on two commonly
filtered-on fields: list_name and mail_host.
- - - - -
2 changed files:
- + src/mailman/database/alembic/versions/781a38e146bf_mailinglist_indexes.py
- src/mailman/model/mailinglist.py
Changes:
=====================================
src/mailman/database/alembic/versions/781a38e146bf_mailinglist_indexes.py
=====================================
--- /dev/null
+++ b/src/mailman/database/alembic/versions/781a38e146bf_mailinglist_indexes.py
@@ -0,0 +1,31 @@
+"""MailingList indexes
+
+Revision ID: 781a38e146bf
+Revises: 70af5a4e5790
+Create Date: 2016-01-14 15:34:29.734429
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '781a38e146bf'
+down_revision = '70af5a4e5790'
+
+from alembic import op
+
+
+def upgrade():
+ op.create_index(
+ op.f('ix_mailinglist_list_id'), 'mailinglist', ['list_id'],
+ unique=True)
+ op.create_index(
+ op.f('ix_mailinglist_list_name'), 'mailinglist', ['list_name'],
+ unique=False)
+ op.create_index(
+ op.f('ix_mailinglist_mail_host'), 'mailinglist', ['mail_host'],
+ unique=False)
+
+
+def downgrade():
+ op.drop_index(op.f('ix_mailinglist_mail_host'), table_name='mailinglist')
+ op.drop_index(op.f('ix_mailinglist_list_name'), table_name='mailinglist')
+ op.drop_index(op.f('ix_mailinglist_list_id'), table_name='mailinglist')
=====================================
src/mailman/model/mailinglist.py
=====================================
--- a/src/mailman/model/mailinglist.py
+++ b/src/mailman/model/mailinglist.py
@@ -82,9 +82,9 @@ class MailingList(Model):
# are currently missing.
# List identity
- list_name = Column(Unicode)
- mail_host = Column(Unicode)
- _list_id = Column('list_id', Unicode)
+ list_name = Column(Unicode, index=True)
+ mail_host = Column(Unicode, index=True)
+ _list_id = Column('list_id', Unicode, index=True, unique=True)
allow_list_posts = Column(Boolean)
include_rfc2369_headers = Column(Boolean)
advertised = Column(Boolean)
View it on GitLab:
https://gitlab.com/mailman/mailman/commit/6f0b236ea33ffe2899e813dc9bcbc58da0cbefee
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org