|
|
@ -5976,12 +5976,9 @@ more: |
|
|
|
/* if data matches, skip it */ |
|
|
|
/* if data matches, skip it */ |
|
|
|
if (!mc->mc_dbx->md_dcmp(data, &olddata)) { |
|
|
|
if (!mc->mc_dbx->md_dcmp(data, &olddata)) { |
|
|
|
if (flags & MDB_NODUPDATA) |
|
|
|
if (flags & MDB_NODUPDATA) |
|
|
|
rc = MDB_KEYEXIST; |
|
|
|
return MDB_KEYEXIST; |
|
|
|
else if (flags & MDB_MULTIPLE) |
|
|
|
rc = MDB_SUCCESS; |
|
|
|
goto next_mult; |
|
|
|
goto next_sub; |
|
|
|
else |
|
|
|
|
|
|
|
rc = MDB_SUCCESS; |
|
|
|
|
|
|
|
return rc; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* Back up original data item */ |
|
|
|
/* Back up original data item */ |
|
|
@ -6258,9 +6255,9 @@ put_sub: |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
mc->mc_flags |= C_INITIALIZED; |
|
|
|
mc->mc_flags |= C_INITIALIZED; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
next_sub: |
|
|
|
if (flags & MDB_MULTIPLE) { |
|
|
|
if (flags & MDB_MULTIPLE) { |
|
|
|
if (!rc) { |
|
|
|
if (!rc) { |
|
|
|
next_mult: |
|
|
|
|
|
|
|
mcount++; |
|
|
|
mcount++; |
|
|
|
/* let caller know how many succeeded, if any */ |
|
|
|
/* let caller know how many succeeded, if any */ |
|
|
|
data[1].mv_size = mcount; |
|
|
|
data[1].mv_size = mcount; |
|
|
|