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

Comparing BDB/BDB.xs (file contents):
Revision 1.66 by root, Sun Jan 4 10:48:15 2009 UTC vs.
Revision 1.67 by root, Fri Jan 9 22:32:12 2009 UTC

150enum { 150enum {
151 REQ_QUIT, 151 REQ_QUIT,
152 REQ_ENV_OPEN, REQ_ENV_CLOSE, REQ_ENV_TXN_CHECKPOINT, REQ_ENV_LOCK_DETECT, 152 REQ_ENV_OPEN, REQ_ENV_CLOSE, REQ_ENV_TXN_CHECKPOINT, REQ_ENV_LOCK_DETECT,
153 REQ_ENV_MEMP_SYNC, REQ_ENV_MEMP_TRICKLE, REQ_ENV_DBREMOVE, REQ_ENV_DBRENAME, 153 REQ_ENV_MEMP_SYNC, REQ_ENV_MEMP_TRICKLE, REQ_ENV_DBREMOVE, REQ_ENV_DBRENAME,
154 REQ_ENV_LOG_ARCHIVE, 154 REQ_ENV_LOG_ARCHIVE,
155 REQ_DB_OPEN, REQ_DB_CLOSE, REQ_DB_COMPACT, REQ_DB_SYNC, REQ_DB_UPGRADE, 155 REQ_DB_OPEN, REQ_DB_CLOSE, REQ_DB_COMPACT, REQ_DB_SYNC, REQ_DB_VERIFY, REQ_DB_UPGRADE,
156 REQ_DB_PUT, REQ_DB_EXISTS, REQ_DB_GET, REQ_DB_PGET, REQ_DB_DEL, REQ_DB_KEY_RANGE, 156 REQ_DB_PUT, REQ_DB_EXISTS, REQ_DB_GET, REQ_DB_PGET, REQ_DB_DEL, REQ_DB_KEY_RANGE,
157 REQ_TXN_COMMIT, REQ_TXN_ABORT, REQ_TXN_FINISH, 157 REQ_TXN_COMMIT, REQ_TXN_ABORT, REQ_TXN_FINISH,
158 REQ_C_CLOSE, REQ_C_COUNT, REQ_C_PUT, REQ_C_GET, REQ_C_PGET, REQ_C_DEL, 158 REQ_C_CLOSE, REQ_C_COUNT, REQ_C_PUT, REQ_C_GET, REQ_C_PGET, REQ_C_DEL,
159 REQ_SEQ_OPEN, REQ_SEQ_CLOSE, REQ_SEQ_GET, REQ_SEQ_REMOVE, 159 REQ_SEQ_OPEN, REQ_SEQ_CLOSE, REQ_SEQ_GET, REQ_SEQ_REMOVE,
160}; 160};
881 break; 881 break;
882#endif 882#endif
883 883
884 case REQ_DB_SYNC: 884 case REQ_DB_SYNC:
885 req->result = req->db->sync (req->db, req->uint1); 885 req->result = req->db->sync (req->db, req->uint1);
886 break;
887
888 case REQ_DB_VERIFY:
889 req->result = req->db->verify (req->db, req->buf1, req->buf2, 0, req->uint1);
886 break; 890 break;
887 891
888 case REQ_DB_UPGRADE: 892 case REQ_DB_UPGRADE:
889 req->result = req->db->upgrade (req->db, req->buf1, req->uint1); 893 req->result = req->db->upgrade (req->db, req->buf1, req->uint1);
890 break; 894 break;
1434 const_iv (REP_UNAVAIL) 1438 const_iv (REP_UNAVAIL)
1435 const_iv (RUNRECOVERY) 1439 const_iv (RUNRECOVERY)
1436 const_iv (SECONDARY_BAD) 1440 const_iv (SECONDARY_BAD)
1437 const_iv (VERIFY_BAD) 1441 const_iv (VERIFY_BAD)
1438 1442
1443 const_iv (SALVAGE)
1444 const_iv (AGGRESSIVE)
1445 const_iv (PRINTABLE)
1446 const_iv (NOORDERCHK)
1447 const_iv (ORDERCHKONLY)
1448
1439 const_iv (ARCH_ABS) 1449 const_iv (ARCH_ABS)
1440 const_iv (ARCH_DATA) 1450 const_iv (ARCH_DATA)
1441 const_iv (ARCH_LOG) 1451 const_iv (ARCH_LOG)
1442 const_iv (ARCH_REMOVE) 1452 const_iv (ARCH_REMOVE)
1443 1453
1888 req->uint1 = flags; 1898 req->uint1 = flags;
1889 REQ_SEND; 1899 REQ_SEND;
1890} 1900}
1891 1901
1892void 1902void
1903db_verify (DB *db, bdb_filename file, bdb_filename database = 0, SV *dummy = 0, U32 flags = 0, SV *callback = 0)
1904 PREINIT:
1905 CALLBACK
1906 CODE:
1907{
1908 dREQ (REQ_DB_VERIFY, 1);
1909 ptr_nuke (ST (0)); /* verify destroys the database handle, hopefully it is freed as well */
1910 req->db = db;
1911 req->buf1 = strdup (file);
1912 req->buf2 = strdup_ornull (database);
1913 req->uint1 = flags;
1914 REQ_SEND;
1915}
1916
1917void
1893db_upgrade (DB *db, bdb_filename file, U32 flags = 0, SV *callback = 0) 1918db_upgrade (DB *db, bdb_filename file, U32 flags = 0, SV *callback = 0)
1894 PREINIT: 1919 PREINIT:
1895 CALLBACK 1920 CALLBACK
1896 CODE: 1921 CODE:
1897{ 1922{
1898 dREQ (REQ_DB_SYNC, 1); 1923 dREQ (REQ_DB_UPGRADE, 1);
1899 req->db = db; 1924 req->db = db;
1900 req->buf1 = strdup (file); 1925 req->buf1 = strdup (file);
1901 req->uint1 = flags; 1926 req->uint1 = flags;
1902 REQ_SEND; 1927 REQ_SEND;
1903} 1928}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines