]> andersk Git - moira.git/blobdiff - backup/db2bkup.awk
Warn user before letting them rename a list to someone's username.
[moira.git] / backup / db2bkup.awk
index db05702311d2625c5b29c16f6a526c5fcb09b340..6efbd9e5df13c5214543305da88141c52a7eb2a3 100644 (file)
@@ -12,20 +12,20 @@ BEGIN {
        print "#include <stdio.h>";
        print "EXEC SQL INCLUDE sqlca;";
        print "#include \"dump_db.h\"";
-       print "#define dump_date dump_str\n";
+       print "#define dump_bin dump_str\n";
 
-       print "/* This file automatically generated */" > "bkup1.dc";
-       print "/* Do not edit */\n" >> "bkup1.dc";
-       print "#include <stdio.h>" >> "bkup1.dc";
-       print "FILE *open_file();" >> "bkup1.dc";
-       print "do_backups(prefix)\n\tchar *prefix;\n{" >> "bkup1.dc";
+       print "/* This file automatically generated */" > "bkup1.pc";
+       print "/* Do not edit */\n" >> "bkup1.pc";
+       print "#include <stdio.h>" >> "bkup1.pc";
+       print "FILE *open_file();" >> "bkup1.pc";
+       print "do_backups(prefix)\n\tchar *prefix;\n{" >> "bkup1.pc";
 }
 
 $1=="#" { next; }
 
 /^create/ { 
        printf "dump_%s(f)\nFILE *f;\n{\n\tEXEC SQL BEGIN DECLARE SECTION;\n", $3;
-       printf "\tdump_%s(open_file(prefix, \"%s\"));\n", $3, $3 >> "bkup1.dc";
+       printf "\tdump_%s(open_file(prefix, \"%s\"));\n", $3, $3 >> "bkup1.pc";
 
        tablename = $3;
        rangename = substr(tablename, 1, 1);
@@ -47,6 +47,7 @@ NF>=2 {
                printf "\tchar\tt_%s[%d];\n", vname[count], temp2[1]+1;
                if ($1 == "signature") {
                        vtype[count]="bin";
+                       printf "\tEXEC SQL VAR t_signature IS STRING(%d);\n", temp2[1]+1;
                } else {
                        vtype[count]="str";
                }
@@ -82,7 +83,7 @@ NF>=2 {
        printf "\t\tif(sqlca.sqlcode != 0) break;\n";
        for (i = 0; i < count; i++) {
                if (i != 0) print "\t\tdump_sep(f);";
-               if (vtype[i] ~ /str/) {
+               if (vtype[i] ~ /str/ || vtype[i] ~ /date/) {
                        printf "\t\tdump_str(f, strtrim(t_%s));\n", vname[i];
                } else {
                        printf "\t\tdump_%s(f, t_%s);\n", vtype[i], vname[i];
@@ -97,5 +98,5 @@ NF>=2 {
 
 END {
        print "/* All done */";
-       print "}" >> "bkup1.dc";
+       print "}" >> "bkup1.pc";
 }
This page took 0.042858 seconds and 4 git commands to generate.