com.ibm.tivoli.maximo.dbmanage.connection

Class LoggingConnection

  • java.lang.Object
    • com.ibm.tivoli.maximo.dbmanage.connection.LoggingConnection
  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.sql.Connection, java.sql.Wrapper


    public class LoggingConnection
    extends java.lang.Object
    implements java.sql.Connection
    This class wraps around a connection object so that we can log the SQL and the result of executing that SQL. The Logging*Statement classes are used to log SQL executed from Statements created from the connection. Logging:
    SQLlog.execute - passes the SQL statement about to be executed.
    SQLlog.query - passes the SQL before querying.
    SQLlog.result - message is TRUE, FALSE, or a count of the # of rows affected. SQLlog.unsupported - warning given with the name of the method not supported.
    See Also:
    LoggingStatement, LoggingPreparedStatement, LoggingCallableStatement
    • Field Detail

      • SQLLOG_Execute

        public static final java.lang.String SQLLOG_Execute
        Used to log executed statement, meaning everything but select statements.
        See Also:
        Constant Field Values
      • SQLLOG_Query

        public static final java.lang.String SQLLOG_Query
        Used to log a query.
        See Also:
        Constant Field Values
      • SQLLOG_Result

        public static final java.lang.String SQLLOG_Result
        Used to log the result of a SQL statement execution, including queries. Message object maybe TRUE, FALSE, or a count of the number or rows affected.
        See Also:
        Constant Field Values
      • SQLLOG_OPEN

        public static final java.lang.String SQLLOG_OPEN
        Used when the connection is opened.
        See Also:
        Constant Field Values
      • SQLLOG_CLOSE

        public static final java.lang.String SQLLOG_CLOSE
        Used when the connection is closed.
        See Also:
        Constant Field Values
      • SQLLOG_UNSUPPORTED

        public static final java.lang.String SQLLOG_UNSUPPORTED
        Used to log unsupported operations.
        See Also:
        Constant Field Values
      • SQLLOG_PARAMETERS

        public static final java.lang.String SQLLOG_PARAMETERS
        Used to log parameters used in the following SQL statement. Parameter is a List, in parameter order.
        See Also:
        Constant Field Values
        • Method Detail

          • log

            public static void log(java.lang.String loggerName,
                                   java.lang.Object msg)
          • getLoggingConnection

            public static java.sql.Connection getLoggingConnection(java.sql.Connection con)
          • getLoggingConnection

            public static java.sql.Connection getLoggingConnection(java.sql.Connection con,
                                                                   LogSQL logger)
          • setSQLLogger

            public void setSQLLogger(LogSQL logger)
          • clearWarnings

            public void clearWarnings()
                               throws java.sql.SQLException
            Specified by:
            clearWarnings in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • close

            public void close()
                       throws java.sql.SQLException
            Specified by:
            close in interface java.lang.AutoCloseable
            Specified by:
            close in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • commit

            public void commit()
                        throws java.sql.SQLException
            Specified by:
            commit in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createArrayOf

            public java.sql.Array createArrayOf(java.lang.String typeName,
                                                java.lang.Object[] elements)
                                         throws java.sql.SQLException
            Specified by:
            createArrayOf in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createBlob

            public java.sql.Blob createBlob()
                                     throws java.sql.SQLException
            Specified by:
            createBlob in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createClob

            public java.sql.Clob createClob()
                                     throws java.sql.SQLException
            Specified by:
            createClob in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createNClob

            public java.sql.NClob createNClob()
                                       throws java.sql.SQLException
            Specified by:
            createNClob in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createSQLXML

            public java.sql.SQLXML createSQLXML()
                                         throws java.sql.SQLException
            Specified by:
            createSQLXML in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createStatement

            public java.sql.Statement createStatement()
                                               throws java.sql.SQLException
            Specified by:
            createStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createStatement

            public java.sql.Statement createStatement(int resultSetType,
                                                      int resultSetConcurrency)
                                               throws java.sql.SQLException
            Specified by:
            createStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createStatement

            public java.sql.Statement createStatement(int resultSetType,
                                                      int resultSetConcurrency,
                                                      int resultSetHoldability)
                                               throws java.sql.SQLException
            Specified by:
            createStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • createStruct

            public java.sql.Struct createStruct(java.lang.String typeName,
                                                java.lang.Object[] attributes)
                                         throws java.sql.SQLException
            Specified by:
            createStruct in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getAutoCommit

            public boolean getAutoCommit()
                                  throws java.sql.SQLException
            Specified by:
            getAutoCommit in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getCatalog

            public java.lang.String getCatalog()
                                        throws java.sql.SQLException
            Specified by:
            getCatalog in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getClientInfo

            public java.util.Properties getClientInfo()
                                               throws java.sql.SQLException
            Specified by:
            getClientInfo in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getClientInfo

            public java.lang.String getClientInfo(java.lang.String name)
                                           throws java.sql.SQLException
            Specified by:
            getClientInfo in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getHoldability

            public int getHoldability()
                               throws java.sql.SQLException
            Specified by:
            getHoldability in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getMetaData

            public java.sql.DatabaseMetaData getMetaData()
                                                  throws java.sql.SQLException
            Specified by:
            getMetaData in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getTransactionIsolation

            public int getTransactionIsolation()
                                        throws java.sql.SQLException
            Specified by:
            getTransactionIsolation in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getTypeMap

            public java.util.Map getTypeMap()
                                     throws java.sql.SQLException
            Specified by:
            getTypeMap in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getWarnings

            public java.sql.SQLWarning getWarnings()
                                            throws java.sql.SQLException
            Specified by:
            getWarnings in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • isClosed

            public boolean isClosed()
                             throws java.sql.SQLException
            Specified by:
            isClosed in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • isReadOnly

            public boolean isReadOnly()
                               throws java.sql.SQLException
            Specified by:
            isReadOnly in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • isValid

            public boolean isValid(int timeout)
                            throws java.sql.SQLException
            Specified by:
            isValid in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • nativeSQL

            public java.lang.String nativeSQL(java.lang.String sql)
                                       throws java.sql.SQLException
            Specified by:
            nativeSQL in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareCall

            public java.sql.CallableStatement prepareCall(java.lang.String sql)
                                                   throws java.sql.SQLException
            Specified by:
            prepareCall in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareCall

            public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency)
                                                   throws java.sql.SQLException
            Specified by:
            prepareCall in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareCall

            public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency,
                                                          int resultSetHoldability)
                                                   throws java.sql.SQLException
            Specified by:
            prepareCall in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareStatement

            public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
                                                        throws java.sql.SQLException
            Specified by:
            prepareStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareStatement

            public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                               int autoGeneratedKeys)
                                                        throws java.sql.SQLException
            Specified by:
            prepareStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareStatement

            public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                               int[] columnIndexes)
                                                        throws java.sql.SQLException
            Specified by:
            prepareStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareStatement

            public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                               java.lang.String[] columnNames)
                                                        throws java.sql.SQLException
            Specified by:
            prepareStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareStatement

            public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                               int resultSetType,
                                                               int resultSetConcurrency)
                                                        throws java.sql.SQLException
            Specified by:
            prepareStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • prepareStatement

            public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                               int resultSetType,
                                                               int resultSetConcurrency,
                                                               int resultSetHoldability)
                                                        throws java.sql.SQLException
            Specified by:
            prepareStatement in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • releaseSavepoint

            public void releaseSavepoint(java.sql.Savepoint savepoint)
                                  throws java.sql.SQLException
            Specified by:
            releaseSavepoint in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • rollback

            public void rollback()
                          throws java.sql.SQLException
            Specified by:
            rollback in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • rollback

            public void rollback(java.sql.Savepoint savepoint)
                          throws java.sql.SQLException
            Specified by:
            rollback in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setAutoCommit

            public void setAutoCommit(boolean autoCommit)
                               throws java.sql.SQLException
            Specified by:
            setAutoCommit in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setCatalog

            public void setCatalog(java.lang.String catalog)
                            throws java.sql.SQLException
            Specified by:
            setCatalog in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setClientInfo

            public void setClientInfo(java.util.Properties properties)
                               throws java.sql.SQLClientInfoException
            Specified by:
            setClientInfo in interface java.sql.Connection
            Throws:
            java.sql.SQLClientInfoException
          • setClientInfo

            public void setClientInfo(java.lang.String name,
                                      java.lang.String value)
                               throws java.sql.SQLClientInfoException
            Specified by:
            setClientInfo in interface java.sql.Connection
            Throws:
            java.sql.SQLClientInfoException
          • setHoldability

            public void setHoldability(int holdability)
                                throws java.sql.SQLException
            Specified by:
            setHoldability in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setReadOnly

            public void setReadOnly(boolean readOnly)
                             throws java.sql.SQLException
            Specified by:
            setReadOnly in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setSavepoint

            public java.sql.Savepoint setSavepoint()
                                            throws java.sql.SQLException
            Specified by:
            setSavepoint in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setSavepoint

            public java.sql.Savepoint setSavepoint(java.lang.String name)
                                            throws java.sql.SQLException
            Specified by:
            setSavepoint in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setTransactionIsolation

            public void setTransactionIsolation(int level)
                                         throws java.sql.SQLException
            Specified by:
            setTransactionIsolation in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setTypeMap

            public void setTypeMap(java.util.Map map)
                            throws java.sql.SQLException
            Specified by:
            setTypeMap in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • isWrapperFor

            public boolean isWrapperFor(java.lang.Class iface)
                                 throws java.sql.SQLException
            Specified by:
            isWrapperFor in interface java.sql.Wrapper
            Throws:
            java.sql.SQLException
          • unwrap

            public java.lang.Object unwrap(java.lang.Class iface)
                                    throws java.sql.SQLException
            Specified by:
            unwrap in interface java.sql.Wrapper
            Throws:
            java.sql.SQLException
          • setNetworkTimeout

            public void setNetworkTimeout(java.util.concurrent.Executor executor,
                                          int milliseconds)
                                   throws java.sql.SQLException
            Specified by:
            setNetworkTimeout in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getNetworkTimeout

            public int getNetworkTimeout()
                                  throws java.sql.SQLException
            Specified by:
            getNetworkTimeout in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • setSchema

            public void setSchema(java.lang.String schema)
                           throws java.sql.SQLException
            Specified by:
            setSchema in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • getSchema

            public java.lang.String getSchema()
                                       throws java.sql.SQLException
            Specified by:
            getSchema in interface java.sql.Connection
            Throws:
            java.sql.SQLException
          • abort

            public void abort(java.util.concurrent.Executor executor)
                       throws java.sql.SQLException
            Specified by:
            abort in interface java.sql.Connection
            Throws:
            java.sql.SQLException