summary refs log tree commit diff
path: root/synapse/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix the invalidation of the names and aliases cacheMark Haines2016-04-011-1/+1
|
* Move the check for backfilled outside the for loopMark Haines2016-03-311-5/+5
|
* Remove the is_new_state argument to persist event.Mark Haines2016-03-311-40/+50
| | | | | | | | | Move the checks for whether an event is new state inside persist event itself. This was harder than expected because there wasn't enough information passed to persist event to correctly handle invites from remote servers for new rooms.
* Merge pull request #676 from matrix-org/markjh/replicate_stateIIIMark Haines2016-03-312-2/+114
|\ | | | | Add replication streams for ex outliers and current state resets
| * Use a namedtuple rather than tuple unpackingMark Haines2016-03-311-2/+9
| |
| * Add replication streams for ex outliers and current state resetsMark Haines2016-03-302-1/+97
| |
| * Add a entry to current_state_resets table when the current state is resetMark Haines2016-03-301-0/+9
| |
* | return the state_group for backfillMark Haines2016-03-301-1/+2
|/
* Add a replication stream for state groupsMark Haines2016-03-302-1/+35
|
* Use a stream id generator to assign state group idsMark Haines2016-03-303-49/+59
|
* Don't bother interning keys that are already internedErik Johnston2016-03-231-3/+1
|
* Intern all the thingsErik Johnston2016-03-233-17/+17
|
* String internErik Johnston2016-03-231-3/+9
|
* Merge pull request #664 from matrix-org/erikj/public_room_listErik Johnston2016-03-231-0/+23
|\ | | | | Don't require alias in public room list.
| * Comment about weird SQLErik Johnston2016-03-231-1/+3
| |
| * SQLite and postgres doesn't share a true literalErik Johnston2016-03-231-1/+1
| |
| * Ensure all old public rooms have aliasesErik Johnston2016-03-231-0/+21
| |
* | Merge pull request #663 from matrix-org/erikj/invite_for_userErik Johnston2016-03-231-6/+4
|\ \ | | | | | | Make get_invites return RoomsForUser
| * | Make get_invites return RoomsForUserErik Johnston2016-03-231-6/+4
| |/
* | Merge pull request #665 from matrix-org/erikj/dont_cache_eventsErik Johnston2016-03-233-23/+30
|\ \ | | | | | | Only cache events in the event cache
| * | Don't cache events in get_recent_events_for_roomErik Johnston2016-03-231-14/+19
| | |
| * | Don't cache events in get_current_state_for_keyErik Johnston2016-03-232-9/+11
| |/
* / Make StateHandler._state_cache only store event_ids.Erik Johnston2016-03-221-0/+25
|/
* Bump get_unread_event_push_actions_by_room_for_user cacheErik Johnston2016-03-221-1/+1
|
* Bump get_aliases_for_room cacheErik Johnston2016-03-221-1/+1
|
* Merge pull request #660 from matrix-org/erikj/state_cacheErik Johnston2016-03-221-60/+48
|\ | | | | Don't cache events in _state_group_cache
| * Don't cache events in _state_group_cacheErik Johnston2016-03-221-60/+48
| | | | | | | | | | | | | | | | | | Instead, simply cache the event ids, relying on the event cache to cache the actual events. The problem was that while the state groups cache was limited in the number of groups it could hold, each individual group could consist of thousands of events.
* | Merge pull request #659 from matrix-org/erikj/state_cache_factorErik Johnston2016-03-221-1/+7
|\ \ | | | | | | Make stateGroupCache honour CACHE_SIZE_FACTOR
| * | Make stateGroupCache honour CACHE_SIZE_FACTORErik Johnston2016-03-221-1/+7
| |/
* | Merge pull request #657 from matrix-org/erikj/roomlistErik Johnston2016-03-221-0/+8
|\ \ | |/ |/| Add published room list edit API
| * Add published room list edit APIErik Johnston2016-03-211-0/+8
| |
* | Remove unused backfilled parameter from persist_eventMark Haines2016-03-211-18/+4
|/
* Dedupe requested event list in _get_eventsErik Johnston2016-03-181-14/+12
|
* Remove dead code left over from presence changesMark Haines2016-03-171-24/+0
|
* Add a comment to offer a hint to an explanation for why we have a unique ↵Mark Haines2016-03-161-0/+1
| | | | constraint on (app_id, pushkey, user_id)
* Fix a couple of errors when deleting pushersMark Haines2016-03-151-2/+2
|
* Add replication stream for pushersMark Haines2016-03-154-17/+82
|
* Thats not how transactions work.Erik Johnston2016-03-111-13/+16
|
* Implement logoutErik Johnston2016-03-111-14/+35
|
* Fix SQL statementErik Johnston2016-03-111-1/+1
|
* Merge pull request #641 from matrix-org/dbkr/fix_change_passwordErik Johnston2016-03-111-21/+18
|\ | | | | Fix logout on password change
| * more pep8David Baker2016-03-111-1/+1
| |
| * Make select more sensible when dseleting access tokens, rename pusher ↵David Baker2016-03-111-5/+3
| | | | | | | | deletion to match access token deletion and make exception arg optional.
| * Delete old, unused methods and rename new one to just be ↵David Baker2016-03-111-15/+2
| | | | | | | | `user_delete_access_tokens` with an `except_token_ids` argument doing what it says on the tin.
| * Dear PyCharm, please indent sensibly for me. Thx.David Baker2016-03-111-1/+1
| |
| * Fix cache invalidation so deleting access tokens (which we did when changing ↵David Baker2016-03-111-8/+20
| | | | | | | | password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f05491ce65a4fc34326519754cd1edd9c54
* | Merge pull request #635 from matrix-org/erikj/sync_orderErik Johnston2016-03-111-3/+6
|\ \ | |/ |/| Use topological orders for initial sync timeline
| * Add commentErik Johnston2016-03-091-0/+3
| |
| * Return the correct token formErik Johnston2016-03-091-1/+1
| |
| * Use topological orders for initial sync timelineErik Johnston2016-03-091-2/+2
| |
* | Store appservice ID on registerDaniel Wagner-Hall2016-03-101-6/+34
| |
* | Update users table in a batched mannerErik Johnston2016-03-101-9/+14
|/
* Ensure integer is an integerErik Johnston2016-03-091-1/+1
|
* Merge pull request #632 from matrix-org/markjh/py3v2Mark Haines2016-03-086-6/+6
|\ | | | | Fix relative imports so they work in both py3 and py27
| * Fix relative imports so they work in both py3 and py27Mark Haines2016-03-086-6/+6
| |
* | Merge branch 'develop' into daniel/ickDaniel Wagner-Hall2016-03-087-86/+302
|\|
| * Prefill from the correct streamMark Haines2016-03-041-1/+1
| |
| * prefill the push rules stream change cacheMark Haines2016-03-041-2/+9
| |
| * s/stream_ordering/event_stream_ordering/ in pushMark Haines2016-03-042-26/+30
| |
| * /FNARG/dMark Haines2016-03-041-1/+0
| |
| * Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-048-26/+126
| |\
| | * Merge pull request #614 from matrix-org/erikj/alias_deleteErik Johnston2016-03-042-1/+30
| | |\ | | | | | | | | Allow alias creators to delete aliases
| | | * Allow alias creators to delete aliasesErik Johnston2016-03-012-1/+30
| | | |
| * | | Hook up the push rules stream to account_data in /syncMark Haines2016-03-042-68/+62
| | | |
| * | | Hook push rules up to the replication APIMark Haines2016-03-021-0/+6
| | | |
| * | | Add a stream for push rule updatesMark Haines2016-03-015-74/+251
| | | |
* | | | Idempotent-ise schema update scriptDaniel Wagner-Hall2016-03-081-1/+5
| |/ / |/| | | | | | | | | | | If any ASes don't have an ID, the schema will fail, and then it will error when trying to add the column again.
* | | Merge pull request #571 from matrix-org/daniel/asidsDaniel Wagner-Hall2016-03-036-25/+96
|\ \ \ | |/ / |/| | Mark AS users with their AS's ID
| * | Mark AS users with their AS's IDDaniel Wagner-Hall2016-02-116-26/+97
| | |
* | | Merge pull request #489 from matrix-org/markjh/replicationMark Haines2016-03-015-2/+164
|\ \ \ | | | | | | | | Add a /replication API for extracting the updates that happened on synapse.
| * | | Add a /replication API for extracting the updates that happened onMark Haines2016-03-015-2/+164
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates.
* / | Load the current id in the IdGenerator constructorMark Haines2016-03-0112-77/+52
|/ / | | | | | | | | | | | | | | | | Rather than loading them lazily. This allows us to remove all the yield statements and spurious arguments for the get_next methods. It also allows us to replace all instances of get_next_txn with get_next since get_next no longer needs to access the db.
* | Add support for changing the actions for default rulesMark Haines2016-02-261-0/+25
| | | | | | | | | | | | See matrix-org/matrix-doc#283 Works by adding dummy rules to the push rules table with a negative priority class and then using those rules to clobber the default rule actions when adding the default rules in ``list_with_base_rules``
* | Generate guest access token on 3pid invitesDaniel Wagner-Hall2016-02-242-0/+68
| | | | | | | | | | | | | | | | | | This means that following the same link across multiple sessions or devices can re-use the same guest account. Note that this is somewhat of an abuse vector; we can't throw up captchas on this flow, so this is a way of registering ephemeral accounts for spam, whose sign-up we don't rate limit.
* | Create a new stream_id per presence updateErik Johnston2016-02-231-6/+9
| |
* | Merge pull request #582 from matrix-org/erikj/presenceErik Johnston2016-02-1910-65/+211
|\ \ | | | | | | Rewrite presence for performance.
| * | Close cursorErik Johnston2016-02-181-0/+1
| | |
| * | Remove unused param from get_max_tokenErik Johnston2016-02-186-13/+11
| | |
| * | Prefix TS fields with _tsErik Johnston2016-02-183-16/+17
| | |
| * | Initial cutErik Johnston2016-02-175-55/+201
| | |
* | | Remove dead code for setting device specific rules.Mark Haines2016-02-182-7/+6
| | | | | | | | | | | | | | | | | | It wasn't possible to hit the code from the API because of a typo in parsing the request path. Since no-one was using the feature we might as well remove the dead code.
* | | Merge branch 'develop' into daniel/roomcleanupincrementalDaniel Wagner-Hall2016-02-171-82/+86
|\| | | | | | | | | | | | | | Conflicts: synapse/rest/client/v1/room.py
| * | Make adding push rules idempotentMark Haines2016-02-161-82/+86
| | | | | | | | | | | | | | | | | | Also remove the **kwargs from the add_push_rule method. Fixes https://matrix.org/jira/browse/SYN-391
* | | Respond to federated invite with non-empty contextDaniel Wagner-Hall2016-02-171-4/+4
|/ / | | | | | | | | | | | | Currently, we magically perform an extra database hit to find the inviter, and use this to guess where we should send the event. Instead, fill in a valid context, so that other callers relying on the context actually have one.
* | Fix SYN-627, events are in incorrect room in /syncErik Johnston2016-02-111-1/+1
| |
* | Return events in correct order for /eventsErik Johnston2016-02-111-8/+11
|/
* Batch fetch _get_state_groups_from_groupsErik Johnston2016-02-101-32/+34
|
* Use _simple_select_many for _get_state_group_for_eventsErik Johnston2016-02-101-16/+10
|
* Merge pull request #568 from matrix-org/erikj/unread_notifErik Johnston2016-02-102-39/+32
|\ | | | | Atomically persit push actions when we persist the event
| * Rename functionsErik Johnston2016-02-102-4/+4
| |
| * Atomically persit push actions when we persist the eventErik Johnston2016-02-092-39/+32
| |
* | Change a log from debug to infoErik Johnston2016-02-091-1/+1
|/
* Invalidate get_last_receipt_event_id_for_user cacheErik Johnston2016-02-091-0/+5
|
* Don't load all ephemeral state for a room on every syncErik Johnston2016-02-091-0/+14
|
* Fix up logcontextsErik Johnston2016-02-084-29/+37
|
* Allocate guest user IDs numericcallyDaniel Wagner-Hall2016-02-051-0/+36
| | | | | | | | | The current random IDs are ugly and confusing when presented in UIs. This makes them prettier and easier to read. Also, disable non-automated registration of numeric IDs so that we don't need to worry so much about people carving out our automated address space and us needing to keep retrying ID registration.
* Actually return something sensibleErik Johnston2016-02-031-1/+1
|
* We return dicts now.Erik Johnston2016-02-031-1/+1
|
* Add descriptionsErik Johnston2016-02-034-1/+5
|
* Merge pull request #554 from matrix-org/erikj/event_pushErik Johnston2016-02-033-16/+64
|\ | | | | Change event_push_actions_rm_tokens schema
| * Change event_push_actions_rm_tokens schemaErik Johnston2016-02-033-16/+64
| |
* | Simplify get_roomsErik Johnston2016-02-031-77/+7
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-02-036-36/+42
|\| | | | | | | erikj/public_room_fix
| * Fix flake8 warnings for new flake8Daniel Wagner-Hall2016-02-026-9/+12
| |
| * s/get_room_changes_for_user/get_membership_changes_for_user/Erik Johnston2016-02-021-2/+2
| |
| * Fetch events in a separate transaction.Erik Johnston2016-02-021-26/+29
| | | | | | | | | | | | | | | | | | This has a couple of benefits: - It reduces the time of transactions, allowing other database requests to run. - Fetching events is given a dedicated database thread, and so can't starve other database requests.
* | Unused importErik Johnston2016-02-031-1/+1
| |
* | Change the way we do public room list fetchingErik Johnston2016-02-022-1/+17
|/
* Order things correctlyErik Johnston2016-02-011-0/+4
|
* Switch over /events to use per room cachesErik Johnston2016-02-011-2/+2
|
* Merge pull request #543 from matrix-org/erikj/syncErik Johnston2016-02-013-0/+15
|\ | | | | Cache get_room_changes_for_user
| * Cache get_room_changes_for_userErik Johnston2016-01-293-0/+15
| |
* | Only use room_ids if in get_room_events_stream if is_guestErik Johnston2016-02-011-5/+0
|/
* Invalidate _account_data_stream_cache correctlyErik Johnston2016-01-291-0/+4
|
* Comment. Remove superfluous order byErik Johnston2016-01-291-1/+3
|
* Don't prefill account dataErik Johnston2016-01-291-8/+1
|
* Actually use cacheErik Johnston2016-01-291-7/+13
|
* Max is not a functionErik Johnston2016-01-291-1/+1
|
* Convert param styleErik Johnston2016-01-291-0/+3
|
* Prefill stream change cachesErik Johnston2016-01-293-18/+48
|
* Bump AccountDataAndTagsChangeCache sizeErik Johnston2016-01-291-1/+1
|
* Merge pull request #536 from matrix-org/erikj/syncErik Johnston2016-01-296-74/+218
|\ | | | | Make /sync "better".
| * Amalgamate tags and account data stream cachesErik Johnston2016-01-282-12/+9
| |
| * Don't use defer.returnValueErik Johnston2016-01-281-1/+1
| |
| * Add events indexErik Johnston2016-01-281-0/+16
| |
| * Change name and doc has_entity_changedErik Johnston2016-01-283-3/+3
| |
| * Cache tags and account dataErik Johnston2016-01-285-10/+42
| |
| * Ensure keys to RoomStreamChangeCache are intsErik Johnston2016-01-281-5/+6
| |
| * Invalidate caches properly. Remove unused argErik Johnston2016-01-283-8/+13
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/syncErik Johnston2016-01-281-18/+9
| |\
| * | Allow paginating backwards from stream tokenErik Johnston2016-01-281-2/+14
| | |
| * | Return correct type of tokenErik Johnston2016-01-281-3/+6
| | |
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/syncErik Johnston2016-01-281-1/+1
| |\ \
| * | | PEP8Erik Johnston2016-01-273-6/+9
| | | |
| * | | Use the same path for incremental with gap or without gapErik Johnston2016-01-272-4/+3
| | | |
| * | | Add cache to room streamErik Johnston2016-01-273-62/+138
| | | |
* | | | Cache filtersErik Johnston2016-01-281-1/+2
| |_|/ |/| |
* | | Merge pull request #534 from matrix-org/erikj/setupErik Johnston2016-01-287-89/+74
|\ \ \ | |_|/ |/| | Add a Homeserver.setup method
| * | Clean up a bit. Add commentErik Johnston2016-01-281-18/+9
| |/
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/setupErik Johnston2016-01-271-1/+2
| |\
| * | Add a Homeserver.setup method.Erik Johnston2016-01-267-89/+83
| | | | | | | | | | | | | | | | | | This is for setting up dependencies that require work on startup. This is useful for the DataStore that wants to read a bunch from the database before initiliazing.
* | | Up get_rooms_for_user cache sizeErik Johnston2016-01-281-1/+1
| |/ |/|
* | Fix adding push rules relative to other rulesMark Haines2016-01-271-1/+2
|/
* Merge pull request #525 from matrix-org/erikj/select_manyErik Johnston2016-01-253-60/+110
|\ | | | | Implement a `_simple_select_many_batch`
| * Guard against empty iterablesErik Johnston2016-01-251-0/+6
| |
| * Correct docstringErik Johnston2016-01-251-1/+0
| |
| * Implement a _simple_select_many_batchErik Johnston2016-01-253-60/+105
| |
* | Merge pull request #527 from matrix-org/erikj/push_cacheErik Johnston2016-01-251-0/+1
|\ \ | | | | | | Push: Use storage apis that are cached
| * | Push: Use storage apis that are cachedErik Johnston2016-01-251-0/+1
| |/
* / Add index to event_push_actionsErik Johnston2016-01-251-0/+1
|/
* Overlay the push_rules_enabled map for users, otherwise they won't be able ↵David Baker2016-01-221-0/+29
| | | | to disable server default rules.
* Make LRU cache not default to treecache & add options to use itDavid Baker2016-01-221-1/+1
|
* Use new invalidate_many cache invalidation to invalidate the ↵David Baker2016-01-221-4/+15
| | | | event_push_actions cache appropriately.
* Cache get_unread_event_push_actions_by_room_for_userErik Johnston2016-01-211-1/+2
|
* peppateDavid Baker2016-01-201-3/+2
|
* Add index by user id on receipts_linearizedDavid Baker2016-01-201-0/+18
|
* Add storage function to get all receipts for a user. Also add some cache ↵David Baker2016-01-201-21/+34
| | | | invalidation to the receipts storage because there wasn't any, and remove a method that was unused.
* Add regex cache. Only caculate push actions for users that have sent read ↵Erik Johnston2016-01-191-1/+13
| | | | receipts, and are on that server
* Return highlight_count in /syncErik Johnston2016-01-191-2/+3
|
* Remove dead codeErik Johnston2016-01-181-22/+1
|
* Make unit tests workErik Johnston2016-01-181-1/+1
|
* Make notifications go quickerErik Johnston2016-01-182-4/+45
|
* Allow filtering events for multiple users at onceErik Johnston2016-01-181-0/+13
|
* Require ID and as_token be unique for ASsDaniel Wagner-Hall2016-01-141-1/+25
| | | | | Defaults ID to as_token if not specified. This will change when IDs are fully supported.
* Merge pull request #494 from matrix-org/daniel/2Daniel Wagner-Hall2016-01-141-0/+1
|\ | | | | Don't start server if ASes are invalidly configured
| * Don't start server if ASes are invalidly configuredDaniel Wagner-Hall2016-01-131-0/+1
| |
* | Merge pull request #493 from matrix-org/daniel/1Daniel Wagner-Hall2016-01-141-59/+0
|\ \ | | | | | | Delete unused code
| * | Delete unused codeDaniel Wagner-Hall2016-01-131-59/+0
| |/
* / Rename 'user_name' to 'user_id' in push to make it consistent with the rest ↵Mark Haines2016-01-132-38/+38
|/ | | | of the code
* Merge remote-tracking branch 'origin/erikj/bulk_get_push_rules' into ↵Mark Haines2016-01-131-18/+8
|\ | | | | | | | | | | | | markjh/table_name Conflicts: synapse/storage/push_rule.py
| * bulk_get_push_rules should handle empty listsErik Johnston2016-01-131-21/+13
| |
* | Delete the table objects from TransactionStoreMark Haines2016-01-131-58/+10
| |
* | Remove the RoomsTable objectMark Haines2016-01-131-13/+3
| |
* | Remove the PushersTable and EventPushActionsTable objectsMark Haines2016-01-122-14/+6
| |
* | Remove the PushRuleTable and PushRuleEnableTable objectsMark Haines2016-01-121-50/+33
|/
* Postgres doesn't like booleansDavid Baker2016-01-111-2/+2
|
* Remove rogue 'admin'David Baker2016-01-111-1/+1
|
* Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-086-11/+230
|\ | | | | Send unread notification counts
| * This comma is actually importantDavid Baker2016-01-071-1/+1
| |
| * Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-061-1/+10
| |\
| * | Adding is_guest here won't work because it just constructs a dict of uid -> ↵David Baker2016-01-061-1/+1
| | | | | | | | | | | | password hash
| * | Delete notifications for redacted eventsDavid Baker2016-01-061-0/+12
| | |
| * | Add schema change file for is_guest flagDavid Baker2016-01-061-0/+22
| | |
| * | Add is_guest flag to users db to track whether a user is a guest user or ↵David Baker2016-01-063-13/+31
| | | | | | | | | | | | not. Use this so we can run _filter_events_for_client when calculating event_push_actions.
| * | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-053-9/+39
| |\ \
| * | | = not == in sqlDavid Baker2016-01-041-1/+1
| | | |
| * | | Rename event-actions to event_push_actions as per PR requestDavid Baker2016-01-043-14/+14
| | | |
| * | | Address minor PR issuesDavid Baker2016-01-043-16/+4
| | | |
| * | | Insert push actions in a single db query rather than one per user/profile_tagDavid Baker2015-12-221-13/+18
| | | |
| * | | Add bulk push rule evaluator which actually still evaluates rules one by ↵David Baker2015-12-221-0/+41
| | | | | | | | | | | | | | | | one, but does far fewer db queries to fetch the rules
| * | | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2015-12-213-14/+81
| |\ \ \
| * | | | pep8David Baker2015-12-211-6/+6
| | | | |
| * | | | Make unread notification count sending work: put the correct count in ↵David Baker2015-12-181-9/+12
| | | | | | | | | | | | | | | | | | | | incremental syncs too, where necessary, and fix silly bugs like only select the event actions for that user...
| * | | | still very WIP, but now sends unread_notifications_count in the room object ↵David Baker2015-12-162-4/+54
| | | | | | | | | | | | | | | | | | | | on sync (only actually corrrect in a full sync: hardcoded to 0 in incremental syncs).
| * | | | Save event actions to the dbDavid Baker2015-12-103-0/+68
| | | | |
| * | | | Very first cut of calculating actions for events as they come in. Doesn't ↵David Baker2015-12-101-0/+12
| | | | | | | | | | | | | | | | | | | | store them yet. Not very efficient.
* | | | | copyrightsMatthew Hodgson2016-01-0785-85/+85
| |_|_|/ |/| | |
* | | | Log when we skip daily messagesDaniel Wagner-Hall2016-01-061-1/+10
| |_|/ |/| |
* | | Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-053-9/+39
| |/ |/|
* | Fix 500 error when back-paginating search resultsRichard van der Hoff2015-12-171-2/+4
| | | | | | | | | | We were mistakenly adding pagination clauses to the count query, which then failed because the count query doesn't join to the events table.
* | Merge branch 'release-v0.12.0' into developMark Haines2015-12-161-1/+1
|\ \
| * | Allow users to change which account a 3pid is bound toMark Haines2015-12-151-1/+1
| | |
* | | Merge branch 'release-v0.12.0' into developMark Haines2015-12-141-0/+5
|\| |
| * | Skip events that where the body, name or topic isn't a string when back ↵Mark Haines2015-12-141-0/+5
| | | | | | | | | | | | populating the FTS index
* | | Fix typoDaniel Wagner-Hall2015-12-141-1/+1
| | |
* | | Fix typo in sql for full text search on sqlite3Mark Haines2015-12-141-1/+1
| | |
* | | Merge branch 'release-v0.12.0' into developMark Haines2015-12-121-4/+7
|\| |
| * | Add caches for whether a room has been forgotten by a userMark Haines2015-12-101-4/+7
| |/
* | Include approximate count of search resultsErik Johnston2015-12-111-2/+54
| |
* | Use more efficient query formErik Johnston2015-12-111-8/+13
|/
* Track the time spent in the database per request.Mark Haines2015-12-072-3/+8
| | | | and track the number of transactions that request started.
* Bump schema version.Mark Haines2015-12-045-24/+37
| | | | As we released version 26 in v0.11.1
* Merge pull request #414 from matrix-org/erikj/if_not_existsErik Johnston2015-12-031-1/+1
|\ | | | | Older versions of SQLite don't like IF NOT EXISTS in virtual tables
| * Older versions of SQLite don't like IF NOT EXISTS in virtual tablesErik Johnston2015-12-021-1/+1
| |
* | Just replace the table definition with the one from full_schema 16David Baker2015-12-021-11/+10
| |
* | Fix schema delta 15 on postgres in the very unlikley event that anyone ↵David Baker2015-12-021-1/+1
| | | | | | | | upgrades to 15...
* | Merge pull request #412 from matrix-org/erikj/searchErik Johnston2015-12-021-11/+36
|\ \ | |/ |/| Search: Add prefix matching support
| * Throw if unrecognized DB typeErik Johnston2015-12-021-1/+4
| |
| * Fix so highlight matching works againErik Johnston2015-12-021-8/+13
| |
| * Remove deuplication. Add comment about regex.Erik Johnston2015-12-021-21/+11
| |
| * Search: Add prefix matching supportErik Johnston2015-12-021-5/+32
| |
* | Add API for setting account_data globaly or on a per room basisMark Haines2015-12-014-2/+238
|/
* Allow paginating search ordered by recentsErik Johnston2015-11-303-16/+159
|
* Return words to highlight in search resultsErik Johnston2015-11-271-19/+104
|
* Fix SQL for postgres againDaniel Wagner-Hall2015-11-231-1/+1
|
* Fix SQL for postgresDaniel Wagner-Hall2015-11-231-1/+1
|
* Remove size specifier for database columnDaniel Wagner-Hall2015-11-231-1/+3
| | | | | | Postgres doesn't support them like this. We don't have a bool type in common between postgres and sqlite.
* Merge branch 'daniel/forgetrooms' of github.com:matrix-org/synapse into ↵Daniel Wagner-Hall2015-11-192-9/+26
|\ | | | | | | daniel/forgetrooms
| * Merge branch 'develop' into daniel/forgetroomsPaul "LeoNerd" Evans2015-11-192-9/+26
| |\
| | * Rename the database tableMark Haines2015-11-181-0/+17
| | |
| | * s/private_user_data/account_data/Mark Haines2015-11-182-10/+10
| | |
* | | Ignore forgotten rooms in v2 syncDaniel Wagner-Hall2015-11-191-1/+1
|/ /
* | Simplify codeDaniel Wagner-Hall2015-11-191-7/+5
| |
* | Apply forgetting properly to historical eventsDaniel Wagner-Hall2015-11-181-2/+32
| |
* | Allow users to forget roomsDaniel Wagner-Hall2015-11-173-1/+61
|/
* Implementation of state rollback in /syncRichard van der Hoff2015-11-131-2/+4
| | | | | | | Implementation of SPEC-254: roll back the state dictionary to how it looked at the start of the timeline. Merged PR https://github.com/matrix-org/synapse/pull/373
* Fix a few race conditions in the state calculationRichard van der Hoff2015-11-131-0/+14
| | | | | | | | | | | | | | | | | | | Be a bit more careful about how we calculate the state to be returned by /sync. In a few places, it was possible for /sync to return slightly later state than that represented by the next_batch token and the timeline. In particular, the following cases were susceptible: * On a full state sync, for an active room * During a per-room incremental sync with a timeline gap * When the user has just joined a room. (Refactor check_joined_room to make it less magical) Also, use store.get_state_for_events() (and thus the existing stategroups) to calculate the state corresponding to a particular sync position, rather than state_handler.compute_event_context(), which recalculates from first principles (and tends to miss some state). Merged from PR https://github.com/matrix-org/synapse/pull/372
* Trailing whitespaceErik Johnston2015-11-121-1/+1
|
* Expand commentErik Johnston2015-11-121-0/+6
|
* CommentErik Johnston2015-11-121-0/+2
|
* Fix SQL syntaxErik Johnston2015-11-121-2/+3
|
* Use a (hopefully) more efficient SQL query for doing recency based room searchErik Johnston2015-11-121-4/+6
|
* Fix bug where assumed dict was namedtupleErik Johnston2015-11-121-1/+1
|
* Merge pull request #359 from matrix-org/markjh/incremental_indexingErik Johnston2015-11-114-77/+404
|\ | | | | Incremental background updates for db indexes
| * Fix param style to work on both sqlite and postgresMark Haines2015-11-111-2/+6
| |
| * Fix the background updateMark Haines2015-11-113-17/+19
| |
| * Use a background task to update databases to use the full text searchMark Haines2015-11-102-80/+28
| |
| * Run the background updates when starting synapse.Mark Haines2015-11-102-10/+58
| |
| * Add background update task for reindexing event searchMark Haines2015-11-091-2/+96
| |
| * Add storage module for tracking background updates.Mark Haines2015-11-092-0/+231
| | | | | | | | | | | | | | The progress for each background update is stored as a JSON blob in the database. Each background update is broken up into separate batches. The batch size is automatically tuned to try avoid blocking single threaded databases for too long.