|DELETE||Delete can have two outcomes: a deleted entry can disappear (standard outcome), or it can leave a null entry as a hole.|
RDBlk_NN support all standard hash operations, with the exception that you cannot create or insert a user key you must push new entries and use the generated key or basic iteration to retrieve your data.
In addition to the RDBlock standard public methods, RDBlk_NN adds HSplice and HeSplice.
HSplice this, offset, length, LIST Perform the equivalent of splice on the array.
offset is optional and defaults to zero, negative values count back from the end of the array.
length is optional and defaults to rest of the array.
LIST may be empty.
Returns a list of the original length elements at offset.
HeSplice this, error_ref, offset, length, LIST error_ref is a string ref. Normally set to undef, set to error string on failure.
build simple test cases build complex test cases test thoroughly packdeleted: make this work. Its broken! integration with bt2 - need to packdelete in bsplit, do null checks in leaf blocks (branch blocks should be ok) need a validation function to ensure that block maintains invariant: small number of leading metadata rows starting at row zero, followed by data rows (deletes ok). Easier to support non-split rows initially, but should be able to support head rows (need mods to splice functions to preserve rowstats for this case). need to modify metadata methods so all metadata created in first n rows. could simply have delete really delete the rows, so no changes necessary for rdblock clients (i.e., no null rows generated).
Jeffrey I. Cohen, email@example.com
Copyright (c) 2004 Jeffrey I Cohen. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Address bug reports and comments to: firstname.lastname@example.org
|perl v5.20.3||GENEZZO::BLOCK::RDBLK_NN (3)||2005-07-19|