TestGetSetMethods.cpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*-
  2.  * See the file LICENSE for redistribution information.
  3.  *
  4.  * Copyright (c) 2000-2002
  5.  * Sleepycat Software.  All rights reserved.
  6.  *
  7.  * $Id: TestGetSetMethods.cpp,v 1.4 2002/01/11 15:53:59 bostic Exp $
  8.  */
  9. /*
  10.  * Do some regression tests for simple get/set access methods
  11.  * on DbEnv, DbTxn, Db.  We don't currently test that they have
  12.  * the desired effect, only that they operate and return correctly.
  13.  */
  14. #include <db_cxx.h>
  15. #include <iostream.h>
  16. int main(int argc, char *argv[])
  17. {
  18. try {
  19. DbEnv *dbenv = new DbEnv(0);
  20. DbTxn *dbtxn;
  21. u_int8_t conflicts[10];
  22. dbenv->set_error_stream(&cerr);
  23. dbenv->set_timeout(0x90000000,
  24.    DB_SET_LOCK_TIMEOUT);
  25. dbenv->set_lg_bsize(0x1000);
  26. dbenv->set_lg_dir(".");
  27. dbenv->set_lg_max(0x10000000);
  28. dbenv->set_lg_regionmax(0x100000);
  29. dbenv->set_lk_conflicts(conflicts, sizeof(conflicts));
  30. dbenv->set_lk_detect(DB_LOCK_DEFAULT);
  31. // exists, but is deprecated:
  32. // dbenv->set_lk_max(0);
  33. dbenv->set_lk_max_lockers(100);
  34. dbenv->set_lk_max_locks(10);
  35. dbenv->set_lk_max_objects(1000);
  36. dbenv->set_mp_mmapsize(0x10000);
  37. dbenv->set_tas_spins(1000);
  38. // Need to open the environment so we
  39. // can get a transaction.
  40. //
  41. dbenv->open(".", DB_CREATE | DB_INIT_TXN |
  42.     DB_INIT_LOCK | DB_INIT_LOG |
  43.     DB_INIT_MPOOL,
  44.     0644);
  45. dbenv->txn_begin(NULL, &dbtxn, DB_TXN_NOWAIT);
  46. dbtxn->set_timeout(0xA0000000, DB_SET_TXN_TIMEOUT);
  47. dbtxn->abort();
  48. dbenv->close(0);
  49. // We get a db, one for each type.
  50. // That's because once we call (for instance)
  51. // set_bt_maxkey, DB 'knows' that this is a
  52. // Btree Db, and it cannot be used to try Hash
  53. // or Recno functions.
  54. //
  55. Db *db_bt = new Db(NULL, 0);
  56. db_bt->set_bt_maxkey(10000);
  57. db_bt->set_bt_minkey(100);
  58. db_bt->set_cachesize(0, 0x100000, 0);
  59. db_bt->close(0);
  60. Db *db_h = new Db(NULL, 0);
  61. db_h->set_h_ffactor(0x10);
  62. db_h->set_h_nelem(100);
  63. db_h->set_lorder(0);
  64. db_h->set_pagesize(0x10000);
  65. db_h->close(0);
  66. Db *db_re = new Db(NULL, 0);
  67. db_re->set_re_delim('@');
  68. db_re->set_re_pad(10);
  69. db_re->set_re_source("re.in");
  70. db_re->close(0);
  71. Db *db_q = new Db(NULL, 0);
  72. db_q->set_q_extentsize(200);
  73. db_q->close(0);
  74. }
  75. catch (DbException &dbe) {
  76. cerr << "Db Exception: " << dbe.what() << "n";
  77. }
  78. return 0;
  79. }