svn commit: r1928729 - apr/apr/trunk/dbm

[email protected] Wed, 24 Sep 2025 09:10:30 -0000
Newsgroups gmane.comp.apache.apr.cvs
Message-ID <175870503045.2910229.14261357195453918540@svn02-us-east.apache.org>
Author: jfclere
Date: Wed Sep 24 09:10:29 2025
New Revision: 1928729

Log:
Arrange lmdb logic: htdbm -x  wasn't working because the database was MDB_RDONLY.
Additionally add comments in the code.

Modified:
   apr/apr/trunk/dbm/apr_dbm_lmdb.c

Modified: apr/apr/trunk/dbm/apr_dbm_lmdb.c
==============================================================================
--- apr/apr/trunk/dbm/apr_dbm_lmdb.c	Wed Sep 24 09:03:41 2025	(r1928728)
+++ apr/apr/trunk/dbm/apr_dbm_lmdb.c	Wed Sep 24 09:10:29 2025	(r1928729)
@@ -42,8 +42,6 @@ typedef struct {
 
 #define APR_DBM_LMDBMODE_RO       MDB_RDONLY
 #define APR_DBM_LMDBMODE_RWCREATE MDB_CREATE
-#define APR_DBM_LMDBMODE_RW       (MDB_RDONLY + MDB_CREATE + 1)
-#define APR_DBM_LMDBMODE_RWTRUNC  (APR_DBM_LMDBMODE_RW + 1)
 
 /* --------------------------------------------------------------------------
 **
@@ -99,13 +97,13 @@ static apr_status_t vt_lmdb_open(apr_dbm
         dbmode = APR_DBM_LMDBMODE_RO;
         break;
     case APR_DBM_READWRITE:
-        dbmode = APR_DBM_LMDBMODE_RW;
+        dbmode = 0;
         break;
     case APR_DBM_RWCREATE:
         dbi_open_flags = APR_DBM_LMDBMODE_RWCREATE;
         break;
     case APR_DBM_RWTRUNC:
-        truncate = APR_DBM_LMDBMODE_RWTRUNC;
+        truncate = 1;
         break;
     default:
         return APR_EINVAL;
@@ -125,14 +123,17 @@ static apr_status_t vt_lmdb_open(apr_dbm
         }
 
         if (dberr == 0) {
+            /* we pass MDB_RDONLY and the default */
             dberr = mdb_env_open(file.env, pathname, dbmode | DEFAULT_ENV_FLAGS, apr_posix_perms2mode(perm));
         }
 
         if (dberr == 0) {
+            /* we pass MDB_RDONLY */
             dberr = mdb_txn_begin(file.env, NULL, dbmode, &file.txn);
         }
 
         if (dberr == 0) {
+            /* we pass the DB_CREATE */
             dberr = mdb_dbi_open(file.txn, NULL, dbi_open_flags, &file.dbi);
 
             /* if mode == APR_DBM_RWTRUNC, drop database */