manugoyal/movieserver — pull request #21 by manugoyal (2013-08-19 18:16:45+00:00)
Title: Sped up querying the movies table and added notifications on frontend

* Backend
** Removed ips table, since we aren't going to use that
** Redid movies table to only include path/name as primary key and downloads.
This way we can search by path and name, which should be a
clustered index. Even though setting present to TRUE and FALSE
preserves the download count for deleted files, that's not
necessary behavior, and also including deleted files in the
database slows down searching
** Redid movie indexing in the heartbeat
Deleting and then re-inserting every file entry we find is very
slow. Instead, we now maintain a copy of the currently used files
in a map in memory, and every time the indexer runs, it
adds/deletes only the necessary entries from the database and
updates the in-memory map.
** Eliminated the fileCount map
Since we don't need to search with present=TRUE anymore, the
COUNT(*) query runs very quickly even on large (+200000
entries) directories, so it's unneccessary.
* Frontend
** Added an alert and poller for when the connection to the server drops
** Added an alert and poller for when the server is still indexing a directory
** Minor refactors