diff options
Diffstat (limited to 'ndb/src/client/odbc/codegen/Code_base.cpp')
-rw-r--r-- | ndb/src/client/odbc/codegen/Code_base.cpp | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/ndb/src/client/odbc/codegen/Code_base.cpp b/ndb/src/client/odbc/codegen/Code_base.cpp new file mode 100644 index 00000000000..dc02e071156 --- /dev/null +++ b/ndb/src/client/odbc/codegen/Code_base.cpp @@ -0,0 +1,167 @@ +/* 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); + } +} |