Skip to content

Commit d7ff45a

Browse files
committed
feat: add theta and frequent items sketches
1 parent 8411c9a commit d7ff45a

File tree

9 files changed

+3227
-58
lines changed

9 files changed

+3227
-58
lines changed

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ include_directories(src/include)
2323

2424

2525
set(EXTENSION_SOURCES src/datasketches_extension.cpp src/generated.cpp
26-
src/query_farm_telemetry.cpp)
26+
src/query_farm_telemetry.cpp
27+
src/theta_sketch.cpp
28+
src/frequent_items_sketch.cpp)
2729

2830
build_static_extension(${TARGET_NAME} ${EXTENSION_SOURCES})
2931
build_loadable_extension(${TARGET_NAME} " " ${EXTENSION_SOURCES})

codegen/generated.cpp.j2

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
#include <DataSketches/cpc_sketch.hpp>
1414
#include <DataSketches/cpc_union.hpp>
1515

16-
using namespace duckdb;
17-
namespace duckdb_datasketches
16+
namespace duckdb
1817
{
1918

2019

docs/README.md

Lines changed: 433 additions & 45 deletions
Large diffs are not rendered by default.

src/datasketches_extension.cpp

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,26 @@
1818
namespace duckdb
1919
{
2020

21+
void LoadQuantilesSketch(ExtensionLoader &loader);
22+
void LoadKLLSketch(ExtensionLoader &loader);
23+
void LoadREQSketch(ExtensionLoader &loader);
24+
void LoadTDigestSketch(ExtensionLoader &loader);
25+
void LoadHLLSketch(ExtensionLoader &loader);
26+
void LoadCPCSketch(ExtensionLoader &loader);
27+
void LoadThetaSketch(ExtensionLoader &loader);
28+
void LoadFrequentItemsSketch(ExtensionLoader &loader);
29+
2130
static void LoadInternal(ExtensionLoader &loader)
2231
{
23-
duckdb_datasketches::LoadQuantilesSketch(loader);
24-
duckdb_datasketches::LoadKLLSketch(loader);
25-
duckdb_datasketches::LoadREQSketch(loader);
26-
duckdb_datasketches::LoadTDigestSketch(loader);
27-
duckdb_datasketches::LoadHLLSketch(loader);
28-
duckdb_datasketches::LoadCPCSketch(loader);
29-
30-
QueryFarmSendTelemetry(loader, "datasketches", "2025100901");
32+
LoadQuantilesSketch(loader);
33+
LoadKLLSketch(loader);
34+
LoadREQSketch(loader);
35+
LoadTDigestSketch(loader);
36+
LoadHLLSketch(loader);
37+
LoadCPCSketch(loader);
38+
LoadThetaSketch(loader);
39+
LoadFrequentItemsSketch(loader);
40+
QueryFarmSendTelemetry(loader, "datasketches", "2025121201");
3141
}
3242

3343
void DatasketchesExtension::Load(ExtensionLoader &loader)

src/frequent_items_sketch.cpp

Lines changed: 564 additions & 0 deletions
Large diffs are not rendered by default.

src/generated.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
#include <DataSketches/cpc_sketch.hpp>
1414
#include <DataSketches/cpc_union.hpp>
1515

16-
using namespace duckdb;
17-
namespace duckdb_datasketches
16+
namespace duckdb
1817
{
1918

2019

src/theta_sketch.cpp

Lines changed: 541 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)