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

Better error message needed when keys=GeneratedKeys.RETURN_KEYS_DRIVER_DEFINED is omited

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • cts_5.0
    • core-libs
    • None
    • b96
    • generic
    • generic

      Consider the following EoD Query:

          @Update(sql="insert into practiceschedule(practicedate, practicetime, team)" +
                  "values(?1, ?2, ?3)"
                  , keys= GeneratedKeys.RETURNED_KEYS_DRIVER_DEFINED)
          DataSet<Keys> addTeamPractice(java.sql.Date practiceDate,
                  java.sql.Time practiceTime, Integer team);


      If you omit the
      , keys= GeneratedKeys.RETURNED_KEYS_DRIVER_DEFINED

      so that your query looks like:


          @Update(sql="insert into practiceschedule(practicedate, practicetime, team)" +
                  "values(?1, ?2, ?3)"
                  )
          DataSet<Keys> addTeamPractice(java.sql.Date practiceDate,
                  java.sql.Time practiceTime, Integer team);


      You will get the following error which is not useful at runtime:

      java.sql.SQLException: Unexpected Exception
              at com.sun.sql.QueryObjectGeneratorImpl.getAutoGeneratedKeys(QueryObjectGeneratorImpl.java:1596)
              at com.sun.sql.QueryObjectGeneratorImpl.access$300(QueryObjectGeneratorImpl.java:24)
              at com.sun.sql.QueryObjectGeneratorImpl$4.run(QueryObjectGeneratorImpl.java:573)
              at java.security.AccessController.doPrivileged(Native Method)
              at com.sun.sql.QueryObjectGeneratorImpl.getUpdateImpl(QueryObjectGeneratorImpl.java:567)
              at com.sun.sql.QueryObjectGeneratorImpl.access$200(QueryObjectGeneratorImpl.java:24)
              at com.sun.sql.QueryObjectGeneratorImpl$3.run(QueryObjectGeneratorImpl.java:238)
              at java.security.AccessController.doPrivileged(Native Method)
              at com.sun.sql.QueryObjectGeneratorImpl.invoke(QueryObjectGeneratorImpl.java:233)
              at $Proxy0.addTeam(Unknown Source)
              at com.sun.jdbc.samples.tennis.TennisTest.addTeam(TennisTest.java:160)
              at com.sun.jdbc.samples.tennis.TennisTest.runEod(TennisTest.java:76)
              at com.sun.jdbc.samples.tennis.TennisTest.main(TennisTest.java:34)
      Caused by: java.sql.SQLException: Null ResultSet handle
              at com.sun.sql.QueryObjectGeneratorImpl.getAutoGeneratedKeys(QueryObjectGeneratorImpl.java:1566)
              ... 12 more
      Exception in thread "main" java.lang.NullPointerException
              at com.sun.jdbc.samples.tennis.TennisTest.addTeam(TennisTest.java:161)
              at com.sun.jdbc.samples.tennis.TennisTest.runEod(TennisTest.java:76)
              at com.sun.jdbc.samples.tennis.TennisTest.main(TennisTest.java:34)

            kssaxena Kshitiz Saxena (Inactive)
            lancea Lance Andersen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: