Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								132b673dbe 
								
									
								
							
								 
							
						 
						
							
							
								
								Add some type annotations in `synapse.storage` ( #6987 )  
							
							 
							
							... 
							
							
							
							I cracked, and added some type definitions in synapse.storage. 
							
						 
						
							2020-02-27 11:53:40 +00:00  
						
					 
				
					
						
							
							
								 
								Uday Bansal
							
						 
						
							 
							
							
								
								
							
							
								
							
								7728d87fd7 
								
									
								
							
								 
							
						 
						
							
							
								
								Updated warning for incorrect database collation/ctype ( #6985 )  
							
							 
							
							... 
							
							
							
							Signed-off-by: Uday Bansal <43824981+udaybansal19@users.noreply.github.com> 
							
						 
						
							2020-02-26 15:17:03 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								02b44db922 
								
									
								
							
								 
							
						 
						
							
							
								
								Warn if postgres database has non-C locale. ( #6734 )  
							
							 
							
							... 
							
							
							
							As using non-C locale can cause issues on upgrading OS. 
							
						 
						
							2020-01-28 13:44:21 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								bf46821180 
								
							
								 
							
						 
						
							
							
								
								Refuse to start if sqlite is older than 3.11.0  
							
							 
							
							
							
						 
						
							2020-01-09 18:11:04 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								e48ba84e0b 
								
							
								 
							
						 
						
							
							
								
								Check postgres version in check_database  
							
							 
							
							... 
							
							
							
							this saves doing it on each connection, and will allow us to pass extra options
in. 
							
						 
						
							2020-01-09 18:05:59 +00:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								e97d1cf001 
								
							
								 
							
						 
						
							
							
								
								Modify check_database to take a connection rather than a cursor  
							
							 
							
							... 
							
							
							
							We might not need the cursor at all. 
							
						 
						
							2020-01-09 18:05:50 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								2284eb3a53 
								
									
								
							
								 
							
						 
						
							
							
								
								Add database config class ( #6513 )  
							
							 
							
							... 
							
							
							
							This encapsulates config for a given database and is the way to get new
connections. 
							
						 
						
							2019-12-18 10:45:12 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								83d86106a8 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #6156  from matrix-org/erikj/postgres_any  
							
							 
							
							... 
							
							
							
							Use Postgres ANY for selecting many values. 
							
						 
						
							2019-10-10 16:41:36 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								afb6d9d53b 
								
							
								 
							
						 
						
							
							
								
								Fix SQLite  
							
							 
							
							
							
						 
						
							2019-10-10 15:55:41 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								3bc687508f 
								
							
								 
							
						 
						
							
							
								
								Remove add_in_list_sql_clause  
							
							 
							
							
							
						 
						
							2019-10-10 15:35:46 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1d3858371e 
								
							
								 
							
						 
						
							
							
								
								Disable bytes usage with postgres  
							
							 
							
							... 
							
							
							
							More often than not passing bytes to `txn.execute` is a bug (where we
meant to pass a string) that just happens to work if `BYTEA_OUTPUT` is
set to `ESCAPE`. However, this is a bit of a footgun so we want to
instead error when this happens, and force using `bytearray` if we
actually want to use bytes. 
							
						 
						
							2019-10-08 16:28:57 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								9267741a5f 
								
							
								 
							
						 
						
							
							
								
								Fix `devices_last_seen` background update.  
							
							 
							
							... 
							
							
							
							Fixes  #6134 . 
							
						 
						
							2019-09-30 11:58:36 +01:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							 
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								eba7caf09f 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove Postgres 9.4 support ( #5448 )  
							
							 
							
							
							
						 
						
							2019-06-18 00:59:00 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								7efd1d87c2 
								
							
								 
							
						 
						
							
							
								
								Run black on the rest of the storage module ( #4996 )  
							
							 
							
							
							
						 
						
							2019-04-03 10:07:29 +01:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
								
								
							
							
								
							
								f191be822b 
								
									
								
							
								 
							
						 
						
							
							
								
								Add database version to phonehome stats. ( #4753 )  
							
							 
							
							
							
						 
						
							2019-02-27 10:21:49 +00:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								7072fe3084 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix UPSERTs on SQLite 3.24+ ( #4477 )  
							
							 
							
							
							
						 
						
							2019-01-28 15:43:32 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								431e485914 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sqlite_native_upsert  
							
							 
							
							
							
						 
						
							2019-01-25 14:11:17 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Morgan
							
						 
						
							 
							
							
							
								
							
								0b3fd1401f 
								
							
								 
							
						 
						
							
							
								
								Don't require sqlite3 when using postgres ( #4466 )  
							
							 
							
							
							
						 
						
							2019-01-25 22:25:02 +11:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1953067136 
								
							
								 
							
						 
						
							
							
								
								Disable native upserts for sqlite, as they don't work  
							
							 
							
							
							
						 
						
							2019-01-25 10:46:49 +00:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								58f6c48183 
								
									
								
							
								 
							
						 
						
							
							
								
								Use native UPSERTs where possible ( #4306 )  
							
							 
							
							
							
						 
						
							2019-01-24 21:31:54 +11:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
								
								
							
							
								
							
								14e4d4f4bf 
								
									
								
							
								 
							
						 
						
							
							
								
								Port storage/ to Python 3 ( #3725 )  
							
							 
							
							
							
						 
						
							2018-08-31 00:19:58 +10:00  
						
					 
				
					
						
							
							
								 
								Amber Brown
							
						 
						
							 
							
							
							
								
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							 
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
						
					 
				
					
						
							
							
								 
								Richard van der Hoff
							
						 
						
							 
							
							
							
								
							
								d1e56cfcd1 
								
							
								 
							
						 
						
							
							
								
								Fix pep8 error on psycopg2cffi hack  
							
							 
							
							
							
						 
						
							2018-04-10 11:35:29 +02:00  
						
					 
				
					
						
							
							
								 
								Vincent Breitmoser
							
						 
						
							 
							
							
							
								
							
								89de934981 
								
							
								 
							
						 
						
							
							
								
								Use psycopg2cffi module instead of psycopg2 if running on pypy  
							
							 
							
							... 
							
							
							
							The psycopg2 package isn't available for PyPy.  This commit adds a check
if the runtime is PyPy, and if it is uses psycopg2cffi module in favor
of psycopg2. This is almost a drop-in replacement, except for one place
where an additional cast to string is required. 
							
						 
						
							2018-04-10 11:29:52 +02:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
								
								
							
							
								
							
								3d33eef6fc 
								
									
								
							
								 
							
						 
						
							
							
								
								Store state groups separately from events ( #2784 )  
							
							 
							
							... 
							
							
							
							* Split state group persist into seperate storage func
* Add per database engine code for state group id gen
* Move store_state_group to StateReadStore
This allows other workers to use it, and so resolve state.
* Hook up store_state_group
* Fix tests
* Rename _store_mult_state_groups_txn
* Rename StateGroupReadStore
* Remove redundant _have_persisted_state_group_txn
* Update comments
* Comment compute_event_context
* Set start val for state_group_id_seq
... otherwise we try to recreate old state groups
* Update comments
* Don't store state for outliers
* Update comment
* Update docstring as state groups are ints 
							
						 
						
							2018-02-06 14:31:24 +00:00  
						
					 
				
					
						
							
							
								 
								Mark Haines
							
						 
						
							 
							
							
							
								
							
								d5fb561709 
								
							
								 
							
						 
						
							
							
								
								Optionally make committing to postgres asynchronous.  
							
							 
							
							... 
							
							
							
							Useful when running tests when you don't care whether the server
will lose data that it claims that it has committed. 
							
						 
						
							2016-06-20 17:53:38 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								8aab9d87fa 
								
							
								 
							
						 
						
							
							
								
								Don't require config to create database  
							
							 
							
							
							
						 
						
							2016-04-06 14:15:45 +01:00  
						
					 
				
					
						
							
							
								 
								Daniel Wagner-Hall
							
						 
						
							 
							
							
							
								
							
								763360594d 
								
							
								 
							
						 
						
							
							
								
								Mark AS users with their AS's ID  
							
							 
							
							
							
						 
						
							2016-02-11 17:26:42 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Wagner-Hall
							
						 
						
							 
							
							
							
								
							
								d83d004ccd 
								
							
								 
							
						 
						
							
							
								
								Fix flake8 warnings for new flake8  
							
							 
							
							
							
						 
						
							2016-02-02 17:18:50 +00:00  
						
					 
				
					
						
							
							
								 
								Matthew Hodgson
							
						 
						
							 
							
							
							
								
							
								6c28ac260c 
								
							
								 
							
						 
						
							
							
								
								copyrights  
							
							 
							
							
							
						 
						
							2016-01-07 04:26:29 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								0c36098c1f 
								
							
								 
							
						 
						
							
							
								
								Implement rank function for SQLite FTS  
							
							 
							
							
							
						 
						
							2015-10-23 13:23:48 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								17c80c8a3d 
								
							
								 
							
						 
						
							
							
								
								rename schema_prepare to prepare_database  
							
							 
							
							
							
						 
						
							2015-10-13 13:56:22 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ec398af41c 
								
							
								 
							
						 
						
							
							
								
								Expose error more nicely  
							
							 
							
							
							
						 
						
							2015-10-13 11:43:43 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								40b6a5aad1 
								
							
								 
							
						 
						
							
							
								
								Split out the schema preparation and update logic into its own module  
							
							 
							
							
							
						 
						
							2015-10-13 11:38:48 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1d566edb81 
								
							
								 
							
						 
						
							
							
								
								Remove race condition  
							
							 
							
							
							
						 
						
							2015-05-14 16:54:35 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								1692dc019d 
								
							
								 
							
						 
						
							
							
								
								Don't call 'encode_parameter' no-op  
							
							 
							
							
							
						 
						
							2015-05-05 15:00:30 +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
							
						 
						
							 
							
							
							
								
							
								cd0864121b 
								
							
								 
							
						 
						
							
							
								
								Make postgres database error slightly more helpful  
							
							 
							
							
							
						 
						
							2015-04-29 12:12:25 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								4932a7e2d9 
								
							
								 
							
						 
						
							
							
								
								Use __all__ instead of assert to stop pyflakes from warning about unused import in __init__  
							
							 
							
							
							
						 
						
							2015-04-29 12:12:25 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								a08bf11138 
								
							
								 
							
						 
						
							
							
								
								Appease PEP8  
							
							 
							
							
							
						 
						
							2015-04-29 11:44:48 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								204132a998 
								
							
								 
							
						 
						
							
							
								
								Check that postgres database has correct charset set  
							
							 
							
							
							
						 
						
							2015-04-29 11:42:28 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								2732be83d9 
								
							
								 
							
						 
						
							
							
								
								Shuffle operations so that locking upsert happens last in the txn. This ensures the lock is held for the least amount of time possible.  
							
							 
							
							
							
						 
						
							2015-04-27 13:22:30 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e4c4664d73 
								
							
								 
							
						 
						
							
							
								
								Handle the fact that postgres databases can be restarted from under us  
							
							 
							
							
							
						 
						
							2015-04-27 12:40:49 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								e1c0970c11 
								
							
								 
							
						 
						
							
							
								
								PEP8  
							
							 
							
							
							
						 
						
							2015-04-16 11:18:45 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								b8092fbc82 
								
							
								 
							
						 
						
							
							
								
								Go back to storing JSON in TEXT  
							
							 
							
							
							
						 
						
							2015-04-16 11:17:52 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								ffad75bd62 
								
							
								 
							
						 
						
							
							
								
								Remove mysql/maria support  
							
							 
							
							
							
						 
						
							2015-04-15 17:00:50 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								c756dfeb14 
								
							
								 
							
						 
						
							
							
								
								Correctly identify deadlocks  
							
							 
							
							
							
						 
						
							2015-04-15 10:23:42 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								127fad17dd 
								
							
								 
							
						 
						
							
							
								
								Add postgres database engine  
							
							 
							
							
							
						 
						
							2015-04-14 14:50:29 +01:00  
						
					 
				
					
						
							
							
								 
								Erik Johnston
							
						 
						
							 
							
							
							
								
							
								58d8339966 
								
							
								 
							
						 
						
							
							
								
								Add support for postgres instead of mysql. Change sql accourdingly. blob + varbinary -> bytea. No support for UNSIGNED or CREATE INDEX IF NOT EXISTS.  
							
							 
							
							
							
						 
						
							2015-04-14 13:53:20 +01:00