MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
MySQL 5.6.14 Source Code Document
replication of field metadata works.
ndbapi_simple.cpp
ndbapi_async.cpp
ndbapi_async1.cpp
ndbapi_retries.cpp
ndbapi_simple_index.cpp
ndbapi_scan.cpp
ndbapi_event.cpp
Adaptive Send Algorithm
MySQL Cluster Concepts
basic.cpp
common.hpp
br_test.cpp
ptr_binding_test.cpp
The Performance Schema main page
Performance schema: instrumentation interface page.
Performance schema: the aggregates page.
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
client
cmake
cmd-line-utils
dbug
extra
include
libevent
libmysql
libmysqld
libservices
mysql-test
mysys
mysys_ssl
packaging
plugin
regex
scripts
sql
sql-common
storage
archive
blackhole
csv
example
federated
heap
innobase
myisam
myisammrg
ndb
clusterj
include
ndbapi-examples
src
common
cw
kernel
mgmapi
mgmclient
mgmsrv
ndbapi
API.hpp
ClusterMgr.cpp
ClusterMgr.hpp
DictCache.cpp
DictCache.hpp
Ndb.cpp
ndb_cluster_connection.cpp
ndb_cluster_connection_impl.hpp
ndb_internal.cpp
ndb_internal.hpp
NdbApiSignal.cpp
NdbApiSignal.hpp
NdbBlob.cpp
NdbBlobImpl.hpp
NdbDictionary.cpp
NdbDictionaryImpl.cpp
NdbDictionaryImpl.hpp
Ndberr.cpp
ndberror.c
ndberror_check.cpp
NdbErrorOut.cpp
NdbEventOperation.cpp
NdbEventOperationImpl.cpp
NdbEventOperationImpl.hpp
Ndbif.cpp
NdbImpl.hpp
NdbIndexOperation.cpp
NdbIndexStat.cpp
NdbIndexStatFrmData.cpp
NdbIndexStatImpl.cpp
NdbIndexStatImpl.hpp
NdbInfo.cpp
NdbInfo.hpp
NdbInfoRecAttr.hpp
NdbInfoScanOperation.cpp
NdbInfoScanOperation.hpp
Ndbinit.cpp
NdbInterpretedCode.cpp
NdbLinHash.hpp
Ndblist.cpp
NdbOperation.cpp
NdbOperationDefine.cpp
NdbOperationExec.cpp
NdbOperationInt.cpp
NdbOperationScan.cpp
NdbOperationSearch.cpp
NdbPool.cpp
NdbPoolImpl.cpp
NdbPoolImpl.hpp
NdbQueryBuilder.cpp
NdbQueryBuilder.hpp
NdbQueryBuilderImpl.hpp
NdbQueryOperation.cpp
NdbQueryOperation.hpp
NdbQueryOperationImpl.hpp
NdbRecAttr.cpp
NdbReceiver.cpp
NdbRecord.hpp
NdbScanFilter.cpp
NdbScanOperation.cpp
NdbTransaction.cpp
NdbTransactionScan.cpp
NdbUtil.cpp
NdbUtil.hpp
NdbWaiter.hpp
ObjectMap.cpp
ObjectMap.hpp
SignalSender.cpp
SignalSender.hpp
TransporterFacade.cpp
TransporterFacade.hpp
trp_buffer.cpp
trp_buffer.hpp
trp_client.cpp
trp_client.hpp
trp_node.cpp
trp_node.hpp
ndbjtie
dummy.cpp
test
tools
perfschema
strings
support-files
tests
unittest
vio
zlib
File Members
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
DictCache.hpp
1
/*
2
Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; version 2 of the License.
7
8
This program is distributed in the hope that it will be useful,
9
but WITHOUT ANY WARRANTY; without even the implied warranty of
10
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
GNU General Public License for more details.
12
13
You should have received a copy of the GNU General Public License
14
along with this program; if not, write to the Free Software
15
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
*/
17
18
#ifndef DictCache_H
19
#define DictCache_H
20
21
#include <ndb_types.h>
22
#include <kernel_types.h>
23
#include <NdbError.hpp>
24
#include <BaseString.hpp>
25
#include <Vector.hpp>
26
#include <UtilBuffer.hpp>
27
#include <NdbDictionary.hpp>
28
#include <Ndb.hpp>
29
#include <NdbCondition.h>
30
#include "NdbLinHash.hpp"
31
32
class
Ndb_local_table_info
{
33
public
:
34
static
Ndb_local_table_info
*create(
NdbTableImpl
*table_impl, Uint32 sz=0);
35
static
void
destroy(
Ndb_local_table_info
*);
36
NdbTableImpl
*m_table_impl;
37
38
// range of cached tuple ids per thread
39
Ndb::TupleIdRange
m_tuple_id_range;
40
41
Uint64 m_local_data[1];
// Must be last member. Used to access extra space.
42
private
:
43
Ndb_local_table_info
(
NdbTableImpl
*table_impl);
44
~
Ndb_local_table_info
();
45
};
46
50
class
LocalDictCache
{
51
public
:
52
LocalDictCache
();
53
~
LocalDictCache
();
54
55
Ndb_local_table_info
*
get
(
const
char
*
name
);
56
57
void
put(
const
char
*
name
,
Ndb_local_table_info
*);
58
void
drop(
const
char
* name);
59
60
NdbLinHash<Ndb_local_table_info>
m_tableHash;
// On name
61
};
62
66
class
GlobalDictCache
:
public
NdbLockable
{
67
public
:
68
GlobalDictCache
();
69
~
GlobalDictCache
();
70
71
NdbTableImpl
*
get
(
const
char
*
name
,
int
*error);
72
73
NdbTableImpl
* put(
const
char
*
name
,
NdbTableImpl
*);
74
void
release(
const
NdbTableImpl
*,
int
invalidate = 0);
75
76
void
alter_table_rep(
const
char
* name,
77
Uint32 tableId, Uint32 tableVersion,
bool
altered);
78
79
unsigned
get_size();
80
void
invalidate_all();
81
82
// update reference count by +1 or -1
83
int
inc_ref_count(
const
NdbTableImpl
* impl) {
84
return
chg_ref_count(impl, +1);
85
}
86
int
dec_ref_count(
const
NdbTableImpl
* impl) {
87
return
chg_ref_count(impl, -1);
88
}
89
90
void
invalidateDb(
const
char
* name,
size_t
len);
91
92
public
:
93
enum
Status {
94
OK = 0,
95
DROPPED = 1,
96
RETREIVING = 2
97
};
98
99
private
:
100
void
printCache();
101
int
chg_ref_count(
const
NdbTableImpl
*,
int
value);
102
103
struct
TableVersion {
104
Uint32 m_version;
105
Uint32 m_refCount;
106
NdbTableImpl
* m_impl;
107
Status m_status;
108
};
109
110
NdbLinHash<Vector<TableVersion>
> m_tableHash;
111
NdbCondition
* m_waitForTableCondition;
112
};
113
114
#endif
115
116
storage
ndb
src
ndbapi
DictCache.hpp
Generated on Sat Nov 9 2013 01:28:03 for MySQL 5.6.14 Source Code Document by
1.8.1.2