new_contents: import Database
  import sys
  from collections import deque
  
  from Catalog.Schema  import DBSchema
  
  from Query.Operators.TableScan import TableScan
  from Query.Operators.Select    import Select
  from Query.Operators.Project   import Project
  from Query.Operators.GroupBy   import GroupBy
  
  
  
  db = Database.Database()
  db.createRelation('employee', [('id', 'int'), ('age', 'int')])
  schema = db.relationSchema('employee')
  
  for tup in [schema.pack(schema.instantiate(i, 2*i+20)) for i in range(0,20000)]:
    _ = db.insertTuple(schema.name, tup)
  
  keySchema  = DBSchema('employeeKey',  [('id', 'int')])
  aggMinMaxSchema = DBSchema('minmax', [('minAge', 'int'), ('maxAge','int')])
  
  query6 = db.query().fromTable('employee').groupBy( \
            groupSchema=keySchema, \
            aggSchema=aggMinMaxSchema, \
            groupExpr=(lambda e: e.id), \
            aggExprs=[(sys.maxsize, lambda acc, e: min(acc, e.age), lambda x: x), \
                      (0, lambda acc, e: max(acc, e.age), lambda x: x)], groupHashFn=(lambda gbVal: gbVal % 4)).finalize()
  
  print(query6.explain())
  q6results = [query6.schema().unpack(tup) for page in db.processQuery(query6) for tup in page[1]]
  
  print(q6results);
  print( len(q6results) );
  
subject: add a test file