summaryrefslogtreecommitdiff
path: root/storage/ndb/src/ndbapi/NdbPool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/ndb/src/ndbapi/NdbPool.cpp')
-rw-r--r--storage/ndb/src/ndbapi/NdbPool.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/storage/ndb/src/ndbapi/NdbPool.cpp b/storage/ndb/src/ndbapi/NdbPool.cpp
new file mode 100644
index 00000000000..a8263f564f1
--- /dev/null
+++ b/storage/ndb/src/ndbapi/NdbPool.cpp
@@ -0,0 +1,71 @@
+/* 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 <Ndb.hpp>
+#include "NdbPoolImpl.hpp"
+#include <NdbPool.hpp>
+
+static NdbPool* m_pool = 0;
+
+bool
+create_instance(Ndb_cluster_connection* cc,
+ Uint32 max_ndb_objects,
+ Uint32 no_conn_obj,
+ Uint32 init_no_ndb_objects)
+{
+ if (m_pool != NULL) {
+ return false;
+ }
+ m_pool = NdbPool::create_instance(cc,
+ max_ndb_objects,
+ no_conn_obj,
+ init_no_ndb_objects);
+ if (m_pool == NULL) {
+ return false;
+ }
+ return true;
+}
+
+void
+drop_instance()
+{
+ if (m_pool == NULL) {
+ return;
+ }
+ NdbPool::drop_instance();
+ m_pool = NULL;
+}
+
+Ndb*
+get_ndb_object(Uint32 &hint_id,
+ const char* a_catalog_name,
+ const char* a_schema_name)
+{
+ if (m_pool == NULL) {
+ return NULL;
+ }
+ return m_pool->get_ndb_object(hint_id, a_catalog_name, a_schema_name);
+}
+
+void
+return_ndb_object(Ndb* returned_object, Uint32 id)
+{
+ if (m_pool == NULL) {
+ return;
+ }
+ m_pool->return_ndb_object(returned_object, id);
+}
+