My Project
opt_explain_traditional.h
00001 /* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
00002 
00003    This program is free software; you can redistribute it and/or modify
00004    it under the terms of the GNU General Public License as published by
00005    the Free Software Foundation; version 2 of the License.
00006 
00007    This program is distributed in the hope that it will be useful,
00008    but WITHOUT ANY WARRANTY; without even the implied warranty of
00009    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00010    GNU General Public License for more details.
00011 
00012    You should have received a copy of the GNU General Public License
00013    along with this program; if not, write to the Free Software Foundation,
00014    51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */
00015 
00016 
00017 #ifndef OPT_EXPLAIN_FORMAT_TRADITIONAL_INCLUDED
00018 #define OPT_EXPLAIN_FORMAT_TRADITIONAL_INCLUDED
00019 
00020 #include "opt_explain_format.h"
00021 
00026 class Explain_format_traditional : public Explain_format
00027 {
00028   class Item_null *nil;
00029   qep_row column_buffer; 
00030 
00031 public:
00032   Explain_format_traditional() : nil(NULL) {}
00033 
00034   virtual bool is_hierarchical() const { return false; }
00035   virtual bool send_headers(select_result *result);
00036   virtual bool begin_context(Explain_context_enum,
00037                              SELECT_LEX_UNIT *subquery,
00038                              const Explain_format_flags *flags)
00039   {
00040     return false;
00041   }
00042   virtual bool end_context(Explain_context_enum) { return false; }
00043   virtual bool flush_entry();
00044   virtual qep_row *entry() { return &column_buffer; }
00045 
00046 private:
00047   bool push_select_type(List<Item> *items);
00048 };
00049 
00050 #endif//OPT_EXPLAIN_FORMAT_TRADITIONAL_INCLUDED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines