unused_oids
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #!/bin/sh
  2. # unused_oids
  3. #
  4. # $Header: /usr/local/cvsroot/pgsql/src/include/catalog/unused_oids,v 1.2 1998/12/31 20:09:49 momjian Exp $
  5. #
  6. # finds blocks of oids that have not already been claimed by 
  7. # post_hackers for internal purposes.  primarily useful for
  8. # finding valid oids for new internal function oids.  the numbers
  9. # printed are inclusive ranges of valid (unused) oids.
  10. #
  11. # before using a large empty block, make sure you aren't about
  12. # to take over what was intended as expansion space for something
  13. # else.  also, before using a number, do a "grepsrc" to make sure 
  14. # that someone isn't using a literal numeric constant somewhere..
  15. #
  16. # non-berkeley post_hackers should probably not try to use oids 
  17. # less than the highest one that comes with the distributed source.
  18. #
  19. # run this script in src/backend/catalog.
  20. #
  21. egrep '^DATA' pg_*.h | 
  22. sed -e 's/^.*OID[^=]*=[^0-9]*//' -e 's/[^0-9].*$//' | 
  23. sort -n | 
  24. uniq | 
  25. awk '
  26. BEGIN {
  27. last = 0;
  28. }
  29. /^[0-9]/ {
  30. if ($1 > last + 1) {
  31. if ($1 > last + 2) {
  32. print last + 1, "-", $1 - 1;
  33. } else {
  34. print last + 1;
  35. }
  36. }
  37. last = $1;
  38. }
  39. END {
  40. print last + 1, "-", 2^14-1; /* current BootstrapObjectIdData value */
  41. }'