MySQL  8.0.19
Source Code Documentation
object_keys.h
Go to the documentation of this file.
1 /* Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
2 
3  This program is free software; you can redistribute it and/or modify
4  it under the terms of the GNU General Public License, version 2.0,
5  as published by the Free Software Foundation.
6 
7  This program is also distributed with certain software (including
8  but not limited to OpenSSL) that is licensed under separate terms,
9  as designated in a particular file or component or in included license
10  documentation. The authors of MySQL hereby grant you an additional
11  permission to link the program and your derivative works with the
12  separately licensed software that they have included with MySQL.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License, version 2.0, for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22 
23 #ifndef DD__OBJECT_KEYS_INCLUDED
24 #define DD__OBJECT_KEYS_INCLUDED
25 
26 #include <stddef.h>
27 #include <string.h>
28 #include <sys/types.h>
29 
30 #include "m_ctype.h"
31 #include "my_inttypes.h"
32 #include "sql/dd/impl/object_key.h" // dd::Object_key
33 #include "sql/dd/object_id.h" // dd::Object_id
34 #include "sql/dd/string_type.h"
35 #include "template_utils.h"
36 
37 namespace dd {
38 
39 ///////////////////////////////////////////////////////////////////////////
40 
41 class Raw_table;
42 struct Raw_key;
43 
44 ///////////////////////////////////////////////////////////////////////////
45 
46 // NOTE: the current naming convention is as follows:
47 // - use '_key' suffix to name keys identifying 0 or 1 row;
48 // - use '_range_key' suffix to name keys identifying 0 or N rows.
49 
50 ///////////////////////////////////////////////////////////////////////////
51 
52 // Key type to be used for keys that are not supported by an object type.
53 class Void_key : public Object_key {
54  public:
55  Void_key() {}
56 
57  public:
58  /* purecov: begin inspected */
59  virtual Raw_key *create_access_key(Raw_table *) const { return NULL; }
60  /* purecov: end */
61 
62  /* purecov: begin inspected */
63  virtual String_type str() const { return ""; }
64  /* purecov: end */
65 
66  // We need a comparison operator since the type will be used
67  // as a template type argument.
68  /* purecov: begin inspected */
69  bool operator<(const Void_key &rhs) const { return this < &rhs; }
70  /* purecov: end */
71 };
72 
73 ///////////////////////////////////////////////////////////////////////////
74 
75 // Entity_object-id primary key for global objects.
76 class Primary_id_key : public Object_key {
77  public:
79 
80  Primary_id_key(Object_id object_id) : m_object_id(object_id) {}
81 
82  // Update a preallocated instance.
83  void update(Object_id object_id) { m_object_id = object_id; }
84 
85  public:
86  virtual Raw_key *create_access_key(Raw_table *db_table) const;
87 
88  virtual String_type str() const;
89 
90  bool operator<(const Primary_id_key &rhs) const {
91  return m_object_id < rhs.m_object_id;
92  }
93 
94  private:
96 };
97 
98 ///////////////////////////////////////////////////////////////////////////
99 
100 // Entity_object-id partial key for looking for containing objects.
102  public:
103  Parent_id_range_key(int id_index_no, int id_column_no, Object_id object_id)
104  : m_id_index_no(id_index_no),
105  m_id_column_no(id_column_no),
106  m_object_id(object_id) {}
107 
108  public:
109  virtual Raw_key *create_access_key(Raw_table *db_table) const;
110 
111  virtual String_type str() const;
112 
113  private:
117 };
118 
119 ///////////////////////////////////////////////////////////////////////////
120 
121 // Entity_object-name key for global objects.
122 class Global_name_key : public Object_key {
123  public:
125 
126  Global_name_key(int name_column_no, const String_type &object_name,
127  const CHARSET_INFO *cs)
128  : m_name_column_no(name_column_no),
129  m_object_name(object_name),
130  m_cs(cs) {}
131 
132  // Update a preallocated instance.
133  void update(int name_column_no, const String_type &object_name,
134  const CHARSET_INFO *cs) {
135  m_name_column_no = name_column_no;
136  m_object_name = object_name;
137  m_cs = cs;
138  }
139 
140  public:
141  virtual Raw_key *create_access_key(Raw_table *db_table) const;
142 
143  /* purecov: begin inspected */
144  virtual String_type str() const { return m_object_name; }
145  /* purecov: end */
146 
147  bool operator<(const Global_name_key &rhs) const {
148  return (my_strnncoll(m_cs,
149  pointer_cast<const uchar *>(m_object_name.c_str()),
150  m_object_name.length(),
151  pointer_cast<const uchar *>(rhs.m_object_name.c_str()),
152  rhs.m_object_name.length()) < 0);
153  }
154 
155  private:
158  // Collation used for the name in the table.
160 };
161 
162 ///////////////////////////////////////////////////////////////////////////
163 
164 // Entity_object-name key for objects which are identified within a container.
165 class Item_name_key : public Object_key {
166  public:
168 
169  Item_name_key(int container_id_column_no, Object_id container_id,
170  int name_column_no, const String_type &object_name,
171  const CHARSET_INFO *cs)
172  : m_container_id_column_no(container_id_column_no),
173  m_name_column_no(name_column_no),
174  m_container_id(container_id),
175  m_object_name(object_name),
176  m_cs(cs) {}
177 
178  // Update a preallocated instance.
179  void update(int container_id_column_no, Object_id container_id,
180  int name_column_no, const String_type &object_name,
181  const CHARSET_INFO *cs) {
182  m_container_id_column_no = container_id_column_no;
183  m_name_column_no = name_column_no;
184  m_container_id = container_id;
185  m_object_name = object_name;
186  m_cs = cs;
187  }
188 
189  public:
190  virtual Raw_key *create_access_key(Raw_table *db_table) const;
191 
192  virtual String_type str() const;
193 
194  bool operator<(const Item_name_key &rhs) const {
195  if (m_container_id != rhs.m_container_id)
196  return (m_container_id < rhs.m_container_id);
197 
198  return (my_strnncoll(m_cs,
199  pointer_cast<const uchar *>(m_object_name.c_str()),
200  m_object_name.length(),
201  pointer_cast<const uchar *>(rhs.m_object_name.c_str()),
202  rhs.m_object_name.length()) < 0);
203  }
204 
205  private:
208 
211  // Collation used for the name in the table.
213 };
214 
215 ///////////////////////////////////////////////////////////////////////////
216 
217 // TODO: find a better name.
219  public:
221 
222  /* purecov: begin deadcode */
223  Se_private_id_key(int index_no, int engine_column_no,
224  const String_type &engine, int private_id_column_no,
225  Object_id private_id)
226  : m_index_no(index_no),
227  m_engine_column_no(engine_column_no),
228  m_engine(engine),
229  m_private_id_column_no(private_id_column_no),
230  m_private_id(private_id) {}
231  /* purecov: end */
232 
233  // Update a preallocated instance.
234  void update(int index_no, int engine_column_no, const String_type &engine,
235  int private_id_column_no, Object_id private_id) {
236  m_index_no = index_no;
237  m_engine_column_no = engine_column_no;
238  m_engine = engine;
239  m_private_id_column_no = private_id_column_no;
240  m_private_id = private_id;
241  }
242 
243  public:
244  virtual Raw_key *create_access_key(Raw_table *db_table) const;
245 
246  virtual String_type str() const;
247 
248  bool operator<(const Se_private_id_key &rhs) const {
249  return m_private_id < rhs.m_private_id
250  ? true
252  : m_engine < rhs.m_engine;
253  }
254 
255  private:
257 
260 
263 };
264 
265 ///////////////////////////////////////////////////////////////////////////
266 
267 class Composite_pk : public Object_key {
268  public:
269  Composite_pk(int index_no, uint first_column_no, ulonglong first_id,
270  uint second_column_no, ulonglong second_id)
271  : m_index_no(index_no),
272  m_first_column_no(first_column_no),
273  m_first_id(first_id),
274  m_second_column_no(second_column_no),
275  m_second_id(second_id) {}
276 
277  public:
278  virtual Raw_key *create_access_key(Raw_table *db_table) const;
279 
280  virtual String_type str() const;
281 
282  private:
284 
287 
290 };
291 
292 ///////////////////////////////////////////////////////////////////////////
293 
295  public:
296  Composite_char_key(int index_no, uint first_column_no,
297  const String_type &first_name, uint second_column_no,
298  const String_type &second_name)
299  : m_index_no(index_no),
300  m_first_column_no(first_column_no),
301  m_first_name(first_name),
302  m_second_column_no(second_column_no),
303  m_second_name(second_name) {}
304 
305  public:
306  virtual Raw_key *create_access_key(Raw_table *db_table) const;
307 
308  virtual String_type str() const;
309 
310  private:
312 
315 
318 };
319 
320 ///////////////////////////////////////////////////////////////////////////
321 
323  public:
324  Composite_4char_key(int index_no, uint first_column_no,
325  const String_type &first_name, uint second_column_no,
326  const String_type &second_name, uint third_column_no,
327  const String_type &third_name, uint fourth_column_no,
328  const String_type &fourth_name)
329  : m_index_no(index_no),
330  m_first_column_no(first_column_no),
331  m_first_name(first_name),
332  m_second_column_no(second_column_no),
333  m_second_name(second_name),
334  m_third_column_no(third_column_no),
335  m_third_name(third_name),
336  m_fourth_column_no(fourth_column_no),
337  m_fourth_name(fourth_name) {}
338 
339  public:
340  virtual Raw_key *create_access_key(Raw_table *db_table) const;
341 
342  virtual String_type str() const;
343 
344  private:
346 
349 
352 
355 
358 };
359 
360 ///////////////////////////////////////////////////////////////////////////
361 
363  public:
364  Composite_obj_id_3char_key(int index_no, uint id_column_no, Object_id id,
365  uint first_column_no,
366  const String_type &first_name,
367  uint second_column_no,
368  const String_type &second_name,
369  uint third_column_no,
370  const String_type &third_name)
371  : m_index_no(index_no),
372  m_id_column_no(id_column_no),
373  m_id(id),
374  m_first_column_no(first_column_no),
375  m_first_name(first_name),
376  m_second_column_no(second_column_no),
377  m_second_name(second_name),
378  m_third_column_no(third_column_no),
379  m_third_name(third_name) {}
380 
381  public:
382  virtual Raw_key *create_access_key(Raw_table *db_table) const;
383 
384  virtual String_type str() const;
385 
386  private:
388 
391 
394 
397 
400 };
401 
402 ///////////////////////////////////////////////////////////////////////////
403 
404 // Range key to find index statistics entries by table name.
405 // in mysql.index_stats.
407  public:
408  Index_stat_range_key(int index_no, int schema_name_column_no,
409  const String_type &schema_name, int table_name_column_no,
410  const String_type &table_name)
411  : m_index_no(index_no),
412  m_schema_name_column_no(schema_name_column_no),
413  m_schema_name(schema_name),
414  m_table_name_column_no(table_name_column_no),
416 
417  public:
418  virtual Raw_key *create_access_key(Raw_table *db_table) const;
419 
420  virtual String_type str() const;
421 
422  private:
424 
427 
430 };
431 
432 ///////////////////////////////////////////////////////////////////////////
433 
434 class Routine_name_key : public Object_key {
435  public:
437 
438  Routine_name_key(int index_no, int container_id_column_no,
439  Object_id container_id, int type_column_no, uint type,
440  int name_column_no, const String_type &object_name,
441  const CHARSET_INFO *cs)
442  : m_index_no(index_no),
443  m_container_id_column_no(container_id_column_no),
444  m_type_column_no(type_column_no),
445  m_name_column_no(name_column_no),
446  m_container_id(container_id),
447  m_type(type),
448  m_object_name(object_name),
449  m_cs(cs) {}
450 
451  // Update a preallocated instance.
452  void update(int index_no, int container_id_column_no, Object_id container_id,
453  int type_column_no, uint type, int name_column_no,
454  const String_type &object_name, const CHARSET_INFO *cs) {
455  m_index_no = index_no;
456  m_container_id_column_no = container_id_column_no;
457  m_type_column_no = type_column_no;
458  m_name_column_no = name_column_no;
459  m_container_id = container_id;
460  m_type = type;
461  m_object_name = object_name;
462  m_cs = cs;
463  }
464 
465  public:
466  virtual Raw_key *create_access_key(Raw_table *db_table) const;
467 
468  virtual String_type str() const;
469 
470  bool operator<(const Routine_name_key &rhs) const;
471 
472  private:
477 
481  // Collation used for the routine name in the table.
483 };
484 
485 ///////////////////////////////////////////////////////////////////////////
486 
487 // Range key to find rows using catalog/schema/table name.
489  public:
490  Table_reference_range_key(int index_no, int catalog_name_column_no,
491  const String_type &catalog_name,
492  int schema_name_column_no,
493  const String_type &schema_name,
494  int table_name_column_no,
495  const String_type &table_name)
496  : m_index_no(index_no),
497  m_catalog_name_column_no(catalog_name_column_no),
498  m_catalog_name(catalog_name),
499  m_schema_name_column_no(schema_name_column_no),
500  m_schema_name(schema_name),
501  m_table_name_column_no(table_name_column_no),
503 
504  public:
505  virtual Raw_key *create_access_key(Raw_table *db_table) const;
506 
507  virtual String_type str() const;
508 
509  private:
511 
514 
517 
520 };
521 
522 ///////////////////////////////////////////////////////////////////////////
523 
524 // Range key to find sub partition entries by table id and parent partition
525 // id in mysql.partitions.
527  public:
528  Sub_partition_range_key(int index_no, int table_id_column_no,
529  const Object_id table_id,
530  int parent_partition_id_column_no,
531  const Object_id parent_partition_id)
532  : m_index_no(index_no),
533  m_table_id_column_no(table_id_column_no),
534  m_table_id(table_id),
535  m_parent_partition_id_column_no(parent_partition_id_column_no),
536  m_parent_partition_id(parent_partition_id) {}
537 
538  public:
539  virtual Raw_key *create_access_key(Raw_table *db_table) const;
540 
541  virtual String_type str() const;
542 
543  private:
545 
548 
551 };
552 
553 ///////////////////////////////////////////////////////////////////////////
554 } // namespace dd
555 #endif // DD__OBJECT_KEYS_INCLUDED
dd::Composite_obj_id_3char_key::m_id
Object_id m_id
Definition: object_keys.h:390
dd::Primary_id_key::str
virtual String_type str() const
Definition: object_keys.cc:78
dd::Table_reference_range_key::m_catalog_name
String_type m_catalog_name
Definition: object_keys.h:513
dd::Se_private_id_key::m_private_id
Object_id m_private_id
Definition: object_keys.h:262
dd::Composite_char_key::Composite_char_key
Composite_char_key(int index_no, uint first_column_no, const String_type &first_name, uint second_column_no, const String_type &second_name)
Definition: object_keys.h:296
dd::Composite_4char_key::m_fourth_column_no
int m_fourth_column_no
Definition: object_keys.h:356
template_utils.h
dd::Composite_4char_key::m_third_name
String_type m_third_name
Definition: object_keys.h:354
dd::Parent_id_range_key
Definition: object_keys.h:101
dd::Se_private_id_key::m_index_no
int m_index_no
Definition: object_keys.h:256
dd::Composite_char_key::m_first_column_no
int m_first_column_no
Definition: object_keys.h:313
dd::Composite_obj_id_3char_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:391
rules_table_service::table_name
const char * table_name
Definition: rules_table_service.cc:55
dd::Se_private_id_key::m_engine_column_no
int m_engine_column_no
Definition: object_keys.h:258
dd::String_type
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:50
dd::Item_name_key::Item_name_key
Item_name_key(int container_id_column_no, Object_id container_id, int name_column_no, const String_type &object_name, const CHARSET_INFO *cs)
Definition: object_keys.h:169
object_key.h
dd::Sub_partition_range_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:498
NULL
#define NULL
Definition: types.h:55
dd::Composite_obj_id_3char_key::m_third_name
String_type m_third_name
Definition: object_keys.h:399
dd::Composite_obj_id_3char_key::str
virtual String_type str() const
Definition: object_keys.cc:419
dd::Composite_char_key::m_index_no
int m_index_no
Definition: object_keys.h:311
dd::Table_reference_range_key::m_schema_name
String_type m_schema_name
Definition: object_keys.h:516
dd::Se_private_id_key::operator<
bool operator<(const Se_private_id_key &rhs) const
Definition: object_keys.h:248
CHARSET_INFO
Definition: m_ctype.h:354
dd::Primary_id_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:46
string.h
dd::Se_private_id_key::str
virtual String_type str() const
Definition: object_keys.cc:229
dd::Composite_pk::m_index_no
int m_index_no
Definition: object_keys.h:283
dd::Item_name_key::m_cs
const CHARSET_INFO * m_cs
Definition: object_keys.h:212
dd::Item_name_key::m_object_name
String_type m_object_name
Definition: object_keys.h:210
dd::Sub_partition_range_key::m_table_id
Object_id m_table_id
Definition: object_keys.h:547
dd::Table_reference_range_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:462
dd::Routine_name_key::m_type
uint m_type
Definition: object_keys.h:479
dd::Routine_name_key::operator<
bool operator<(const Routine_name_key &rhs) const
Definition: object_keys.cc:305
dd
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:39
dd::Se_private_id_key::Se_private_id_key
Se_private_id_key(int index_no, int engine_column_no, const String_type &engine, int private_id_column_no, Object_id private_id)
Definition: object_keys.h:223
dd::Composite_4char_key::m_first_name
String_type m_first_name
Definition: object_keys.h:348
dd::Primary_id_key::m_object_id
Object_id m_object_id
Definition: object_keys.h:95
dd::Item_name_key::m_container_id_column_no
int m_container_id_column_no
Definition: object_keys.h:206
dd::Routine_name_key::m_container_id
Object_id m_container_id
Definition: object_keys.h:478
dd::Composite_4char_key::m_index_no
int m_index_no
Definition: object_keys.h:345
dd::Composite_4char_key::m_fourth_name
String_type m_fourth_name
Definition: object_keys.h:357
dd::Composite_obj_id_3char_key::m_third_column_no
int m_third_column_no
Definition: object_keys.h:398
true
#define true
Definition: config_static.h:44
dd::Global_name_key::update
void update(int name_column_no, const String_type &object_name, const CHARSET_INFO *cs)
Definition: object_keys.h:133
dd::Composite_4char_key::str
virtual String_type str() const
Definition: object_keys.cc:380
dd::Routine_name_key::m_container_id_column_no
int m_container_id_column_no
Definition: object_keys.h:474
dd::Global_name_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:122
dd::Composite_pk::str
virtual String_type str() const
Definition: object_keys.cc:260
dd::Void_key::operator<
bool operator<(const Void_key &rhs) const
Definition: object_keys.h:69
dd::Composite_obj_id_3char_key::m_second_column_no
int m_second_column_no
Definition: object_keys.h:395
object_id.h
dd::Primary_id_key::update
void update(Object_id object_id)
Definition: object_keys.h:83
dd::Routine_name_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:271
dd::Sub_partition_range_key::str
virtual String_type str() const
Definition: object_keys.cc:526
dd::Sub_partition_range_key::m_table_id_column_no
int m_table_id_column_no
Definition: object_keys.h:546
dd::Item_name_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:156
dd::Se_private_id_key::Se_private_id_key
Se_private_id_key()
Definition: object_keys.h:220
dd::Index_stat_range_key
Definition: object_keys.h:406
dd::Table_reference_range_key::m_schema_name_column_no
int m_schema_name_column_no
Definition: object_keys.h:515
dd::Global_name_key::str
virtual String_type str() const
Definition: object_keys.h:144
dd::Se_private_id_key::update
void update(int index_no, int engine_column_no, const String_type &engine, int private_id_column_no, Object_id private_id)
Definition: object_keys.h:234
dd::Composite_obj_id_3char_key::m_first_column_no
int m_first_column_no
Definition: object_keys.h:392
dd::Index_stat_range_key::m_table_name_column_no
int m_table_name_column_no
Definition: object_keys.h:428
dd::Composite_4char_key::m_third_column_no
int m_third_column_no
Definition: object_keys.h:353
my_inttypes.h
dd::Composite_pk::m_first_column_no
int m_first_column_no
Definition: object_keys.h:285
dd::Composite_char_key::str
virtual String_type str() const
Definition: object_keys.cc:342
m_ctype.h
dd::Composite_obj_id_3char_key
Definition: object_keys.h:362
dd::Composite_pk::m_second_column_no
int m_second_column_no
Definition: object_keys.h:288
dd::Parent_id_range_key::m_id_index_no
int m_id_index_no
Definition: object_keys.h:114
dd::Global_name_key::m_cs
const CHARSET_INFO * m_cs
Definition: object_keys.h:159
dd::Composite_obj_id_3char_key::m_index_no
int m_index_no
Definition: object_keys.h:387
dd::Index_stat_range_key::m_table_name
String_type m_table_name
Definition: object_keys.h:429
dd::Composite_char_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:320
dd::Item_name_key::update
void update(int container_id_column_no, Object_id container_id, int name_column_no, const String_type &object_name, const CHARSET_INFO *cs)
Definition: object_keys.h:179
dd::Global_name_key::operator<
bool operator<(const Global_name_key &rhs) const
Definition: object_keys.h:147
dd::Sub_partition_range_key::m_parent_partition_id_column_no
int m_parent_partition_id_column_no
Definition: object_keys.h:549
uint
unsigned int uint
Definition: uca-dump.cc:29
dd::Routine_name_key::m_index_no
int m_index_no
Definition: object_keys.h:473
dd::Se_private_id_key::m_private_id_column_no
int m_private_id_column_no
Definition: object_keys.h:261
dd::Routine_name_key::Routine_name_key
Routine_name_key()
Definition: object_keys.h:436
dd::Composite_4char_key::m_second_column_no
int m_second_column_no
Definition: object_keys.h:350
dd::Global_name_key::Global_name_key
Global_name_key()
Definition: object_keys.h:124
dd::Se_private_id_key::m_engine
String_type m_engine
Definition: object_keys.h:259
string_type.h
dd::Primary_id_key
Definition: object_keys.h:76
dd::Composite_4char_key
Definition: object_keys.h:322
my_strnncoll
#define my_strnncoll(s, a, b, c, d)
Definition: m_ctype.h:672
dd::Index_stat_range_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:429
dd::Composite_pk::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:239
dd::Composite_pk::m_second_id
ulonglong m_second_id
Definition: object_keys.h:289
dd::Composite_char_key
Definition: object_keys.h:294
engine
ENGINE_HANDLE * engine
Definition: mock_server.c:28
dd::Item_name_key::m_container_id
Object_id m_container_id
Definition: object_keys.h:209
dd::Composite_4char_key::Composite_4char_key
Composite_4char_key(int index_no, uint first_column_no, const String_type &first_name, uint second_column_no, const String_type &second_name, uint third_column_no, const String_type &third_name, uint fourth_column_no, const String_type &fourth_name)
Definition: object_keys.h:324
dd::Item_name_key::m_name_column_no
int m_name_column_no
Definition: object_keys.h:207
dd::Composite_obj_id_3char_key::m_first_name
String_type m_first_name
Definition: object_keys.h:393
dd::Table_reference_range_key::Table_reference_range_key
Table_reference_range_key(int index_no, int catalog_name_column_no, const String_type &catalog_name, int schema_name_column_no, const String_type &schema_name, int table_name_column_no, const String_type &table_name)
Definition: object_keys.h:490
dd::Composite_obj_id_3char_key::Composite_obj_id_3char_key
Composite_obj_id_3char_key(int index_no, uint id_column_no, Object_id id, uint first_column_no, const String_type &first_name, uint second_column_no, const String_type &second_name, uint third_column_no, const String_type &third_name)
Definition: object_keys.h:364
dd::Void_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *) const
Definition: object_keys.h:59
dd::Composite_pk
Definition: object_keys.h:267
dd::Routine_name_key::update
void update(int index_no, int container_id_column_no, Object_id container_id, int type_column_no, uint type, int name_column_no, const String_type &object_name, const CHARSET_INFO *cs)
Definition: object_keys.h:452
dd::Sub_partition_range_key
Definition: object_keys.h:526
dd::Composite_char_key::m_second_name
String_type m_second_name
Definition: object_keys.h:317
dd::Object_id
unsigned long long Object_id
Definition: object_id.h:30
dd::Routine_name_key::m_object_name
String_type m_object_name
Definition: object_keys.h:480
dd::Composite_obj_id_3char_key::m_id_column_no
int m_id_column_no
Definition: object_keys.h:389
dd::Sub_partition_range_key::m_parent_partition_id
Object_id m_parent_partition_id
Definition: object_keys.h:550
dd::Index_stat_range_key::m_schema_name_column_no
int m_schema_name_column_no
Definition: object_keys.h:425
dd::Composite_pk::m_first_id
ulonglong m_first_id
Definition: object_keys.h:286
dd::Composite_char_key::m_second_column_no
int m_second_column_no
Definition: object_keys.h:316
dd::Routine_name_key::m_cs
const CHARSET_INFO * m_cs
Definition: object_keys.h:482
dd::Parent_id_range_key::Parent_id_range_key
Parent_id_range_key(int id_index_no, int id_column_no, Object_id object_id)
Definition: object_keys.h:103
dd::Item_name_key::str
virtual String_type str() const
Definition: object_keys.cc:190
dd::Se_private_id_key
Definition: object_keys.h:218
dd::Composite_4char_key::m_first_column_no
int m_first_column_no
Definition: object_keys.h:347
dd::Routine_name_key::Routine_name_key
Routine_name_key(int index_no, int container_id_column_no, Object_id container_id, int type_column_no, uint type, int name_column_no, const String_type &object_name, const CHARSET_INFO *cs)
Definition: object_keys.h:438
dd::Table_reference_range_key
Definition: object_keys.h:488
HttpMethod::type
int type
Definition: http_common.h:411
dd::Table_reference_range_key::m_table_name_column_no
int m_table_name_column_no
Definition: object_keys.h:518
dd::Table_reference_range_key::str
virtual String_type str() const
Definition: object_keys.cc:486
dd::Global_name_key::m_name_column_no
int m_name_column_no
Definition: object_keys.h:156
dd::Primary_id_key::Primary_id_key
Primary_id_key(Object_id object_id)
Definition: object_keys.h:80
dd::Object_key
Definition: object_key.h:37
dd::Routine_name_key::m_type_column_no
int m_type_column_no
Definition: object_keys.h:475
dd::Parent_id_range_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:89
dd::Parent_id_range_key::str
virtual String_type str() const
Definition: object_keys.cc:110
dd::Void_key
Definition: object_keys.h:53
dd::Composite_obj_id_3char_key::m_second_name
String_type m_second_name
Definition: object_keys.h:396
dd::Sub_partition_range_key::m_index_no
int m_index_no
Definition: object_keys.h:544
dd::Global_name_key::m_object_name
String_type m_object_name
Definition: object_keys.h:157
dd::Composite_pk::Composite_pk
Composite_pk(int index_no, uint first_column_no, ulonglong first_id, uint second_column_no, ulonglong second_id)
Definition: object_keys.h:269
dd::Routine_name_key::m_name_column_no
int m_name_column_no
Definition: object_keys.h:476
ulonglong
unsigned long long int ulonglong
Definition: my_inttypes.h:55
dd::Table_reference_range_key::m_index_no
int m_index_no
Definition: object_keys.h:510
dd::Void_key::str
virtual String_type str() const
Definition: object_keys.h:63
dd::Composite_4char_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:352
dd::Item_name_key::operator<
bool operator<(const Item_name_key &rhs) const
Definition: object_keys.h:194
dd::Raw_key
Definition: raw_key.h:33
dd::Index_stat_range_key::m_schema_name
String_type m_schema_name
Definition: object_keys.h:426
dd::Routine_name_key
Definition: object_keys.h:434
dd::Sub_partition_range_key::Sub_partition_range_key
Sub_partition_range_key(int index_no, int table_id_column_no, const Object_id table_id, int parent_partition_id_column_no, const Object_id parent_partition_id)
Definition: object_keys.h:528
dd::Parent_id_range_key::m_id_column_no
int m_id_column_no
Definition: object_keys.h:115
dd::Composite_char_key::m_first_name
String_type m_first_name
Definition: object_keys.h:314
dd::Composite_4char_key::m_second_name
String_type m_second_name
Definition: object_keys.h:351
dd::Raw_table
Definition: raw_table.h:43
dd::Item_name_key::Item_name_key
Item_name_key()
Definition: object_keys.h:167
dd::Se_private_id_key::create_access_key
virtual Raw_key * create_access_key(Raw_table *db_table) const
Definition: object_keys.cc:201
dd::Global_name_key::Global_name_key
Global_name_key(int name_column_no, const String_type &object_name, const CHARSET_INFO *cs)
Definition: object_keys.h:126
dd::Primary_id_key::Primary_id_key
Primary_id_key()
Definition: object_keys.h:78
dd::Global_name_key
Definition: object_keys.h:122
id
unsigned long id[MAX_DEAD]
Definition: xcom_base.c:426
dd::Table_reference_range_key::m_catalog_name_column_no
int m_catalog_name_column_no
Definition: object_keys.h:512
dd::Parent_id_range_key::m_object_id
Object_id m_object_id
Definition: object_keys.h:116
dd::Index_stat_range_key::m_index_no
int m_index_no
Definition: object_keys.h:423
dd::Primary_id_key::operator<
bool operator<(const Primary_id_key &rhs) const
Definition: object_keys.h:90
dd::Routine_name_key::str
virtual String_type str() const
Definition: object_keys.cc:296
dd::Void_key::Void_key
Void_key()
Definition: object_keys.h:55
dd::Item_name_key
Definition: object_keys.h:165
dd::Table_reference_range_key::m_table_name
String_type m_table_name
Definition: object_keys.h:519
dd::Index_stat_range_key::Index_stat_range_key
Index_stat_range_key(int index_no, int schema_name_column_no, const String_type &schema_name, int table_name_column_no, const String_type &table_name)
Definition: object_keys.h:408
dd::Index_stat_range_key::str
virtual String_type str() const
Definition: object_keys.cc:451
false
#define false
Definition: config_static.h:43