Class CommentClientInfoProvider

java.lang.Object
com.mysql.cj.jdbc.CommentClientInfoProvider
All Implemented Interfaces:
ClientInfoProvider

public class CommentClientInfoProvider
extends java.lang.Object
implements ClientInfoProvider
An implementation of ClientInfoProvider that exposes the client info as a comment prepended to all statements issued by the driver. Client information is never read from the server with this implementation, it is always cached locally.
  • Constructor Summary

    Constructors 
    Constructor Description
    CommentClientInfoProvider()  
  • Method Summary

    Modifier and Type Method Description
    void destroy()
    Called once by the driver when the connection this provider instance belongs to is being closed.
    java.util.Properties getClientInfo​(java.sql.Connection conn)
    Returns the client info for the connection that this provider instance belongs to.
    java.lang.String getClientInfo​(java.sql.Connection conn, java.lang.String name)
    Returns the client info for the connection that this provider instance belongs to.
    void initialize​(java.sql.Connection conn, java.util.Properties configurationProps)
    Called once by the driver when it needs to configure the provider.
    void setClientInfo​(java.sql.Connection conn, java.lang.String name, java.lang.String value)
    Sets the client info for the connection that this provider instance belongs to.
    void setClientInfo​(java.sql.Connection conn, java.util.Properties properties)
    Sets the client info for the connection that this provider instance belongs to.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • initialize

      public void initialize​(java.sql.Connection conn, java.util.Properties configurationProps) throws java.sql.SQLException
      Description copied from interface: ClientInfoProvider
      Called once by the driver when it needs to configure the provider.
      Specified by:
      initialize in interface ClientInfoProvider
      Parameters:
      conn - the connection that the provider belongs too.
      configurationProps - a java.util.Properties instance that contains configuration information for the connection.
      Throws:
      java.sql.SQLException - if initialization fails.
    • destroy

      public void destroy() throws java.sql.SQLException
      Description copied from interface: ClientInfoProvider
      Called once by the driver when the connection this provider instance belongs to is being closed. Implementations are expected to clean up and resources at this point in time.
      Specified by:
      destroy in interface ClientInfoProvider
      Throws:
      java.sql.SQLException - if an error occurs.
    • getClientInfo

      public java.util.Properties getClientInfo​(java.sql.Connection conn) throws java.sql.SQLException
      Description copied from interface: ClientInfoProvider
      Returns the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Specified by:
      getClientInfo in interface ClientInfoProvider
      Parameters:
      conn - connection object
      Returns:
      client info as Properties
      Throws:
      java.sql.SQLException - if an error occurs
      See Also:
      Connection.getClientInfo()
    • getClientInfo

      public java.lang.String getClientInfo​(java.sql.Connection conn, java.lang.String name) throws java.sql.SQLException
      Description copied from interface: ClientInfoProvider
      Returns the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Specified by:
      getClientInfo in interface ClientInfoProvider
      Parameters:
      conn - connection object
      name - property name
      Returns:
      the client info by given property name
      Throws:
      java.sql.SQLException - if an error occurs
      See Also:
      Connection.getClientInfo(java.lang.String)
    • setClientInfo

      public void setClientInfo​(java.sql.Connection conn, java.util.Properties properties) throws java.sql.SQLClientInfoException
      Description copied from interface: ClientInfoProvider
      Sets the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Specified by:
      setClientInfo in interface ClientInfoProvider
      Parameters:
      conn - connection object
      properties - Properties object
      Throws:
      java.sql.SQLClientInfoException - if an error occurs
      See Also:
      Connection.setClientInfo(java.util.Properties)
    • setClientInfo

      public void setClientInfo​(java.sql.Connection conn, java.lang.String name, java.lang.String value) throws java.sql.SQLClientInfoException
      Description copied from interface: ClientInfoProvider
      Sets the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Specified by:
      setClientInfo in interface ClientInfoProvider
      Parameters:
      conn - connection object
      name - property name
      value - property value
      Throws:
      java.sql.SQLClientInfoException - if an error occurs
      See Also:
      Connection.setClientInfo(java.lang.String,java.lang.String)