Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. require 'mysql2'
  2. require 'dotenv'
  3.  
  4. Dotenv.load
  5.  
  6. client = Mysql2::Client.new(:host => ENV["DB_HOST"], :username => ENV["DB_USER"], :password => ENV["DB_PASSWORD"])
  7.  
  8. query1 = <<-SQL
  9. SELECT DISTINCT(p.tms_id)
  10. FROM on_prod.episodes p
  11. INNER JOIN onto_prod.matches m on p.tms_id = m.target_id
  12. INNER JOIN casttv_prod.videos v on m.driver_id = v.id
  13. INNER JOIN casttv_prod.video_hosts vh on v.host_name = vh.name
  14. WHERE p.deleted IS NULL
  15. AND m.type IN ('OnlineTvMatch', 'OnlineShortEpisodeMatch')
  16. AND (m.state IN ('matched', 'verified', 'approved', 'crafted', 'import_crafted') OR (m.state = 'dubious' and m.type = 'OnlineShortEpisodeMatch'))
  17. AND v.ugc IS NULL
  18. AND vh.ovc_provider = 1
  19. AND m.updated_at > '2017-04-24'
  20. AND m.updated_at < '2017-04-25T17:11:10'
  21. ORDER BY p.tms_id
  22. LIMIT 10000;
  23. SQL
  24.  
  25. results1 = client.query(query1)
  26.  
  27. puts results1.first.inspect
  28.  
  29. query2 = <<-SQL
  30. SELECT DISTINCT(e.tms_id), MIN(m.updated_at) as oldest_update, MAX(m.updated_at) as newest_update
  31. FROM on_prod.episodes e
  32. INNER JOIN onto_prod.matches m on e.tms_id = m.target_id
  33. WHERE e.tms_id IN ('#{results1.map{|r| r["tms_id"]}.join("','")}')
  34. HAVING oldest_update > '2017-04-24' AND newest_update < '2017-04-25T17:11:10'
  35. SQL
  36.  
  37. results2 = client.query(query2)
  38.  
  39. puts results2.size
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement