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

MySQL数据库

开发平台:

Visual C++

  1. # See the file LICENSE for redistribution information.
  2. #
  3. # Copyright (c) 1996, 1997, 1998, 1999, 2000
  4. # Sleepycat Software.  All rights reserved.
  5. #
  6. # $Id: hsearch.tcl,v 11.7 2000/08/25 14:21:50 sue Exp $
  7. #
  8. # Historic Hsearch interface test.
  9. # Use the first 1000 entries from the dictionary.
  10. # Insert each with self as key and data; retrieve each.
  11. # After all are entered, retrieve all; compare output to original.
  12. # Then reopen the file, re-retrieve everything.
  13. # Finally, delete everything.
  14. proc hsearch { { nentries 1000 } } {
  15. source ./include.tcl
  16. puts "HSEARCH interfaces test: $nentries"
  17. # Create the database and open the dictionary
  18. set t1 $testdir/t1
  19. set t2 $testdir/t2
  20. set t3 $testdir/t3
  21. cleanup $testdir NULL
  22. error_check_good hcreate [berkdb hcreate $nentries] 0
  23. set did [open $dict]
  24. set count 0
  25. puts "tHSEARCH.a: put/get loop"
  26. # Here is the loop where we put and get each key/data pair
  27. while { [gets $did str] != -1 && $count < $nentries } {
  28. set ret [berkdb hsearch $str $str enter]
  29. error_check_good hsearch:enter $ret 0
  30. set d [berkdb hsearch $str 0 find]
  31. error_check_good hsearch:find $d $str
  32. incr count
  33. }
  34. close $did
  35. puts "tHSEARCH.b: re-get loop"
  36. set did [open $dict]
  37. # Here is the loop where we retrieve each key
  38. while { [gets $did str] != -1 && $count < $nentries } {
  39. set d [berkdb hsearch $str 0 find]
  40. error_check_good hsearch:find $d $str
  41. incr count
  42. }
  43. close $did
  44. error_check_good hdestroy [berkdb hdestroy] 0
  45. }