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.
 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 {
49 
51 
53 
55 
56 
57 typedef enum { Read, RepeatedRead, Write } OperationType;
58 
60 
61 typedef enum {
65 
67 
69 
71 
73 
75 
76 typedef enum {
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 {
89 } CacheKey;
90 
91 typedef struct {
92  bool inCache;
94  unsigned int pageSeqInPartition;
96 
97 typedef struct {
99  unsigned int pageSeqInPartition;
100 } PageIndex;
101 
102 typedef struct {
106 } SetKey;
107 
108 #endif
UserTypeID typeId
Definition: DataTypes.h:104
SetID setId
Definition: DataTypes.h:87
unsigned int SetID
Definition: DataTypes.h:31
OperationType
Definition: DataTypes.h:57
unsigned int pageSeqInPartition
Definition: DataTypes.h:99
SetType
Definition: DataTypes.h:76
FileType
Definition: DataTypes.h:72
unsigned int ServerID
Definition: DataTypes.h:30
unsigned int OperatorID
Definition: DataTypes.h:36
ObjectCreationMode
Definition: DataTypes.h:70
DatabaseID dbId
Definition: DataTypes.h:85
bool inCache
Definition: DataTypes.h:92
unsigned int NodeID
Definition: DataTypes.h:27
unsigned int pageSeqInPartition
Definition: DataTypes.h:94
LocalityType
Definition: DataTypes.h:50
TimerType
Definition: DataTypes.h:74
unsigned int HashPartitionID
Definition: DataTypes.h:28
unsigned int PageIteratorsID
Definition: DataTypes.h:24
size_t PageOffset
Definition: DataTypes.h:34
DurabilityType
Definition: DataTypes.h:59
CacheStrategy
Definition: DataTypes.h:54
LocalitySetReplacementPolicy
Definition: DataTypes.h:52
size_t MemPoolOffset
Definition: DataTypes.h:33
Definition: DataTypes.h:52
unsigned int DatabaseID
Definition: DataTypes.h:29
unsigned int PageID
Definition: DataTypes.h:26
FilePartitionID partitionId
Definition: DataTypes.h:98
unsigned int JobStageID
Definition: DataTypes.h:37
FilePartitionID partitionId
Definition: DataTypes.h:93
PageID pageId
Definition: DataTypes.h:88
PersistenceType
Definition: DataTypes.h:68
SetID setId
Definition: DataTypes.h:105
AccessPattern
Definition: DataTypes.h:61
DatabaseID dbId
Definition: DataTypes.h:103
unsigned long long ticks_t
Definition: DataTypes.h:35
PriorityLevel
Definition: DataTypes.h:41
Definition: DataTypes.h:57
UserTypeID typeId
Definition: DataTypes.h:86
unsigned int FilePartitionID
Definition: DataTypes.h:32
unsigned int UserTypeID
Definition: DataTypes.h:25
Definition: DataTypes.h:52