#ifndef READ_STREAM_H
#define READ_STREAM_H
#include "storage/bufmgr.h"
#define READ_STREAM_DEFAULT 0x00
#define READ_STREAM_MAINTENANCE 0x01
#define READ_STREAM_SEQUENTIAL 0x02
#define READ_STREAM_FULL 0x04
struct ReadStream;
typedef struct ReadStream ReadStream;
typedef BlockNumber (*ReadStreamBlockNumberCB) (ReadStream *stream,
void *callback_private_data,
void *per_buffer_data);
extern ReadStream *read_stream_begin_relation(int flags,
BufferAccessStrategy strategy,
Relation rel,
ForkNumber forknum,
ReadStreamBlockNumberCB callback,
void *callback_private_data,
size_t per_buffer_data_size);
extern Buffer read_stream_next_buffer(ReadStream *stream, void **per_buffer_data);
extern BlockNumber read_stream_next_block(ReadStream *stream,
BufferAccessStrategy *strategy);
extern void read_stream_reset(ReadStream *stream);
extern void read_stream_end(ReadStream *stream);
#endif