Class Util

java.lang.Object
org.apache.derby.impl.jdbc.Util

public abstract class Util extends Object
This class understands the message protocol and looks up SQLExceptions based on keys, so that the Local JDBC driver's messages can be localized. REMIND: May want to investigate putting some of this in the protocol side, for the errors that any Derby JDBC driver might return. The ASSERT mechanism is a wrapper of the basic services, to ensure that failed asserts at this level will behave well in a JDBC environment.
  • Field Details

    • logSeverityLevel

      private static int logSeverityLevel
  • Constructor Details

    • Util

      public Util()
  • Method Details

    • logAndThrowSQLException

      public static void logAndThrowSQLException(SQLException se) throws SQLException
      Log SQLException to the error log if the severity exceeds the logSeverityLevel and then throw it. This method can be used for logging JDBC exceptions to derby.log DERBY-1191.
      Parameters:
      se - SQLException to log and throw
      Throws:
      SQLException
    • logSQLException

      public static void logSQLException(SQLException se)
      Log an SQLException to the error log or to the console if there is no error log available. This method could perhaps be optimized to have a static shared ErrorStringBuilder and synchronize the method, but this works for now.
      Parameters:
      se - SQLException to log
    • logError

      private static void logError(String errorMessage, Throwable t)
    • ASSERT

      public static void ASSERT(EmbedConnection conn, boolean mustBeTrue, String msg) throws SQLException
      Mimic SanityManager.ASSERT in a JDBC-friendly way, and providing system cleanup for JDBC failures. We need the connection to do cleanup...
      Throws:
      SQLException - the exception
    • checkForSupportedDataType

      public static void checkForSupportedDataType(int dataType) throws SQLException
      Checks whether a data type is supported and raises a SQLException if it isn't.
      Throws:
      SQLException
    • checkSupportedRaiseStandard

      public static void checkSupportedRaiseStandard(int dataType) throws StandardException
      Checks whether a data type is supported and raises a StandardException if it isn't.
      Throws:
      StandardException
    • isSupportedType

      private static boolean isSupportedType(int dataType)
      Returns false if a data type is not supported for: setObject(int, Object, int) and setObject(int, Object, int, int).
      Parameters:
      dataType - the data type to check
    • generateCsSQLException

      public static SQLException generateCsSQLException(String error, Object... args)
    • generateCsSQLException

      static SQLException generateCsSQLException(String error, Throwable t, Object... args)
    • generateCsSQLException

      public static SQLException generateCsSQLException(StandardException se)
    • noCurrentConnection

      public static SQLException noCurrentConnection()
    • seeNextException

      static SQLException seeNextException(String messageId, SQLException next, Throwable cause, Object... args)
      Generate an SQLException which points to another SQLException nested within it with setNextException().
      Parameters:
      messageId - message id
      next - the next SQLException, possibly null
      cause - the underlying exception, possibly null
      args - the arguments to the message creation
      Returns:
      an SQLException wrapping another SQLException
    • javaException

      public static SQLException javaException(Throwable t)
    • policyNotReloaded

      public static SQLException policyNotReloaded(Throwable t)
    • notImplemented

      public static SQLException notImplemented()
    • notImplemented

      public static SQLException notImplemented(String feature)
    • setStreamFailure

      static SQLException setStreamFailure(IOException e)
    • typeMisMatch

      static SQLException typeMisMatch(int targetSQLType)
    • squashLongs

      public static int[] squashLongs(long[] longs)
      Squash an array of longs into an array of ints
    • newIOException

      static IOException newIOException(Throwable cause)
      Create an IOException that wraps another Throwable.
      Parameters:
      cause - the underlying cause of the error
      Returns:
      an IOException linked to cause
    • typeName

      public static String typeName(int jdbcType)