Import BSDDB 4.7.25 (as of svn r89086)

This commit is contained in:
Zachary Ware
2017-09-04 13:40:25 -05:00
parent 4b29e0458f
commit 8f590873d0
4781 changed files with 2241032 additions and 6 deletions

50
db_printlog/status.awk Normal file
View File

@@ -0,0 +1,50 @@
# $Id: status.awk,v 12.1 2006/02/15 20:35:26 ubell Exp $
#
# Read through db_printlog output and list all the transactions encountered
# and whether they committed or aborted.
#
# 1 = started
# 2 = committed
# 3 = explicitly aborted
# 4 = other
BEGIN {
cur_txn = 0
}
/^\[.*]\[/{
in_regop = 0
if (status[$5] == 0) {
status[$5] = 1;
txns[cur_txn] = $5;
cur_txn++;
}
}
/ child:/ {
txnid = substr($2, 3);
status[txnid] = 2;
}
/txn_regop/ {
txnid = $5
in_regop = 1
}
/opcode:/ {
if (in_regop == 1) {
if ($2 == 1)
status[txnid] = 2
else if ($2 == 3)
status[txnid] = 3
else
status[txnid] = 4
}
}
END {
for (i = 0; i < cur_txn; i++) {
if (status[txns[i]] == 1)
printf("%s\tABORT\n", txns[i]);
else if (status[txns[i]] == 2)
printf("%s\tCOMMIT\n", txns[i]);
else if (status[txns[i]] == 3)
printf("%s\tABORT\n", txns[i]);
else if (status[txns[i]] == 4)
printf("%s\tOTHER\n", txns[i]);
}
}