source: trunk/third/moira/gen/warehouse.gen @ 23740

Revision 23740, 962 bytes checked in by broder, 16 years ago (diff)
In moira: * New CVS snapshot (Trac: #195) * Drop patches that have been incorporated upstream. * Update to build without krb4 on systems that no longer have it. This doesn't build yet on squeeze, which lacks a krb4 library, but I'm committing now before I start hacking away at a patch to fix that.
  • Property svn:executable set to *
Line 
1#!/usr/athena/bin/perl -Tw
2#
3# $Id: warehouse.gen,v 1.1 2007-01-03 20:31:58 zacheiss Exp $
4# Generate a database extract from the users table for the MIT Data Warehouse.
5$MR_DBMS_ERR = 47836421;
6$MR_OCONFIG = 47836460;
7
8$outfile = '/moira/dcm/warehouse.out';
9
10use DBI;
11
12$dbh = DBI->connect("dbi:Oracle:moira", "moira", "moira") || exit $MR_DBMS_ERR;
13
14$sth = $dbh->prepare("SELECT login, clearid, first, last, middle " .
15                     "FROM users WHERE (status = 1 OR status = 2 OR " .
16                     "status = 5 OR status = 6 OR status = 7 OR status = 9)");
17
18$sth->execute || exit $MR_DBMS_ERR;
19
20umask 022;
21open(OUT, ">$outfile") || exit $MR_OCONFIG;
22
23while (($login, $clearid, $first, $last, $middle) = $sth->fetchrow_array) {
24    next if (length($clearid) < 2);
25    next if ($clearid eq "0" || $clearid eq "\0" || $clearid =~ /^.\D/);
26    $row = "$login\t$clearid\t$first\t$last\t$middle\n";
27    $row =~ s/\0//g;
28    print OUT $row;
29}
30
31close(OUT);
32$dbh->disconnect;
33
34exit 0;
Note: See TracBrowser for help on using the repository browser.