Package org.apache.log4j.db

## Interface ConnectionSource

- All Superinterfaces:
    `Component`, `org.apache.log4j.spi.OptionHandler`
  All Known Implementing Classes:
    `ConnectionSourceSkeleton`, `DataSourceConnectionSource`, `DriverManagerConnectionSource`, `JNDIConnectionSource`

      public interface ConnectionSource
      extends Component, org.apache.log4j.spi.OptionHandler

  The `ConnectionSource` interface provides a pluggable means of transparently obtaining JDBC `Connection`s for log4j classes that require the use of a `Connection`.
  Author:
    Ray DeCampo

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `HSQL_DIALECT` |
    `static int` | `MSSQL_DIALECT` |
    `static int` | `MYSQL_DIALECT` |
    `static int` | `ORACLE_DIALECT` |
    `static int` | `POSTGRES_DIALECT` |
    `static int` | `UNKNOWN_DIALECT` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Connection` | `getConnection()` | Obtain a `Connection` for use.
    `int` | `getSQLDialectCode()` | Get the SQL dialect that should be used for this connection.
    `boolean` | `supportsBatchUpdates()` | If the connection does not support batch updates, we will avoid using them.
    `boolean` | `supportsGetGeneratedKeys()` | If the connection supports the JDBC 3.0 getGeneratedKeys method, then we do not need any specific dialect support.

    - ### Methods inherited from interface org.apache.log4j.spi.Component

      `setLoggerRepository`

    - ### Methods inherited from interface org.apache.log4j.spi.OptionHandler

      `activateOptions`

- - ### Field Detail

    - #### UNKNOWN_DIALECT

          static final int UNKNOWN_DIALECT

      See Also:
        Constant Field Values

    - #### POSTGRES_DIALECT

          static final int POSTGRES_DIALECT

      See Also:
        Constant Field Values

    - #### MYSQL_DIALECT

          static final int MYSQL_DIALECT

      See Also:
        Constant Field Values

    - #### ORACLE_DIALECT

          static final int ORACLE_DIALECT

      See Also:
        Constant Field Values

    - #### MSSQL_DIALECT

          static final int MSSQL_DIALECT

      See Also:
        Constant Field Values

    - #### HSQL_DIALECT

          static final int HSQL_DIALECT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getConnection

          Connection getConnection()
                            throws SQLException

      Obtain a `Connection` for use. The client is responsible for closing the `Connection` when it is no longer required.
      Throws:
        `SQLException` - if a `Connection` could not be obtained

    - #### getSQLDialectCode

          int getSQLDialectCode()

      Get the SQL dialect that should be used for this connection. Note that the dialect is not needed if the JDBC driver supports the getGeneratedKeys method.

    - #### supportsGetGeneratedKeys

          boolean supportsGetGeneratedKeys()

      If the connection supports the JDBC 3.0 getGeneratedKeys method, then we do not need any specific dialect support.

    - #### supportsBatchUpdates

          boolean supportsBatchUpdates()

      If the connection does not support batch updates, we will avoid using them.