00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #ifndef Fennel_LcsClusterDump_Included
00023 #define Fennel_LcsClusterDump_Included
00024 
00025 #include "fennel/btree/BTreeDescriptor.h"
00026 #include "fennel/common/TraceSource.h"
00027 #include "fennel/lucidera/colstore/LcsClusterAccessBase.h"
00028 #include <boost/enable_shared_from_this.hpp>
00029 
00030 FENNEL_BEGIN_NAMESPACE
00031 
00035 class FENNEL_LCS_EXPORT LcsClusterDump
00036     : public LcsClusterAccessBase, public TraceSource
00037 {
00043     TraceLevel traceLevel;
00044 
00048     TupleDescriptor colTupleDesc;
00049 
00050     void callTrace(const char *format, ...);
00051 
00052     PBuffer fprintVal(uint idx, PBuffer pV, uint col);
00053 
00054 public:
00055     explicit LcsClusterDump(
00056         BTreeDescriptor const &bTreeDescriptor,
00057         TupleDescriptor const &colTupleDescInit,
00058         TraceLevel traceLevelInit,
00059         SharedTraceTarget pTraceTarget,
00060         std::string name);
00061 
00071     void dump(uint64_t pageId, PConstLcsClusterNode pHdr, uint szBlock);
00072 };
00073 
00074 
00075 FENNEL_END_NAMESPACE
00076 
00077 #endif
00078 
00079