/* Copyright (C) 2003 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <common/StmtArea.hpp> #include "Code_base.hpp" #include "Code_root.hpp" // Plan_base Plan_base::~Plan_base() { } StmtArea& Plan_base::stmtArea() const { ctx_assert(m_root != 0); return m_root->m_stmtArea; } DescArea& Plan_base::descArea(DescUsage u) const { return stmtArea().descArea(u); } ConnArea& Plan_base::connArea() const { return stmtArea().connArea(); } DictCatalog& Plan_base::dictCatalog() const { return connArea().dictCatalog(); } DictSchema& Plan_base::dictSchema() const { return connArea().dictSchema(); } Ndb* Plan_base::ndbObject() const { Ndb* ndb = connArea().ndbObject(); ctx_assert(ndb != 0); return ndb; } NdbSchemaCon* Plan_base::ndbSchemaCon() const { NdbSchemaCon* ndbSchemaCon = connArea().ndbSchemaCon(); ctx_assert(ndbSchemaCon != 0); return ndbSchemaCon; } NdbConnection* Plan_base::ndbConnection() const { NdbConnection* ndbConnection = connArea().ndbConnection(); ctx_assert(ndbConnection != 0); return ndbConnection; } void Plan_base::printList(Ctx& ctx, Plan_base* a[], unsigned n) { for (unsigned i = 0; i < n; i++) { if (a[i] == 0) ctx.print(" -"); else a[i]->print(ctx); } } // Exec_base Exec_base::Code::~Code() { } Exec_base::Data::~Data() { } Exec_base::~Exec_base() { delete m_code; // remove when code becomes shared m_code = 0; delete m_data; m_data = 0; } StmtArea& Exec_base::stmtArea() const { ctx_assert(m_root != 0); return m_root->m_stmtArea; } DescArea& Exec_base::descArea(DescUsage u) const { return stmtArea().descArea(u); } ConnArea& Exec_base::connArea() const { return stmtArea().connArea(); } DictSchema& Exec_base::dictSchema() const { return connArea().dictSchema(); } Ndb* Exec_base::ndbObject() const { Ndb* ndb = connArea().ndbObject(); ctx_assert(ndb != 0); return ndb; } NdbSchemaCon* Exec_base::ndbSchemaCon() const { NdbSchemaCon* ndbSchemaCon = connArea().ndbSchemaCon(); ctx_assert(ndbSchemaCon != 0); return ndbSchemaCon; } NdbConnection* Exec_base::ndbConnection() const { NdbConnection* ndbConnection = connArea().ndbConnection(); ctx_assert(ndbConnection != 0); return ndbConnection; } void Exec_base::printList(Ctx& ctx, Exec_base* a[], unsigned n) { for (unsigned i = 0; i < n; i++) { ctx_assert(a[i] != 0); a[i]->print(ctx); } }