]> andersk Git - moira.git/blobdiff - dbck/phase2.pc
Rewrite functions to avoid having SQL DECLARE SECTIONs around function
[moira.git] / dbck / phase2.pc
index f63fc56284958975366d102be5d5e1b3ab6a851d..b6e55e08ddc8682d97c4154d3c223985e1817467 100644 (file)
@@ -220,8 +220,8 @@ maybe_fixup_modby(sid, oid, oname, table, field, idfield)
       printf("%s entry %s(%d) has a %s with non-existant user %d\n",
             table, oname, oid, field, sid);
       if (single_fix("Delete", 1)) {
-       sprintf(stmt_buf, "UPDATE %s SET %s = %d WHERE %s=%d",
-               table, field, 0, idfield, oid);
+       sprintf(stmt_buf, "UPDATE %s SET %s = 0 WHERE %s = %d",
+               table, field, idfield, oid);
        EXEC SQL EXECUTE IMMEDIATE :stmt_buf;
        rowcount = sqlca.sqlerrd[2];
        if (rowcount == 1)
@@ -290,8 +290,8 @@ maybe_fixup_modby2(table, field, cursor, id)
       printf("%s entry has a %s with non-existant user %d\n",
             table, field, id);
       if (single_fix("Delete", 1)) {
-       sprintf(stmt_buf, "UPDATE %s SET %s = %d WHERE CURRENT OF %s",
-               table, field, 0, cursor);
+       sprintf(stmt_buf, "UPDATE %s SET %s = 0 WHERE CURRENT OF %s",
+               table, field, cursor);
        EXEC SQL EXECUTE IMMEDIATE :stmt_buf;
        rowcount = sqlca.sqlerrd[2];
        if (rowcount == 1)
@@ -736,16 +736,14 @@ int id;
 
 
 del_mem_user(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DELETE FROM imembers WHERE member_type='USER' AND
-       member_id = :id AND direct = 1;
+       member_id = :iid AND direct = 1;
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies");
@@ -755,16 +753,14 @@ EXEC SQL END DECLARE SECTION;
 }
 
 del_mem_list(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DELETE FROM imembers WHERE member_type='LIST' AND
-       member_id = :id AND direct=1;
+       member_id = :iid AND direct=1;
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies");
@@ -774,16 +770,14 @@ EXEC SQL END DECLARE SECTION;
 }
 
 del_mem_str(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DELETE FROM imembers WHERE member_type='STRING' AND
-       member_id = :id AND direct=1;
+       member_id = :iid AND direct=1;
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies");
@@ -794,16 +788,14 @@ EXEC SQL END DECLARE SECTION;
 
 
 del_mem_krb(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DELETE FROM imembers WHERE member_type='KERBEROS' AND
-       member_id = :id AND direct=1;
+       member_id = :iid AND direct=1;
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies");
@@ -814,18 +806,17 @@ EXEC SQL END DECLARE SECTION;
 
 
 show_sh(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
     char name[33];
+    int iid = id;
     EXEC SQL END DECLARE SECTION; 
     int found = 1;
 
     EXEC SQL DECLARE csr209 CURSOR FOR
        SELECT service FROM serverhosts
-           WHERE mach_id = :id;
+           WHERE mach_id = :iid;
     EXEC SQL OPEN csr209;
     while(1) {
        EXEC SQL FETCH csr209 INTO :name;
@@ -840,15 +831,13 @@ EXEC SQL END DECLARE SECTION;
 }
 
 del_sh_mach(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
-    EXEC SQL DELETE FROM serverhosts WHERE mach_id = :id;
+    EXEC SQL DELETE FROM serverhosts WHERE mach_id = :iid;
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n", rowcount, rowcount==1?"y":"ies");
@@ -875,14 +864,12 @@ struct filesys *f;
 
 
 check_fs(id, f, hint)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 register struct filesys *f;
 int hint;
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, id2, id3, rowcount;
+    int iid = id, id1, id2, id3, rowcount;
     char *dir;
     EXEC SQL END DECLARE SECTION; 
     struct nfsphys *n;
@@ -891,7 +878,7 @@ int hint;
     if (!hash_lookup(machines, f->mach_id)) {
        printf("Filesys %s with bad machine %d\n", f->name, f->mach_id);
        if (single_fix("Fix", 0)) {
-           EXEC SQL UPDATE filesys SET mach_id = 0 WHERE filsys_id = :id;
+           EXEC SQL UPDATE filesys SET mach_id = 0 WHERE filsys_id = :iid;
            rowcount = sqlca.sqlerrd[2];
            if (rowcount > 0)
              printf("%d entr%s fixed\n",rowcount, rowcount==1?"y":"ies");
@@ -953,7 +940,7 @@ int hint;
                            printf("Unable to retrieve unique ID\n");
                            return;
                        }
-                       EXEC SQL INSERT INTO mfsphys (mfsphys_id, mach_id,
+                       EXEC SQL INSERT INTO nfsphys (nfsphys_id, mach_id,
                            device, dir, status, allocated, size, modtime,
                            modby, modwith) VALUES (:id1, :id3, '\?\?\?', :dir,
                            0, 0, 0, SYSDATE, 0, 'dbck');
@@ -1006,18 +993,16 @@ int hint;
 }
 
 show_fsg_missing(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, found = 1;
+    int iid = id, id1, found = 1;
     EXEC SQL END DECLARE SECTION; 
     struct filesys *f;
 
     EXEC SQL DECLARE csr210 CURSOR FOR
        SELECT filsys_id FROM fsgroup
-           WHERE group_id = :id;
+           WHERE group_id = :iid;
     EXEC SQL OPEN csr210;
     while(1) {
        EXEC SQL FETCH csr210 INTO :id1;
@@ -1081,18 +1066,16 @@ struct filesys *f;
 }
 
 show_fsg_nomember(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, found = 1;
+    int iid = id, id1, found = 1;
     EXEC SQL END DECLARE SECTION; 
     struct filesys *f;
 
     EXEC SQL DECLARE csr211 CURSOR FOR
        SELECT group_id FROM fsgroup
-           WHERE filsys_id = :id;
+           WHERE filsys_id = :iid;
     EXEC SQL OPEN csr211;
     while(1) {
        EXEC SQL FETCH csr211 INTO :id1;
@@ -1109,17 +1092,15 @@ EXEC SQL END DECLARE SECTION;
 }
 
 show_quota_nouser(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, found = 1;
+    int iid = id, id1, found = 1;
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DECLARE csr212 CURSOR FOR
        SELECT filsys_id FROM quota
-           WHERE entity_id = :id AND type='USER';
+           WHERE entity_id = :iid AND type='USER';
     EXEC SQL OPEN csr212;
     while(1) {
        EXEC SQL FETCH csr212 INTO :id1;
@@ -1133,17 +1114,15 @@ EXEC SQL END DECLARE SECTION;
 }
 
 show_quota_nolist(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, found = 1;
+    int iid = id, id1, found = 1;
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DECLARE csr213 CURSOR FOR
        SELECT filsys_id FROM quota 
-           WHERE entity_id = :id AND type='GROUP';
+           WHERE entity_id = :iid AND type='GROUP';
     EXEC SQL OPEN csr213;
     while(1) {
        EXEC SQL FETCH csr213 INTO :id1;
@@ -1157,17 +1136,15 @@ EXEC SQL END DECLARE SECTION;
 }
 
 fix_quota_nouser(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount, id1;
+    int iid = id, rowcount, id1;
     EXEC SQL END DECLARE SECTION; 
 
     id1 = ((struct filesys *)hash_lookup(filesys, id))->phys_id;
     EXEC SQL DELETE FROM quota 
-       WHERE entity_id = :id AND type = 'USER';
+       WHERE entity_id = :iid AND type = 'USER';
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n",rowcount, rowcount==1?"y":"ies");
@@ -1177,16 +1154,14 @@ EXEC SQL END DECLARE SECTION;
 }
 
 fix_quota_nolist(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount, id1;
+    int iid = id, rowcount, id1;
     EXEC SQL END DECLARE SECTION; 
 
     id1 = ((struct filesys *)hash_lookup(filesys, id))->phys_id;
-    EXEC SQL DELETE FROM quota WHERE entity_id = :id AND type='GROUP';
+    EXEC SQL DELETE FROM quota WHERE entity_id = :iid AND type='GROUP';
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s deleted\n",rowcount, rowcount==1?"y":"ies");
@@ -1196,18 +1171,16 @@ EXEC SQL END DECLARE SECTION;
 }
 
 show_quota_nofs(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, found = 1;
+    int iid = id, id1, found = 1;
     char type[9];
     EXEC SQL END DECLARE SECTION; 
 
     EXEC SQL DECLARE csr214 CURSOR FOR
        SELECT entity_id, type FROM quota
-           WHERE filsys_id = :id;
+           WHERE filsys_id = :iid;
     EXEC SQL OPEN csr214;
     while(1) {
        EXEC SQL FETCH csr214 INTO :id1, :type;
@@ -1226,12 +1199,10 @@ fix_quota_nofs(id)
 }
 
 show_quota_wrongpid(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int id1, found = 1;
+    int iid = id, id1, found = 1;
     char type[9];
     EXEC SQL END DECLARE SECTION; 
     struct user *u;
@@ -1240,7 +1211,7 @@ EXEC SQL END DECLARE SECTION;
     f = (struct filesys *)hash_lookup(filesys, id);
     EXEC SQL DECLARE csr215 CURSOR FOR
        SELECT entity_id, type FROM quota
-           WHERE filsys_id = :id;
+           WHERE filsys_id = :iid;
     EXEC SQL OPEN csr215;
     while(1) {
        EXEC SQL FETCH csr215 INTO :id1, :type;
@@ -1255,17 +1226,15 @@ EXEC SQL END DECLARE SECTION;
 }
 
 fix_quota_physid(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount, id1;
+    int iid = id, rowcount, id1;
     EXEC SQL END DECLARE SECTION; 
 
     id1 = ((struct filesys *)hash_lookup(filesys, id))->phys_id;
     EXEC SQL UPDATE quota SET phys_id = :id1 
-       WHERE filsys_id = :id AND phys_id != :id1;
+       WHERE filsys_id = :iid AND phys_id != :id1;
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
       printf("%d entr%s fixed\n",rowcount, rowcount==1?"y":"ies");
@@ -1275,18 +1244,17 @@ EXEC SQL END DECLARE SECTION;
 }
 
 show_srv_user(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
     char name[33];
+    int iid = id;
     EXEC SQL END DECLARE SECTION; 
     int found = 1;
 
     EXEC SQL DECLARE csr216 CURSOR FOR
        SELECT name FROM servers
-           WHERE acl_type='USER' and acl_id = :id;
+           WHERE acl_type='USER' and acl_id = :iid;
     EXEC SQL OPEN csr216;
     while(1) {
        EXEC SQL FETCH csr216 INTO :name;
@@ -1301,18 +1269,17 @@ EXEC SQL END DECLARE SECTION;
 }
 
 show_srv_list(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
     char name[33];
+    int iid = id;
     EXEC SQL END DECLARE SECTION; 
     int found = 1;
 
     EXEC SQL DECLARE csr217 CURSOR FOR
        SELECT name FROM servers
-           WHERE acl_type='LIST' AND acl_id = :id;
+           WHERE acl_type='LIST' AND acl_id = :iid;
     EXEC SQL OPEN csr217;
     while(1) {
        EXEC SQL FETCH csr217 INTO :name;
@@ -1327,15 +1294,13 @@ EXEC SQL END DECLARE SECTION;
 }
 
 zero_srv_user(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
-    EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :id AND
+    EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :iid AND
        acl_type='USER';
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
@@ -1346,15 +1311,13 @@ EXEC SQL END DECLARE SECTION;
 }
 
 zero_srv_list(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int rowcount;
+    int iid = id, rowcount;
     EXEC SQL END DECLARE SECTION; 
 
-    EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :id AND
+    EXEC SQL UPDATE servers SET acl_id=0 WHERE acl_id = :iid AND
        acl_type='LIST';
     rowcount = sqlca.sqlerrd[2];
     if (rowcount > 0)
@@ -1366,19 +1329,17 @@ EXEC SQL END DECLARE SECTION;
 
 
 show_krb_usr(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int found = 1, id1;
+    int iid = id, found = 1, id1;
     EXEC SQL END DECLARE SECTION; 
     struct string *s;
     char *ss;
 
     EXEC SQL DECLARE csr218 CURSOR FOR
        SELECT string_id FROM krbmap
-           WHERE users_id = :id ;
+           WHERE users_id = :iid ;
     EXEC SQL OPEN csr218;
     while(1) {
        EXEC SQL FETCH csr218 INTO :id1;
@@ -1398,19 +1359,17 @@ EXEC SQL END DECLARE SECTION;
 
 
 show_krb_str(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
-    int found = 1, id1;
+    int iid = id, found = 1, id1;
     EXEC SQL END DECLARE SECTION; 
     struct user *u;
     char *s;
 
     EXEC SQL DECLARE csr219 CURSOR FOR
        SELECT users_id FROM krbmap
-           WHERE string_id = :id;
+           WHERE string_id = :iid;
     EXEC SQL OPEN csr219;
     while(1) {
        EXEC SQL FETCH csr219 INTO :id1;
@@ -1430,18 +1389,17 @@ EXEC SQL END DECLARE SECTION;
 
 
 show_pdm_mach(id)
-EXEC SQL BEGIN DECLARE SECTION; 
 int id;
-EXEC SQL END DECLARE SECTION; 
 {
     EXEC SQL BEGIN DECLARE SECTION; 
     char name[33];
+    int iid = id;
     EXEC SQL END DECLARE SECTION; 
     int found = 1;
 
     EXEC SQL DECLARE csr220 CURSOR FOR
        SELECT name FROM palladium
-           WHERE mach_id = :id;
+           WHERE mach_id = :iid;
     EXEC SQL OPEN csr220;
     while(1) {
        EXEC SQL FETCH csr220 INTO :name;
This page took 0.057593 seconds and 4 git commands to generate.