summary refs log tree commit diff
path: root/synapse/storage/_base.py (follow)
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/acl_perfErik Johnston2015-08-051-3/+3
|\
| * Use LRU cache by defaultErik Johnston2015-08-051-3/+3
* | 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
|\ \
| * | track replication destination health, and perform exponential back-off when s...Matthew Hodgson2014-12-071-1/+1
| |/
* | Change the way we implement get_events to be less suckyErik Johnston2014-12-091-19/+15
* | Remove unused importErik Johnston2014-12-081-1/+0
* | Start making more things use EventContext rather than event.*Erik Johnston2014-12-051-5/+3
* | Store full JSON of events in dbErik Johnston2014-12-011-56/+21
|/
* SYN-163: Add an order by rowid to selects.Erik Johnston2014-11-241-5/+10
* Fix pep8 codestyle warningsMark Haines2014-11-201-0/+1
* Use module loggers rather than the root logger. Exceptions caused by bad clie...Mark Haines2014-11-201-1/+1
* Add a few missing yields, Move deferred lists inside PreserveLoggingContext b...Mark Haines2014-11-201-1/+0
* Merge PDUs and Events into one objectMark Haines2014-11-141-0/+8
* Merge branch 'develop' into request_loggingMark Haines2014-11-141-64/+191
|\
| * Store all signatures on events rather than just dropping themErik Johnston2014-11-121-2/+5
| * Add an EventValidator. Fix bugs in auth ++ storageErik Johnston2014-11-101-1/+1
| * Fix regression where we did not return redacted events.Erik Johnston2014-11-101-1/+2
| * Fix backfill to work. Add auth to backfill requestErik Johnston2014-11-101-0/+12
| * Finish redaction algorithm.Erik Johnston2014-11-101-1/+1
| * Start implementing auth chainsErik Johnston2014-11-071-0/+2
| * Implement new replace_state and changed prev_stateErik Johnston2014-11-061-17/+49
| * Get correct prev_eventsErik Johnston2014-11-051-6/+5
| * Remove unused importsErik Johnston2014-11-041-2/+0
| * Start filling out and using new events tablesErik Johnston2014-10-291-6/+27
| * Begin implementing all the PDU storage stuff in Events landErik Johnston2014-10-281-20/+33
| * Add transaction level logging and timing information. Add a _simple_delete me...Erik Johnston2014-10-281-16/+58
| * Clean up LoggingTransactionErik Johnston2014-10-281-10/+4
| * Add timer to LoggingTransactionErik Johnston2014-10-281-3/+10
* | Add a request-id to each log lineMark Haines2014-10-301-4/+12
|/
* keep 'origin_server_ts' as 'ts' in the database to avoid needlessly updating ...Mark Haines2014-10-171-1/+2
* SPEC-7: Rename 'ts' to 'origin_server_ts'Mark Haines2014-10-171-1/+1
* Respond with more helpful error messages for unsigned requestsMark Haines2014-10-131-4/+7
* Rename deletions to redactionsErik Johnston2014-09-241-9/+9
* Fix bug where we didn't correctly pull out the event_id of the deletionErik Johnston2014-09-241-2/+3
* Rename 'pruned' to 'pruned_because'Erik Johnston2014-09-231-1/+1
* Add m.room.deletion. If an event is deleted it will be returned to clients 'p...Erik Johnston2014-09-231-3/+27
* Merge remote-tracking branch 'origin/develop' into test-sqlite-memoryPaul "LeoNerd" Evans2014-09-151-0/+4
|\
| * Correctly handle the 'age' key in events and pdusErik Johnston2014-09-151-0/+4
* | Merge remote-tracking branch 'origin/develop' into test-sqlite-memoryPaul "LeoNerd" Evans2014-09-121-0/+8
|\|
| * Make the state resolution use actual power levels rather than taking them fro...Erik Johnston2014-09-121-0/+8
* | Now don't need the other logger.debug() call in _executePaul "LeoNerd" Evans2014-09-121-5/+0
* | Logging of all SQL queries via the 'synapse.storage.SQL' loggerPaul "LeoNerd" Evans2014-09-121-2/+43
* | Add a .runInteraction() method on SQLBaseStore itself to wrap the .db_poolPaul "LeoNerd" Evans2014-09-121-8/+12
|/
* When getting a state event also include the previous contentErik Johnston2014-09-061-0/+19
* Add support to _simple_insert() to do INSERT OR REPLACEPaul "LeoNerd" Evans2014-09-031-4/+6
* fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org has...Matthew Hodgson2014-09-031-1/+1
* Merge branch 'develop' into storage_transactionsMark Haines2014-08-261-0/+5
|\
| * Stop internal keys from getting into SynapseEventsErik Johnston2014-08-211-0/+5
* | Move the event storage into a single transactionMark Haines2014-08-261-5/+7
|/
* PEP8 cleanupsErik Johnston2014-08-151-1/+2
* Start chagning the events stream to work with the new DB schemaErik Johnston2014-08-151-1/+1
* Reimplement the get public rooms api to work with new DB schemaErik Johnston2014-08-151-1/+1
* Fix up typos and correct sql queriesErik Johnston2014-08-141-4/+5
* Start fixing places that use the data store.Erik Johnston2014-08-141-1/+1
* Rename _execute_queryErik Johnston2014-08-141-1/+1
* Fix up RoomMemberStore to work with the new schema.Erik Johnston2014-08-141-1/+5
* Actually encode dicts as json in the DBErik Johnston2014-08-141-1/+2
* Merge branch 'master' of github.com:matrix-org/synapse into sql_refactorErik Johnston2014-08-141-0/+2
|\
| * An initial hack at storing presence state-change mtimes in database and prese...Paul "LeoNerd" Evans2014-08-131-0/+1
| * Set datastore's .hs field in SQLBaseStore rather than in the toplevel DataSto...Paul "LeoNerd" Evans2014-08-131-0/+1
* | Initial stab at refactoring the SQL tables, including rejigging some of the s...Erik Johnston2014-08-131-1/+16
|/
* add in whitespace after copyright statements to improve legibilityMatthew Hodgson2014-08-131-0/+1
* Reference Matrix Home Servermatrix.org2014-08-121-0/+405