mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	This index is basically free, since it only consumes space for messages that mention the user, but results in a massive performance improvement when querying messages that mention a user.
		
			
				
	
	
		
			25 lines
		
	
	
		
			721 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			721 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
from __future__ import unicode_literals
 | 
						|
 | 
						|
from django.db import migrations
 | 
						|
from zerver.lib.migrate import create_index_if_not_exist  # nolint
 | 
						|
 | 
						|
 | 
						|
class Migration(migrations.Migration):
 | 
						|
 | 
						|
    dependencies = [
 | 
						|
        ('zerver', '0082_index_starred_user_messages'),
 | 
						|
    ]
 | 
						|
 | 
						|
    operations = [
 | 
						|
        migrations.RunSQL(
 | 
						|
            create_index_if_not_exist(
 | 
						|
                index_name='zerver_usermessage_mentioned_message_id',
 | 
						|
                table_name='zerver_usermessage',
 | 
						|
                column_string='user_profile_id, message_id',
 | 
						|
                where_clause='WHERE (flags & 8) != 0',
 | 
						|
            ),
 | 
						|
            reverse_sql='DROP INDEX zerver_usermessage_mentioned_message_id;'
 | 
						|
        ),
 | 
						|
    ]
 |