summary refs log tree commit diff
path: root/synapse/storage/_base.py (follow)
Commit message (Expand)AuthorAgeFilesLines
* Clean up the database pagination code (#5007)Amber Brown2019-04-051-60/+50
* Run black on the rest of the storage module (#4996)Amber Brown2019-04-031-223/+173
* Fix sync bug when accepting invites (#4956)Richard van der Hoff2019-04-021-5/+0
* fixesAmber Brown2019-03-121-3/+10
* Limit cache invalidation replication line length (#4748)Erik Johnston2019-02-271-4/+11
* Add database version to phonehome stats. (#4753)Richard van der Hoff2019-02-271-0/+8
* Fix state cache invalidation on workersErik Johnston2019-02-221-6/+34
* UPSERT many functionality (#4644)Amber Brown2019-02-201-12/+134
* DocsErik Johnston2019-02-191-2/+3
* Use itertoolsErik Johnston2019-02-191-2/+2
* DocumentationErik Johnston2019-02-191-4/+4
* Batch cache invalidation over replicationErik Johnston2019-02-181-1/+56
* Fix 'no unique or exclusion constraint' error (#4591)Richard van der Hoff2019-02-081-6/+21
* Fix typo in upserts code (#4505)Amber Brown2019-01-291-1/+1
* Fix UPSERTs on SQLite 3.24+ (#4477)Amber Brown2019-01-281-2/+8
* Fix UPSERT check (#4459)Amber Brown2019-01-241-5/+28
* Use native UPSERTs where possible (#4306)Amber Brown2019-01-241-11/+137
* Fix adding new rows instead of updating them if one of the key values is a NU...Amber Brown2019-01-091-1/+9
* add more detail to logging regarding "More than one row matched" error (#4234)Ben Parsons2018-12-041-6/+6
* Fix UnicodeDecodeError when postgres is not configured in english (#4253)Richard van der Hoff2018-12-041-7/+8
* Make scripts/ and scripts-dev/ pass pyflakes (and the rest of the codebase on...Amber Brown2018-10-201-2/+2
* Port storage/ to Python 3 (#3725)Amber Brown2018-08-311-1/+31
* initial cut at a room summary API (#3574)Matthew Hodgson2018-08-161-4/+3
* Fix another logcontext leak in _persist_eventsRichard van der Hoff2018-07-251-0/+6
* revert 00bc979Richard van der Hoff2018-07-191-4/+3
* Disable logcontext warningRichard van der Hoff2018-07-191-3/+4
* Attempt to include db threads in cpu usage stats (#3496)Richard van der Hoff2018-07-101-17/+15
* run isortAmber Brown2018-07-091-10/+9
* update metrics to be in secondsAmber Brown2018-05-281-15/+15
* Merge remote-tracking branch 'origin/develop' into 3218-official-promAmber Brown2018-05-281-18/+29
|\
| * Merge pull request #3278 from NotAFile/py3-storage-baseAmber Brown2018-05-241-17/+22
| |\
| | * Py3 storage/_base.pyAdrian Tschira2018-05-241-17/+22
| * | use stand-in value if maxint is not availableAdrian Tschira2018-05-191-1/+7
| |/
* / rest of the changesAmber Brown2018-05-211-10/+7
|/
* Use psycopg2cffi module instead of psycopg2 if running on pypyVincent Breitmoser2018-04-101-1/+1
* Fix bug with delayed cache invalidation streamErik Johnston2018-03-021-12/+14
* Track DB scheduling delay per-requestRichard van der Hoff2018-01-161-1/+3
* rework runInteraction in terms of runConnectionRichard van der Hoff2018-01-161-20/+31
* Merge branch 'develop' into matthew/search-all-local-usersMatthew Hodgson2017-11-301-9/+14
|\
| * Merge pull request #2697 from matrix-org/rav/fix_urlcache_index_errorRichard van der Hoff2017-11-271-9/+7
| |\
| | * fix sql failsRichard van der Hoff2017-11-221-1/+1
| | * Check database in has_completed_background_updatesRichard van der Hoff2017-11-221-9/+7
| * | Avoid retrying forever on IntegrityErrorRichard van der Hoff2017-11-271-0/+7
| |/
* / untested WIP but might actually workMatthew Hodgson2017-11-291-1/+1
|/
* 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