00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "db_config.h"
00011
00012 #ifndef NO_SYSTEM_INCLUDES
00013 #include <sys/types.h>
00014
00015 #include <string.h>
00016 #endif
00017
00018 #include "db_int.h"
00019 #include "dbinc/txn.h"
00020
00021
00022
00023
00024
00025
00026
00027 void
00028 __txn_dbenv_create(dbenv)
00029 DB_ENV *dbenv;
00030 {
00031
00032
00033
00034
00035
00036
00037 dbenv->tx_max = DEF_MAX_TXNS;
00038 }
00039
00040
00041
00042
00043 int
00044 __txn_get_tx_max(dbenv, tx_maxp)
00045 DB_ENV *dbenv;
00046 u_int32_t *tx_maxp;
00047 {
00048 ENV_NOT_CONFIGURED(dbenv,
00049 dbenv->tx_handle, "DB_ENV->get_tx_max", DB_INIT_TXN);
00050
00051 if (TXN_ON(dbenv)) {
00052
00053 *tx_maxp = ((DB_TXNREGION *)
00054 ((DB_TXNMGR *)dbenv->tx_handle)->reginfo.primary)->maxtxns;
00055 } else
00056 *tx_maxp = dbenv->tx_max;
00057 return (0);
00058 }
00059
00060
00061
00062
00063
00064
00065
00066 int
00067 __txn_set_tx_max(dbenv, tx_max)
00068 DB_ENV *dbenv;
00069 u_int32_t tx_max;
00070 {
00071 ENV_ILLEGAL_AFTER_OPEN(dbenv, "DB_ENV->set_tx_max");
00072
00073 dbenv->tx_max = tx_max;
00074 return (0);
00075 }
00076
00077
00078
00079
00080 int
00081 __txn_get_tx_timestamp(dbenv, timestamp)
00082 DB_ENV *dbenv;
00083 time_t *timestamp;
00084 {
00085 *timestamp = dbenv->tx_timestamp;
00086 return (0);
00087 }
00088
00089
00090
00091
00092
00093
00094
00095 int
00096 __txn_set_tx_timestamp(dbenv, timestamp)
00097 DB_ENV *dbenv;
00098 time_t *timestamp;
00099 {
00100 ENV_ILLEGAL_AFTER_OPEN(dbenv, "DB_ENV->set_tx_timestamp");
00101
00102 dbenv->tx_timestamp = *timestamp;
00103 return (0);
00104 }