code: public synchronized long position(byte[] pattern,
                                        long start) throws SQLException {
  
          if (!isInLimits(Long.MAX_VALUE, start, 0)) {
              throw Util.outOfRangeArgument();
          }
  
          try {
              return blob.position(session, pattern, start - 1);
          } catch (HsqlException e) {
              throw Util.sqlException(e);
          }
      }
docs: Retrieves the byte position at which the specified byte array
  <code>pattern</code> begins within the <code>BLOB</code> value that
  this <code>Blob</code> object represents.
  
  @param pattern the byte array for which to search
  @param start the position at which to begin searching; the first
  position is 1
  @return the position at which the pattern appears, else -1
  @throws SQLException if there is an error accessing the
  <code>BLOB</code>