]> andersk Git - moira.git/commitdiff
Works.
authorgenoa <genoa>
Sat, 3 Jul 1993 06:35:07 +0000 (06:35 +0000)
committergenoa <genoa>
Sat, 3 Jul 1993 06:35:07 +0000 (06:35 +0000)
backup/esqlc_fix.pl

index f7366d496038068c3f8abb754df8ae0b9402725c..559ba72989c5aea79b5101458116af44a8adaeef 100644 (file)
@@ -1,14 +1,15 @@
-#!/usr/athena/bin/perl 
+#!/usr/athena/bin/perl -i.bak
 
-# Dependencies:
+# Limitations:
 # 1. Schema must have "create table tablename" all on one line
 # 2. Fields (columns) must be declared "NOT NULL WITH DEFAULT"
 # 3. C variables corresponding to database fields must use the
 #    database field name with "t_" prefixed.
 # 4. Field names, table names, and C "t_" variable names are of the same case
+# 5. Only references within CURSOR loops are corrected.
 
 
-# Step 1. Read the schema
+# Step 1. Read the schema, so we know the proper field lengths
 open(SCHEMA,"../db/schema") || die "Could not open schema, stopped\n";
 
 while(<SCHEMA>) {
@@ -22,27 +23,18 @@ while(<SCHEMA>) {
 }
 
 
-#while (($key,$value) = each %fields) {
-#    print $key . " = " . $value . "\n";
-#}
-
-
 # Step 2. Read the code to be cleaned up
 
-# Pass through most lines
-# Note the opening and closing of cursors
-# Play with IIcsGetio.  Change 4th argument
+# Pass through most lines.
+# Note the opening and closing of cursors.
+# Play with IIcsGetio.  Change 4th argument if it's wrong.
 
 while(<>) {
     if(/IIwritio\(.*"select.*from\s+(\w+)"\);/) {
        $table = $1;
        next;
     }
-    if(/IIcsGetio\((.*,.*,.*,(\d+),&?t_(\w+))\);/)
-
-       {
-
-          $arguments = $1;
+    if(/IIcsGetio\((.*,.*,.*,(\d+),&?t_(\w+))\);/) {
           $width = $2;
           $field = $3;
 
@@ -50,10 +42,10 @@ while(<>) {
           $shouldbe = $fields{$tablefield};
 
           if( $shouldbe && $shouldbe != $width ) {
-              print "Field " . $tablefield . " found with length " . $width . " -- " . " should be " . $shouldbe . ".\n";
+              s/(\(.*,.*,.*,)(\d+),/\1$shouldbe,/;
           }
        }
 } continue {
-#    print;
+    print;
 }
 
This page took 0.443434 seconds and 5 git commands to generate.