code: public synchronized byte[] getBytes(long pos,
                                          int length) throws SQLException {
  
          if (!isInLimits(Long.MAX_VALUE, pos - 1, length)) {
              throw Util.outOfRangeArgument();
          }
  
          try {
              return blob.getBytes(session, pos - 1, length);
          } catch (HsqlException e) {
              throw Util.sqlException(e);
          }
      }
docs: Retrieves all or part of the <code>BLOB</code> value that this
  <code>Blob</code> object represents, as an array of bytes.
  
  @param pos the ordinal position of the first byte in the
  <code>BLOB</code> value to be extracted; the first byte is at
  position 1
  @param length the number of consecutive bytes to be copied
  @return a byte array containing up to <code>length</code> consecutive
  bytes from the <code>BLOB</code> value designated by this
  <code>Blob</code> object, starting with the byte at position
  <code>pos</code>
  @throws SQLException if there is an error accessing the
  <code>BLOB</code> value