fix(users/Profpatsch/whatcd-resolver): store seeding_weight
Generated columns!! This reduces the query time for distinct on somewhat! Change-Id: Ic004d327b719a9f44a224ec87709992ce3d8f160 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11676 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
		
							parent
							
								
									b54ad3e580
								
							
						
					
					
						commit
						87d806c20f
					
				
					 1 changed files with 4 additions and 3 deletions
				
			
		|  | @ -652,6 +652,9 @@ migrate = inSpan "Database Migration" $ do | |||
|     END; | ||||
|     $$ LANGUAGE plpgsql IMMUTABLE; | ||||
| 
 | ||||
|     ALTER TABLE redacted.torrents_json | ||||
|     ADD COLUMN IF NOT EXISTS seeding_weight int GENERATED ALWAYS AS (calc_seeding_weight(full_json_result)) STORED; | ||||
| 
 | ||||
|     -- inflect out values of the full json | ||||
|     CREATE OR REPLACE VIEW redacted.torrents AS | ||||
|     SELECT | ||||
|  | @ -659,14 +662,12 @@ migrate = inSpan "Database Migration" $ do | |||
|       t.torrent_id, | ||||
|       t.torrent_group, | ||||
|       -- the seeding weight is used to find the best torrent in a group. | ||||
|       calc_seeding_weight(t.full_json_result) AS seeding_weight, | ||||
|       t.seeding_weight, | ||||
|       t.full_json_result, | ||||
|       t.torrent_file, | ||||
|       t.transmission_torrent_hash | ||||
|     FROM redacted.torrents_json t; | ||||
| 
 | ||||
|     -- make sure we store the results | ||||
|     CREATE INDEX IF NOT EXISTS redacted_torrents_json_seeding_weight ON redacted.torrents_json (calc_seeding_weight(full_json_result)); | ||||
| 
 | ||||
|     CREATE INDEX IF NOT EXISTS torrents_json_seeding ON redacted.torrents_json(((full_json_result->'seeding')::integer)); | ||||
|     CREATE INDEX IF NOT EXISTS torrents_json_snatches ON redacted.torrents_json(((full_json_result->'snatches')::integer)); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue