s_recover
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #!/bin/sh -
  2. # $Id: s_recover,v 1.3 2000/03/30 05:24:36 krinsky Exp $
  3. #
  4. # Build the automatically generated logging/recovery files.
  5. DIR="db btree hash log qam txn"
  6. t=/tmp/__db_$$
  7. loglist=../test/logtrack.list
  8. rm -f $t
  9. rm -f $loglist
  10. trap 'rm -f $t; exit 1' 1 2 3 13 15
  11. # Check to make sure we haven't duplicated a log record entry, and build
  12. # the list of log record types that the test suite uses.
  13. for i in $DIR; do
  14. p=none
  15. for f in ../$i/*.src; do
  16. # Grab the PREFIX;  there should only be one per file, and
  17. # so it's okay to just take the first.
  18. grep '^PREFIX' $f | head -1
  19. egrep '^DEPRECATED[  ]|^BEGIN[  ]' $f | 
  20.     awk '{print $1 "t" $2 "t" $3}'
  21. done
  22. done > $loglist
  23. grep -v '^PREFIX' $loglist | awk '{print $2 "t" $3}' | sort +1 -n | 
  24.     uniq -d -f 1 > $t
  25. [ -s $t ] && {
  26. echo "DUPLICATE LOG VALUES:"
  27. cat $t
  28. rm -f $t
  29. exit 1
  30. }
  31. rm -f $t
  32. for i in db btree hash log qam txn; do
  33. for f in ../$i/*.src; do
  34. subsystem=`basename $f .src`
  35. header_file=../include/${subsystem}_auto.h
  36. source_file=../$i/${subsystem}_auto.c
  37. template_file=template/rec_${subsystem}
  38. template_source=.
  39. echo "Building $source_file, $header_file, $template_file"
  40. rm -f $header_file $source_file $template_file
  41. awk -f gen_rec.awk 
  42.     -v subsystem=$subsystem 
  43.     -v source_file=$source_file 
  44.     -v header_file=$header_file 
  45.     -v template_file=$template_file 
  46.     -v template_dir=. < $f
  47. chmod 444 $header_file $source_file $template_file
  48. done
  49. done