Guest User

Untitled

a guest
Feb 21st, 2022
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. #!/usr/bin/perl
  2. #
  3. package DsnSubmitter3;
  4.  
  5. use strict;
  6. use warnings;
  7. use Data::Dumper;
  8.  
  9. use DBD::Pg; [0/1978]
  10. use File::Basename qw( fileparse );
  11. use File::Path qw( make_path );
  12.  
  13. print STDERR scalar(localtime())." DsnSubmitter3 warm-up, ver: $VERSION\n";
  14. my $dbh=pg_connect();
  15. $dbh->trace(1, 'tracelog.txt');
  16.  
  17. my $sall= $dbh->prepare("
  18. SELECT distinct on (id,action,sender,recipient,diagnostic)
  19. R.id as id,X.origid as origid,status as action,sender,R.rcpt as recipient,diagnostic,xconnectorid,ORP.origrcpt
  20. FROM
  21. rcptstatus R INNER JOIN xconnectorid X on (X.id=R.id)
  22. LEFT OUTER JOIN origrcpt ORP on (X.origid=ORP.origid AND R.rcpt=ORP.rcpt)
  23. WHERE status is not null and X.origid is not null and R.id is not null and synced is null and xconnectorid like '%server.domain-services.com%' and R.rcpt <> 'support\@domain-services.com'
  24. union all
  25. SELECT distinct on (id,action,sender,recipient,diagnostic)
  26. R.id as id,X.origid as origid,status as action,sender,R.rcpt as recipient,diagnostic,xconnectorid,ORP.origrcpt
  27. FROM
  28. rcptstatus R INNER JOIN xconnectorid X on (X.id=R.id)
  29. LEFT OUTER JOIN origrcpt ORP on (X.origid=ORP.origid AND R.rcpt=ORP.rcpt)
  30. WHERE status is not null and X.origid is not null and R.id is not null and synced is null and xconnectorid not like '%server.domain.com%' and R.rcpt <> 'support\@domain.com'
  31. ")||die;
  32.  
  33.  
  34. my $synced = $dbh->prepare("update rcptstatus set synced=now(),httpcode=? where id=? and rcpt=?")||die;
  35. my $tmpsynced = $dbh->prepare("update rcptstatus set synced=now() where id=? and rcpt=? and status=?")||die;
  36.  
  37. my $statusdelivered = $dbh->prepare("update xconnectorid set statusdelivered=now() where id=?")||die;
  38. my $rpt=1229;
  39. my $lastHttpCode=undef;
  40.  
  41.  
  42. my $rowcnt=$sall->execute() or die "error\n";
  43. while ( my $row = $sall->fetchrow_hashref )
  44. {
  45. print "got row : $row->{'xconnectorid'}\n";
  46. }
  47. print("got $rowcnt rows\n");
  48.  
  49. sub pg_connect {
  50. my ($dbname,$dbhost,$port)=("db","172.17.0.208","5432");
  51. my ($user,$pass)=("login","sekrit");
  52. my $dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$dbhost;port=$port;", $user, $pass, {AutoCommit => 1,RaiseError=>0,PrintError=>0})||die;
  53. print ("connected\n");
  54. return $dbh;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment