Skip to content

Commit 36ef5e9

Browse files
committed
Introduce basic support for RoaringBitmaps as user type (ydb-platform#3745)
1 parent b1eb036 commit 36ef5e9

File tree

21 files changed

+960
-0
lines changed

21 files changed

+960
-0
lines changed

ydb/library/yql/udfs/common/roaring/roaring.cpp

Lines changed: 443 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"test.test[cardinality]": [
3+
{
4+
"uri": "file://test.test_cardinality_/results.txt"
5+
}
6+
],
7+
"test.test[intersect]": [
8+
{
9+
"uri": "file://test.test_intersect_/results.txt"
10+
}
11+
],
12+
"test.test[serialize_deserialize]": [
13+
{
14+
"uri": "file://test.test_serialize_deserialize_/results.txt"
15+
}
16+
],
17+
"test.test[union]": [
18+
{
19+
"uri": "file://test.test_union_/results.txt"
20+
}
21+
]
22+
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
[
2+
{
3+
"Write" = [
4+
{
5+
"Type" = [
6+
"ListType";
7+
[
8+
"StructType";
9+
[
10+
[
11+
"OrCardinality";
12+
[
13+
"OptionalType";
14+
[
15+
"DataType";
16+
"Uint32"
17+
]
18+
]
19+
]
20+
]
21+
]
22+
];
23+
"Data" = [
24+
[
25+
[
26+
"3"
27+
]
28+
]
29+
]
30+
}
31+
]
32+
};
33+
{
34+
"Write" = [
35+
{
36+
"Type" = [
37+
"ListType";
38+
[
39+
"StructType";
40+
[
41+
[
42+
"AndCardinality";
43+
[
44+
"OptionalType";
45+
[
46+
"ListType";
47+
[
48+
"DataType";
49+
"Uint32"
50+
]
51+
]
52+
]
53+
]
54+
]
55+
]
56+
];
57+
"Data" = [
58+
[
59+
[
60+
[
61+
"1"
62+
]
63+
]
64+
]
65+
]
66+
}
67+
]
68+
}
69+
]
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
[
2+
{
3+
"Write" = [
4+
{
5+
"Type" = [
6+
"ListType";
7+
[
8+
"StructType";
9+
[
10+
[
11+
"AndList";
12+
[
13+
"OptionalType";
14+
[
15+
"ListType";
16+
[
17+
"DataType";
18+
"Uint32"
19+
]
20+
]
21+
]
22+
]
23+
]
24+
]
25+
];
26+
"Data" = [
27+
[
28+
[
29+
[
30+
"1"
31+
]
32+
]
33+
]
34+
]
35+
}
36+
]
37+
};
38+
{
39+
"Write" = [
40+
{
41+
"Type" = [
42+
"ListType";
43+
[
44+
"StructType";
45+
[
46+
[
47+
"AndWithBinaryList";
48+
[
49+
"OptionalType";
50+
[
51+
"ListType";
52+
[
53+
"DataType";
54+
"Uint32"
55+
]
56+
]
57+
]
58+
]
59+
]
60+
]
61+
];
62+
"Data" = [
63+
[
64+
[
65+
[
66+
"1"
67+
]
68+
]
69+
]
70+
]
71+
}
72+
]
73+
};
74+
{
75+
"Write" = [
76+
{
77+
"Type" = [
78+
"ListType";
79+
[
80+
"StructType";
81+
[
82+
[
83+
"AndWithBinaryListEmpty";
84+
[
85+
"OptionalType";
86+
[
87+
"ListType";
88+
[
89+
"DataType";
90+
"Uint32"
91+
]
92+
]
93+
]
94+
]
95+
]
96+
]
97+
];
98+
"Data" = [
99+
[
100+
#
101+
]
102+
]
103+
}
104+
]
105+
}
106+
]
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
[
2+
{
3+
"Write" = [
4+
{
5+
"Type" = [
6+
"ListType";
7+
[
8+
"StructType";
9+
[
10+
[
11+
"DeserializedList";
12+
[
13+
"OptionalType";
14+
[
15+
"ListType";
16+
[
17+
"DataType";
18+
"Uint32"
19+
]
20+
]
21+
]
22+
]
23+
]
24+
]
25+
];
26+
"Data" = [
27+
[
28+
[
29+
[
30+
"10";
31+
"567"
32+
]
33+
]
34+
]
35+
]
36+
}
37+
]
38+
};
39+
{
40+
"Write" = [
41+
{
42+
"Type" = [
43+
"ListType";
44+
[
45+
"StructType";
46+
[
47+
[
48+
"Serialized";
49+
[
50+
"OptionalType";
51+
[
52+
"DataType";
53+
"String"
54+
]
55+
]
56+
]
57+
]
58+
]
59+
];
60+
"Data" = [
61+
[
62+
[
63+
":0\0\0\1\0\0\0\0\0\1\0\x10\0\0\0\n\0007\2"
64+
]
65+
]
66+
]
67+
}
68+
]
69+
};
70+
{
71+
"Write" = [
72+
{
73+
"Type" = [
74+
"ListType";
75+
[
76+
"StructType";
77+
[
78+
[
79+
"LimitedList";
80+
[
81+
"OptionalType";
82+
[
83+
"ListType";
84+
[
85+
"DataType";
86+
"Uint32"
87+
]
88+
]
89+
]
90+
]
91+
]
92+
]
93+
];
94+
"Data" = [
95+
[
96+
[
97+
[
98+
"10"
99+
]
100+
]
101+
]
102+
]
103+
}
104+
]
105+
};
106+
{
107+
"Write" = [
108+
{
109+
"Type" = [
110+
"ListType";
111+
[
112+
"StructType";
113+
[
114+
[
115+
"OffsetedList";
116+
[
117+
"OptionalType";
118+
[
119+
"ListType";
120+
[
121+
"DataType";
122+
"Uint32"
123+
]
124+
]
125+
]
126+
]
127+
]
128+
]
129+
];
130+
"Data" = [
131+
[
132+
[
133+
[
134+
"567"
135+
]
136+
]
137+
]
138+
]
139+
}
140+
]
141+
};
142+
{
143+
"Write" = [
144+
{
145+
"Type" = [
146+
"ListType";
147+
[
148+
"StructType";
149+
[
150+
[
151+
"EmptyList";
152+
[
153+
"OptionalType";
154+
[
155+
"ListType";
156+
[
157+
"DataType";
158+
"Uint32"
159+
]
160+
]
161+
]
162+
]
163+
]
164+
]
165+
];
166+
"Data" = [
167+
[
168+
[
169+
[]
170+
]
171+
]
172+
]
173+
}
174+
]
175+
}
176+
]

0 commit comments

Comments
 (0)