Skip to content

Commit

Permalink
Merge pull request #1961 from ma-xiao-guang-64/1.6
Browse files Browse the repository at this point in the history
修复聚合函数的问题
  • Loading branch information
apachemycat committed Aug 16, 2018
2 parents a12fc6b + b76b36b commit de2a8ee
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/main/java/io/mycat/sqlengine/mpp/UnsafeRowGrouper.java
Expand Up @@ -655,8 +655,12 @@ private void aggregateRow(UnsafeRow key,UnsafeRow toRow, UnsafeRow newRow) throw
case ColMeta.COL_TYPE_INT:
case ColMeta.COL_TYPE_LONG:
case ColMeta.COL_TYPE_INT24:
left = BytesTools.int2Bytes(toRow.getInt(index));
right = BytesTools.int2Bytes(newRow.getInt(index));
if (!toRow.isNullAt(index)) {
left = BytesTools.int2Bytes(toRow.getInt(index));
}
if (!newRow.isNullAt(index)) {
right = BytesTools.int2Bytes(newRow.getInt(index));
}
break;
case ColMeta.COL_TYPE_SHORT:
left = BytesTools.short2Bytes(toRow.getShort(index));
Expand Down Expand Up @@ -764,16 +768,17 @@ private void aggregateRow(UnsafeRow key,UnsafeRow toRow, UnsafeRow newRow) throw
bufferHolder.reset();
for (int i = 0; i < toRow.numFields(); i++) {

if (!toRow.isNullAt(i) && i != index) {
unsafeRowWriter.write(i, toRow.getBinary(i));
} else if (!toRow.isNullAt(i) && i == index) {
if (i == index) {
unsafeRowWriter.write(i,result);
} else if (!toRow.isNullAt(i)) {
unsafeRowWriter.write(i, toRow.getBinary(i));
} else if (toRow.isNullAt(i)){
unsafeRow.setNullAt(i);
}
}
unsafeRow.setTotalSize(bufferHolder.totalSize());
aggregationMap.put(key, unsafeRow);
toRow = unsafeRow;
break;
default:
break;
Expand Down

0 comments on commit de2a8ee

Please sign in to comment.