aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mongo/indexes.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/db/mongo/indexes.py')
-rw-r--r--mediagoblin/db/mongo/indexes.py146
1 files changed, 0 insertions, 146 deletions
diff --git a/mediagoblin/db/mongo/indexes.py b/mediagoblin/db/mongo/indexes.py
deleted file mode 100644
index a63c24ae..00000000
--- a/mediagoblin/db/mongo/indexes.py
+++ /dev/null
@@ -1,146 +0,0 @@
-# GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-"""
-Indexes for the local database.
-
-To add new indexes
-------------------
-
-Indexes are recorded in the following format:
-
-ACTIVE_INDEXES = {
- 'collection_name': {
- 'identifier': { # key identifier used for possibly deprecating later
- 'index': [index_foo_goes_here]}}
-
-... and anything else being parameters to the create_index function
-(including unique=True, etc)
-
-Current indexes must be registered in ACTIVE_INDEXES... deprecated
-indexes should be marked in DEPRECATED_INDEXES.
-
-Remember, ordering of compound indexes MATTERS. Read below for more.
-
-REQUIRED READING:
- - http://kylebanker.com/blog/2010/09/21/the-joy-of-mongodb-indexes/
-
- - http://www.mongodb.org/display/DOCS/Indexes
- - http://www.mongodb.org/display/DOCS/Indexing+Advice+and+FAQ
-
-
-To remove deprecated indexes
-----------------------------
-
-Removing deprecated indexes is the same, just move the index into the
-deprecated indexes mapping.
-
-DEPRECATED_INDEXES = {
- 'collection_name': {
- 'deprecated_index_identifier1': {
- 'index': [index_foo_goes_here]}}
-
-... etc.
-
-If an index has been deprecated that identifier should NEVER BE USED
-AGAIN. Eg, if you previously had 'awesomepants_unique', you shouldn't
-use 'awesomepants_unique' again, you should create a totally new name
-or at worst use 'awesomepants_unique2'.
-"""
-
-from pymongo import ASCENDING, DESCENDING
-
-
-################
-# Active indexes
-################
-ACTIVE_INDEXES = {}
-
-# MediaEntry indexes
-# ------------------
-
-MEDIAENTRY_INDEXES = {
- 'uploader_slug_unique': {
- # Matching an object to an uploader + slug.
- # MediaEntries are unique on these two combined, eg:
- # /u/${myuser}/m/${myslugname}/
- 'index': [('uploader', ASCENDING),
- ('slug', ASCENDING)],
- 'unique': True},
-
- 'created': {
- # A global index for all media entries created, in descending
- # order. This is used for the site's frontpage.
- 'index': [('created', DESCENDING)]},
-
- 'uploader_created': {
- # Indexing on uploaders and when media entries are created.
- # Used for showing a user gallery, etc.
- 'index': [('uploader', ASCENDING),
- ('created', DESCENDING)]},
-
- 'state_uploader_tags_created': {
- # Indexing on processed?, media uploader, associated tags, and
- # timestamp Used for showing media items matching a tag
- # search, most recent first.
- 'index': [('state', ASCENDING),
- ('uploader', ASCENDING),
- ('tags.slug', DESCENDING),
- ('created', DESCENDING)]},
-
- 'state_tags_created': {
- # Indexing on processed?, media tags, and timestamp (across all users)
- # This is used for a front page tag search.
- 'index': [('state', ASCENDING),
- ('tags.slug', DESCENDING),
- ('created', DESCENDING)]}}
-
-
-ACTIVE_INDEXES['media_entries'] = MEDIAENTRY_INDEXES
-
-
-# User indexes
-# ------------
-
-USER_INDEXES = {
- 'username_unique': {
- # Index usernames, and make sure they're unique.
- # ... I guess we might need to adjust this once we're federated :)
- 'index': 'username',
- 'unique': True},
- 'created': {
- # All most recently created users
- 'index': 'created'}}
-
-
-ACTIVE_INDEXES['users'] = USER_INDEXES
-
-
-# MediaComment indexes
-
-MEDIA_COMMENT_INDEXES = {
- 'mediaentry_created': {
- 'index': [('media_entry', ASCENDING),
- ('created', DESCENDING)]}}
-
-ACTIVE_INDEXES['media_comments'] = MEDIA_COMMENT_INDEXES
-
-
-####################
-# Deprecated indexes
-####################
-
-DEPRECATED_INDEXES = {}