Updating JARs and Classes

If you alter a class used as a column datatype by reinstalling a modified version of the class, make sure that the modified class can read and use existing objects (rows) in tables using that class as a datatype. Otherwise, you may be unable to access those objects without reinstalling the class.

If you use -update:
  • With the -j jar_name option:

    • All classes in the database associated with the target JAR are deleted from the database and the classes in the source JAR file installed in their place.

    • If a class in the source JAR file is already installed in the database but is not attached to a JAR, the class in the source JAR is installed in the database and the unattached class is deleted.

  • Without the -j jar_name option:

    • Classes in the source JAR file replace unattached classes of the same name.

    • Classes in the source JAR that do not correspond to an installed class are installed as unattached classes in the database.

If you install a new JAR with a replacement for an installed class that is referenced by a SQLJ procedure or function, make sure that the newly installed class has a valid signature for the SQLJ routine. If the signature is invalid, an exception is raised when the SQLJ routine is invoked.