]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-mdb/config.c
Add debug msg if adding entry to logDB fails
[openldap] / servers / slapd / back-mdb / config.c
index 5b402c55a10e98225268c97c4b70c91197f975d9..f6b9f02c770592ef9ea810552880addeb1cd8a07 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2000-2014 The OpenLDAP Foundation.
+ * Copyright 2000-2017 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,7 +39,7 @@ enum {
        MDB_MAXREADERS,
        MDB_MAXSIZE,
        MDB_MODE,
-       MDB_SSTACK
+       MDB_SSTACK,
 };
 
 static ConfigTable mdbcfg[] = {
@@ -66,6 +66,11 @@ static ConfigTable mdbcfg[] = {
                "DESC 'Attribute index parameters' "
                "EQUALITY caseIgnoreMatch "
                "SYNTAX OMsDirectoryString )", NULL, NULL },
+       { "maxentrysize", "size", 2, 2, 0, ARG_ULONG|ARG_OFFSET,
+               (void *)offsetof(struct mdb_info, mi_maxentrysize),
+               "( OLcfgDbAt:12.4 NAME 'olcDbMaxEntrySize' "
+               "DESC 'Maximum size of an entry in bytes' "
+               "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
        { "maxreaders", "num", 2, 2, 0, ARG_UINT|ARG_MAGIC|MDB_MAXREADERS,
                mdb_cf_gen, "( OLcfgDbAt:12.1 NAME 'olcDbMaxReaders' "
                "DESC 'Maximum number of threads that may access the DB concurrently' "
@@ -78,6 +83,21 @@ static ConfigTable mdbcfg[] = {
                mdb_cf_gen, "( OLcfgDbAt:0.3 NAME 'olcDbMode' "
                "DESC 'Unix permissions of database files' "
                "SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
+       { "multival_hi", "num", 2, 2, 0, ARG_UINT|ARG_OFFSET,
+               (void *)offsetof(struct mdb_info, mi_multi_hi),
+               "( OLcfgDbAt:12.6 NAME 'olcDbMultivalHi' "
+               "DESC 'Threshold for splitting multivalued attr out of main blob' "
+               "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
+       { "multival_lo", "num", 2, 2, 0, ARG_UINT|ARG_OFFSET,
+               (void *)offsetof(struct mdb_info, mi_multi_lo),
+               "( OLcfgDbAt:12.7 NAME 'olcDbMultivalLo' "
+               "DESC 'Threshold for consolidating multivalued attr back into main blob' "
+               "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
+       { "rtxnsize", "entries", 2, 2, 0, ARG_UINT|ARG_OFFSET,
+               (void *)offsetof(struct mdb_info, mi_rtxn_size),
+               "( OLcfgDbAt:12.5 NAME 'olcDbRtxnSize' "
+               "DESC 'Number of entries to process in one read transaction' "
+               "SYNTAX OMsInteger SINGLE-VALUE )", NULL, NULL },
        { "searchstack", "depth", 2, 2, 0, ARG_INT|ARG_MAGIC|MDB_SSTACK,
                mdb_cf_gen, "( OLcfgDbAt:1.9 NAME 'olcDbSearchStack' "
                "DESC 'Depth of search stack in IDLs' "
@@ -94,8 +114,9 @@ static ConfigOCs mdbocs[] = {
                "SUP olcDatabaseConfig "
                "MUST olcDbDirectory "
                "MAY ( olcDbCheckpoint $ olcDbEnvFlags $ "
-               "olcDbNoSync $ olcDbIndex $ olcDbMaxReaders $ olcDbMaxsize $ "
-               "olcDbMode $ olcDbSearchStack ) )",
+               "olcDbNoSync $ olcDbIndex $ olcDbMaxReaders $ olcDbMaxSize $ "
+               "olcDbMode $ olcDbSearchStack $ olcDbMaxEntrySize $ olcDbRtxnSize $ "
+               "olcDbMultivalHi $ olcDbMultivalLo ) )",
                        Cft_Database, mdbcfg },
        { NULL, 0, NULL }
 };
@@ -406,6 +427,9 @@ mdb_cf_gen( ConfigArgs *c )
                                        mdb->mi_dbenv_flags ^= mdb_envflags[i].mask;
                                } else {
                                        /* unknown keyword */
+                                       snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s: unknown keyword \"%s\"",
+                                               c->argv[0], c->argv[i] );
+                                       Debug( LDAP_DEBUG_CONFIG, "%s %s\n", c->log, c->cr_msg, 0 );
                                        rc = 1;
                                }
                        }
@@ -608,7 +632,10 @@ mdb_cf_gen( ConfigArgs *c )
                                mdb->mi_dbenv_flags |= mdb_envflags[j].mask;
                        } else {
                                /* unknown keyword */
-                               rc = 1;
+                               snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s: unknown keyword \"%s\"",
+                                       c->argv[0], c->argv[i] );
+                               Debug( LDAP_DEBUG_ANY, "%s %s\n", c->log, c->cr_msg, 0 );
+                               return 1;
                        }
                }
                }