Code Review
/
com
/
gs-lite.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix HFTA operators and UDAFs broken by the last update
[com/gs-lite.git]
/
include
/
hfta
/
groupby_slowflush_operator.h
diff --git
a/include/hfta/groupby_slowflush_operator.h
b/include/hfta/groupby_slowflush_operator.h
index
d2120ba
..
cc5ab36
100644
(file)
--- a/
include/hfta/groupby_slowflush_operator.h
+++ b/
include/hfta/groupby_slowflush_operator.h
@@
-85,21
+85,21
@@
public:
flush_old(result);
}
if(n_patterns <= 1){
flush_old(result);
}
if(n_patterns <= 1){
-
aggregate aggr
;
+
char aggr_buffer[sizeof(aggregate)]
;
// create an aggregate in preallocated buffer
// create an aggregate in preallocated buffer
- func.create_aggregate(tup,
(char*)&agg
r);
+ func.create_aggregate(tup,
aggr_buffe
r);
// neeed operator= doing a deep copy
// neeed operator= doing a deep copy
- group_table[curr_table].insert(grp,
aggr
);
+ group_table[curr_table].insert(grp,
(*(aggregate*)aggr_buffer)
);
}else{
int p;
for(p=0;p<n_patterns;++p){
// TODO this code is wrong need to check each pattern to see if its in the table
}else{
int p;
for(p=0;p<n_patterns;++p){
// TODO this code is wrong need to check each pattern to see if its in the table
- // need shalow copy constructor for groups
+ // need shal
l
ow copy constructor for groups
group new_grp(grp, func.get_pattern(p));
group new_grp(grp, func.get_pattern(p));
-
aggregate aggr
;
- func.create_aggregate(tup,
(char*)&agg
r);
+
char aggr_buffer[sizeof(aggregate)]
;
+ func.create_aggregate(tup,
aggr_buffe
r);
// neeed operator= doing a deep copy
// neeed operator= doing a deep copy
- group_table[curr_table].insert(new_grp,
aggr
);
+ group_table[curr_table].insert(new_grp,
(*(aggregate*)aggr_buffer)
);
}
}
}
}
}
}