ITS#7589 mdb_cursor_put(): Update ovpage nodesize.

Update the nodesize when overwriting an overflow page.
As before, do not attempt to shrink the page.
vmware
Hallvard Furuseth 12 years ago
parent 833cd905b7
commit 0cdd9dffdd
  1. 3
      libraries/liblmdb/mdb.c

@ -5199,9 +5199,10 @@ current:
/* Is the ov page writable and large enough? */ /* Is the ov page writable and large enough? */
if ((omp->mp_flags & P_DIRTY) && ovpages >= dpages) { if ((omp->mp_flags & P_DIRTY) && ovpages >= dpages) {
/* yes, overwrite it. Note in this case we don't /* 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. * is smaller than the overflow threshold.
*/ */
SETDSZ(leaf, data->mv_size);
if (F_ISSET(flags, MDB_RESERVE)) if (F_ISSET(flags, MDB_RESERVE))
data->mv_data = METADATA(omp); data->mv_data = METADATA(omp);
else else

Loading…
Cancel
Save