summary refs log tree commit diff
path: root/synapse/storage/_base.py (follow)
Commit message (Expand)AuthorAgeFilesLines
* Fix broken ref to IntegrityErrorRichard van der Hoff2017-11-161-1/+1
* _simple_upsert: retry on IntegrityErrorRichard van der Hoff2017-11-161-6/+29
* Cleanup in _simple_upsert_txnRichard van der Hoff2017-11-161-16/+17
* Revert "Revert "move _state_group_cache to statestore""Richard van der Hoff2017-11-141-6/+0
* Make __init__ consitstent across Store heirarchyRichard van der Hoff2017-11-131-1/+1
* Revert "move _state_group_cache to statestore"Erik Johnston2017-11-131-0/+6
* move _state_group_cache to statestoreRichard van der Hoff2017-11-071-6/+0
* replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-1/+1
* Add _simple_updateErik Johnston2017-08-251-19/+32
* Define CACHE_SIZE_FACTOR onceErik Johnston2017-07-041-4/+1
* Merge pull request #2259 from matrix-org/erikj/fix_state_woesErik Johnston2017-06-071-8/+21
|\
| * Fix bug where state_group tables got corruptedErik Johnston2017-06-071-8/+21
* | Split the table in twoErik Johnston2017-06-011-0/+5
|/
* Prefill state cachesErik Johnston2017-05-151-4/+4
* Revert "Prefill state caches"Erik Johnston2017-05-041-4/+4
* Prefill state cachesErik Johnston2017-05-021-4/+4
* Use iter(items|values)Erik Johnston2017-03-241-6/+6
* User Cursor.__iter__ instead of fetchallErik Johnston2017-03-231-5/+8
* Implement _simple_delete_many_txn, use it to delete devicesLuke Barnard2017-03-131-0/+41
* Remove spurious SQL logging (#1972)Richard van der Hoff2017-03-081-8/+0
* Intern table column names onceErik Johnston2017-02-281-3/+2
* Strip newlines from SQL queriesErik Johnston2017-02-231-0/+6
* admin,storage: added more administrator functionalitiesMorteza Araby2017-02-021-0/+159
* Add basic implementation of local device list changesErik Johnston2017-01-251-0/+6
* Increase state_group_cache_sizeErik Johnston2017-01-171-1/+1
* Limit number of entries to prefill from cacheErik Johnston2017-01-101-2/+3
* Fix testsErik Johnston2016-11-211-2/+2
* Store federation stream positions in the databaseErik Johnston2016-11-211-4/+14
* Refactor test_filter to use real DataStorepik2016-10-181-1/+0
* Remove lru optionErik Johnston2016-08-191-1/+1
* Do it in storage functionErik Johnston2016-08-161-0/+3
* Use cached get_user_by_access_token in slavesErik Johnston2016-08-161-0/+1
* Doc get_next() context manager usageErik Johnston2016-08-151-0/+4
* Rename table. Add docs.Erik Johnston2016-08-151-2/+10
* Implement cache replication streamErik Johnston2016-08-151-12/+35
* Add some invalidations to a cache_streamErik Johnston2016-08-151-0/+18
* Always run txn.after_callbacksErik Johnston2016-08-151-7/+8
* More doc-commentsRichard van der Hoff2016-07-201-7/+12
* Feature: Add deactivate account admin APIErik Johnston2016-06-301-0/+5
* Fix setting the _clock in SQLBaseStoreMark Haines2016-06-021-0/+1
* Make deleting push actions more efficientDavid Baker2016-05-201-1/+0
* SpellingErik Johnston2016-05-131-1/+1
* Fixup add_pusherErik Johnston2016-05-131-1/+7
* Remove some unused functions (#711)Mark Haines2016-04-081-6/+0
* Move _get_cache_dict into the SQLBaseStoreMark Haines2016-04-061-0/+34
* Intern all the thingsErik Johnston2016-03-231-1/+2
* Make stateGroupCache honour CACHE_SIZE_FACTORErik Johnston2016-03-221-1/+7
* Add a stream for push rule updatesMark Haines2016-03-011-7/+18
* Fix up logcontextsErik Johnston2016-02-081-9/+9
* Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-021-2/+5
* Add a Homeserver.setup method.Erik Johnston2016-01-261-26/+23
* Guard against empty iterablesErik Johnston2016-01-251-0/+6
* Correct docstringErik Johnston2016-01-251-1/+0
* Implement a _simple_select_many_batchErik Johnston2016-01-251-0/+67
* copyrightsMatthew Hodgson2016-01-071-1/+1
* Track the time spent in the database per request.Mark Haines2015-12-071-2/+7
* Add basic full text search impl.Erik Johnston2015-10-091-1/+1
* 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/_base.py:_execute_and_decode was unusedMark Haines2015-09-221-3/+0
* synapse/storage/_base.py:Table was unusedMark Haines2015-09-221-128/+0
* 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
* | /tokenrefresh POST endpointDaniel Wagner-Hall2015-08-201-0/+1
|/
* Move all the caches into their own package, synapse.util.cachesErik Johnston2015-08-111-332/+3
* CommentsErik Johnston2015-08-111-0/+2
* CommentErik Johnston2015-08-111-0/+2
* DocsErik Johnston2015-08-111-0/+9
* 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
| * 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
| |\ \
| * | | Change Cache to not use *args in its interfaceErik Johnston2015-08-071-30/+31
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dictionary...Erik Johnston2015-08-071-3/+4
|\ \ \ \ | | |_|/ | |/| |
| * | | s/observed/observer/Erik Johnston2015-08-071-3/+3
| | |/ | |/|
| * | Propogate stale cache errors to calling functionsErik Johnston2015-08-071-3/+4
| |/
* | Implement a CacheListDescriptorErik Johnston2015-08-071-0/+106
* | Change Cache to not use *args in its interfaceErik Johnston2015-08-071-50/+35
* | 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-061-3/+3
| |\
| | * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/cached_key...Erik Johnston2015-08-061-3/+3
| | |\
| * | | 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-051-6/+34
|\| |
| * | Add support for using keyword arguments with cached functionsErik Johnston2015-07-271-6/+34
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dictionary...Erik Johnston2015-08-051-3/+3
|\ \ \ | | |/ | |/|
| * | Use LRU cache by defaultErik Johnston2015-08-051-3/+3
| |/
* | Use dictionary cache to do group -> state fetchingErik Johnston2015-08-051-13/+26
* | Speed up event filtering (for ACL) logicErik Johnston2015-08-041-2/+8
|/
* Add basic storage functions for handling of receiptsErik Johnston2015-07-011-1/+2
* Caches should be bound to instances.Erik Johnston2015-06-031-14/+31
* Merge branch 'master' of github.com:matrix-org/synapse into developErik Johnston2015-05-221-0/+6
|\
| * Add caches for things requested by the pushersMark Haines2015-05-211-0/+1
| * Add a cache for get_current_state with state_keyMark Haines2015-05-211-0/+5
* | Remove unused metricErik Johnston2015-05-181-1/+0
* | Newline, remove debug loggingErik Johnston2015-05-181-1/+0
* | PEP8Erik Johnston2015-05-151-1/+0
* | Add a waitErik Johnston2015-05-151-1/+1
* | Fix daedlockErik Johnston2015-05-151-16/+10
* | Remove race conditionErik Johnston2015-05-141-61/+107
* | Count and loopErik Johnston2015-05-141-1/+1
* | Awful idea for speeding up fetching of eventsErik Johnston2015-05-141-0/+4
* | Move from _base to eventsErik Johnston2015-05-141-232/+1
* | 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
* | Refactor _get_eventsErik Johnston2015-05-141-252/+94
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/perfErik Johnston2015-05-141-0/+1
|\ \
| * | Add ID generator for push_rules_enable to #resolve SYN-378David Baker2015-05-141-0/+1
* | | Actually use async methodErik Johnston2015-05-131-3/+1
* | | Fetch events from events_id in their own transactionsErik Johnston2015-05-131-3/+151
* | | 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-131-13/+62
* | | Don't fetch redaction and rejection stuff for each event, so we can use index...Erik Johnston2015-05-131-4/+19
* | | Load events for state group seperatelyErik Johnston2015-05-131-2/+2
|/ /
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/logging_co...Erik Johnston2015-05-121-0/+1
|\|
| * push_rules table expects an 'id' fieldErik Johnston2015-05-111-0/+1
* | Change the way we do logging contexts so that they survive divergencesErik Johnston2015-05-081-5/+6
|/
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/executemanyErik Johnston2015-05-051-9/+59
|\
| * Merge pull request #139 from matrix-org/bugs/SYN-369Mark Haines2015-05-051-9/+59
| |\
| | * Add some doc-stringMark Haines2015-05-051-0/+4
| | * Collect the invalidate callbacks on the transaction object rather than passin...Mark Haines2015-05-051-5/+13
| | * 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
| | * 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
* | | Add support for using executemanyErik Johnston2015-05-051-13/+41
|/ /
* / Don't call 'encode_parameter' no-opErik Johnston2015-05-051-4/+0
|/
* Don't lock user_ips table for upsert.Erik Johnston2015-05-011-4/+7
* Fix bug where we reconnected to the database on every query.Erik Johnston2015-05-011-0/+1
* Shuffle operations so that locking upsert happens last in the txn. This ensur...Erik Johnston2015-04-271-0/+3
* Handle the fact that postgres databases can be restarted from under usErik Johnston2015-04-271-1/+27
* Go back to storing JSON in TEXTErik Johnston2015-04-161-3/+0
* Remove debug loggingErik Johnston2015-04-151-2/+0
* pushers table requires a unique id.Erik Johnston2015-04-151-3/+7
* Don't pass in removed flagErik Johnston2015-04-151-1/+0
* Postgres does not allow you to continue using a cursor after a DB exception h...Erik Johnston2015-04-151-11/+14
* Add support for postgres instead of mysql. Change sql accourdingly. blob + va...Erik Johnston2015-04-141-1/+1
* Handle the fact that in sqlite binary data might be stored as unicode or bytesErik Johnston2015-04-101-2/+5
* Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-04-091-19/+28
|\
| * Merge pull request #114 from matrix-org/improve_get_event_cacheMark Haines2015-04-081-19/+28
| |\
| | * Appease pep8Paul "LeoNerd" Evans2015-03-261-1/+2
| | * Implement the main getEvent cache using Cache() instead of a custom applicati...Paul "LeoNerd" Evans2015-03-251-12/+7
| | * Use FrozenEvent's reject_reason to decide whether to return it; don't include...Paul "LeoNerd" Evans2015-03-251-10/+14
| | * Store the rejected reason in (Frozen)Event structsPaul "LeoNerd" Evans2015-03-251-2/+8
| | * Indirect invalidations of _get_event_cache via a helper method to keep all us...Paul "LeoNerd" Evans2015-03-251-0/+3
* | | Stream ordering and out of order insertions.Erik Johnston2015-04-091-43/+3
* | | Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-04-081-1/+2
|\| |
| * | Move database timer logging to seperate loggerErik Johnston2015-04-081-1/+2
| |/
* | Retry transaction, not SQL queryErik Johnston2015-04-081-21/+25
* | Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-04-071-39/+61
|\|
| * Allow a choice of LRU behaviour for Cache() by using LruCache() or OrderedDict()Paul "LeoNerd" Evans2015-03-251-8/+12
| * Pull out the cache logic from the @cached wrapper into its own class we can r...Paul "LeoNerd" Evans2015-03-201-35/+54
| * func(*EXPR) is valid Python syntax, really...Paul "LeoNerd" Evans2015-03-201-2/+1
* | Retry on deadlockErik Johnston2015-04-071-3/+13
* | Don't use multiple UNIQUE constraints; it will cause deadlocksErik Johnston2015-04-071-2/+2
* | Implement or_ignore flag on insertsErik Johnston2015-04-071-4/+9
* | Don't use AUTOINCREMENT, use an in memory versionErik Johnston2015-04-071-6/+48
* | Fix unicode supportErik Johnston2015-04-021-10/+12
* | Make work in both Maria and SQLite. Fix testsErik Johnston2015-04-011-9/+21
* | Fix unicode database supportErik Johnston2015-03-251-0/+4
* | Don't order by rowidErik Johnston2015-03-241-1/+1
* | Remove uses of REPLACE and ON CONFLICT IGNORE to make the SQL more portable.Erik Johnston2015-03-231-9/+4
* | Merge branch 'develop' of github.com:matrix-org/synapse into mysqlErik Johnston2015-03-201-63/+110
|\|
| * PEP8Erik Johnston2015-03-201-1/+1
| * Merge branch 'develop' of github.com:matrix-org/synapse into store_rearrangementErik Johnston2015-03-201-13/+27
| |\
| | * Allow @cached-wrapped functions to have more or fewer than 1 argument; assert...Paul "LeoNerd" Evans2015-03-201-13/+27
| * | Give sensible names for '_simple_...' transactionsErik Johnston2015-03-201-16/+21
| * | Tidy up _simple_... methodsErik Johnston2015-03-201-39/+60
| * | Rearrange storage modulesErik Johnston2015-03-201-0/+7
| |/
| * Be polite and ensure we use @functools.wraps() when creating a function decor...Paul "LeoNerd" Evans2015-03-171-0/+2
* | Rearrange storage modulesErik Johnston2015-03-201-0/+7
* | Convert storage layer to be mysql compatibleErik Johnston2015-03-191-13/+17
|/
* Add a metric for the scheduling latency of SQL queriesPaul "LeoNerd" Evans2015-03-161-0/+5
* Bugfix to sql_txn_timer increment - add only the per-TXN duration, not the to...Paul "LeoNerd" Evans2015-03-121-7/+5
* Rename the timer metrics exported by synapse.storage to append _time, so the ...Paul "LeoNerd" Evans2015-03-121-3/+3
* Rename TimerMetric to DistributionMetric; as it could count more than just timePaul "LeoNerd" Evans2015-03-121-7/+7
* Pretend the 'getEvent' cache is just another cache in the set of all the othe...Paul "LeoNerd" Evans2015-03-121-6/+5
* Use _ instead of . as a metric namespacing separator, for PrometheusPaul "LeoNerd" Evans2015-03-121-5/+13
* Rename Metrics' "keys" to "labels"Paul "LeoNerd" Evans2015-03-121-3/+3
* Add TimerMetrics to shadow the PerformanceCounters in synapse.storage; with t...Paul "LeoNerd" Evans2015-03-121-3/+20
* Collect per-SQL-verb timer stats on query execution timePaul "LeoNerd" Evans2015-03-121-5/+11
* Delete a couple of TODO markers of monitoring stats now donePaul "LeoNerd" Evans2015-03-121-1/+0
* Rename CacheCounterMetric to just CacheMetric; add a CallbackMetric component...Paul "LeoNerd" Evans2015-03-121-3/+3
* Sprinkle some CacheCounterMetrics around the synapse.storage layerPaul "LeoNerd" Evans2015-03-121-1/+15
* Also give _execute() a descriptionPaul "LeoNerd" Evans2015-03-111-4/+3
* Add a description to storage layer's _execute_and_decode()Paul "LeoNerd" Evans2015-03-111-1/+2
* Modify _simple_select_list to allow an empty WHERE clause. Use it for get_all...Kegan Dougal2015-03-021-7/+15
* Use OrderedDict for @cached backing store, so we can evict the oldest key unb...Paul "LeoNerd" Evans2015-02-231-7/+4
* Use cache.pop() instead of a separate membership test + del []Paul "LeoNerd" Evans2015-02-231-2/+1
* Fix code style warningMark Haines2015-02-231-1/+1
* Pull the _get_event_cache.setdefault() call out of the try block, as it doesn...Paul "LeoNerd" Evans2015-02-231-1/+2
* Allow @cached-wrapped functions to have a prefill method for setting entriesPaul "LeoNerd" Evans2015-02-231-8/+15
* Remove a TODO notePaul "LeoNerd" Evans2015-02-191-1/+0
* Take named arguments to @cached() decorator, add a 'max_entries' limitPaul "LeoNerd" Evans2015-02-191-15/+24
* Move @cached decorator out into synapse.storage._base; add minimal docsPaul "LeoNerd" Evans2015-02-191-0/+35
* Merge branch 'develop' of github.com:matrix-org/synapse into use-simplejsonErik Johnston2015-02-111-4/+20
|\
| * Fix formattingMark Haines2015-02-111-2/+0
| * Add a cache for get_eventMark Haines2015-02-111-3/+21
* | Blunty replace json with simplejsonErik Johnston2015-02-111-1/+1
|/
* Code-style fixesMark Haines2015-02-101-3/+3
* Fix pyflakesMark Haines2015-02-101-3/+3
* Add performance counters for different stages of loading eventsMark Haines2015-02-101-24/+60
* Use the transaction 'desc' rather than 'name', increment the txn_ids inMark Haines2015-02-091-3/+3
* FormattingMark Haines2015-02-091-1/+0
* Performance counters for database transaction namesMark Haines2015-02-091-1/+31
* Fix typoErik Johnston2015-02-091-1/+1
* Log database time every 10s and log as percentageErik Johnston2015-02-091-2/+2
* Time how long we're spending on the database threadErik Johnston2015-02-091-0/+25
* Be more specific in naming columns in selects.Erik Johnston2015-01-301-1/+1
* Merge branch 'develop' of github.com:matrix-org/synapse into rejections_storageErik Johnston2015-01-301-2/+46
|\
| * unnecessary newlinesDavid Baker2015-01-281-2/+0
| * More magic commas (including the place I copied it from...)David Baker2015-01-281-4/+4
| * Google doc styleDavid Baker2015-01-281-4/+5
| * Merge branch 'develop' into pushersDavid Baker2015-01-131-17/+35
| |\
| * \ Merge branch 'develop' into pushersDavid Baker2014-12-181-103/+55
| |\ \
| * | | after a few rethinks, a working implementation of pushers.David Baker2014-12-181-0/+45
* | | | Add support for storing rejected events in EventContext and data storesErik Johnston2015-01-221-8/+13
| |_|/ |/| |
* | | Use time.time() instead of time.clock()Erik Johnston2015-01-061-4/+4
* | | Don't include None's in _get_events_txnErik Johnston2015-01-061-1/+3
* | | Merge pull request #28 from matrix-org/erikj-perfMark Haines2015-01-061-11/+25
|\ \ \
| * | | PEP8Erik Johnston2015-01-061-2/+4
| * | | Don't do batching when getting events.Erik Johnston2015-01-061-35/+4
| * | | Only fetch prev_content when a client is streaming/paginating. Use transactio...Erik Johnston2015-01-061-9/+23
| * | | Temporarily turn off 'redacted_because' and 'prev_content' keysErik Johnston2015-01-061-0/+2
| * | | More debug loggingErik Johnston2015-01-061-0/+4
| * | | ReformatErik Johnston2015-01-061-13/+14
| * | | Test some ideas that might help performance a bitErik Johnston2014-12-171-6/+28
* | | | Update copyright noticesMark Haines2015-01-061-1/+1
|/ / /
* | / Don't assume an event existsErik Johnston2014-12-161-2/+4
| |/ |/|
* | Persist internal_metadataErik Johnston2014-12-161-3/+4
* | Fix bug where we ignored event_edge_hashes tableErik Johnston2014-12-151-1/+0
* | PyflakesErik Johnston2014-12-121-1/+0
* | Fix public room joining by making sure replaces_state never points to itself.Erik Johnston2014-12-111-2/+4
* | Fix prev_contentErik Johnston2014-12-111-0/+6
* | Fix redactions. Fix 'age' keyErik Johnston2014-12-111-24/+36
* | Remove dead codeErik Johnston2014-12-101-25/+0
* | Merge branch 'develop' of github.com:matrix-org/synapse into events_refactorErik Johnston2014-12-101-1/+1
|\ \