Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4914835

javax.sql.rowset.BaseRowSet.setUrl: invalid URLs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 5.0
    • 5.0
    • docs
    • beta
    • sparc
    • solaris_2.6

      Name: sdR10048 Date: 08/29/2003


      Filed By : SPB JCK team (###@###.###)
      JDK : java full version "1.5.0-beta-b16"


      Specification excerpt:
      ======================
      --------- J2SE API spec v.1.5 ---------
      ...
      public void setUrl(java.lang.String url)
                  throws java.sql.SQLException
      Sets the URL property for this RowSet object to the given String object.
      This URL is used when the connection is created using a JDBC
      technology-enabled driver. Please refer to the vendor JDBC
      driver documentation to determine the correct format of URL for
      the specific JDBC driver in use.

      Setting this property is optional. The driver will use either a URL or a
      data source name to create a connection, whichever was specified
      most recently. If an application uses a URL, it must load a JDBC driver
      that accepts the URL before it uses the JDBC RowSet to connect to a
      database. The JDBC RowSet will use the URL internally to create a
      database connection in order to read or write data.

      Parameters:
      url - a String object that contains the JDBC URL that will be used to
      establish the connection for this JDBC RowSet; may be null
      Throws:
      java.sql.SQLException - if an error occurs setting this or updating URL value.
      ...
      ---------- end-of-excerpt ---------------

      Problem description
      ===================
      Currently (JDK1.5.0b16) BaseRowSet.setUrl(url) throws SQLException if
      url is an empty string. But at the same time this class does not throw
      any exception if url is some other invalid URL. For example "@".

      This situation should be clarified and invalid cases should be specified here.
      Note (just a note) that this method does not make any other checks (except != "")
      that could be refered to "if an error occurs setting this or updating URL value".

      ======================================================================

      This is not a bug. It is impossible to specify what makes a JDGC URL valid or invalid.
      The URL used here is not a standard URL but rather a JDBC URL that a driver vendor chooses. There are guidelines as to what the JDBC URL should contain, but there are no hard and fast rules, so a driver vendor can choose to use almost anything as the JDBC URL that will identify its JDBC driver. So "@" could possibly be a valid JDBC URL. As the documentation says, the user has to consult the driver documentation to see what its JDBC URL is. Therefore, it is impossible to specify what constitutes and invalid URL. The real test is whether the JDBC URL successfully identifies a JDBC driver.
      ###@###.### 2003-10-31

            jbrucesunw Jonathan Bruce (Inactive)
            dsvsunw Dsv Dsv (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: