Changeset: 83d524eb45a6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/83d524eb45a6
Modified Files:
gdk/gdk_sketch.c
sql/storage/bat/bat_storage.c
Branch: pp_hashjoin
Log Message:
try using sketches in case of larger tables
diffs (34 lines):
diff --git a/gdk/gdk_sketch.c b/gdk/gdk_sketch.c
--- a/gdk/gdk_sketch.c
+++ b/gdk/gdk_sketch.c
@@ -216,7 +216,7 @@ sketch_populate(BAT *b, BATiter *bi, str
canditer_reset(&n_bci);
}
- switch (n_bi.type) {
+ switch (ATOMstorage(n_bi.type)) {
case TYPE_int:
SKETCH_POPULATE(int);
break;
@@ -259,5 +259,6 @@ bat_guess_uniques(BAT *b, BATiter *bi, s
if (sketch_populate(b, bi, bci, cnting_sketch) == GDK_SUCCEED)
unique_guess = sketch_estimate(cnting_sketch);
+ b->tunique_est = unique_guess;
return unique_guess;
}
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -3046,7 +3046,10 @@ col_stats(sql_trans *tr, sql_column *c,
*unique = bi.key;
*unique_est = bi.unique_est;
if (*unique_est == 0) {
- *unique_est =
(double)BATguess_uniques(b,NULL);
+ if (BATcount(b) > GDKL3_size)
+ *unique_est =
bat_guess_uniques(b, NULL, NULL);
+ else
+ *unique_est =
(double)BATguess_uniques(b,NULL);
//printf("estimates %s %s
%f\n", c->base.name, c->type.type->base.name, *unique_est);
}
} else if (d->cs.st == ST_DICT && (off =
bind_col_no_view(tr, c, QUICK))) {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]