Changeset: c7364ffc66c8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7364ffc66c8
Modified Files:
        sql/backends/monet5/UDF/ssdb.c
Branch: ssdb
Log Message:

Fix the grouping function

use a correct estimation to allocate space for the output BAT, and
correctly keep the BATcount


diffs (34 lines):

diff --git a/sql/backends/monet5/UDF/ssdb.c b/sql/backends/monet5/UDF/ssdb.c
--- a/sql/backends/monet5/UDF/ssdb.c
+++ b/sql/backends/monet5/UDF/ssdb.c
@@ -1503,8 +1503,8 @@ SSDBgrouping(Client cntxt, MalBlkPtr mb,
        tout_grp_totime = BATnew(TYPE_void, TYPE_int, nr_obs);
        
        /* Create BATs for all columns of the output table 'tout_grp' */
-       tout_obs_obsgroupid = BATnew(TYPE_void, TYPE_int, nr_obs);
-       tout_obs_obsid = BATnew(TYPE_void, TYPE_int, nr_obs);
+       tout_obs_obsgroupid = BATnew(TYPE_void, TYPE_int, nr_obs*nr_obs);
+       tout_obs_obsid = BATnew(TYPE_void, TYPE_int, nr_obs*nr_obs);
 
        /* pointers directly to the BATs' tails */
        tout_grp_obsgroupid_t = (int*)Tloc(tout_grp_obsgroupid, 
BUNfirst(tout_grp_obsgroupid));
@@ -1529,7 +1529,7 @@ SSDBgrouping(Client cntxt, MalBlkPtr mb,
                                tuples_grp++;
                        }
                }
-               if(found!=0)
+               if(found)
                {
                                tout_grp_obsgroupid_t[j]=j;
                                
tout_grp_center_traj_x_t[j]=(groupFrom[j]->totalx)/(groupFrom[j]->cnt);
@@ -1551,8 +1551,8 @@ SSDBgrouping(Client cntxt, MalBlkPtr mb,
        BATsetcount(tout_grp_center_traj_y, j);
        BATsetcount(tout_grp_fromtime, j);
        BATsetcount(tout_grp_totime, j);
-       BATsetcount(tout_obs_obsgroupid, nr_obs);
-       BATsetcount(tout_obs_obsid, nr_obs);
+       BATsetcount(tout_obs_obsgroupid, tuples_grp);
+       BATsetcount(tout_obs_obsid, tuples_grp);
 
        BATseqbase(tout_grp_obsgroupid, 0);
        BATseqbase(tout_grp_center_traj_x, 0);
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to