1 package com.daffodilwoods.daffodildb.server.sql99.dql.execution; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.sql99.common.*; 6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*; 7 import com.daffodilwoods.daffodildb.server.sql99.expression.*; 8 import com.daffodilwoods.daffodildb.utils.field.*; 9 import com.daffodilwoods.database.resource.*; 10 import com.daffodilwoods.database.utility.*; 11 12 23 public class AggregateAvgDistinct extends AggregateAvgAll implements _Aggregate, Datatypes, IntegerPool { 24 25 28 private ArrayList aList; 30 39 public AggregateAvgDistinct(valueexpression column0) throws DException { 40 super(column0); 41 aList = new ArrayList(); 42 } 43 44 50 public void initialize() throws DException { 51 aList.clear(); 52 super.initialize(); 53 } 54 55 66 67 public void addRecord(Object obj) throws DException { 68 FieldBase newObject = (FieldBase) obj; 69 if (newObject.isNull()) { 70 return; 71 } 72 if (initialized) { 73 init(); 74 initialized = false; 75 } 76 if (!aList.contains(newObject.getObject())) { 77 count++; 78 getSum(result, newObject); 79 aList.add(newObject.getObject()); 80 } 81 } 82 83 } 84 | Popular Tags |