about summary refs log tree commit diff
path: root/db2/progs/db_printlog/pgno.awk
diff options
context:
space:
mode:
Diffstat (limited to 'db2/progs/db_printlog/pgno.awk')
-rw-r--r--db2/progs/db_printlog/pgno.awk43
1 files changed, 43 insertions, 0 deletions
diff --git a/db2/progs/db_printlog/pgno.awk b/db2/progs/db_printlog/pgno.awk
new file mode 100644
index 0000000000..99aa38f2b9
--- /dev/null
+++ b/db2/progs/db_printlog/pgno.awk
@@ -0,0 +1,43 @@
+# @(#)pgno.awk	10.1 (Sleepycat) 11/1/98
+#
+# Take a comma-separated list of page numbers and spit out all the
+# log records that affect those page numbers.
+
+{
+	if (NR == 1) {
+		npages = 0
+		while ((ndx = index(PGNO, ",")) != 0) {
+			pgno[npages] = substr(PGNO, 1, ndx - 1);
+			PGNO = substr(PGNO, ndx + 1, length(PGNO) - ndx);
+			npages++
+		}
+		pgno[npages] = PGNO;
+	}
+}
+/^\[/{
+	if (printme == 1) {
+		printf("%s\n", rec);
+		printme = 0
+	}
+	rec = "";
+
+	rec = $0
+}
+/^	/{
+	rec = sprintf("%s\n%s", rec, $0);
+}
+/pgno/{
+	for (i = 0; i <= npages; i++)
+		if ($2 == pgno[i])
+			printme = 1
+}
+/right/{
+	for (i = 0; i <= npages; i++)
+		if ($2 == pgno[i])
+			printme = 1
+}
+/left/{
+	for (i = 0; i <= npages; i++)
+		if ($2 == pgno[i])
+			printme = 1
+}