mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 20:51:56 +00:00 
			
		
		
		
	Update DB calls for 0.31.0
This commit is contained in:
		| @@ -1396,7 +1396,7 @@ post "/login" do |env| | ||||
|       user_array[4] = user_array[4].to_json | ||||
|       args = arg_array(user_array) | ||||
|  | ||||
|       PG_DB.exec("INSERT INTO users VALUES (#{args})", user_array) | ||||
|       PG_DB.exec("INSERT INTO users VALUES (#{args})", args: user_array) | ||||
|       PG_DB.exec("INSERT INTO session_ids VALUES ($1, $2, $3)", sid, email, Time.utc) | ||||
|  | ||||
|       view_name = "subscriptions_#{sha256(user.email)}" | ||||
| @@ -2908,7 +2908,7 @@ post "/feed/webhook/:token" do |env| | ||||
|       PG_DB.exec("INSERT INTO channel_videos VALUES (#{args}) \ | ||||
|         ON CONFLICT (id) DO UPDATE SET title = $2, published = $3, \ | ||||
|         updated = $4, ucid = $5, author = $6, length_seconds = $7, \ | ||||
|         live_now = $8, premiere_timestamp = $9, views = $10", video_array) | ||||
|         live_now = $8, premiere_timestamp = $9, views = $10", args: video_array) | ||||
|  | ||||
|       # Update all users affected by insert | ||||
|       if emails.empty? | ||||
|   | ||||
| @@ -179,14 +179,14 @@ def get_channel(id, db, refresh = true, pull_all_videos = true) | ||||
|       args = arg_array(channel_array) | ||||
|  | ||||
|       db.exec("INSERT INTO channels VALUES (#{args}) \ | ||||
|         ON CONFLICT (id) DO UPDATE SET author = $2, updated = $3", channel_array) | ||||
|         ON CONFLICT (id) DO UPDATE SET author = $2, updated = $3", args: channel_array) | ||||
|     end | ||||
|   else | ||||
|     channel = fetch_channel(id, db, pull_all_videos: pull_all_videos) | ||||
|     channel_array = channel.to_a | ||||
|     args = arg_array(channel_array) | ||||
|  | ||||
|     db.exec("INSERT INTO channels VALUES (#{args})", channel_array) | ||||
|     db.exec("INSERT INTO channels VALUES (#{args})", args: channel_array) | ||||
|   end | ||||
|  | ||||
|   return channel | ||||
| @@ -275,7 +275,7 @@ def fetch_channel(ucid, db, pull_all_videos = true, locale = nil) | ||||
|     db.exec("INSERT INTO channel_videos VALUES (#{args}) \ | ||||
|       ON CONFLICT (id) DO UPDATE SET title = $2, published = $3, \ | ||||
|       updated = $4, ucid = $5, author = $6, length_seconds = $7, \ | ||||
|       live_now = $8, views = $10", video_array) | ||||
|       live_now = $8, views = $10", args: video_array) | ||||
|  | ||||
|     # Update all users affected by insert | ||||
|     if emails.empty? | ||||
| @@ -343,7 +343,7 @@ def fetch_channel(ucid, db, pull_all_videos = true, locale = nil) | ||||
|           db.exec("INSERT INTO channel_videos VALUES (#{args}) \ | ||||
|             ON CONFLICT (id) DO UPDATE SET title = $2, published = $3, \ | ||||
|             updated = $4, ucid = $5, author = $6, length_seconds = $7, \ | ||||
|             live_now = $8, views = $10", video_array) | ||||
|             live_now = $8, views = $10", args: video_array) | ||||
|  | ||||
|           # Update all users affected by insert | ||||
|           if emails.empty? | ||||
|   | ||||
| @@ -237,41 +237,3 @@ class HTTP::Client | ||||
|     response | ||||
|   end | ||||
| end | ||||
|  | ||||
| # https://github.com/will/crystal-pg/pull/171 | ||||
| class PG::Statement < ::DB::Statement | ||||
|   protected def perform_query(args : Enumerable) : ResultSet | ||||
|     params = args.map { |arg| PQ::Param.encode(arg) } | ||||
|     conn = self.conn | ||||
|     conn.send_parse_message(@sql) | ||||
|     conn.send_bind_message params | ||||
|     conn.send_describe_portal_message | ||||
|     conn.send_execute_message | ||||
|     conn.send_sync_message | ||||
|     conn.expect_frame PQ::Frame::ParseComplete | ||||
|     conn.expect_frame PQ::Frame::BindComplete | ||||
|     frame = conn.read | ||||
|     case frame | ||||
|     when PQ::Frame::RowDescription | ||||
|       fields = frame.fields | ||||
|     when PQ::Frame::NoData | ||||
|       fields = nil | ||||
|     else | ||||
|       raise "expected RowDescription or NoData, got #{frame}" | ||||
|     end | ||||
|     ResultSet.new(self, fields) | ||||
|   rescue IO::Error | ||||
|     raise DB::ConnectionLost.new(connection) | ||||
|   end | ||||
|  | ||||
|   protected def perform_exec(args : Enumerable) : ::DB::ExecResult | ||||
|     result = perform_query(args) | ||||
|     result.each { } | ||||
|     ::DB::ExecResult.new( | ||||
|       rows_affected: result.rows_affected, | ||||
|       last_insert_id: 0_i64 # postgres doesn't support this | ||||
|     ) | ||||
|   rescue IO::Error | ||||
|     raise DB::ConnectionLost.new(connection) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -107,7 +107,7 @@ def get_user(sid, headers, db, refresh = true) | ||||
|       args = arg_array(user_array) | ||||
|  | ||||
|       db.exec("INSERT INTO users VALUES (#{args}) \ | ||||
|       ON CONFLICT (email) DO UPDATE SET updated = $1, subscriptions = $3", user_array) | ||||
|       ON CONFLICT (email) DO UPDATE SET updated = $1, subscriptions = $3", args: user_array) | ||||
|  | ||||
|       db.exec("INSERT INTO session_ids VALUES ($1,$2,$3) \ | ||||
|       ON CONFLICT (id) DO NOTHING", sid, user.email, Time.utc) | ||||
| @@ -126,7 +126,7 @@ def get_user(sid, headers, db, refresh = true) | ||||
|     args = arg_array(user.to_a) | ||||
|  | ||||
|     db.exec("INSERT INTO users VALUES (#{args}) \ | ||||
|     ON CONFLICT (email) DO UPDATE SET updated = $1, subscriptions = $3", user_array) | ||||
|     ON CONFLICT (email) DO UPDATE SET updated = $1, subscriptions = $3", args: user_array) | ||||
|  | ||||
|     db.exec("INSERT INTO session_ids VALUES ($1,$2,$3) \ | ||||
|     ON CONFLICT (id) DO NOTHING", sid, user.email, Time.utc) | ||||
| @@ -295,7 +295,7 @@ def get_subscription_feed(db, user, max_results = 40, page = 1) | ||||
|  | ||||
|     args = arg_array(notifications) | ||||
|  | ||||
|     notifications = db.query_all("SELECT * FROM channel_videos WHERE id IN (#{args}) ORDER BY published DESC", notifications, as: ChannelVideo) | ||||
|     notifications = db.query_all("SELECT * FROM channel_videos WHERE id IN (#{args}) ORDER BY published DESC", args: notifications, as: ChannelVideo) | ||||
|     videos = [] of ChannelVideo | ||||
|  | ||||
|     notifications.sort_by! { |video| video.published }.reverse! | ||||
|   | ||||
| @@ -900,7 +900,7 @@ def get_video(id, db, refresh = true, region = nil, force_refresh = false) | ||||
|         db.exec("UPDATE videos SET (info,updated,title,views,likes,dislikes,wilson_score,\ | ||||
|           published,description,language,author,ucid,allowed_regions,is_family_friendly,\ | ||||
|           genre,genre_url,license,sub_count_text,author_thumbnail)\ | ||||
|           = (#{args}) WHERE id = $1", video_array) | ||||
|           = (#{args}) WHERE id = $1", args: video_array) | ||||
|       rescue ex | ||||
|         db.exec("DELETE FROM videos * WHERE id = $1", id) | ||||
|         raise ex | ||||
| @@ -913,7 +913,7 @@ def get_video(id, db, refresh = true, region = nil, force_refresh = false) | ||||
|     args = arg_array(video_array) | ||||
|  | ||||
|     if !region | ||||
|       db.exec("INSERT INTO videos VALUES (#{args}) ON CONFLICT (id) DO NOTHING", video_array) | ||||
|       db.exec("INSERT INTO videos VALUES (#{args}) ON CONFLICT (id) DO NOTHING", args: video_array) | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Omar Roth
					Omar Roth