summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Expand)AuthorAgeFilesLines
* Add paranoia limitErik Johnston2015-10-131-1/+1
* Remove constraints in preperation of using filtersErik Johnston2015-10-131-20/+10
* Merge branch 'erikj/store_engine' into erikj/searchErik Johnston2015-10-134-3/+3
|\
| * rename schema_prepare to prepare_databaseErik Johnston2015-10-133-2/+2
* | Add SQLite supportErik Johnston2015-10-131-5/+12
* | Merge branch 'erikj/store_engine' into erikj/searchErik Johnston2015-10-135-378/+400
|\|
| * Expose error more nicelyErik Johnston2015-10-134-5/+2
| * Split out the schema preparation and update logic into its own moduleErik Johnston2015-10-134-377/+402
* | Add sqlite schemaErik Johnston2015-10-131-5/+64
* | Filter events to only thsoe that the user is allowed to seeErik Johnston2015-10-121-7/+7
* | Remove unused room_id parameterErik Johnston2015-10-121-6/+5
* | Keep FTS indexes up to date. Only search through rooms currently joinedErik Johnston2015-10-124-2/+32
* | Add basic full text search impl.Erik Johnston2015-10-094-1/+135
|/
* Merge pull request #288 from matrix-org/markjh/unused_definitionsMark Haines2015-09-287-419/+2
|\
| * synapse/storage/state.py: _make_group_id was unusedMark Haines2015-09-231-6/+0
| * Remove unused functions from synapse/storage/signatures.pyMark Haines2015-09-231-112/+0
| * synapse/storage/roommember.py:_get_members_query was unusedMark Haines2015-09-231-6/+0
| * Remove unused functions from synapse/storage/events.pyMark Haines2015-09-231-11/+0
| * Remove unused functions from synapse/storage/event_federation.pyMark Haines2015-09-231-71/+0
| * synapse/storage/_base.py:_simple_max_id was unusedMark Haines2015-09-231-18/+0
| * synapse/storage/_base.py:_simple_delete was unusedMark Haines2015-09-231-10/+0
| * synapse/storage/_base.py:_simple_selectupdate_one was unusedMark Haines2015-09-231-31/+0
| * synapse/storage/event_federation.py:_get_auth_events is unusedMark Haines2015-09-221-21/+0
| * synapse/storage/_base.py:_execute_and_decode was unusedMark Haines2015-09-221-3/+0
| * synapse/storage/_base.py:Table was unusedMark Haines2015-09-222-130/+2
* | Fix order of ON constraints in _get_rooms_for_user_where_membership_is_txnMark Haines2015-09-241-6/+6
|/
* Add some docstringsDaniel Wagner-Hall2015-09-222-0/+4
* Add docstringDaniel Wagner-Hall2015-09-221-0/+6
* Implement configurable stats reportingDaniel Wagner-Hall2015-09-224-2/+110
* Merge pull request #276 from matrix-org/markjh/history_for_rooms_that_have_be...Mark Haines2015-09-212-10/+38
|\
| * Allow users that have left a room to get the messages that happend in the roo...Mark Haines2015-09-091-1/+18
| * Remove undocumented and unimplemented 'feedback' parameter from the Client-Se...Mark Haines2015-09-091-8/+2
| * Allow room initialSync for users that have left the room, returning a snapsho...Mark Haines2015-09-091-0/+15
| * Include the event_id and stream_ordering of membership events when looking up...Mark Haines2015-09-081-2/+4
* | Merge pull request #281 from matrix-org/erikj/update_extremetiesErik Johnston2015-09-152-0/+11
|\ \
| * | "Comments"Erik Johnston2015-09-151-0/+6
| * | When updating a stored event from outlier to non-outlier, remember to update ...Erik Johnston2015-09-152-0/+5
* | | Drop unused indexErik Johnston2015-09-141-0/+16
| |/ |/|
* | Merge branch 'release-v0.10.0' of github.com:matrix-org/synapse into developErik Johnston2015-09-011-1/+1
|\|
| * Lower size of 'stateGroupCache' now that we have data from matrix.org to supp...Erik Johnston2015-09-011-1/+1
* | Merge branch 'release-v0.10.0' into developMark Haines2015-08-282-4/+17
|\|
| * 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
* | Merge erikj/user_dedup to developDaniel Wagner-Hall2015-08-261-0/+14
* | Merge pull request #251 from matrix-org/removeadminDaniel Wagner-Hall2015-08-251-3/+2
|\ \
| * | Stop looking up "admin", which we never readDaniel Wagner-Hall2015-08-251-3/+2
* | | Merge pull request #248 from matrix-org/deviceidDaniel Wagner-Hall2015-08-252-7/+5
|\| |
| * | Remove completely unused concepts from codebaseDaniel Wagner-Hall2015-08-252-7/+5
* | | Merge pull request #243 from matrix-org/markjh/remove_syutilMark Haines2015-08-256-16/+17
|\ \ \ | |/ / |/| |
| * | Fix indentMark Haines2015-08-241-1/+1
| * | Remove syutil dependency in favour of smaller single-purpose librariesMark Haines2015-08-246-16/+17
* | | Remove autoincrement since we incrementing the ID in the storage layerMark Haines2015-08-241-1/+1
|/ /
* | Merge branch 'release-v0.10.0' of github.com:matrix-org/synapse into developErik Johnston2015-08-211-0/+2
|\|
| * Fix bug where we didn't correctly serialize the redacted_because key over fed...Erik Johnston2015-08-211-0/+2
* | Merge branch 'develop' into refreshDaniel Wagner-Hall2015-08-201-0/+19
|\|
| * 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
* | | /tokenrefresh POST endpointDaniel Wagner-Hall2015-08-204-1/+85
* | | s/by_token/by_access_token/gDaniel Wagner-Hall2015-08-201-3/+3
|/ /
* | 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