]> git.sur5r.net Git - openldap/commitdiff
ITS#7589 mdb_cursor_put(): Update ovpage nodesize.
authorHallvard Furuseth <hallvard@openldap.org>
Fri, 17 May 2013 17:31:17 +0000 (19:31 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Fri, 17 May 2013 17:31:17 +0000 (19:31 +0200)
Update the nodesize when overwriting an overflow page.
As before, do not attempt to shrink the page.

libraries/liblmdb/mdb.c

index 8415ccb26c65f3583995ab889809e27f90193a16..2c715ec74f2bbf9d7e07d8a9bef0dbcab9680073 100644 (file)
@@ -5199,9 +5199,10 @@ current:
                        /* Is the ov page writable and large enough? */
                        if ((omp->mp_flags & P_DIRTY) && ovpages >= dpages) {
                                /* yes, overwrite it. Note in this case we don't
-                                * bother to try shrinking the node if the new data
+                                * bother to try shrinking the page if the new data
                                 * is smaller than the overflow threshold.
                                 */
+                               SETDSZ(leaf, data->mv_size);
                                if (F_ISSET(flags, MDB_RESERVE))
                                        data->mv_data = METADATA(omp);
                                else