|
|
@ -129,6 +129,14 @@ def refresh_feeds(db, logger, max_threads = 1)
|
|
|
|
active_threads += 1
|
|
|
|
active_threads += 1
|
|
|
|
spawn do
|
|
|
|
spawn do
|
|
|
|
begin
|
|
|
|
begin
|
|
|
|
|
|
|
|
db.query("SELECT * FROM #{view_name} LIMIT 1") do |rs|
|
|
|
|
|
|
|
|
# View doesn't contain same number of rows as ChannelVideo
|
|
|
|
|
|
|
|
if ChannelVideo.from_rs(rs)[0]?.try &.to_a.size.try &.!= rs.column_count
|
|
|
|
|
|
|
|
db.exec("DROP MATERIALIZED VIEW #{view_name}")
|
|
|
|
|
|
|
|
raise "valid schema does not exist"
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
db.exec("REFRESH MATERIALIZED VIEW #{view_name}")
|
|
|
|
db.exec("REFRESH MATERIALIZED VIEW #{view_name}")
|
|
|
|
rescue ex
|
|
|
|
rescue ex
|
|
|
|
# Create view if it doesn't exist
|
|
|
|
# Create view if it doesn't exist
|
|
|
|