diff options
| author | Samantaz Fox <coding@samantaz.fr> | 2022-01-26 17:30:54 +0100 |
|---|---|---|
| committer | Samantaz Fox <coding@samantaz.fr> | 2022-01-26 17:31:01 +0100 |
| commit | 67dd2b419a28510e6d89991e86e5d0aa97cac273 (patch) | |
| tree | 9d18026f2b9cf256be13d0704ba8b110b1fdfafc | |
| parent | ce4a52325b6ed77a9829d46621808ec147e7e7c2 (diff) | |
| download | invidious-67dd2b419a28510e6d89991e86e5d0aa97cac273.tar.gz invidious-67dd2b419a28510e6d89991e86e5d0aa97cac273.tar.bz2 invidious-67dd2b419a28510e6d89991e86e5d0aa97cac273.zip | |
db: use prepared statements rather than crafted argument list
| -rw-r--r-- | src/invidious/database/channels.cr | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/invidious/database/channels.cr b/src/invidious/database/channels.cr index e35b981d..df44e485 100644 --- a/src/invidious/database/channels.cr +++ b/src/invidious/database/channels.cr @@ -77,14 +77,13 @@ module Invidious::Database::Channels def select(ids : Array(String)) : Array(InvidiousChannel)? return [] of InvidiousChannel if ids.empty? - values = ids.map { |id| %(('#{id}')) }.join(",") request = <<-SQL SELECT * FROM channels - WHERE id = ANY(VALUES #{values}) + WHERE id = ANY($1) SQL - return PG_DB.query_all(request, as: InvidiousChannel) + return PG_DB.query_all(request, ids, as: InvidiousChannel) end end @@ -127,11 +126,11 @@ module Invidious::Database::ChannelVideos request = <<-SQL SELECT * FROM channel_videos - WHERE id IN (#{arg_array(ids)}) + WHERE id = ANY($1) ORDER BY published DESC SQL - return PG_DB.query_all(request, args: ids, as: ChannelVideo) + return PG_DB.query_all(request, ids, as: ChannelVideo) end def select_notfications(ucid : String, since : Time) : Array(ChannelVideo) |
