Changeset: 9a6b92badf92 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/9a6b92badf92
Branch: ppbench
Log Message:

mergd with pp_hashjoin


diffs (79 lines):

diff --git a/monetdb5/modules/kernel/aggr.c b/monetdb5/modules/kernel/aggr.c
--- a/monetdb5/modules/kernel/aggr.c
+++ b/monetdb5/modules/kernel/aggr.c
@@ -1540,24 +1540,23 @@ AGGRsubcorrcand(Client ctx, bat *retval,
 }
 
 static str
-AGGRcde(Client c, int *estimate, const bat *bid)
+uniques_guess(Client c, lng *guess, const bat *bid)
 {
        (void) c;
 
        BAT *b = BATdescriptor(*bid);
        if (b == NULL)
-               throw(MAL, "AGGRcde", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
+               throw(MAL, "AGGRcde", RUNTIME_OBJECT_MISSING);
+
        BATiter bi = bat_iterator(b);
        struct canditer bci;
        canditer_init(&bci, b, NULL);
 
-       double est = bat_guess_uniques(b, &bi, &bci);
+       *guess = llroundl(bat_guess_uniques(b, &bi, &bci));
 
        bat_iterator_end(&bi);
        BBPreclaim(b);
 
-       *estimate = llroundl(est);
-
        return MAL_SUCCEED;
 }
 
@@ -1964,7 +1963,7 @@ static mel_func aggr_init_funcs[] = {
  command("aggr", "ripemd160", AGGRripemd160, false, "Ungrouped RIPEMD160", 
args(1,2, arg("",str),batarg("b",str))),
  command("aggr", "subripemd160", AGGRripemd160grouped, false, "Grouped 
RIPEMD160", args(1,5, 
batarg("",str),batarg("b",str),batarg("g",oid),batargany("e",1),arg("skip_nils",bit))),
 
- command("aggr", "cde", AGGRcde, false, "", args(1, 2, arg("estimate", int), 
batargany("b", 1))),
+ command("aggr", "uniques_guess", uniques_guess, false, "", args(1, 2, 
arg("guess", lng), batargany("b", 1))),
 
  { .imp=NULL }
 };
diff --git a/sql/backends/monet5/bin_partition_by_slice.c 
b/sql/backends/monet5/bin_partition_by_slice.c
--- a/sql/backends/monet5/bin_partition_by_slice.c
+++ b/sql/backends/monet5/bin_partition_by_slice.c
@@ -1210,6 +1210,7 @@ rel2bin_groupby_pp(backend *be, sql_rel 
                                                n = pushArgument(be->mb, n, 
getArg(mp, 0));
                                                n = pushArgument(be->mb, n, 
getArg(rem, 0));
                                                pushInstruction(be->mb, n);
+                                               m = m->next; /* skip count */
                                                mp = n;
                                        } else if (strcmp(sf->func->base.name, 
"avg") == 0 && EC_APPNUM(tpe->type->eclass)) {
                                                m = m->next;
diff --git a/sql/scripts/80_statistics.sql b/sql/scripts/80_statistics.sql
--- a/sql/scripts/80_statistics.sql
+++ b/sql/scripts/80_statistics.sql
@@ -112,14 +112,14 @@ returns table (
 external name sql."statistics";
 grant execute on function 
sys."statistics"(varchar(1024),varchar(1024),varchar(1024)) to public;
 
-create aggregate cde(c integer)
-returns integer external name aggr.cde;
-grant execute on aggregate cde(integer) to public;
+create aggregate uniques_guess(c integer)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(integer) to public;
 
-create aggregate cde(c bigint)
-returns integer external name aggr.cde;
-grant execute on aggregate cde(bigint) to public;
+create aggregate uniques_guess(c bigint)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(bigint) to public;
 
-create aggregate cde(c varchar)
-returns integer external name aggr.cde;
-grant execute on aggregate cde(varchar) to public;
+create aggregate uniques_guess(c varchar)
+returns bigint external name aggr.uniques_guess;
+grant execute on aggregate uniques_guess(varchar) to public;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to