Advertisement
Guest User

RQ4

a guest
Jan 19th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.99 KB | None | 0 0
  1. import sys
  2. import logging
  3. import rds_config
  4. import pymysql
  5. #rds settings
  6. rds_host  = rds_config.db_endpoint
  7. name = rds_config.db_username
  8. password = rds_config.db_password
  9. db_name = rds_config.db_name
  10. port = 3306
  11.  
  12. logger = logging.getLogger()
  13. logger.setLevel(logging.INFO)
  14.  
  15. try:
  16.     logger.info("muestra esto")
  17.     conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, connect_timeout=120)
  18. except Exception as inst:
  19.     logger.error("ERROR : ")
  20.     logger.error(inst)
  21.     sys.exit()
  22.  
  23. logger.info("SUCCESS: Connection to RDS mysql instance succeeded")
  24.  
  25. def handler(event, context):
  26.     item_count = 0
  27.     sql01 = """CREATE INDEX AnswersIdx ON Answers(Id);"""
  28.     sql02 = """CREATE INDEX PostsIdx ON Posts(Id);"""
  29.     sql03 = """CREATE INDEX AuthorAnswersIdx ON Answers(OwnerUserId);"""
  30.     sql04 = """CREATE INDEX AuthorPostsIdx ON Posts(OwnerUserId);"""
  31.     sql = """
  32. SELECT
  33.    CASE WHEN (ua1 > up1) THEN up1 ELSE ua1 END AS Helper,
  34.    CASE WHEN (ua1 > up1) THEN ua1 ELSE up1 END AS Helpee
  35. FROM (
  36.    SELECT a1.OwnerUserId AS ua1, p1.OwnerUserId AS up1
  37.    FROM Answers AS a1
  38.    INNER JOIN Posts AS p1
  39.        ON p1.PostTypeId = 1
  40.        AND a1.ParentId = p1.Id
  41.        AND p1.OwnerUserId != a1.OwnerUserId
  42.    GROUP BY ua1, up1
  43.    ) AS r1
  44. JOIN (
  45.    SELECT a2.OwnerUserId AS ua2, p2.OwnerUserId AS up2
  46.    FROM Answers AS a2
  47.    INNER JOIN Posts AS p2
  48.        ON p2.PostTypeId = 1
  49.        AND a2.ParentId = p2.Id
  50.        AND p2.OwnerUserId != a2.OwnerUserId
  51.    GROUP BY ua2, up2
  52.    ) AS r2
  53.    ON r1.up1 = r2.ua2 AND r1.ua1 = r2.up2
  54. GROUP BY Helper, Helpee;
  55.        """
  56.     salida = "(Usuario1 - Usuario2)"
  57.     logger.info("Usuario1 , Usuario2")
  58.     with conn.cursor() as cur:
  59.         cur.execute(sql01)
  60.         cur.execute(sql02)
  61.         cur.execute(sql03)
  62.         cur.execute(sql04)
  63.         cur.execute(sql)  
  64.         conn.commit()
  65.         for row in cur:
  66.             salida+=" "+str(row)
  67.             logger.info(row)
  68.     return salida
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement