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

MySQL数据库

开发平台:

Visual C++

  1.     The Berkeley DB Upgrade Tests
  2. Quick ref:
  3.     Running the tests:
  4. (in tclsh)
  5. % source ../test/test.tcl
  6. % upgrade
  7.     Generating the test databases:
  8. (in tclsh)
  9. % source ../test/test.tcl
  10. % gen_upgrade /where/you/want/them
  11. (in your shell)
  12. $ cd /where/you/want/them
  13. $ perl $db_dir/upgrade/scripts/pack-3.0.pl
  14. $ mv 3.0 $db_dir/upgrade/databases
  15. What they are:
  16. The DB upgrade tests are a framework for testing two main features of
  17. Berkeley DB:  the db_dump utility, and the "DB_UPGRADE" flag to DB->open.
  18. They work by taking a tarred, gzipped set of test databases and dumps, and
  19. verifying that the set of items is the same in the original database (as
  20. dumped by the version of DB that created it) as in the upgraded one,
  21. and is the same in the original database and in a new database generated by
  22. db_loading a db_dump.
  23. In db 3.X and higher, the upgrade test is repeated on a database with
  24. the opposite endianness to the system the database was generated on.
  25. How to generate test databases:
  26. Ordinarily, this is something that only very rarely has to occur;
  27. an archive of upgrade test databases can and should be kept, so ideally
  28. the generation step only needs to be done once for each major DB release.
  29. To generate the test databases, execute the command "gen_upgrade <dir>"
  30. inside a tclsh.  The method tests will run twice, once for each endianness,
  31. and all the databases will be saved in a hierarchy named by <dir>.
  32. Once the databases have been built, the archives expected by the upgrade tests
  33. must be built using the "pack" script, in upgrade/scripts/pack-<version>.pl.
  34. This script must be edited slightly to specify the location on a given system
  35. of the DB source tree and utilities;  it then converts the set of databases
  36. under the current working directory into a set of .tar.gz files containing
  37. the databases as well as flat files with their contents in item-by-item and
  38. db_dump formats.
  39. How to run the upgrade tests:
  40. Run "upgrade" from tclsh in the DB build directory.  By default, this
  41. looks in upgrade/databases, in the DB source tree.  An optional first argument
  42. can be used to specify an alternate directory.
  43. A note on 2.X tests:
  44. The 2.X packing script, as well as a patch against a 2.6.6 test directory
  45. to allow it to generate test databases, is in upgrade/generate-2.X.
  46. Note that the upgrade tests can be *run* on an the 2.X test archives
  47. without anything in this directory.  It is provided only for
  48. archival reasons, in case there is ever reason to generate a new
  49. set of test databases.
  50. XXX: Note also that it quite likely has paths hard-coded for a specific
  51. system that is not yours.
  52. Known Issues:
  53. 1. The following 2.X databases trigger a bug in the db 2.X hash code.
  54. This bug affects only empty and near-empty databases, and has been
  55. corrected in db 3.X, but it will prevent the following from passing
  56. the db_dump test.  (They have been removed from the canonical database
  57. collection.)
  58.     2.X hash -- test026
  59.     2.X hash -- test038
  60.     2.X hash -- test039
  61.     2.X hash -- test040
  62. 2. The 2.X recno versions of test043 cannot be made to pass the db_dump
  63. test because the 2.X version of db_dump has no -k flag and cannot preserve
  64. sparsely populated databases.