A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
DataTypes.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* *
3
* Copyright 2018 Rice University *
4
* *
5
* Licensed under the Apache License, Version 2.0 (the "License"); *
6
* you may not use this file except in compliance with the License. *
7
* You may obtain a copy of the License at *
8
* *
9
* http://www.apache.org/licenses/LICENSE-2.0 *
10
* *
11
* Unless required by applicable law or agreed to in writing, software *
12
* distributed under the License is distributed on an "AS IS" BASIS, *
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14
* See the License for the specific language governing permissions and *
15
* limitations under the License. *
16
* *
17
*****************************************************************************/
18
19
#ifndef PDB_DATA_TYPES_H
20
#define PDB_DATA_TYPES_H
21
22
#include <cstddef>
23
24
typedef
unsigned
int
PageIteratorsID
;
25
typedef
unsigned
int
UserTypeID
;
26
typedef
unsigned
int
PageID
;
27
typedef
unsigned
int
NodeID
;
28
typedef
unsigned
int
HashPartitionID
;
29
typedef
unsigned
int
DatabaseID
;
30
typedef
unsigned
int
ServerID
;
31
typedef
unsigned
int
SetID
;
32
typedef
unsigned
int
FilePartitionID
;
33
typedef
size_t
MemPoolOffset
;
34
typedef
size_t
PageOffset
;
35
typedef
unsigned
long
long
ticks_t
;
36
typedef
unsigned
int
OperatorID
;
37
typedef
unsigned
int
JobStageID
;
38
39
// Priority level for keeping in memory
40
// from low to high
41
typedef
enum
{
42
TransientLifetimeEnded
,
43
PersistentLifetimeEnded
,
44
PersistentLifetimeNotEnded
,
45
TransientLifetimeNotEndedPartialData
,
46
TransientLifetimeNotEndedShuffleData
,
47
TransientLifetimeNotEndedHashData
48
}
PriorityLevel
;
49
50
typedef
enum
{
JobData
,
ShuffleData
,
HashPartitionData
,
PartialAggregationData
}
LocalityType
;
51
52
typedef
enum
{
LRU
,
MRU
,
Random
}
LocalitySetReplacementPolicy
;
53
54
typedef
enum
{
UnifiedLRU
,
UnifiedMRU
,
UnifiedIntelligent
}
CacheStrategy
;
55
56
57
typedef
enum
{
Read
,
RepeatedRead
,
Write
}
OperationType
;
58
59
typedef
enum
{
TryCache
,
CacheThrough
}
DurabilityType
;
60
61
typedef
enum
{
62
StraightSequential
,
63
LoopingSequential
,
64
SmallSequential
65
66
}
AccessPattern
;
67
68
typedef
enum
{
Transient
,
Persistent
}
PersistenceType
;
69
70
typedef
enum
{
Direct
,
Recreation
,
DeepCopy
}
ObjectCreationMode
;
71
72
typedef
enum
{
SequenceFileType
,
PartitionedFileType
}
FileType
;
73
74
typedef
enum
{
PeriodicTimer
,
OneshotTimer
}
TimerType
;
75
76
typedef
enum
{
77
UserSetType
,
78
SharedHashSetType
,
// the input for first phase scan join, or the input for second phase
79
// probing of shuffle join
80
PartitionedHashSetType
,
// the input for second phase of shuffle join and aggregation
81
}
SetType
;
82
83
84
typedef
struct
{
85
DatabaseID
dbId
;
86
UserTypeID
typeId
;
87
SetID
setId
;
88
PageID
pageId
;
89
}
CacheKey
;
90
91
typedef
struct
{
92
bool
inCache
;
93
FilePartitionID
partitionId
;
94
unsigned
int
pageSeqInPartition
;
95
}
FileSearchKey
;
96
97
typedef
struct
{
98
FilePartitionID
partitionId
;
99
unsigned
int
pageSeqInPartition
;
100
}
PageIndex
;
101
102
typedef
struct
{
103
DatabaseID
dbId
;
104
UserTypeID
typeId
;
105
SetID
setId
;
106
}
SetKey
;
107
108
#endif
SetKey
Definition:
DataTypes.h:102
SetKey::typeId
UserTypeID typeId
Definition:
DataTypes.h:104
UnifiedIntelligent
Definition:
DataTypes.h:54
CacheKey::setId
SetID setId
Definition:
DataTypes.h:87
SetID
unsigned int SetID
Definition:
DataTypes.h:31
OperationType
OperationType
Definition:
DataTypes.h:57
PageIndex::pageSeqInPartition
unsigned int pageSeqInPartition
Definition:
DataTypes.h:99
SetType
SetType
Definition:
DataTypes.h:76
PartialAggregationData
Definition:
DataTypes.h:50
FileType
FileType
Definition:
DataTypes.h:72
UnifiedLRU
Definition:
DataTypes.h:54
Transient
Definition:
DataTypes.h:68
ServerID
unsigned int ServerID
Definition:
DataTypes.h:30
RepeatedRead
Definition:
DataTypes.h:57
OperatorID
unsigned int OperatorID
Definition:
DataTypes.h:36
Persistent
Definition:
DataTypes.h:68
ObjectCreationMode
ObjectCreationMode
Definition:
DataTypes.h:70
TryCache
Definition:
DataTypes.h:59
CacheKey::dbId
DatabaseID dbId
Definition:
DataTypes.h:85
FileSearchKey::inCache
bool inCache
Definition:
DataTypes.h:92
NodeID
unsigned int NodeID
Definition:
DataTypes.h:27
FileSearchKey::pageSeqInPartition
unsigned int pageSeqInPartition
Definition:
DataTypes.h:94
TransientLifetimeEnded
Definition:
DataTypes.h:42
LocalityType
LocalityType
Definition:
DataTypes.h:50
TimerType
TimerType
Definition:
DataTypes.h:74
SequenceFileType
Definition:
DataTypes.h:72
HashPartitionID
unsigned int HashPartitionID
Definition:
DataTypes.h:28
PageIteratorsID
unsigned int PageIteratorsID
Definition:
DataTypes.h:24
HashPartitionData
Definition:
DataTypes.h:50
PageOffset
size_t PageOffset
Definition:
DataTypes.h:34
SharedHashSetType
Definition:
DataTypes.h:78
DeepCopy
Definition:
DataTypes.h:70
DurabilityType
DurabilityType
Definition:
DataTypes.h:59
CacheStrategy
CacheStrategy
Definition:
DataTypes.h:54
LoopingSequential
Definition:
DataTypes.h:63
LocalitySetReplacementPolicy
LocalitySetReplacementPolicy
Definition:
DataTypes.h:52
TransientLifetimeNotEndedShuffleData
Definition:
DataTypes.h:46
MemPoolOffset
size_t MemPoolOffset
Definition:
DataTypes.h:33
CacheThrough
Definition:
DataTypes.h:59
MRU
Definition:
DataTypes.h:52
PartitionedFileType
Definition:
DataTypes.h:72
TransientLifetimeNotEndedPartialData
Definition:
DataTypes.h:45
DatabaseID
unsigned int DatabaseID
Definition:
DataTypes.h:29
StraightSequential
Definition:
DataTypes.h:62
PageID
unsigned int PageID
Definition:
DataTypes.h:26
PageIndex::partitionId
FilePartitionID partitionId
Definition:
DataTypes.h:98
UserSetType
Definition:
DataTypes.h:77
JobStageID
unsigned int JobStageID
Definition:
DataTypes.h:37
FileSearchKey::partitionId
FilePartitionID partitionId
Definition:
DataTypes.h:93
PageIndex
Definition:
DataTypes.h:97
UnifiedMRU
Definition:
DataTypes.h:54
CacheKey::pageId
PageID pageId
Definition:
DataTypes.h:88
CacheKey
Definition:
DataTypes.h:84
PersistenceType
PersistenceType
Definition:
DataTypes.h:68
JobData
Definition:
DataTypes.h:50
Random
Definition:
DataTypes.h:52
PersistentLifetimeNotEnded
Definition:
DataTypes.h:44
OneshotTimer
Definition:
DataTypes.h:74
ShuffleData
Definition:
DataTypes.h:50
PartitionedHashSetType
Definition:
DataTypes.h:80
Direct
Definition:
DataTypes.h:70
Recreation
Definition:
DataTypes.h:70
SetKey::setId
SetID setId
Definition:
DataTypes.h:105
FileSearchKey
Definition:
DataTypes.h:91
AccessPattern
AccessPattern
Definition:
DataTypes.h:61
PersistentLifetimeEnded
Definition:
DataTypes.h:43
SetKey::dbId
DatabaseID dbId
Definition:
DataTypes.h:103
SmallSequential
Definition:
DataTypes.h:64
ticks_t
unsigned long long ticks_t
Definition:
DataTypes.h:35
PriorityLevel
PriorityLevel
Definition:
DataTypes.h:41
Read
Definition:
DataTypes.h:57
CacheKey::typeId
UserTypeID typeId
Definition:
DataTypes.h:86
FilePartitionID
unsigned int FilePartitionID
Definition:
DataTypes.h:32
UserTypeID
unsigned int UserTypeID
Definition:
DataTypes.h:25
Write
Definition:
DataTypes.h:57
TransientLifetimeNotEndedHashData
Definition:
DataTypes.h:47
LRU
Definition:
DataTypes.h:52
PeriodicTimer
Definition:
DataTypes.h:74
plinycompute
pdb
src
conf
headers
DataTypes.h
Generated on Mon Jun 18 2018 18:10:35 by
1.8.6