public Value[] readRow(Value[] row) throws SQLException {
  StatementBuilder buff=new StatementBuilder("SELECT ");
  appendColumnList(buff,false);
  buff.append(" FROM ");
  appendTableName(buff);
  appendKeyCondition(buff);
  PreparedStatement prep=conn.prepareStatement(buff.toString());
  setKey(prep,1,row);
  ResultSet rs=prep.executeQuery();
  if (!rs.next()) {
    throw DbException.get(ErrorCode.NO_DATA_AVAILABLE);
  }
  Value[] newRow=new Value[columnCount];
  for (int i=0; i < columnCount; i++) {
    int type=result.getColumnType(i);
    newRow[i]=DataType.readValue(conn.getSession(),rs,i + 1,type);
  }
  return newRow;
}

public Value [ ] readRow ( Value [ ] row ) throws SQLException { StatementBuilder buff = new StatementBuilder ( "SELECT " ) ; appendColumnList ( buff , false ) ; buff . append ( " FROM " ) ; appendTableName ( buff ) ; appendKeyCondition ( buff ) ; PreparedStatement prep = conn . prepareStatement ( buff . toString ( ) ) ; setKey ( prep , 1 , row ) ; ResultSet rs = prep . executeQuery ( ) ; if ( ! rs . next ( ) ) { throw DbException . get ( ErrorCode . NO_DATA_AVAILABLE ) ; } Value [ ] newRow = new Value [ columnCount ] ; for ( int i = 0 ; i < columnCount ; i ++ ) { int type = result . getColumnType ( i ) ; newRow [ i ] = DataType . readValue ( conn . getSession ( ) , rs , i + 1 , type ) ; } return newRow ; }
re - reads a row from the database and updates the values in the array .
