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

数据库系统

开发平台:

Unix_Linux

  1.           findoidjoins
  2. This program scans a database, and prints oid fields (also regproc fields)
  3. and the tables they join to.  CAUTION: it is ver-r-r-y slow on a large
  4. database, or even a not-so-large one.  We don't really recommend running
  5. it on anything but an empty database.
  6. It requires pgsql/contrib/pginterface to be compiled first.
  7. Run on an empty database, it returns the system join relationships (shown
  8. below for 6.5).  Note that unexpected matches may indicate bogus entries
  9. in system tables --- don't accept a peculiar match without question.
  10. In particular, a field shown as joining to more than one target table is
  11. probably messed up.  In 6.5, the *only* field that should join to more
  12. than one target is pg_description.objoid.  (Running make_oidjoins_check
  13. is an easy way to spot fields joining to more than one table, BTW.)
  14. The shell script make_oidjoins_check converts findoidjoins' output
  15. into an SQL script that checks for dangling links (entries in an
  16. OID or REGPROC column that don't match any row in the expected table).
  17. Note that fields joining to more than one table are NOT processed.
  18. The result of make_oidjoins_check should be installed as the "oidjoins"
  19. regression test.  The oidjoins test should be updated after any
  20. revision in the patterns of cross-links between system tables.
  21. (Ideally we'd just regenerate the script as part of the regression
  22. tests themselves, but that seems too slow...)
  23. ---------------------------------------------------------------------------
  24. Join pg_aggregate.aggtransfn1 => pg_proc.oid
  25. Join pg_aggregate.aggtransfn2 => pg_proc.oid
  26. Join pg_aggregate.aggfinalfn => pg_proc.oid
  27. Join pg_aggregate.aggbasetype => pg_type.oid
  28. Join pg_aggregate.aggtranstype1 => pg_type.oid
  29. Join pg_aggregate.aggtranstype2 => pg_type.oid
  30. Join pg_aggregate.aggfinaltype => pg_type.oid
  31. Join pg_am.amgettuple => pg_proc.oid
  32. Join pg_am.aminsert => pg_proc.oid
  33. Join pg_am.amdelete => pg_proc.oid
  34. Join pg_am.ambeginscan => pg_proc.oid
  35. Join pg_am.amrescan => pg_proc.oid
  36. Join pg_am.amendscan => pg_proc.oid
  37. Join pg_am.ammarkpos => pg_proc.oid
  38. Join pg_am.amrestrpos => pg_proc.oid
  39. Join pg_am.ambuild => pg_proc.oid
  40. Join pg_amop.amopid => pg_am.oid
  41. Join pg_amop.amopclaid => pg_opclass.oid
  42. Join pg_amop.amopopr => pg_operator.oid
  43. Join pg_amop.amopselect => pg_proc.oid
  44. Join pg_amop.amopnpages => pg_proc.oid
  45. Join pg_amproc.amid => pg_am.oid
  46. Join pg_amproc.amopclaid => pg_opclass.oid
  47. Join pg_amproc.amproc => pg_proc.oid
  48. Join pg_attribute.attrelid => pg_class.oid
  49. Join pg_attribute.atttypid => pg_type.oid
  50. Join pg_class.reltype => pg_type.oid
  51. Join pg_class.relam => pg_am.oid
  52. Join pg_description.objoid => pg_proc.oid
  53. Join pg_description.objoid => pg_type.oid
  54. Join pg_index.indexrelid => pg_class.oid
  55. Join pg_index.indrelid => pg_class.oid
  56. Join pg_opclass.opcdeftype => pg_type.oid
  57. Join pg_operator.oprleft => pg_type.oid
  58. Join pg_operator.oprright => pg_type.oid
  59. Join pg_operator.oprresult => pg_type.oid
  60. Join pg_operator.oprcom => pg_operator.oid
  61. Join pg_operator.oprnegate => pg_operator.oid
  62. Join pg_operator.oprlsortop => pg_operator.oid
  63. Join pg_operator.oprrsortop => pg_operator.oid
  64. Join pg_operator.oprcode => pg_proc.oid
  65. Join pg_operator.oprrest => pg_proc.oid
  66. Join pg_operator.oprjoin => pg_proc.oid
  67. Join pg_proc.prolang => pg_language.oid
  68. Join pg_proc.prorettype => pg_type.oid
  69. Join pg_rewrite.ev_class => pg_class.oid
  70. Join pg_type.typrelid => pg_class.oid
  71. Join pg_type.typelem => pg_type.oid
  72. Join pg_type.typinput => pg_proc.oid
  73. Join pg_type.typoutput => pg_proc.oid
  74. Join pg_type.typreceive => pg_proc.oid
  75. Join pg_type.typsend => pg_proc.oid
  76. ---------------------------------------------------------------------------
  77. Bruce Momjian (root@candle.pha.pa.us)