adding tlc mappings for when run from reports
[migration-tools.git] / mig-bin / mig-loadbibs
index a90ab64..2f59e6b 100755 (executable)
@@ -40,7 +40,7 @@ use MARC::Batch;
 use MARC::File;
 use MARC::File::XML;
 use MARC::Charset 'marc8_to_utf8';
-binmode STDIN, ':bytes';
+#binmode STDIN, ':bytes';
 use Env qw(
     HOME PGHOST PGPORT PGUSER PGDATABASE MIGSCHEMA
     MIGBASEWORKDIR MIGBASEGITDIR MIGGITDIR MIGWORKDIR
@@ -71,8 +71,10 @@ binmode STDIN, ':utf8';
 
 my $ignore = MARC::Charset->ignore_errors();    
 MARC::Charset->ignore_errors(1);
-my $setting = MARC::Charset->assume_unicode();
-MARC::Charset->assume_unicode(1); 
+#causes issues sometimes 
+#may be useful other times ... still in flux
+#my $setting = MARC::Charset->assume_unicode();
+#MARC::Charset->assume_unicode(1); 
 MARC::Charset->ignore_errors(1);
 
 foreach my $arg (@ARGV) {
@@ -111,7 +113,6 @@ if ($append == 0) {
     drop_stage_table($dbh); 
     create_stage_table($dbh);
     }
-
 if ($file_is_xml) {
        $batch = MARC::Batch->new('XML',$infile);
 } else {
@@ -120,24 +121,23 @@ if ($file_is_xml) {
 $batch->strict_off();
 
 while ( my $record = $batch->next() ) {
-       my $xml;
-       if ($file_is_xml) { $xml = $record; } 
-               else { $xml = $record->as_xml_record(); } 
+       my $xml = $record->as_xml_record();
+    $xml = marc8_to_utf8($xml);
        $i++;
        $xml = clean_marc($xml);
        $xml = '$_$' . $xml . '$_$';
        my @warnings = $batch->warnings();
        my $warning_string;
        if (@warnings) { $warning_string = "'" . join(':',@warnings) . "'"; } else { $warning_string = "'none'"; }
-       my $sql = "INSERT INTO $MIGSCHEMA.biblio_record_entry_stage (marc,x_source,x_warnings) VALUES ($xml,'$source',$warning_string);";
+       my $sql = "INSERT INTO $MIGSCHEMA.biblio_record_entry_legacy (marc,x_source,x_warnings) VALUES ($xml,'$source',$warning_string);";
     my $sth = $dbh->prepare($sql);
     $sth->execute();
        report_progress("Records staged", $i) if 0 != $i % 100;
 }
 
 $dbh->do(qq/
-    CREATE INDEX ${MIGSCHEMA}_biblio_record_entry_stage_idx ON
-        $MIGSCHEMA.biblio_record_entry_stage (id);
+    CREATE INDEX ${MIGSCHEMA}_biblio_record_entry_legacy_idx ON
+        $MIGSCHEMA.biblio_record_entry_legacy (id);
 /);
 
 print "Finis.\n";
@@ -145,14 +145,14 @@ print "Finis.\n";
 
 sub drop_stage_table {
     my $dbh = shift;
-    $dbh->do("DROP TABLE IF EXISTS $MIGSCHEMA.biblio_record_entry_stage;");
+    $dbh->do("DROP TABLE IF EXISTS $MIGSCHEMA.biblio_record_entry_legacy;");
     return();
 }
 
 sub create_stage_table {
        my $dbh = shift;
 
-    $dbh->do("CREATE UNLOGGED TABLE $MIGSCHEMA.biblio_record_entry_stage (
+    $dbh->do("CREATE UNLOGGED TABLE $MIGSCHEMA.biblio_record_entry_legacy (
             l_bib_id    TEXT,
             x_source    TEXT,
             x_warnings  TEXT,