MySQL
9.3.0
Source Code Documentation
entry.h
Go to the documentation of this file.
1
/*
2
Copyright (c) 2021, 2025, Oracle and/or its affiliates.
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, version 2.0,
6
as published by the Free Software Foundation.
7
8
This program is designed to work with certain software (including
9
but not limited to OpenSSL) that is licensed under separate terms,
10
as designated in a particular file or component or in included license
11
documentation. The authors of MySQL hereby grant you an additional
12
permission to link the program and your derivative works with the
13
separately licensed software that they have either included with
14
the program or referenced in the documentation.
15
16
This program is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
GNU General Public License for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with this program; if not, write to the Free Software
23
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
*/
25
26
#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_DATA_ENTRY_H_
27
#define ROUTER_SRC_REST_MRS_SRC_MRS_DATA_ENTRY_H_
28
29
#include <cstdint>
30
#include "
mrs/database/entry/universal_id.h
"
31
32
namespace
mrs
{
33
namespace
database {
34
namespace
entry
{
35
36
enum
EntryType
{
key_static
,
key_rest
,
key_static_sub
};
37
38
struct
EntryKey
{
39
EntryType
type
;
40
UniversalId
id
;
41
// sub_id is introduced to create virtual objects under
42
// given category.
43
uint64_t
sub_id
{0};
44
45
bool
operator<
(
const
EntryKey
&other)
const
{
46
if
(
type
< other.
type
)
return
true
;
47
if
(
type
> other.
type
)
return
false
;
48
49
if
(
id
< other.
id
)
return
true
;
50
if
(
id
> other.
id
)
return
false
;
51
52
return
sub_id
< other.
sub_id
;
53
}
54
};
55
56
enum
EnabledType
{
57
EnabledType_none
= 0,
58
EnabledType_public
= 1,
59
EnabledType_private
= 2,
60
};
61
62
}
// namespace entry
63
}
// namespace database
64
}
// namespace mrs
65
66
#endif
// ROUTER_SRC_REST_MRS_SRC_MRS_DATA_ENTRY_H_
universal_id.h
mrs::database::entry::EnabledType
EnabledType
Definition:
entry.h:56
mrs::database::entry::EnabledType_private
@ EnabledType_private
Definition:
entry.h:59
mrs::database::entry::EnabledType_none
@ EnabledType_none
Definition:
entry.h:57
mrs::database::entry::EnabledType_public
@ EnabledType_public
Definition:
entry.h:58
mrs::database::entry::EntryType
EntryType
Definition:
entry.h:36
mrs::database::entry::key_static_sub
@ key_static_sub
Definition:
entry.h:36
mrs::database::entry::key_static
@ key_static
Definition:
entry.h:36
mrs::database::entry::key_rest
@ key_rest
Definition:
entry.h:36
mrs
Definition:
authorize_manager.h:48
_entry
Definition:
completion_hash.h:35
mrs::database::entry::EntryKey
Definition:
entry.h:38
mrs::database::entry::EntryKey::sub_id
uint64_t sub_id
Definition:
entry.h:43
mrs::database::entry::EntryKey::type
EntryType type
Definition:
entry.h:39
mrs::database::entry::EntryKey::id
UniversalId id
Definition:
entry.h:40
mrs::database::entry::EntryKey::operator<
bool operator<(const EntryKey &other) const
Definition:
entry.h:45
mrs::database::entry::UniversalId
Definition:
universal_id.h:45
router
src
mysql_rest_service
include
mrs
database
entry
entry.h
Generated by
1.9.2