Erik Johnston
|
656223fbd3
|
Actually, we probably want to run this in a transaction
|
2015-05-14 14:26:35 +01:00 |
|
Erik Johnston
|
2f7f8e1c2b
|
Preemptively jump into a transaction if we ask for get_prev_content
|
2015-05-14 14:17:36 +01:00 |
|
Erik Johnston
|
e1e9f0c5b2
|
loop -> gatherResults
|
2015-05-14 13:58:49 +01:00 |
|
Erik Johnston
|
ab78a8926e
|
Err, we probably want a bigger limit
|
2015-05-14 13:47:16 +01:00 |
|
Erik Johnston
|
f6f902d459
|
Move fetching of events into their own transactions
|
2015-05-14 13:45:48 +01:00 |
|
Erik Johnston
|
cdb3757942
|
Refactor _get_events
|
2015-05-14 13:31:55 +01:00 |
|
Erik Johnston
|
36ea26c5c0
|
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/perf
|
2015-05-14 12:01:38 +01:00 |
|
David Baker
|
7c549dd557
|
Add ID generator for push_rules_enable to #resolve SYN-378
|
2015-05-14 11:44:03 +01:00 |
|
Mark Haines
|
899d4675dd
|
Merge branch 'notifier_unify' into notifier_performance
|
2015-05-14 11:36:44 +01:00 |
|
Erik Johnston
|
4f1d984e56
|
Add index on events
|
2015-05-13 17:22:26 +01:00 |
|
Erik Johnston
|
968b01a91a
|
Actually use async method
|
2015-05-13 17:02:46 +01:00 |
|
Erik Johnston
|
4071f29653
|
Fetch events from events_id in their own transactions
|
2015-05-13 16:59:41 +01:00 |
|
Erik Johnston
|
a988361aea
|
Typo
|
2015-05-13 15:44:15 +01:00 |
|
Erik Johnston
|
8888982db3
|
Don't insert None
|
2015-05-13 15:43:32 +01:00 |
|
Erik Johnston
|
cf706cc6ef
|
Don't return None
|
2015-05-13 15:31:25 +01:00 |
|
Erik Johnston
|
5971d240d4
|
Limit batch size
|
2015-05-13 15:26:49 +01:00 |
|
Erik Johnston
|
ca4f458787
|
Fetch events in bulk
|
2015-05-13 15:13:42 +01:00 |
|
Erik Johnston
|
6edff11a88
|
Don't fetch redaction and rejection stuff for each event, so we can use index only scan
|
2015-05-13 14:39:05 +01:00 |
|
Mark Haines
|
63878c0379
|
Don't bother checking for updates if the stream token hasn't advanced for a user
|
2015-05-13 13:42:21 +01:00 |
|
Erik Johnston
|
02590c3e1d
|
Temp turn off checking for rejections and redactions
|
2015-05-13 11:31:28 +01:00 |
|
Erik Johnston
|
619a21812b
|
defer.gatherResults loop
|
2015-05-13 11:29:03 +01:00 |
|
Erik Johnston
|
fec4485e28
|
Batch fetching of events for state groups
|
2015-05-13 11:22:42 +01:00 |
|
Erik Johnston
|
409bcc76bd
|
Load events for state group seperately
|
2015-05-13 11:13:31 +01:00 |
|
Erik Johnston
|
e122685978
|
You need to call contextmanager
|
2015-05-12 16:12:37 +01:00 |
|
Mark Haines
|
a6fb2aa2a5
|
Merge pull request #144 from matrix-org/erikj/logging_context
Preserving logging contexts
|
2015-05-12 15:23:50 +01:00 |
|
Mark Haines
|
1fce36b111
|
Merge pull request #149 from matrix-org/erikj/backfill
Backfill support
|
2015-05-12 15:20:32 +01:00 |
|
Erik Johnston
|
8b28209c60
|
Err, delete the right stuff
|
2015-05-12 15:02:53 +01:00 |
|
Erik Johnston
|
30c72d377e
|
Newlines
|
2015-05-12 14:47:40 +01:00 |
|
Erik Johnston
|
e4eddf9b36
|
We do actually want to delete rows out of event_backward_extremities
|
2015-05-12 14:47:23 +01:00 |
|
Erik Johnston
|
c1779a79bc
|
Fix up _handle_prev_events to not try to insert duplicate rows
|
2015-05-12 14:41:50 +01:00 |
|
Erik Johnston
|
74850d7f75
|
Do state groups persistence /after/ checking if we have already persisted the event
|
2015-05-12 14:14:58 +01:00 |
|
Erik Johnston
|
da6a7bbdde
|
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/logging_context
|
2015-05-12 13:10:42 +01:00 |
|
Mark Haines
|
5002056b16
|
SYN-377: Make sure that the StreamIdGenerator.get_next.__exit__ is called from the main thread after the transaction completes, not from database thread before the transaction completes.
|
2015-05-12 11:20:40 +01:00 |
|
Erik Johnston
|
4df11b5039
|
Make get_current_token accept a direction parameter, which tells whether the source whether we want a token for going 'forwards' or 'backwards'
|
2015-05-12 10:28:10 +01:00 |
|
Erik Johnston
|
84e6b4001f
|
Initial hack at wiring together pagination and backfill
|
2015-05-11 18:01:31 +01:00 |
|
Erik Johnston
|
17653a5dfe
|
Move storage.stream._StreamToken to types.RoomStreamToken
|
2015-05-11 18:01:01 +01:00 |
|
Erik Johnston
|
b036596b75
|
Prefer to use _simple_*.
|
2015-05-11 11:24:01 +01:00 |
|
Erik Johnston
|
cd525c0f5a
|
push_rules table expects an 'id' field
|
2015-05-11 11:24:01 +01:00 |
|
Erik Johnston
|
22d2f498fa
|
Fix push rule bug: can't insert bool into small int column
|
2015-05-10 10:50:51 +01:00 |
|
Erik Johnston
|
476899295f
|
Change the way we do logging contexts so that they survive divergences
|
2015-05-08 16:32:18 +01:00 |
|
Mark Haines
|
1c7912751e
|
Drop the old table not the new table
|
2015-05-08 16:04:32 +01:00 |
|
Mark Haines
|
9d36eb4eab
|
Rename unique constraint
|
2015-05-08 16:01:55 +01:00 |
|
Mark Haines
|
b0f71db3ff
|
Remove unsigned
|
2015-05-08 15:59:51 +01:00 |
|
Mark Haines
|
84e1cacea4
|
Bump schema version
|
2015-05-08 15:58:14 +01:00 |
|
Mark Haines
|
6538d445e8
|
Make the timestamps in server_keys_json bigints
|
2015-05-08 15:55:17 +01:00 |
|
Erik Johnston
|
0c4ac271ca
|
Merge branch 'erikj/executemany' of github.com:matrix-org/synapse into erikj/SYN-371
|
2015-05-05 18:21:19 +01:00 |
|
Erik Johnston
|
0cf7e480b4
|
And use buffer(...) there as well
|
2015-05-05 18:20:01 +01:00 |
|
Erik Johnston
|
ed2584050f
|
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/executemany
|
2015-05-05 18:15:20 +01:00 |
|
Erik Johnston
|
977338a7af
|
Use buffer(...) when inserting into bytea column
|
2015-05-05 18:12:53 +01:00 |
|
Mark Haines
|
31049c4d72
|
Merge pull request #139 from matrix-org/bugs/SYN-369
Fix race with cache invalidation. SYN-369
|
2015-05-05 17:46:13 +01:00 |
|
Mark Haines
|
deb0237166
|
Add some doc-string
|
2015-05-05 17:45:11 +01:00 |
|
Mark Haines
|
d18f37e026
|
Collect the invalidate callbacks on the transaction object rather than passing around a separate list
|
2015-05-05 17:32:21 +01:00 |
|
Erik Johnston
|
9951542393
|
Add a comment about the zip(*[zip(sorted(...),...)])
|
2015-05-05 17:06:55 +01:00 |
|
Mark Haines
|
041b6cba61
|
SYN-369: Add comments to the sequence number logic in the cache
|
2015-05-05 16:32:44 +01:00 |
|
Mark Haines
|
63075118a5
|
Add debug flag in synapse/storage/_base.py for debugging the cache logic by comparing what is in the cache with what was in the database on every access
|
2015-05-05 16:24:04 +01:00 |
|
Erik Johnston
|
531d7955fd
|
Don't insert without deduplication. In this case we never actually use this table, so simply remove the insert entirely
|
2015-05-05 16:12:28 +01:00 |
|
Mark Haines
|
bfa4a7f8b0
|
Invalidate the room_member cache if the current state events updates
|
2015-05-05 15:43:49 +01:00 |
|
Mark Haines
|
d0fece8d3c
|
Missing return for when the event was already persisted
|
2015-05-05 15:39:09 +01:00 |
|
Erik Johnston
|
bdcd7693c8
|
Fix indentation
|
2015-05-05 15:14:48 +01:00 |
|
Erik Johnston
|
43c2e8deae
|
Add support for using executemany
|
2015-05-05 15:13:25 +01:00 |
|
Erik Johnston
|
1692dc019d
|
Don't call 'encode_parameter' no-op
|
2015-05-05 15:00:30 +01:00 |
|
Mark Haines
|
a9aea68fd5
|
Invalidate the caches from the correct thread
|
2015-05-05 14:57:08 +01:00 |
|
Mark Haines
|
261d809a47
|
Sequence the modifications to the cache so that selects don't race with inserts
|
2015-05-05 14:13:50 +01:00 |
|
Erik Johnston
|
d9cc5de9e5
|
Correctly name transaction
|
2015-05-05 10:24:10 +01:00 |
|
Erik Johnston
|
b8940cd902
|
Remove some unused indexes
|
2015-05-01 16:14:25 +01:00 |
|
David Baker
|
eb9bd2d949
|
user_id now in user_threepids
|
2015-05-01 15:04:37 +01:00 |
|
David Baker
|
9eeb03c0dd
|
Don't use self.execute: it's designed for fetching stuff
|
2015-05-01 14:21:25 +01:00 |
|
David Baker
|
7693f24792
|
No id field on user
|
2015-05-01 13:55:42 +01:00 |
|
David Baker
|
92b20713d7
|
More missed get_user_by_id API changes
|
2015-05-01 13:45:54 +01:00 |
|
Erik Johnston
|
4011cf1c42
|
Cache latest_event_ids_in_room
|
2015-05-01 13:06:26 +01:00 |
|
Erik Johnston
|
657298cebd
|
Don't lock user_ips table for upsert.
|
2015-05-01 10:46:48 +01:00 |
|
Erik Johnston
|
fabb7acd45
|
Fix bug where we reconnected to the database on every query.
|
2015-05-01 10:24:24 +01:00 |
|
Erik Johnston
|
23c639ff32
|
Split a storage function in two so that we don't have to do extra work.
|
2015-05-01 10:17:19 +01:00 |
|
Erik Johnston
|
8be5284e91
|
Remove pointless join
|
2015-04-30 18:49:26 +01:00 |
|
Erik Johnston
|
503e4d3d52
|
Fix broken SQL
|
2015-04-30 18:44:47 +01:00 |
|
Erik Johnston
|
00718ae7a9
|
Need more yield
|
2015-04-30 18:43:39 +01:00 |
|
Erik Johnston
|
0465560c1a
|
Add missing param
|
2015-04-30 18:42:44 +01:00 |
|
Erik Johnston
|
61d05daab1
|
More join conditions
|
2015-04-30 18:41:05 +01:00 |
|
Erik Johnston
|
6ead27ddda
|
Add more conditions on JOINs to make postgres go a little faster.
|
2015-04-30 18:32:03 +01:00 |
|
Erik Johnston
|
f383d5a801
|
Fix up get_current_state and get_room_name_and_aliases queries to parse events in transaction
|
2015-04-30 17:12:52 +01:00 |
|
Erik Johnston
|
69d4063651
|
Add get_rooms_for_user cache
|
2015-04-30 16:47:51 +01:00 |
|
Erik Johnston
|
3c4c229788
|
Don't use sub queries, it makes postgres sad
|
2015-04-30 16:16:53 +01:00 |
|
Mark Haines
|
29400b45b9
|
SYN-367: Use upsert rather than insert_or_replace
|
2015-04-30 15:21:31 +01:00 |
|
Erik Johnston
|
2366d28780
|
Don't needlessly join on state_events
|
2015-04-30 14:02:06 +01:00 |
|
Erik Johnston
|
1d7702833d
|
Make simple query rather than long one and then throw away half the results
|
2015-04-30 10:16:12 +01:00 |
|
Erik Johnston
|
b1ca784aca
|
Correctly decode, for sqlite and postgres, rows from pushers table
|
2015-04-29 19:41:14 +01:00 |
|
Erik Johnston
|
4a9dc5b2f5
|
pushkey' are also bytes.
|
2015-04-29 19:27:02 +01:00 |
|
Erik Johnston
|
0ade2712d1
|
Typo
|
2015-04-29 19:17:25 +01:00 |
|
Erik Johnston
|
50f96f256f
|
Also remove yield from within lock in the other generator
|
2015-04-29 19:17:00 +01:00 |
|
Erik Johnston
|
d2d61a8288
|
Fix deadlock in id_generators. No idea why this was an actual deadlock.
|
2015-04-29 19:15:23 +01:00 |
|
Erik Johnston
|
3864b3a8e6
|
Actually return rows
|
2015-04-29 18:07:36 +01:00 |
|
Erik Johnston
|
0618978238
|
Typo, args wrong way round
|
2015-04-29 18:04:35 +01:00 |
|
Erik Johnston
|
09177f4f2e
|
Decode buffers in same thread
|
2015-04-29 18:03:42 +01:00 |
|
Erik Johnston
|
472be88674
|
We store pusher data as bytes
|
2015-04-29 17:43:46 +01:00 |
|
David Baker
|
12d381bd5d
|
Decode the data json in the storage layer (was moved but this part was missed)
|
2015-04-29 17:13:51 +01:00 |
|
David Baker
|
f8c30faf25
|
Oops, update the contraint too
|
2015-04-29 16:58:42 +01:00 |
|
David Baker
|
61cd5d9045
|
Be more postgressive
|
2015-04-29 16:57:14 +01:00 |
|
David Baker
|
fb95035a65
|
Be postgressive
|
2015-04-29 16:53:41 +01:00 |
|
David Baker
|
4669def000
|
Oops, forgot the schema delta file
|
2015-04-29 16:50:16 +01:00 |
|
Erik Johnston
|
0337eaf321
|
txn.execute doesn't return cursors
|
2015-04-29 16:43:39 +01:00 |
|