Scan_rt_i(SSM)

Shore Programmer's Manual - 2 August 96

NAME

scan_rt_i \- Class for Scanning an R*tree index in the Shore Storage Manager

SYNOPSIS

#include <sm_vas.h>  // which includes scan.h

class scan_rt_i {
public:

    stid_t			stid;
    tid_t			tid;
    ndx_t 			ntype;
    serial_t			serial;  // serial number if store has
					 // a logical ID 
    
    NORET			scan_rt_i(
	const stid_t& 		    stid, 
	sob_cmp_t 		    c,
	const nbox_t& 		    box,
	concurrency_t		    cc = t_cc_page);
    NORET			scan_rt_i(
	const lvid_t& 		    lvid, 
	const serial_t& 	    stid,
	sob_cmp_t 		    c,
	const nbox_t& 		    box,
	concurrency_t		    cc = t_cc_page);
    NORET			~scan_rt_i();
    
    rc_t			next(
	nbox_t& 		    key,
	void* 			    el,
	smsize_t&		    elen, 
	bool& 		    	    eof);

    void			finish();
    
    bool			eof()	{ return _eof; }
    bool			error_detected()
};


DESCRIPTION

Class scan_rt_i supports scanning an R*tree index.
TODO

Updates While Scanning

A common question is what is the effect of changes to an index made by a transaction that is also scanning the index. It is not safe to change anything in the file while scanning. Instead, a list of changes should be made during the scan and only performed after the scan is complete.

ERRORS

To do.

VERSION

This manual page applies to Version 1.0 of theShore software.

SPONSORSHIP

The Shore project is sponsored by the Advanced Research Project Agency, ARPA order number 018 (formerly 8230), monitored by the U.S. Army Research Laboratory under contract DAAB07-92-C-Q508.

COPYRIGHT

Copyright (c) 1994, 1995, 1996 Computer Sciences Department, University of Wisconsin -- Madison. All Rights Reserved.

SEE ALSO

rtree(ssm) , scan_index_i(ssm) intro(ssm) ,