From 3ad0b1f2e70adbf99d6bfa7a9201c7788c5b3736 Mon Sep 17 00:00:00 2001 From: Forrest Collman Date: Tue, 5 Nov 2024 14:38:56 -0800 Subject: [PATCH] fix random sample (#172) --- materializationengine/blueprints/client/api2.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/materializationengine/blueprints/client/api2.py b/materializationengine/blueprints/client/api2.py index 77f7e3fd..6b484789 100644 --- a/materializationengine/blueprints/client/api2.py +++ b/materializationengine/blueprints/client/api2.py @@ -336,8 +336,11 @@ def execute_materialized_query( .filter(MaterializedMetadata.table_name == user_data["table"]) .scalar() ) - if random_sample is not None: + if random_sample >= mat_row_count: + random_sample = None + else: random_sample = (100.0 * random_sample) / mat_row_count + if mat_row_count: # setup a query manager qm = QueryManager( @@ -1866,8 +1869,12 @@ def assemble_view_dataframe(datastack_name, version, view_name, data, args): qm.apply_filter(data.get("filter_equal_dict", None), qm.apply_equal_filter) qm.apply_filter(data.get("filter_greater_dict", None), qm.apply_greater_filter) qm.apply_filter(data.get("filter_less_dict", None), qm.apply_less_filter) - qm.apply_filter(data.get("filter_greater_equal_dict", None), qm.apply_greater_equal_filter) - qm.apply_filter(data.get("filter_less_equal_dict", None), qm.apply_less_equal_filter) + qm.apply_filter( + data.get("filter_greater_equal_dict", None), qm.apply_greater_equal_filter + ) + qm.apply_filter( + data.get("filter_less_equal_dict", None), qm.apply_less_equal_filter + ) qm.apply_filter(data.get("filter_spatial_dict", None), qm.apply_spatial_filter) qm.apply_filter(data.get("filter_regex_dict", None), qm.apply_regex_filter) select_columns = data.get("select_columns", None)