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 Mailman-checkins@python.org Unsubscribe: https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org