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

Comparing BDB/BDB.xs (file contents):
Revision 1.44 by root, Wed Jul 9 21:00:13 2008 UTC vs.
Revision 1.45 by root, Wed Jul 9 21:08:29 2008 UTC

139enum { 139enum {
140 REQ_QUIT, 140 REQ_QUIT,
141 REQ_ENV_OPEN, REQ_ENV_CLOSE, REQ_ENV_TXN_CHECKPOINT, REQ_ENV_LOCK_DETECT, 141 REQ_ENV_OPEN, REQ_ENV_CLOSE, REQ_ENV_TXN_CHECKPOINT, REQ_ENV_LOCK_DETECT,
142 REQ_ENV_MEMP_SYNC, REQ_ENV_MEMP_TRICKLE, REQ_ENV_DBREMOVE, REQ_ENV_DBRENAME, 142 REQ_ENV_MEMP_SYNC, REQ_ENV_MEMP_TRICKLE, REQ_ENV_DBREMOVE, REQ_ENV_DBRENAME,
143 REQ_DB_OPEN, REQ_DB_CLOSE, REQ_DB_COMPACT, REQ_DB_SYNC, REQ_DB_UPGRADE, 143 REQ_DB_OPEN, REQ_DB_CLOSE, REQ_DB_COMPACT, REQ_DB_SYNC, REQ_DB_UPGRADE,
144 REQ_DB_PUT, REQ_DB_GET, REQ_DB_PGET, REQ_DB_DEL, REQ_DB_KEY_RANGE, 144 REQ_DB_PUT, REQ_DB_EXISTS, REQ_DB_GET, REQ_DB_PGET, REQ_DB_DEL, REQ_DB_KEY_RANGE,
145 REQ_TXN_COMMIT, REQ_TXN_ABORT, REQ_TXN_FINISH, 145 REQ_TXN_COMMIT, REQ_TXN_ABORT, REQ_TXN_FINISH,
146 REQ_C_CLOSE, REQ_C_COUNT, REQ_C_PUT, REQ_C_GET, REQ_C_PGET, REQ_C_DEL, 146 REQ_C_CLOSE, REQ_C_COUNT, REQ_C_PUT, REQ_C_GET, REQ_C_PGET, REQ_C_DEL,
147 REQ_SEQ_OPEN, REQ_SEQ_CLOSE, REQ_SEQ_GET, REQ_SEQ_REMOVE, 147 REQ_SEQ_OPEN, REQ_SEQ_CLOSE, REQ_SEQ_GET, REQ_SEQ_REMOVE,
148}; 148};
149 149
806 req->result = req->db->upgrade (req->db, req->buf1, req->uint1); 806 req->result = req->db->upgrade (req->db, req->buf1, req->uint1);
807 break; 807 break;
808 808
809 case REQ_DB_PUT: 809 case REQ_DB_PUT:
810 req->result = req->db->put (req->db, req->txn, &req->dbt1, &req->dbt2, req->uint1); 810 req->result = req->db->put (req->db, req->txn, &req->dbt1, &req->dbt2, req->uint1);
811 break;
812
813 case REQ_DB_EXISTS:
814 req->result = req->db->exists (req->db, req->txn, &req->dbt1, req->uint1);
811 break; 815 break;
812 816
813 case REQ_DB_GET: 817 case REQ_DB_GET:
814 req->result = req->db->get (req->db, req->txn, &req->dbt1, &req->dbt3, req->uint1); 818 req->result = req->db->get (req->db, req->txn, &req->dbt1, &req->dbt3, req->uint1);
815 break; 819 break;
1690 req->uint1 = flags; 1694 req->uint1 = flags;
1691 REQ_SEND; 1695 REQ_SEND;
1692} 1696}
1693 1697
1694void 1698void
1699db_exists (DB *db, DB_TXN_ornull *txn, SV *key, U32 flags = 0, SV *callback = 0)
1700 PREINIT:
1701 CALLBACK
1702 CODE:
1703{
1704 dREQ (REQ_DB_EXISTS);
1705 req->db = db;
1706 req->txn = txn;
1707 req->uint1 = flags;
1708 sv_to_dbt (&req->dbt1, key);
1709 REQ_SEND;
1710}
1711
1712void
1695db_get (DB *db, DB_TXN_ornull *txn, SV *key, SV *data, U32 flags = 0, SV *callback = 0) 1713db_get (DB *db, DB_TXN_ornull *txn, SV *key, SV *data, U32 flags = 0, SV *callback = 0)
1696 PREINIT: 1714 PREINIT:
1697 CALLBACK 1715 CALLBACK
1698 CODE: 1716 CODE:
1699 if (SvREADONLY (data)) 1717 if (SvREADONLY (data))

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines