code: protected static void reOrganizeType(QueryColumnImpl column) {
  	if ((column.type == Types.OTHER) && !column.typeChecked) {
  	    column.typeChecked = true;
  	    if (column.size() > 0) {
  		checkOther(column, column.data[0]);
  
  		// get Type
  		for (int i = 1; i < column.size(); i++) {
  		    switch (column.type) {
  		    case Types.NULL:
  			checkOther(column, column.data[i]);
  			break;
  		    case Types.TIMESTAMP:
  			checkDate(column, column.data[i]);
  			break;
  		    // case Types.DATE:checkDate(column.data[i]);break;
  		    case Types.BOOLEAN:
  			checkBoolean(column, column.data[i]);
  			break;
  		    case Types.DOUBLE:
  			checkDouble(column, column.data[i]);
  			break;
  		    case Types.VARCHAR:
  			checkBasic(column, column.data[i]);
  			break;
  		    default:
  			break;
  		    }
  		}
  	    }
  	}
      }
docs: reorganize type of a column
  
  @param reorganize