00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <drizzled/select_result_interceptor.h>
00024 #include <drizzled/file_exchange.h>
00025
00026 #include <boost/filesystem.hpp>
00027
00028 namespace drizzled
00029 {
00030
00031 namespace internal
00032 {
00033 typedef struct st_io_cache IO_CACHE;
00034 }
00035
00036 class select_to_file :
00037 public select_result_interceptor
00038 {
00039 protected:
00040 file_exchange *exchange;
00041 int file;
00042 internal::IO_CACHE *cache;
00043 ha_rows row_count;
00044 boost::filesystem::path path;
00045
00046 public:
00047 select_to_file(file_exchange *ex);
00048 virtual ~select_to_file();
00049 void send_error(drizzled::error_t errcode,const char *err);
00050 bool send_eof();
00051 void cleanup();
00052 };
00053
00054 }
00055