summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Expand)AuthorAgeFilesLines
* When updating a stored event from outlier to non-outlier, remember to update ...Erik Johnston2015-09-152-0/+5
* Lower size of 'stateGroupCache' now that we have data from matrix.org to supp...Erik Johnston2015-09-011-1/+1
* Don't insert events into 'event_*_extremeties' tables if they're outliersErik Johnston2015-08-231-2/+8
* Actually check if event_id isn't returned by _get_state_groupsErik Johnston2015-08-211-2/+9
* When logging in fetch user by user_id case insensitively, *unless* there are ...Erik Johnston2015-08-211-2/+5
* Don't allow people to register user ids which only differ by case to an exist...Erik Johnston2015-08-211-0/+11
* Fix bug where we didn't correctly serialize the redacted_because key over fed...Erik Johnston2015-08-211-0/+2
* Merge pull request #211 from matrix-org/email_in_useMark Haines2015-08-201-0/+19
|\
| * Bump schema versionDavid Baker2015-08-041-1/+1
| * Add endpoint that proxies ID server request token and errors if the given ema...David Baker2015-08-041-0/+19
* | Merge pull request #228 from matrix-org/erikj/_get_state_for_groupsErik Johnston2015-08-181-2/+5
|\ \
| * | Remove newline because vertical whitespace makes mjark sadErik Johnston2015-08-181-2/+1
| * | Rejig the code to make it nicerErik Johnston2015-08-181-3/+2
| * | Ensure we never return a None event from _get_state_for_groupsErik Johnston2015-08-181-3/+8
* | | Merge pull request #227 from matrix-org/erikj/receipts_take2Erik Johnston2015-08-183-15/+91
|\ \ \
| * | | Rename unhelpful variable nameErik Johnston2015-08-181-7/+2
| * | | CommentsErik Johnston2015-08-181-4/+14
| * | | Add index receipts_linearized_room_streamErik Johnston2015-08-172-1/+19
| * | | Remove unused importErik Johnston2015-08-171-2/+0
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receipts_t...Erik Johnston2015-08-172-8/+9
| |\ \ \
| * | | | Batch _get_linearized_receipts_for_roomsErik Johnston2015-08-141-15/+64
| * | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receipts_t...Erik Johnston2015-08-131-44/+12
| |\ \ \ \
| * | | | | Add metrics to the receipts cacheErik Johnston2015-08-131-0/+6
* | | | | | Bump size of get_presence_state cacheErik Johnston2015-08-181-1/+1
| |_|_|/ / |/| | | |
* | | | | Reduce cache size from obscenely large to quite largeErik Johnston2015-08-181-1/+1
* | | | | Remember to invalidate cachesErik Johnston2015-08-171-2/+8
* | | | | Implement a batched presence_handler.get_state and use itErik Johnston2015-08-171-2/+4
* | | | | Add batched version of store.get_presence_stateErik Johnston2015-08-171-1/+19
| |_|/ / |/| | |
* | | | Fix bug where we were leaking None into state event listsErik Johnston2015-08-171-2/+3
* | | | Merge pull request #221 from matrix-org/authDaniel Wagner-Hall2015-08-141-6/+6
|\ \ \ \ | |_|/ / |/| | |
| * | | Simplify LoginHander and AuthHandlerDaniel Wagner-Hall2015-08-121-6/+6
| * | | Use TypeError instead of ValueError and give a nicer error mesasgeMark Haines2015-08-101-1/+3
| * | | Merge pull request #215 from matrix-org/erikj/cache_varargs_interfaceErik Johnston2015-08-1011-66/+67
| |\ \ \
* | | | | Remove some vertical spaceErik Johnston2015-08-131-36/+9
* | | | | Replace list comprehensionErik Johnston2015-08-131-8/+3
| |_|/ / |/| | |
* | | | CommentErik Johnston2015-08-121-1/+2
* | | | Explain why we're prefilling dict with NonesErik Johnston2015-08-121-0/+4
* | | | Better variable nameErik Johnston2015-08-121-5/+5
* | | | Split _get_state_for_group_from_cache into twoErik Johnston2015-08-121-32/+53
* | | | Move all the caches into their own package, synapse.util.cachesErik Johnston2015-08-1113-344/+29
* | | | CommentsErik Johnston2015-08-112-3/+13
* | | | CommentErik Johnston2015-08-111-0/+2
* | | | DocsErik Johnston2015-08-111-0/+9
* | | | Fix application of ACLsErik Johnston2015-08-111-3/+3
* | | | Fix state cacheErik Johnston2015-08-111-36/+49
* | | | Clean up StateStoreErik Johnston2015-08-101-62/+11
* | | | Remove unused functionErik Johnston2015-08-101-7/+0
* | | | CommentsErik Johnston2015-08-101-0/+6
* | | | Merge branch 'erikj/cache_varargs_interface' of github.com:matrix-org/synapse...Erik Johnston2015-08-101-5/+5
|\ \ \ \ | | |/ / | |/| |
| * | | Rename keyargs to args in CacheDescriptorErik Johnston2015-08-101-5/+5
* | | | Merge branch 'erikj/cache_varargs_interface' of github.com:matrix-org/synapse...Erik Johnston2015-08-101-9/+9
|\| | |
| * | | Rename keyargs to args in CacheErik Johnston2015-08-101-9/+9
* | | | Do bounds checkErik Johnston2015-08-101-1/+4
* | | | Line lengthErik Johnston2015-08-101-1/+2
* | | | Merge branch 'erikj/cache_varargs_interface' of github.com:matrix-org/synapse...Erik Johnston2015-08-071-1/+0
|\| | |
| * | | Merge branch 'erikj/cache_deferreds' of github.com:matrix-org/synapse into er...Erik Johnston2015-08-071-3/+3
| |\ \ \
| * \ \ \ Merge branch 'erikj/cache_deferreds' of github.com:matrix-org/synapse into er...Erik Johnston2015-08-071-3/+4
| |\ \ \ \
| * | | | | Remove unnecessary cacheErik Johnston2015-08-071-2/+1
| * | | | | Change Cache to not use *args in its interfaceErik Johnston2015-08-0710-61/+63
* | | | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dictionary...Erik Johnston2015-08-072-3/+9
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Merge pull request #212 from matrix-org/erikj/cache_deferredsErik Johnston2015-08-071-13/+33
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| | * | | | s/observed/observer/Erik Johnston2015-08-071-3/+3
| | | |/ / | | |/| |
| | * | | Propogate stale cache errors to calling functionsErik Johnston2015-08-071-3/+4
| | |/ /
| * | | Don't complain about extra .pyc files we find while hunting for database schemasPaul "LeoNerd" Evans2015-08-071-0/+5
* | | | Batch up various DB requests for event -> stateErik Johnston2015-08-071-77/+142
* | | | Implement a CacheListDescriptorErik Johnston2015-08-071-0/+106
* | | | Cache get_recent_events_for_roomErik Johnston2015-08-071-2/+2
* | | | Remove unncessary cacheErik Johnston2015-08-071-1/+0
* | | | Change Cache to not use *args in its interfaceErik Johnston2015-08-0710-81/+67
* | | | Store absence of state in cacheErik Johnston2015-08-071-6/+16
* | | | Merge branch 'erikj/cache_deferreds' into erikj/dictionary_cacheErik Johnston2015-08-061-3/+27
|\ \ \ \ | | |/ / | |/| |
| * | | DocsErik Johnston2015-08-061-0/+3
| * | | Remove failed deferreds from cacheErik Johnston2015-08-061-1/+7
| * | | Re-implement DEBUG_CACHES flagErik Johnston2015-08-061-2/+17
* | | | Merge branch 'erikj/cache_deferreds' into erikj/dictionary_cacheErik Johnston2015-08-061-13/+8
|\| | |
| * | | Merge branch 'erikj/cached_keyword_args' into erikj/cache_deferredsErik Johnston2015-08-062-5/+5
| |\| |
| | * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/cached_key...Erik Johnston2015-08-062-5/+5
| | |\ \
| * | | | Make @cached cache deferreds rather than the deferreds' valuesErik Johnston2015-08-061-13/+8
| |/ / /
* | | | Merge branch 'erikj/cached_keyword_args' of github.com:matrix-org/synapse int...Erik Johnston2015-08-056-23/+45
|\| | |
| * | | Add support for using keyword arguments with cached functionsErik Johnston2015-07-276-23/+45
| | |/ | |/|
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dictionary...Erik Johnston2015-08-052-5/+5
|\ \ \ | | |/ | |/|
| * | Up the cache size for 'get_joined_hosts_for_room' and 'get_users_in_room'Erik Johnston2015-08-051-2/+2
| * | Use LRU cache by defaultErik Johnston2015-08-051-3/+3
| |/
* | Use dictionary cache to do group -> state fetchingErik Johnston2015-08-053-80/+153
* | Move DictionaryCacheErik Johnston2015-08-041-94/+0
* | Add basic dictionary cacheErik Johnston2015-08-041-0/+94
* | Add commentErik Johnston2015-08-041-0/+15
* | Speed up event filtering (for ACL) logicErik Johnston2015-08-042-40/+87
|/
* Dodesn't seem to make any difference: guess it does work with the object refe...David Baker2015-07-211-1/+0
* I think this was what was intended...David Baker2015-07-211-0/+1
* s/take/claim/ for end to end key APIsMark Haines2015-07-201-3/+3
* Up default cache size for _RoomStreamChangeCacheMatrix2015-07-181-1/+1
* Merge pull request #199 from matrix-org/erikj/receiptsErik Johnston2015-07-165-3/+396
|\
| * DocsErik Johnston2015-07-141-3/+28
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receiptsErik Johnston2015-07-135-21/+253
| |\
| * | CommentsErik Johnston2015-07-131-0/+11
| * | Handle error slightly betterErik Johnston2015-07-091-2/+2
| * | Change format of receipts to allow inclusion of dataErik Johnston2015-07-092-29/+26
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/receiptsErik Johnston2015-07-081-2/+4
| |\ \
| * | | Add a cache to fetching of receipt streamsErik Johnston2015-07-081-3/+89
| * | | Hook up receipts to v1 initialSyncErik Johnston2015-07-081-9/+20
| * | | Wire together receipts and the notifer/federationErik Johnston2015-07-071-9/+60
| * | | Fix various typosErik Johnston2015-07-072-6/+10
| * | | Add stream_id indexErik Johnston2015-07-021-1/+5
| * | | Add basic storage functions for handling of receiptsErik Johnston2015-07-014-17/+186
| * | | Add tables for receiptsErik Johnston2015-06-302-1/+36
* | | | Merge pull request #193 from matrix-org/erikj/bulk_persist_eventErik Johnston2015-07-146-270/+382
|\ \ \ \ | |_|_|/ |/| | |
| * | | Remove commented out codeErik Johnston2015-07-101-14/+0
| * | | Add bulk insert events APIErik Johnston2015-06-256-268/+394
| |/ /
* | | Merge pull request #196 from matrix-org/erikj/room_historyErik Johnston2015-07-101-2/+61
|\ \ \
| * | | Add basic impl for room history ACL on GET /messages client APIErik Johnston2015-07-021-2/+61
| |/ /
* | | Merge pull request #194 from matrix-org/erikj/bulk_verify_sigsErik Johnston2015-07-101-19/+31
|\ \ \
| * | | Implement bulk verify_signed_json APIErik Johnston2015-06-261-19/+31
| |/ /
* | | Uniquely name unique constraintErik Johnston2015-07-101-2/+2
* | | Don't bother with a timeout for one time keys on the server.Mark Haines2015-07-092-15/+6
* | | Only remove one time keys when new one time keys are addedMark Haines2015-07-081-7/+7
* | | Add store for client end to end keysMark Haines2015-07-063-1/+171
| |/ |/|
* | Don't explode if we don't recognize one of the event_ids in the backfill requestErik Johnston2015-07-061-2/+4
|/
* Batch SELECTs in _get_auth_chain_ids_txnErik Johnston2015-06-231-3/+11
* Add a dummy.sql into delta/20 as pip isn't packinging the pushers.pyErik Johnston2015-06-131-0/+1
* Bump schema versionErik Johnston2015-06-111-1/+1
* pep8David Baker2015-06-041-1/+0
* Add script to (re)convert the pushers table to changing the unique key. Also ...David Baker2015-06-043-2/+79
* Add cache to get_state_groupsErik Johnston2015-06-031-8/+12
* Caches should be bound to instances.Erik Johnston2015-06-031-14/+31
* Don't explode if we don't have the eventErik Johnston2015-06-011-1/+3
* Add config option to turn off freezing events. Use new encode_json api and uj...Erik Johnston2015-05-291-10/+13
* Merge pull request #163 from matrix-org/markjh/presence_list_cacheMark Haines2015-05-221-8/+27
|\
| * Add a cache for getting the presence list for a userMark Haines2015-05-221-8/+27
* | Merge pull request #164 from matrix-org/markjh/pusher_performance_2Mark Haines2015-05-221-1/+17
|\ \
| * | Add a cache for get_push rules for user, fix cache invalidationMark Haines2015-05-221-1/+17
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/backfill_f...Erik Johnston2015-05-227-16/+67
|\ \ \ | | |/ | |/|
| * | Merge pull request #156 from matrix-org/erikj/join_perfMark Haines2015-05-221-2/+3
| |\ \
| * | | Invalidate the get_latest_event_ids_in_room cache when deleting from event_fo...Mark Haines2015-05-221-0/+1
| | |/ | |/|
| * | Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2015-05-226-16/+66
| |\ \
| | * | Don't try to use a txn when not in one, remove spurious debug loggingMark Haines2015-05-211-3/+1
| | * | Add caches for things requested by the pushersMark Haines2015-05-215-15/+33
| | * | Add a cache for get_current_state with state_keyMark Haines2015-05-213-1/+35
* | | | Actually return something from lambdaErik Johnston2015-05-211-1/+1
* | | | Sort backfill eventsErik Johnston2015-05-211-1/+5
* | | | Remove dead codeErik Johnston2015-05-211-5/+0
* | | | Only get non-stateErik Johnston2015-05-211-1/+2
* | | | Skip events we've already seenErik Johnston2015-05-211-0/+3
* | | | Correctly prepopulate queueErik Johnston2015-05-211-2/+10
* | | | Don't prepopulate event_resultsErik Johnston2015-05-211-1/+1
* | | | Don't readd things that are already in event_resultsErik Johnston2015-05-211-1/+2
* | | | PriorityQueue gives lowest firstErik Johnston2015-05-211-2/+2
* | | | Correctly capture Queue.Empty exceptionErik Johnston2015-05-211-2/+5
* | | | Merge branch 'erikj/join_perf' of github.com:matrix-org/synapse into erikj/ba...Erik Johnston2015-05-2110-181/+544
|\ \ \ \ | | |_|/ | |/| |
| * | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/join_perfErik Johnston2015-05-2110-181/+544
| |\| |
| | * | Merge pull request #155 from matrix-org/erikj/perfErik Johnston2015-05-2110-181/+544
| | |\ \
| | | * | s/for events/for requests for events/Erik Johnston2015-05-211-1/+1
| | | * | s/for events/for requests for events/Erik Johnston2015-05-211-1/+1
| | | * | Add commentsErik Johnston2015-05-211-3/+14
| | | * | Split up _get_events into defer and txn versionsErik Johnston2015-05-201-24/+35
| | | * | Make not return a deferred _get_event_from_row_txnErik Johnston2015-05-201-20/+5
| | | * | PEP8Erik Johnston2015-05-201-2/+2
| | | * | Split out _get_event_from_row back into defer and _txn versionErik Johnston2015-05-201-11/+57
| | | * | Comments and shuffle of functionsErik Johnston2015-05-181-38/+42
| | | * | Remove unused metricErik Johnston2015-05-181-1/+0
| | | * | Remove rejected events if we don't want rejected eventsErik Johnston2015-05-181-0/+3
| | | * | Newline, remove debug loggingErik Johnston2015-05-182-2/+1
| | | * | PEP8Erik Johnston2015-05-152-2/+1
| | | * | Revert limiting of fetching, it didn't help perf.Erik Johnston2015-05-151-9/+2
| | | * | init jErik Johnston2015-05-151-0/+1
| | | * | Don't completely drain the listErik Johnston2015-05-151-2/+9
| | | * | Don't fetch prev_content for current_stateErik Johnston2015-05-151-1/+1
| | | * | Make store.get_current_state fetch events asynclyErik Johnston2015-05-152-4/+4
| | | * | Remove more debug loggingErik Johnston2015-05-151-2/+0
| | | * | Remove debug loggingErik Johnston2015-05-151-11/+3
| | | * | preserve log contextErik Johnston2015-05-151-1/+2
| | | * | Add a waitErik Johnston2015-05-152-3/+12
| | | * | Srsly. Don't use closures. BaaaaaadErik Johnston2015-05-151-10/+8
| | | * | Correctly pass through paramsErik Johnston2015-05-151-3/+3
| | | * | Sort out error handlingErik Johnston2015-05-151-25/+22
| | | * | Fix daedlockErik Johnston2015-05-153-68/+85
| | | * | Remove race conditionErik Johnston2015-05-144-96/+157
| | | * | Call from right threadErik Johnston2015-05-141-1/+3
| | | * | Count and loopErik Johnston2015-05-142-37/+35
| | | * | Don't start up more fetch_eventsErik Johnston2015-05-141-0/+1
| | | * | Awful idea for speeding up fetching of eventsErik Johnston2015-05-142-36/+135
| | | * | Turn off preemptive transactionsErik Johnston2015-05-141-17/+7
| | | * | PEP8Erik Johnston2015-05-141-2/+1
| | | * | Move from _base to eventsErik Johnston2015-05-142-232/+247
| | | * | Jump out earlyErik Johnston2015-05-141-0/+6
| | | * | Actually, we probably want to run this in a transactionErik Johnston2015-05-141-15/+12
| | | * | Preemptively jump into a transaction if we ask for get_prev_contentErik Johnston2015-05-141-12/+22
| | | * | loop -> gatherResultsErik Johnston2015-05-141-10/+14
| | | * | Err, we probably want a bigger limitErik Johnston2015-05-141-1/+1
| | | * | Move fetching of events into their own transactionsErik Johnston2015-05-144-53/+45
| | | * | Refactor _get_eventsErik Johnston2015-05-142-253/+95
| | | * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/perfErik Johnston2015-05-142-2/+13
| | | |\ \
| | | * | | Add index on eventsErik Johnston2015-05-132-1/+20
| | | * | | Actually use async methodErik Johnston2015-05-131-3/+1
| | | * | | Fetch events from events_id in their own transactionsErik Johnston2015-05-133-18/+168
| | | * | | TypoErik Johnston2015-05-131-1/+1
| | | * | | Don't insert NoneErik Johnston2015-05-131-1/+4
| | | * | | Don't return NoneErik Johnston2015-05-131-1/+1
| | | * | | Limit batch sizeErik Johnston2015-05-131-5/+10
| | | * | | Fetch events in bulkErik Johnston2015-05-132-34/+63
| | | * | | Don't fetch redaction and rejection stuff for each event, so we can use index...Erik Johnston2015-05-132-6/+24
| | | * | | Temp turn off checking for rejections and redactionsErik Johnston2015-05-131-5/+2
| | | * | | defer.gatherResults loopErik Johnston2015-05-131-1/+7
| | | * | | Batch fetching of events for state groupsErik Johnston2015-05-131-1/+24
| | | * | | Load events for state group seperatelyErik Johnston2015-05-132-5/+11
* | | | | | Fix _get_backfill_events to return events in the correct orderErik Johnston2015-05-201-27/+28
* | | | | | Ensure event_results is a setErik Johnston2015-05-191-1/+1
|/ / / / /
* / / / / Fix event_backwards_extrem insertion to ignore outliersErik Johnston2015-05-191-2/+3
|/ / / /
* | | | Merge pull request #152 from matrix-org/notifier_performanceMark Haines2015-05-181-0/+3
|\ \ \ \
| * \ \ \ Merge branch 'develop' into notifier_performanceMark Haines2015-05-182-2/+13
| |\ \ \ \ | | | |/ / | | |/| |
| * | | | Merge branch 'notifier_unify' into notifier_performanceMark Haines2015-05-141-0/+1
| |\ \ \ \ | | | |/ / | | |/| |
| * | | | Don't bother checking for updates if the stream token hasn't advanced for a userMark Haines2015-05-131-0/+3
* | | | | Move get_events functions to storage.eventsErik Johnston2015-05-182-155/+132
| |_|/ / |/| | |
* | | | Add ID generator for push_rules_enable to #resolve SYN-378David Baker2015-05-142-2/+13
| |/ / |/| |
* | | You need to call contextmanagerErik Johnston2015-05-121-0/+1
|/ /
* | Merge pull request #144 from matrix-org/erikj/logging_contextMark Haines2015-05-121-5/+6
|\ \
| * \ Merge branch 'develop' of github.com:matrix-org/synapse into erikj/logging_co...Erik Johnston2015-05-126-82/+115
| |\ \
| * | | Change the way we do logging contexts so that they survive divergencesErik Johnston2015-05-081-5/+6
* | | | Merge pull request #149 from matrix-org/erikj/backfillMark Haines2015-05-123-116/+103
|\ \ \ \ | |_|/ / |/| | |
| * | | Err, delete the right stuffErik Johnston2015-05-121-4/+5
| * | | NewlinesErik Johnston2015-05-121-2/+0
| * | | We do actually want to delete rows out of event_backward_extremitiesErik Johnston2015-05-121-4/+11
| * | | Fix up _handle_prev_events to not try to insert duplicate rowsErik Johnston2015-05-121-23/+13
| * | | Do state groups persistence /after/ checking if we have already persisted the...Erik Johnston2015-05-121-6/+9
| * | | Make get_current_token accept a direction parameter, which tells whether the ...Erik Johnston2015-05-121-2/+18
| * | | Initial hack at wiring together pagination and backfillErik Johnston2015-05-111-2/+26
| * | | Move storage.stream._StreamToken to types.RoomStreamTokenErik Johnston2015-05-111-85/+33
| | |/ | |/|
* / | SYN-377: Make sure that the StreamIdGenerator.get_next.__exit__ is called fro...Mark Haines2015-05-122-23/+27
|/ /
* | Prefer to use _simple_*.Erik Johnston2015-05-111-44/+41
* | push_rules table expects an 'id' fieldErik Johnston2015-05-112-13/+13
* | Fix push rule bug: can't insert bool into small int columnErik Johnston2015-05-101-1/+1
* | Drop the old table not the new tableMark Haines2015-05-081-1/+1
* | Rename unique constraintMark Haines2015-05-081-1/+1
* | Remove unsignedMark Haines2015-05-081-2/+2
* | Bump schema versionMark Haines2015-05-081-1/+1
* | Make the timestamps in server_keys_json bigintsMark Haines2015-05-081-0/+32
|/
* Merge branch 'erikj/executemany' of github.com:matrix-org/synapse into erikj/...Erik Johnston2015-05-055-25/+97
|\
| * And use buffer(...) there as wellErik Johnston2015-05-051-1/+2
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/executemanyErik Johnston2015-05-055-24/+87
| |\
| | * Use buffer(...) when inserting into bytea columnErik Johnston2015-05-051-1/+2
| | * Merge pull request #139 from matrix-org/bugs/SYN-369Mark Haines2015-05-054-16/+80
| | |\
| | | * Add some doc-stringMark Haines2015-05-051-0/+4
| | | * Collect the invalidate callbacks on the transaction object rather than passin...Mark Haines2015-05-057-51/+51
| | | * SYN-369: Add comments to the sequence number logic in the cacheMark Haines2015-05-051-0/+7
| | | * Add debug flag in synapse/storage/_base.py for debugging the cache logic by c...Mark Haines2015-05-051-1/+12
| | | * Invalidate the room_member cache if the current state events updatesMark Haines2015-05-051-0/+5
| | | * Missing return for when the event was already persistedMark Haines2015-05-051-1/+1
| | | * Invalidate the caches from the correct threadMark Haines2015-05-056-29/+46
| | | * Sequence the modifications to the cache so that selects don't race with insertsMark Haines2015-05-051-3/+23
| * | | Add a comment about the zip(*[zip(sorted(...),...)])Erik Johnston2015-05-051-0/+8