-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathValue.proto
More file actions
174 lines (150 loc) · 3.58 KB
/
Value.proto
File metadata and controls
174 lines (150 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/*
* Copyright 2018 The Feast Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
package feast.types;
option java_package = "feast.proto.types";
option java_outer_classname = "ValueProto";
option go_package = "github.com/feast-dev/feast/go/protos/feast/types";
message ValueType {
enum Enum {
INVALID = 0;
BYTES = 1;
STRING = 2;
INT32 = 3;
INT64 = 4;
DOUBLE = 5;
FLOAT = 6;
BOOL = 7;
UNIX_TIMESTAMP = 8;
BYTES_LIST = 11;
STRING_LIST = 12;
INT32_LIST = 13;
INT64_LIST = 14;
DOUBLE_LIST = 15;
FLOAT_LIST = 16;
BOOL_LIST = 17;
UNIX_TIMESTAMP_LIST = 18;
NULL = 19;
MAP = 20;
MAP_LIST = 21;
BYTES_SET = 22;
STRING_SET = 23;
INT32_SET = 24;
INT64_SET = 25;
DOUBLE_SET = 26;
FLOAT_SET = 27;
BOOL_SET = 28;
UNIX_TIMESTAMP_SET = 29;
JSON = 32;
JSON_LIST = 33;
STRUCT = 34;
STRUCT_LIST = 35;
}
}
message Value {
// ValueType is referenced by the metadata types, FeatureInfo and EntityInfo.
// The enum values do not have to match the oneof val field ids, but they should.
// In JSON "*_val" field can be omitted
oneof val {
bytes bytes_val = 1;
string string_val = 2;
int32 int32_val = 3;
int64 int64_val = 4;
double double_val = 5;
float float_val = 6;
bool bool_val = 7;
int64 unix_timestamp_val = 8;
BytesList bytes_list_val = 11;
StringList string_list_val = 12;
Int32List int32_list_val = 13;
Int64List int64_list_val = 14;
DoubleList double_list_val = 15;
FloatList float_list_val = 16;
BoolList bool_list_val = 17;
Int64List unix_timestamp_list_val = 18;
Null null_val = 19;
Map map_val = 20;
MapList map_list_val = 21;
BytesSet bytes_set_val = 22;
StringSet string_set_val = 23;
Int32Set int32_set_val = 24;
Int64Set int64_set_val = 25;
DoubleSet double_set_val = 26;
FloatSet float_set_val = 27;
BoolSet bool_set_val = 28;
Int64Set unix_timestamp_set_val = 29;
string json_val = 32;
StringList json_list_val = 33;
Map struct_val = 34;
MapList struct_list_val = 35;
}
}
enum Null {
NULL = 0;
}
message BytesList {
repeated bytes val = 1;
}
message StringList {
repeated string val = 1;
}
message Int32List {
repeated int32 val = 1;
}
message Int64List {
repeated int64 val = 1;
}
message DoubleList {
repeated double val = 1;
}
message FloatList {
repeated float val = 1;
}
message BoolList {
repeated bool val = 1;
}
message BytesSet {
repeated bytes val = 1;
}
message StringSet {
repeated string val = 1;
}
message Int32Set {
repeated int32 val = 1;
}
message Int64Set {
repeated int64 val = 1;
}
message DoubleSet {
repeated double val = 1;
}
message FloatSet {
repeated float val = 1;
}
message BoolSet {
repeated bool val = 1;
}
message Map {
map<string, Value> val = 1;
}
message MapList {
repeated Map val = 1;
}
// This is to avoid an issue of being unable to specify `repeated value` in oneofs or maps
// In JSON "val" field can be omitted
message RepeatedValue {
repeated Value val = 1;
}