ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/BDB/BDB.xs
(Generate patch)

Comparing BDB/BDB.xs (file contents):
Revision 1.28 by root, Sat Dec 22 07:33:48 2007 UTC vs.
Revision 1.30 by root, Sun Jan 13 09:43:21 2008 UTC

39typedef DB_ENV DB_ENV_ornull; 39typedef DB_ENV DB_ENV_ornull;
40typedef DB_TXN DB_TXN_ornull; 40typedef DB_TXN DB_TXN_ornull;
41typedef DBC DBC_ornull; 41typedef DBC DBC_ornull;
42typedef DB DB_ornull; 42typedef DB DB_ornull;
43typedef DB_SEQUENCE DB_SEQUENCE_ornull; 43typedef DB_SEQUENCE DB_SEQUENCE_ornull;
44
45typedef DB_ENV DB_ENV_ornuked;
46typedef DB_TXN DB_TXN_ornuked;
47typedef DBC DBC_ornuked;
48typedef DB DB_ornuked;
49typedef DB_SEQUENCE DB_SEQUENCE_ornuked;
44 50
45typedef SV SV8; /* byte-sv, used for argument-checking */ 51typedef SV SV8; /* byte-sv, used for argument-checking */
46typedef char *octetstring; 52typedef char *octetstring;
47 53
48static SV *prepare_cb; 54static SV *prepare_cb;
922 req->pri = req_pri 928 req->pri = req_pri
923 929
924#define REQ_SEND \ 930#define REQ_SEND \
925 req_send (req) 931 req_send (req)
926 932
927#define SvPTR(var, arg, type, class, nullok) \ 933#define SvPTR(var, arg, type, class, nullok) \
928 if (!SvOK (arg)) \ 934 if (!SvOK (arg)) \
929 { \ 935 { \
930 if (!nullok) \ 936 if (nullok != 1) \
931 croak (# var " must be a " # class " object, not undef"); \ 937 croak (# var " must be a " # class " object, not undef"); \
932 \ 938 \
933 (var) = 0; \ 939 (var) = 0; \
934 } \ 940 } \
935 else if (sv_derived_from ((arg), # class)) \ 941 else if (sv_derived_from ((arg), # class)) \
936 { \ 942 { \
937 IV tmp = SvIV ((SV*) SvRV (arg)); \ 943 IV tmp = SvIV ((SV*) SvRV (arg)); \
938 (var) = INT2PTR (type, tmp); \ 944 (var) = INT2PTR (type, tmp); \
939 if (!var) \ 945 if (!var && nullok != 2) \
940 croak (# var " is not a valid " # class " object anymore"); \ 946 croak (# var " is not a valid " # class " object anymore"); \
941 } \ 947 } \
942 else \ 948 else \
943 croak (# var " is not of type " # class); \ 949 croak (# var " is not of type " # class); \
944 \ 950 \
1325db_env_open (DB_ENV *env, octetstring db_home, U32 open_flags, int mode, SV *callback = &PL_sv_undef) 1331db_env_open (DB_ENV *env, octetstring db_home, U32 open_flags, int mode, SV *callback = &PL_sv_undef)
1326 CODE: 1332 CODE:
1327{ 1333{
1328 dREQ (REQ_ENV_OPEN); 1334 dREQ (REQ_ENV_OPEN);
1329 1335
1330 env->set_thread_count (env, wanted + 2);
1331
1332 req->env = env; 1336 req->env = env;
1333 req->uint1 = open_flags | DB_THREAD; 1337 req->uint1 = open_flags | DB_THREAD;
1334 req->int1 = mode; 1338 req->int1 = mode;
1335 req->buf1 = strdup_ornull (db_home); 1339 req->buf1 = strdup_ornull (db_home);
1336 REQ_SEND; 1340 REQ_SEND;
1713 1717
1714 1718
1715MODULE = BDB PACKAGE = BDB::Env 1719MODULE = BDB PACKAGE = BDB::Env
1716 1720
1717void 1721void
1718DESTROY (DB_ENV_ornull *env) 1722DESTROY (DB_ENV_ornuked *env)
1719 CODE: 1723 CODE:
1720 if (env) 1724 if (env)
1721 env->close (env, 0); 1725 env->close (env, 0);
1722 1726
1723int set_data_dir (DB_ENV *env, const char *dir) 1727int set_data_dir (DB_ENV *env, const char *dir)
1870 RETVAL 1874 RETVAL
1871 1875
1872MODULE = BDB PACKAGE = BDB::Db 1876MODULE = BDB PACKAGE = BDB::Db
1873 1877
1874void 1878void
1875DESTROY (DB_ornull *db) 1879DESTROY (DB_ornuked *db)
1876 CODE: 1880 CODE:
1877 if (db) 1881 if (db)
1878 { 1882 {
1879 SV *env = (SV *)db->app_private; 1883 SV *env = (SV *)db->app_private;
1880 db->close (db, 0); 1884 db->close (db, 0);
1975 1979
1976 1980
1977MODULE = BDB PACKAGE = BDB::Txn 1981MODULE = BDB PACKAGE = BDB::Txn
1978 1982
1979void 1983void
1980DESTROY (DB_TXN_ornull *txn) 1984DESTROY (DB_TXN_ornuked *txn)
1981 CODE: 1985 CODE:
1982 if (txn) 1986 if (txn)
1983 txn->abort (txn); 1987 txn->abort (txn);
1984 1988
1985int set_timeout (DB_TXN *txn, NV timeout, U32 flags = DB_SET_TXN_TIMEOUT) 1989int set_timeout (DB_TXN *txn, NV timeout, U32 flags = DB_SET_TXN_TIMEOUT)
1996 2000
1997 2001
1998MODULE = BDB PACKAGE = BDB::Cursor 2002MODULE = BDB PACKAGE = BDB::Cursor
1999 2003
2000void 2004void
2001DESTROY (DBC_ornull *dbc) 2005DESTROY (DBC_ornuked *dbc)
2002 CODE: 2006 CODE:
2003 if (dbc) 2007 if (dbc)
2004 dbc->c_close (dbc); 2008 dbc->c_close (dbc);
2005 2009
2006#if DB_VERSION_MINOR >= 6 2010#if DB_VERSION_MINOR >= 6
2012#endif 2016#endif
2013 2017
2014MODULE = BDB PACKAGE = BDB::Sequence 2018MODULE = BDB PACKAGE = BDB::Sequence
2015 2019
2016void 2020void
2017DESTROY (DB_SEQUENCE_ornull *seq) 2021DESTROY (DB_SEQUENCE_ornuked *seq)
2018 CODE: 2022 CODE:
2019 if (seq) 2023 if (seq)
2020 seq->close (seq, 0); 2024 seq->close (seq, 0);
2021 2025
2022int initial_value (DB_SEQUENCE *seq, db_seq_t value) 2026int initial_value (DB_SEQUENCE *seq, db_seq_t value)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines