try { if (selectStatement == null) selectStatement = connection.getAllocatedStatement();  executeStatement(SELECT_STATEMENT_TYPE, selectStatement);  Object[] rows = selectStatement.getRows(); if (rows.length == 0) throw new FBSQLException("No rows could be fetched.");  if (rows.length > 1) throw new FBSQLException("More then one row fetched.");  setRow((byte[][])rows[0]);  } catch(GDSException ex) { throw new FBSQLException(ex);
Object mutex = syncProvider.getSynchronizationObject(); synchronized(mutex) { try {  connection.ensureInTransaction();  if (selectStatement == null) selectStatement = connection.getAllocatedStatement();  executeStatement(SELECT_STATEMENT_TYPE, selectStatement);  Object[] rows = selectStatement.getRows(); if (rows.length == 0) throw new FBSQLException("No rows could be fetched.");  if (rows.length > 1) throw new FBSQLException("More then one row fetched.");  setRow((byte[][])rows[0]);  } catch(GDSException ex) { throw new FBSQLException(ex); } finally { connection.checkEndTransaction(); }
    public void refreshRow() throws SQLException {        try {            if (selectStatement == null)                selectStatement = connection.getAllocatedStatement();                        executeStatement(SELECT_STATEMENT_TYPE, selectStatement);                        Object[] rows = selectStatement.getRows();            if (rows.length == 0)                throw new FBSQLException("No rows could be fetched.");                        if (rows.length > 1)            throw new FBSQLException("More then one row fetched.");                        setRow((byte[][])rows[0]);                    } catch(GDSException ex) {            throw new FBSQLException(ex);        }    }