env008.tcl
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. # See the file LICENSE for redistribution information.
  2. #
  3. # Copyright (c) 1999, 2000
  4. # Sleepycat Software.  All rights reserved.
  5. #
  6. # $Id: env008.tcl,v 11.2 2000/10/30 19:00:38 sue Exp $
  7. #
  8. # Test of env and subdirs.
  9. proc env008 { } {
  10. global errorInfo
  11. global errorCode
  12. source ./include.tcl
  13. env_cleanup $testdir
  14. set subdir  1/1
  15. set subdir1 1/2
  16. file mkdir $testdir/$subdir $testdir/$subdir1
  17. set testfile $subdir/env.db
  18. puts "Env008: Test of environments and subdirectories."
  19. # Try opening without Create flag should error
  20. puts "tEnv008.a: Create env and db."
  21. set env [berkdb env -create -mode 0644 -home $testdir -txn]
  22. error_check_good env [is_valid_env $env] TRUE
  23. puts "tEnv008.b: Remove db in subdir."
  24. env008_db $env $testfile
  25. error_check_good dbremove:$testfile 
  26.     [berkdb dbremove -env $env $testfile] 0
  27. #
  28. # Rather than remaking the db every time for the renames
  29. # just move around the new file name to another new file
  30. # name.
  31. #
  32. puts "tEnv008.c: Rename db in subdir."
  33. env008_db $env $testfile
  34. set newfile $subdir/new.db
  35. error_check_good dbrename:$testfile/.. 
  36.     [berkdb dbrename -env $env $testfile $newfile] 0
  37. set testfile $newfile
  38. puts "tEnv008.d: Rename db to parent dir."
  39. set newfile $subdir/../new.db
  40. error_check_good dbrename:$testfile/.. 
  41.     [berkdb dbrename -env $env $testfile $newfile] 0
  42. set testfile $newfile
  43. puts "tEnv008.e: Rename db to child dir."
  44. set newfile $subdir/env.db
  45. error_check_good dbrename:$testfile/.. 
  46.     [berkdb dbrename -env $env $testfile $newfile] 0
  47. set testfile $newfile
  48. puts "tEnv008.f: Rename db to another dir."
  49. set newfile $subdir1/env.db
  50. error_check_good dbrename:$testfile/.. 
  51.     [berkdb dbrename -env $env $testfile $newfile] 0
  52. error_check_good envclose [$env close] 0
  53. puts "tEnv008 complete."
  54. }
  55. proc env008_db { env testfile } {
  56. set db [berkdb_open -env $env -create -btree $testfile]
  57. error_check_good dbopen [is_valid_db $db] TRUE
  58. set ret [$db put key data]
  59. error_check_good dbput $ret 0
  60. error_check_good dbclose [$db close] 0
  61. }