Skip to content

Commit

Permalink
Merge 95536d7 into 26b8ef3
Browse files Browse the repository at this point in the history
  • Loading branch information
jsjant authored Apr 15, 2024
2 parents 26b8ef3 + 95536d7 commit cb20e00
Show file tree
Hide file tree
Showing 29 changed files with 800 additions and 0 deletions.
463 changes: 463 additions & 0 deletions ydb/library/yql/udfs/common/roaring/roaring.cpp

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions ydb/library/yql/udfs/common/roaring/test/canondata/result.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"test.test[serialize_deserialize]": [
{
"uri": "file://test.test_serialize_deserialize_/results.txt"
}
],
"test.test[union]": [
{
"uri": "file://test.test_union_/results.txt"
}
],
"test.test[union_binary]": [
{
"uri": "file://test.test_union_binary_/results.txt"
}
],
"test.test[intersect]": [
{
"uri": "file://test.test_intersect_/results.txt"
}
],
"test.test[intersect_binary]": [
{
"uri": "file://test.test_intersect_binary_/results.txt"
}
],
"test.test[cardinality]": [
{
"uri": "file://test.test_cardinality_/results.txt"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"UnionCardinality";
[
"DataType";
"Uint32"
]
]
]
]
];
"Data" = [
[
"3"
]
]
}
]
};
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"IntersectCardinality";
[
"ListType";
[
"DataType";
"Uint32"
]
]
]
]
]
];
"Data" = [
[
[
"1"
]
]
]
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"IntersectList";
[
"ListType";
[
"DataType";
"Uint32"
]
]
]
]
]
];
"Data" = [
[
[
"1"
]
]
]
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"IntersectWithBinaryList";
[
"ListType";
[
"DataType";
"Uint32"
]
]
]
]
]
];
"Data" = [
[
[
"1"
]
]
]
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"DeserializedList";
[
"ListType";
[
"DataType";
"Uint32"
]
]
]
]
]
];
"Data" = [
[
[
"10";
"567"
]
]
]
}
]
};
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"Serialized";
[
"DataType";
"String"
]
]
]
]
];
"Data" = [
[
":0\0\0\1\0\0\0\0\0\1\0\x10\0\0\0\n\0007\2"
]
]
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"UnionList";
[
"DataType";
"Uint32"
]
]
]
]
];
"Data" = [
[
"3"
]
]
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[
{
"Write" = [
{
"Type" = [
"ListType";
[
"StructType";
[
[
"UnionWithBinaryList";
[
"DataType";
"Uint32"
]
]
]
]
];
"Data" = [
[
"3"
]
]
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"left"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x02\x00";"right"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x03\x00";};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{schema=[{name=left;type=string};{name=right;type=string}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SELECT Roaring::Cardinality(Roaring::UnionWithBinary(Roaring::Deserialize(left), right)) AS UnionCardinality FROM Input;
SELECT Roaring::Uint32List(Roaring::IntersectWithBinary(Roaring::Deserialize(right), left)) AS IntersectCardinality FROM Input;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"left"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x02\x00";"right"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x03\x00";};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{schema=[{name=left;type=string};{name=right;type=string}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT Roaring::Uint32List(Roaring::Intersect(Roaring::Deserialize(left), Roaring::Deserialize(right))) AS IntersectList FROM Input;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"left"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x02\x00";"right"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x03\x00";};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{schema=[{name=left;type=string};{name=right;type=string}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT Roaring::Uint32List(Roaring::IntersectWithBinary(Roaring::Deserialize(left), right)) AS IntersectWithBinaryList FROM Input;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"binaryString"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\n\x007\x02";};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{schema=[{name=binaryString;type=string}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/* syntax version 1 */
SELECT Roaring::Uint32List(Roaring::Deserialize(binaryString)) AS DeserializedList
FROM Input;

SELECT Roaring::Serialize(Roaring::Deserialize(binaryString)) AS Serialized
FROM Input;
1 change: 1 addition & 0 deletions ydb/library/yql/udfs/common/roaring/test/cases/union.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"left"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x02\x00";"right"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x03\x00";};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{schema=[{name=left;type=string};{name=right;type=string}]}
2 changes: 2 additions & 0 deletions ydb/library/yql/udfs/common/roaring/test/cases/union.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SELECT Roaring::Cardinality(Roaring::Union(Roaring::Deserialize(left), Roaring::Deserialize(right))) AS UnionList FROM Input;

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"left"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x02\x00";"right"=":0\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x01\x00\x03\x00";};
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{schema=[{name=left;type=string};{name=right;type=string}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SELECT Roaring::Cardinality(Roaring::UnionWithBinary(Roaring::Deserialize(left), right)) AS UnionWithBinaryList FROM Input;

15 changes: 15 additions & 0 deletions ydb/library/yql/udfs/common/roaring/test/ya.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
OWNER(djant)

YQL_UDF_TEST()


DEPENDS(
yql/udfs/examples/roaring
)

TIMEOUT(300)
SIZE(MEDIUM)

REQUIREMENTS(ram:9)

END()
22 changes: 22 additions & 0 deletions ydb/library/yql/udfs/common/roaring/ya.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
YQL_UDF_YDB(roaring)

YQL_ABI_VERSION(
2
35
0
)

SRCS(
roaring.cpp
)

PEERDIR(
contrib/libs/croaring
)


END()

RECURSE_FOR_TESTS(
test
)
1 change: 1 addition & 0 deletions ydb/library/yql/udfs/common/ya.make
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ RECURSE(
pire
protobuf
re2
roaring
set
stat
streaming
Expand Down

0 comments on commit cb20e00

Please sign in to comment.