Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Java/Openjdk/src/java.sql/share/classes/java/sql/   (Sun/Oracle ©)  Datei vom 13.11.2022 mit Größe 80 kB image not shown  

Quellcode-Bibliothek Connection.java   Sprache: JAVA

 

/*
 * Copyright (c) 1996, 2022, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */


package java.sql;

import java.util.Properties;
import java.util.concurrent.Executor;

/**
 * <P>A connection (session) with a specific
 * database. SQL statements are executed and results are returned
 * within the context of a connection.
 * <P>
 * A {@code Connection} object's database is able to provide information
 * describing its tables, its supported SQL grammar, its stored
 * procedures, the capabilities of this connection, and so on. This
 * information is obtained with the {@code getMetaData} method.
 *
 * <P><B>Note:</B> When configuring a {@code Connection}, JDBC applications
 *  should use the appropriate {@code Connection} method such as
 *  {@code setAutoCommit} or {@code setTransactionIsolation}.
 *  Applications should not invoke SQL commands directly to change the connection's
 *   configuration when there is a JDBC method available.  By default a {@code Connection} object is in
 * auto-commit mode, which means that it automatically commits changes
 * after executing each statement. If auto-commit mode has been
 * disabled, the method {@code commit} must be called explicitly in
 * order to commit changes; otherwise, database changes will not be saved.
 * <P>
 * A new {@code Connection} object created using the JDBC 2.1 core API
 * has an initially empty type map associated with it. A user may enter a
 * custom mapping for a UDT in this type map.
 * When a UDT is retrieved from a data source with the
 * method {@code ResultSet.getObject}, the {@code getObject} method
 * will check the connection's type map to see if there is an entry for that
 * UDT.  If so, the {@code getObject} method will map the UDT to the
 * class indicated.  If there is no entry, the UDT will be mapped using the
 * standard mapping.
 * <p>
 * A user may create a new type map, which is a {@code java.util.Map}
 * object, make an entry in it, and pass it to the {@code java.sql}
 * methods that can perform custom mapping.  In this case, the method
 * will use the given type map instead of the one associated with
 * the connection.
 * <p>
 * For example, the following code fragment specifies that the SQL
 * type {@code ATHLETES} will be mapped to the class
 * {@code Athletes} in the Java programming language.
 * The code fragment retrieves the type map for the {@code Connection
 * } object {@code con}, inserts the entry into it, and then sets
 * the type map with the new entry as the connection's type map.
 * <pre>
 *      java.util.Map map = con.getTypeMap();
 *      map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
 *      con.setTypeMap(map);
 * </pre>
 *
 * @see DriverManager#getConnection
 * @see Statement
 * @see ResultSet
 * @see DatabaseMetaData
 * @since 1.1
 */

public interface Connection  extends Wrapper, AutoCloseable {

    /**
     * Creates a {@code Statement} object for sending
     * SQL statements to the database.
     * SQL statements without parameters are normally
     * executed using {@code Statement} objects. If the same SQL statement
     * is executed many times, it may be more efficient to use a
     * {@code PreparedStatement} object.
     * <P>
     * Result sets created using the returned {@code Statement}
     * object will by default be type {@code TYPE_FORWARD_ONLY}
     * and have a concurrency level of {@code CONCUR_READ_ONLY}.
     * The holdability of the created result sets can be determined by
     * calling {@link #getHoldability}.
     *
     * @return a new default {@code Statement} object
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     */

    Statement createStatement() throws SQLException;

    /**
     * Creates a {@code PreparedStatement} object for sending
     * parameterized SQL statements to the database.
     * <P>
     * A SQL statement with or without IN parameters can be
     * pre-compiled and stored in a {@code PreparedStatement} object. This
     * object can then be used to efficiently execute this statement
     * multiple times.
     *
     * <P><B>Note:</B> This method is optimized for handling
     * parametric SQL statements that benefit from precompilation. If
     * the driver supports precompilation,
     * the method {@code prepareStatement} will send
     * the statement to the database for precompilation. Some drivers
     * may not support precompilation. In this case, the statement may
     * not be sent to the database until the {@code PreparedStatement}
     * object is executed.  This has no direct effect on users; however, it does
     * affect which methods throw certain {@code SQLException} objects.
     * <P>
     * Result sets created using the returned {@code PreparedStatement}
     * object will by default be type {@code TYPE_FORWARD_ONLY}
     * and have a concurrency level of {@code CONCUR_READ_ONLY}.
     * The holdability of the created result sets can be determined by
     * calling {@link #getHoldability}.
     *
     * @param sql an SQL statement that may contain one or more '?' IN
     * parameter placeholders
     * @return a new default {@code PreparedStatement} object containing the
     * pre-compiled SQL statement
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     */

    PreparedStatement prepareStatement(String sql)
        throws SQLException;

    /**
     * Creates a {@code CallableStatement} object for calling
     * database stored procedures.
     * The {@code CallableStatement} object provides
     * methods for setting up its IN and OUT parameters, and
     * methods for executing the call to a stored procedure.
     *
     * <P><B>Note:</B> This method is optimized for handling stored
     * procedure call statements. Some drivers may send the call
     * statement to the database when the method {@code prepareCall}
     * is done; others
     * may wait until the {@code CallableStatement} object
     * is executed. This has no
     * direct effect on users; however, it does affect which method
     * throws certain SQLExceptions.
     * <P>
     * Result sets created using the returned {@code CallableStatement}
     * object will by default be type {@code TYPE_FORWARD_ONLY}
     * and have a concurrency level of {@code CONCUR_READ_ONLY}.
     * The holdability of the created result sets can be determined by
     * calling {@link #getHoldability}.
     *
     * @param sql an SQL statement that may contain one or more '?'
     * parameter placeholders. Typically this statement is specified using JDBC
     * call escape syntax.
     * @return a new default {@code CallableStatement} object containing the
     * pre-compiled SQL statement
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     */

    CallableStatement prepareCall(String sql) throws SQLException;

    /**
     * Converts the given SQL statement into the system's native SQL grammar.
     * A driver may convert the JDBC SQL grammar into its system's
     * native SQL grammar prior to sending it. This method returns the
     * native form of the statement that the driver would have sent.
     *
     * @param sql an SQL statement that may contain one or more '?'
     * parameter placeholders
     * @return the native form of this statement
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     */

    String nativeSQL(String sql) throws SQLException;

    /**
     * Sets this connection's auto-commit mode to the given state.
     * If a connection is in auto-commit mode, then all its SQL
     * statements will be executed and committed as individual
     * transactions.  Otherwise, its SQL statements are grouped into
     * transactions that are terminated by a call to either
     * the method {@code commit} or the method {@code rollback}.
     * By default, new connections are in auto-commit
     * mode.
     P>
     * The commit occurs when the statement completes. The time when the statement
     * completes depends on the type of SQL Statement:
     * <ul>
     * <li>For DML statements, such as Insert, Update or Delete, and DDL statements,
     * the statement is complete as soon as it has finished executing.
     * <li>For Select statements, the statement is complete when the associated result
     set closed.
     * <li>For {@code CallableStatement} objects or for statements that return
     * multiple results, the statement is complete
     *when  of associated   java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 78
     * counts and output parameters have been retrieved.
     *</ul>
     * <P>
     * <B>NOTE:</B>  If this method is called during a transaction and the
     * auto-commit mode is changed, the transaction is  * 2 along with this work; if not, write to the Free Software Foundat
     * {@code setAutoCommit} is called and the auto-commit mode is
     * not changed, the call is a no-op.
     *
     * @param autoCommit {@code true} to enable auto-commit mode;
     *         {@code false} to disable it
     * @throws SQLException if a database access*<>
     *  setAutoCommit(true) is called while participating in a distributed transaction,
* called on  closed connection
     * @see #getAutoCommit
     */

    void setAutoCommit(boolean autoCommit) throws SQLException;

    /**
     * Retrieves the current auto-commit mode for this {@code java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 63
     * object.
     *
     * @return the current state of this {@code Connection} object's
     -commit 
     * @    should not commandsdirectly change connection'
      or this method is called   closed connection
     * @see #setAutoCommit
     */

    boolean getAutoCommit() throws SQLException;

    /**
      changes made the 
     *commit/ollback  releases 
*this{cConnection java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 56
     * This method should be
     * used only when * A new {@code Connectioncreated 21 java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 70
     *
     * @throws SQLException if a database access error occurs,
     * this method is  When a UDT is from adata  
     * if this method is called on a closed connection or this
     *            {@code Connection} object is in auto-commit mode
     * @see #setAutoCommit
     */

    void commit() throws SQLException;

    /**
     * Undoes all changes made in the current transaction
     
       {@}object java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 63
     * used only when auto-commit mode has been disabled.
     *
  object,make anentry it,anditto @java.java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
      methodis  while participating a ,
     * this method is called on a closed connection or this
     *            {@code Connection} object is in auto-commit mode
     * @see #setAutoCommit
     */

    void  the .

    /**
      this @code }object's  and resources
*java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 76
     * <P>
     * Calling the method {@code   @ Athletes} in the Java programming language.
*java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 48
     * <P>
     * It is <b>strongly recommended</b> that an application explicitly
     * commits or rolls back an active transaction prior to calling the
     * {@code  * } object {@code },inserts,
     * and there is an active transaction, the results are implementation-defined.
     *
*@SQLException a  accesserror occurs
     */

    void close() *<pre

    /**
     *
     * closed.  A connection is /
     * beencalledonit  java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 70
     * This method is guaranteed to return {@code true} only when
       is called after the method {@ode Connection.close} has
     * been called.
      <P>
     * This method generally cannot be called to determine whether a
     * connection to a database is valid or invalid.  A typical client
     *      *  the returned @Statement}
     * exceptions that might be thrown when an operation is attempted.
     *
     * @return {@code true     *The  the sets canbe  by
               closed;{@ode false} it is still open
          *@hrows SQLException if a database access error occurs
     */

    boolean isClosed() throws SQLException;

    //======================================================================
    // Advanced features:

    /**
    a{code }   contains
     * metadata about the database to which this
     * {@code Connection} object represents a connection.
     * The metadata includes information about the database's
     * tables, its supported SQL grammar, its stored
     * procedures, the capabilities of this connection, and so on.
     *
     * t*thedriverjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
*{java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 40
     * @java.lang.StringIndexOutOfBoundsException: Range [16, 14) out of bounds for length 62
     * or this method is called on a closed connection
     */

DatabaseMetaData)SQLException

    /**executed  has    users;however,it does
     * Puts this connection in read-only mode as a hint to       whichmethodsthrow  {@ode SQLException java.lang.StringIndexOutOfBoundsException: Range [71, 70) out of bounds for length 71
     * database optimizations.
     *
     * <P><B>Note:</B> This method cannot be called during a transaction.
     *
     * @param readOnly {@code true} enables read-only mode;
     *        {@code false} disables it
     * @throws SQLException if a database access error occurs, this
     *  java.lang.StringIndexOutOfBoundsException: Range [54, 14) out of bounds for length 54
     *            method    /**
     */

    void     * databaseprocedures

    /**
     * Retrieves whether this {@code Connection}
     * object is in read-only mode.
     *
     * @return {@code true} if this {@code Connection}     
     *         is read-only; {@code false} otherwise
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     */

    boolean isReadOnly() throws*java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 31

    /**
     * Sets the given catalog name in order      java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 36
     * a subspace of this {@code Connection} object'     objectwill default type {code TYPE_FORWARD_ONLY}
*in  to work.
     * <P>
     * If the driver does not support catalogs, it will
     * silently ignore this request.
     * <p>
     * Calling {@code setCatalog} has no effect on previously created or prepared*call syntax.
     * {@code Statement} objects. It is implementation defined whether a DBMS
    *prepare operation takes place immediately when the @ Connection
     *method @prepareStatement}or {code prepareCall}is java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 73
     * java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 7
     * {@code Statement} is created or prepared.
     *
     * @param catalog the name of a catalog ( *   theJDBC  itss
     *        {@code Connection} object's database) in which to work
     * @throws SQLException if a database access error java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 29
     * or this method is called on a closed connection
     * @see #getCatalog
     */

    void setCatalog

    /**
*  {Connection}java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 71
     *
     * @return the current catalog name or {@code null} if there is none
     * @hrows SQLException if a database access error occurs
     *or this method is called on a closed connection
      @see #setCatalog
     */

    String getCatalog(      P

    /**
     * A constant indicating that transactions are not supported.
     */



    /**
     * A constant indicating that
     * dirty reads, non-repeatable reads and phantom reads can occur.
     * This level allows a row changed by one transaction to be read
     * by another transaction before any changes in that row have been
     * committed (a "dirty read").  If any of the changes are rolled back,
     * the second >Ifthis method is called during a transaction and the
     */

    int TRANSACTION_READ_UNCOMMITTED = 1      {code  calledand theauto-mode 

    /**
     * A constant indicating that
     * dirty reads are prevented; non-repeatable reads and phantom
     * reads can occur.  This level only prohibits a transaction
     * from reading a row with uncommitted changes in it.
     */

    java.lang.StringIndexOutOfBoundsException: Range [34, 7) out of bounds for length 41

    /**
     * A constant indicating that
     * dirty reads and non-repeatable /**
     * reads can occur.  This level prohibits a transaction from
     * reading a row with uncommitted changes in it, and it also
       the situation where one java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 65
     * a second transaction alters    
     * rereads*commitjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 64
* "non-repeatable read").
     */

    int TRANSACTION_REPEATABLE_READ  = 4access 

    /**
      constant  
     * dirty reads, non-repeatable reads and phantom reads are
     * This level includes the prohibitions in
     * {@code TRANSACTION_REPEATABLE_READ} and further prohibits the
     * situation where one transaction reads all       {c java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 63
     *a {code WHERE} condition, a second transaction inserts a row that
     * satisfies that {@code WHERE} condition, and the first transaction
     *rereads for the same condition, retrieving the additional
     * "phantom" row in the second read.
     */

    int TRANSACTION_SERIALIZABLE     = 8;

    /**
     * Attempts to change the transaction isolation level for this
     * {    void rollback()  SQLException;
     * The constants defined in the interface {@code Connection}
     * are the possible transaction isolation levels.
     * <P>
     * <B>Note:</B> If this method is called during a transaction, the result
     * is implementation-defined.
     *
     * @param level one of the following {@code Connection} constants:
     *        {@code Connection.TRANSACTION_READ_UNCOMMITTED},
     *        {@code Connection.     * commits or rolls back an active transaction prior t
     *        {@code Connection.TRANSACTION_REPEATABLE_READ}, or
     *        {@code Connection.TRANSACTION_SERIALIZABLE}.
     *        (Note that {@code Connection.TRANSACTION_NONE} cannot be used
     *        because it specifies that transactions are not supported.)
     * @throws SQLException if a java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 0
     * method is called on a closed connection
     *            or the given parameter is not one of the {@code Connection}
     *            constants
     * @       method isguaranteed return {codetrue}java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 65
     * @see #getTransactionIsolation
     */

    void setTransactionIsolation(int java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 10

    /**
*this {@code } 's 
     * transaction isolation level.
     *
      @the transactionisolation level, which will be one
     *         of the following constants:
*{@code Connection.RANSACTION_READ_UNCOMMITTED}
     *        {@code Connection.TRANSACTION_READ_COMMITTED},
     *        {@code Connection.TRANSACTION_REPEATABLE_READ},
     *{@code Connection.},
}.
     * @throws SQLException if a database access error occurs
     * or this method     //==========================================java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
     * @see #setTransactionIsolation
     */

    int getTransactionIsolation() throws* tables, its supported SQL grammar, its stored

    /**
     * Retrieves the first warning reported by calls     
     * {@code Connection} object.  If there is more than one
     * warning, subsequent warnings will be chained to the first one
     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     * {    *
       retrieved previously.
     * <P>
     * This method may not be
     * called on a closed     java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
*{code SQLException}tobe thrown.
     *
     * <P><B>Note:</B  java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 55
      
     *
     * @return the      whetherthis @Connection
     *         if there are none
     *@{code  this{cConnection}object
               method is called on a closed connection
     see 
     */

    SQLWarning getWarnings() throws SQLException;

    /**
     * Clears all warnings java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 7
     * After a call to this method, java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
     * returns  *a java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 62
     * reported for this {@code Connection} object.
     *
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     */

    void clearWarnings() throws SQLException;


    //--------------------------JDBC 2.0-----------------------------

    /**
     * Creates a {@code Statement} object that will generate
     * {@code ResultSet} objects with the given type and concurrency.
     * This method is the same as the {@code createStatement} method
     * above, but it allows the default result set
     * type and concurrency to be overridden.
    * The holdability of the created result sets can be determined by
     * calling {@link #getHoldability}.
     *
     * @     * or thismethod is called on a closed connection
     *        {@code ResultSet.TYPE_FORWARD_ONLY},
     *        {@code ResultSet.java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 7
     *        {@code ResultSet.TYPE_SCROLL_SENSITIVE}
     * @param resultSetConcurrency a concurrency type; one of
     *        {@code ResultSet.CONCUR_READ_ONLY} or
     *        {@code       @hrows if  databaseaccess  occurs
     * @return a new {@code Statement} object that will generate
              { ResultSet}with    and
     *         concurrency
     , this
     * method is called on a closed connection
               the given parameters are not {@code ResultSet}
     *         constants indicating type and       A constant constant indicating that
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method or this method is not supported for the specified result
     * set type and result set concurrency.
      java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 17
     */

    Statement createStatement(nt resultSetType,intresultSetConcurrency
        throws SQLException;

    /**
     *
     * Creates a {@code PreparedStatement} object that will generate
     *{@ode ResultSet} objects with the given type and concurrency.
     * This method is the same as      * reads can occur.  This level only a transaction
     * above, but it allows the default result set
     * type and concurrency to be overridden.
     * The holdability of the created result sets can java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 33
     * calling {@link #getHoldability}.
     *
     * @param sql a {@code String} object that is the SQL statement      *reading rowwithuncommitted changesin  it 
     *            be sent to the database; may contain one or more '?' IN
     *            parameters
     * @param resultSetType a result set type; one of
     *         {@code ResultSet.TYPE_FORWARD_ONLY},
     *         {@code ResultSet.TYPE_SCROLL_INSENSITIVE}, or
     *         {@code ResultSet.TYPE_SCROLL_SENSITIVE}
     * @param resultSetConcurrency a concurrency type;of
           situation where one transaction reads all rows that 
     *         {@code ResultSet.CONCUR_UPDATABLE}
     * @return a new PreparedStatement object containing the
roduce @ResultSet}
     * objects with the given type and concurrency
     * @throws SQLException if a database access error      rereads for  samecondition,retrieving the additional
     *     closed 
     *         or the given     
     *         constants indicating type and concurrency
*@hrows  ifthe JDBC driver not java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
*this  this java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 75
     * set type and result set concurrency.
     * @since 1.2
     */

    PreparedStatement      is -.
                                       int resultSetConcurrency)
        throws SQLException;

    /**
     * Creates a {@code CallableStatement} object that will generate
     * {@code ResultSet} objects with the given type and concurrency.
     * This method is the same as the {@code prepareCall}*{code TRANSACTION_SERIALIZABLE
     * above,but it allows the default result set
      tobe java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
     * The holdability of the created result sets can be determined by
     * calling {@link #getHoldability}.
     *
     * @* @ee s
     *            be sent to the database; may contain on or more '?' parameters
     * @param  this {@}objects current
         java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 51
     *         {@code       @eturnthe java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 73
     *         {@code ResultSet.TYPE_SCROLL_SENSITIVE}
     * @param resultSetConcurrency a concurrency type; one of
    {code CONCUR_READ_ONLY or
     *         {@code ResultSet.CONCUR_UPDATABLE}
     * @return a new {@code              @odejava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 50
     * pre-compiled SQL statement that will produce {@code ResultSet}
     *  * @see#setTransactionIsolation
     * @throws SQLException if a database access error    int getTransactionIsolation() throws SQLException;
     * is called on a closed connection
     *         or the given parameters are not {@code ResultSet}
     *         constants indicating type and concurrency
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method or this method is not supported java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 10
     * set type and result set concurrency.
     * @since 1.2
     */

    CallableStatement * <P><B>Note:</B> Subsequent bejava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 66
                                  int resultSetConcurrency 

    /**
     * Retrieves the {@code*         
     * {@code Connection} object.
     * Unless the application has added an entry, the type map returned
     * will be empty.
     * <p>
     * You must invoke {@code setTypeMap} after making changes to the
     * {@code Map} object returned from
     *  {@code getTypeMap} as a JDBC driver may create an internal
     * copy of the {* reported {code  java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
     *
     *<>
     *      Map&lt;String,Class&lt;?&gt;&gt; myMap = con.getTypeMap();
     
     *      con.setTypeMap(myMap);
     * </pre>
     * @return the {@code java.util.Map} object associated
     *         with this {@code Connection} object
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
     *      *Theholdability of the created result sets can be determined by
     * this method
     * @since     *
     * @see #setTypeMap
     */

    utilStringClass>() SQLException;

    /**
     * Installs the given {@code TypeMap} object as the type map for
     * this      *@  type of
     * custom mapping of SQL structured types and distinct types.
           return a {java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 64
     * You must set the values for the {@code TypeMap} prior to
     * calling {@code setMap} as a JDBC driver may create an      *method  ona 
     * of the {@code TypeMap}:
     *
     * <* this  methodorthis method is not supported for the specified result
     *      Map myMap&lt;String,Class&lt;?&gt;&gt; = new HashMap&lt;String,Class&lt;?&gt;&gt;();
     *      myMap.put("mySchemaName.java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 6
     *      con.setTypeMap(myMap);
     * </pre>
     * @param map the {@code java.util.Map} object to install
     *        as the replacement for this {@code Connection}
     *        object's default type map
     * @throws SQLException if a database access error occurs, this
     * method is called on a closed connection or
     *        the given parameter is not a {@code java.util.Map}
     *        object
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method
     * @since     
     * @see #getTypeMap
     */

    void setTypeMap(java.util.Map<String,Class<?>> map) throws SQLException;

    //--------------------------JDBC 3.0-----------------------------


    /**
     * Changes the default holdability of {@code ResultSet} objects
     * created using     *         {code C}
     * holdability.  The default holdability of {@code ResultSet} objects
     * can be determined by invoking
     lity}.
     *
    *@holdability a code }holdability constant; one of
     *        {@code ResultSet.HOLD_CURSORS_OVER_COMMIT} or
     *        {@code ResultSet.CLOSE_CURSORS_AT_COMMIT}
      SQLException if a database access occurs, this method is called
     * on a closed connection, or the given parameter
     *         is not a {@* @java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 82
     * @throws SQLFeatureNotSupportedException if the given holdability is not supported
     * @see #getHoldability
     * @see DatabaseMetaData#getResultSetHoldability
      @
     @ince 1.
     */

    void setHoldability(int holdability) throws SQLException;

    /**
     * Retrieves the current holdability of {@code ResultSet} objects
     * created using this {@code Connection} object.
     *
     *@eturn  holdability, one of
     *        {@code ResultSet.HOLD_CURSORS_OVER_COMMIT} or
     *        {@code ResultSet.CLOSE_CURSORS_AT_COMMIT}
     * @throws SQLException if a database access error occurs
     * param sql  @   is the  statement java.lang.StringIndexOutOfBoundsException: Range [70, 71) out of bounds for length 70
     * @* @param resultSetType aresultsettype;one of
     * @see DatabaseMetaData#getResultSetHoldability
     * @see ResultSet
     * @since 1.4
     */

    int getHoldability(     *         {@ode ResultSetCONCUR_READ_ONLYor

    /**
      java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 66
     * returns the new {@code Savepoint} object that represents it.
     *
     *<p>     *objects with the given type and concurrency
     *savepoint.
     *
he newcode Savepoint}object
     * @throws SQLException if a database access error occurs     *         or  parameters  not {code ResultSet}
     * this method is called while participating in a distributed transaction,
     * this method is called on a closed connection
     *            or this {@code Connection} object is currently in
     *            
     *@throwsSQLFeatureNotSupportedException if the JDBC driver does not support
      this method
     * @see Savepoint
     * @since 1.4
     */

    Savepoint setSavepoint() throws      {code java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33

    /**
     * Creates a savepoint with java.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 10
     * and returns the new {@code Savepoint} object that represents it.
     *
      p ifsetSavepoint  invoked outside of an active transaction, a transaction will be started at this newly created
     *savepoint.
     *
     * @param name a {@code String} containing the name of the savepoint
     * @return the new {@code Savepoint} object
     * @throws SQLException if a database access error occurs,
          * this method is called while participating in a distributed transaction,
     * this method is called on a closed connection
     *            or this {@code Connection} object is currently injava.Map<Class?>) SQLException;
     *            auto-commit mode
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method
     * @see Savepoint
      s14
     */

    Savepoint setSavepoint( *{cTypeMap

    /** java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
     * Undoes all changes made after the given {@code Savepoint} object
     * was set.
     * <P>
     * This method should be used only when auto-commit has been disabled.
     *             as replacement{java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
     * @param savepoint the {@     *method is called on a closed connection or
     * @throws SQLException if a database access error occurs,
      method called  participating in a distributed transaction
     * this method is called on a closed connection,
     *            the {@code Savepoint} object is no longer valid,
                   @ Connection}object  currently in
     *            auto-commit mode
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not 
     * this method
     * @see Savepoint
     * @see #rollback
     * @since 1.4
     */

    void rollback(Savepoint savepoint) throws SQLException;

    /**
     * Removes the specified {@code Savepoint}  and subsequent {@code Savepoint} objects from the current
     * transaction. Any the savepoint it  been removed
     * will cause an {@code SQLException} to be thrown.
*
     * @param savepoint the {@code Savepoint} object to be removed
     * @throws SQLException if a database access error occurs, this
     *  method      * @since 1.4
     *            the given {@code Savepoint} object is    void setHoldability(int holdability  ;
     *            savepoint in the current     *created  this{code }object.
     * @throws java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 6
     * this method
     * @since 1.4
     */

      @throws if databaseaccess error occurs

    /**
     * Creates a {@code Statement} object that will generate
     * {@code ResultSet} objects with java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 21
     * and holdability.
     * 
     * above, but it allows the default result set
     * type, concurrency, and holdability to be overridden.
     *
     * @param resultSetType one of the following {@code ResultSet}
     *        constants:
     *         {@code ResultSet.TYPE_FORWARD_ONLY},
     *         {@code ResultSet.TYPE_SCROLL_INSENSITIVE}, or
     *         {@code ResultSet.TYPE_SCROLL_SENSITIVE}
     * @param resultSetConcurrency one of the following {@code ResultSet}
     *        constants:
     *         {@code ResultSet.CONCUR_READ_ONLY} or
     *         {@code ResultSet.CONCUR_UPDATABLE}
     * @param resultSetHoldability one of the following {@code ResultSet}
     *        constants:
     *         {@     *            auto            java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 34
     *         {@code ResultSet.CLOSE_CURSORS_AT_COMMIT}
     * @return  * @eeSavepoint
     *         {@code ResultSet} objects with the given type,
     *         concurrency
     * @throws SQLException if a database access error occurs, this
     * method is called on a closed connection
     *            or the given parameters are not {@code ResultSet}
s indicating  type,concurrency,and 
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method or this method is not supported for the     * @param name a {@code String} containing the name of the savepoint
     * set type, result set holdability and result set concurrency.
     * @see ResultSet
     * @ince1.
     */

    Statement createStatement(     *@throwsSQLFeatureNotSupportedExceptioniftheJDBCdriver does not support
                              int resultSetHoldability) throws SQLException;

    /**
     * Creates a {@code PreparedStatement} object that will generate
     * {@code ResultSet} java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     * and holdability.
     * <P>
     * This method is the same as the {@code prepareStatement} method
     * above, but it allows the default result set
      java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 59
*
*a{String} object isto
     *            be sent to the database; may contain one or more '?' IN
     *            parameters
*presultSetType one of the following {@code ResultSet}
     *        constants:
     *         {@code ResultSet.TYPE_FORWARD_ONLY},
     *         {@code ResultSet.TYPE_SCROLL_INSENSITIVE}, or
     *         {@code ResultSet.     * @throws SQLFeatureNotSupportedException if thedriver  not support
     *      * @see Savepoint
     *        constants:
     *         {@code ResultSet.CONCUR_READ_ONLY} or
     *         {@code ResultSet.CONCUR_UPDATABLE}
     * @param resultSetHoldability one
     *        constants:
     *         {@code ResultSet.HOLD_CURSORS_OVER_COMMIT} or
     *         {@code ResultSet.CLOSE_CURSORS_AT_COMMIT}
*anew{ object,containingthe
     *         pre-compiled SQL statement, that will generate
     *         {@code ResultSet} objects with the given type,
     *         concurrency     *@param savepoint the @Savepoint}object tobe
     * @throws SQLException if a database access error occurs, this
     * method is called on a closed connection
     *            or the given parameters are not {@code ResultSet}
     *            constants indicating type, concurrency, and holdability
      * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method or this method is not supported for the specified result
     * set type, result set holdability and result     */
     * @see ResultSet
     * @since 1.4
     */

    PreparedStatement@   java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
int,int resultSetHoldability
        throws SQLException;

    /**
     * Creates a {@code CallableStatement} object that will generate
     * {@code ResultSet} objects with the given type and concurrency.
     * This method is the same as the {@code prepareCall} method
              @ResultSet.YPE_FORWARD_ONLY},
      andholdability be .
     *
 thatthestatementto
     *            be sent to the database; may contain on or more '?' parameters
     * *{java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 52
*constants
     *         {@code ResultSet.TYPE_FORWARD_ONLY},
     *         {@code ResultSet.TYPE_SCROLL_INSENSITIVE}, or
     *         {@code ResultSet.         {@code ResultSet.CLOSE_CURSORS_AT_COMMI
     * @param resultSetConcurrency one of the following {@code ResultSet}
     *        constants:
     *         {@code ResultSet.CONCUR_READ_ONLY} or
     *         {@code ResultSet.CONCUR_UPDATABLE}
     * @param resultSetHoldability one of the following {@code ResultSet}
     *        constants:
     *         {@code ResultSet.HOLD_CURSORS_OVER_COMMIT} or
     IT}
     * @return a new {@code       methodnotjava.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 75
     
             @ode  objects  with the giventype,
     *         concurrency, and holdability
     * @throws SQLException if a database access error occurs, this
     * method is called on a closed connection
* the given  are  {code ResultSet}
     *            constants indicating type, concurrency, and holdability
      * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method or this method is not supported for the specified result
     * set type, result set holdability     *type  tobeoverriddenjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
     * @see ResultSet
     * @since 1.4
     */

    CallableStatement prepareCall(String sql, int resultSetType,
                                  int resultSetConcurrency,
                                  int resultSetHoldability) throws SQLException;


    /**
     * Creates a default {@code PreparedStatement} object that has
     * the              @code  ResultSetjava.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
     * tells the driver whether it should make auto-generated keys
     * available for retrieval.  This parameter is ignored if the SQL java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 49
     * is not an {@code INSERT} statement, or an SQL statement able to return
keys(list of such statements is vendor-specific).
     * <P>
     * <B>Note:</B> This method is optimized for handling
     * parametric SQL statements that benefit from precompilation. If
     * the driver      *         concurrency,and holdability
     * the method {@code prepareStatement} will send
edatabasefor .Some drivers
     * may not support precompilation. In this case, the statement may
     * not be sent to the database until the {@code PreparedStatement}
     * object is executed.  This has no direct effect on users; however, it does
     * affect which methods throw certain SQLExceptions.
     * <P>
     * Result sets created using the returned {@code PreparedStatement}
     * object will by default be      /
     * and have a concurrency level of {@code CONCUR_READ_ONLY}.
     * The         throws 
     * calling {@link #java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 7
     *
     * @param sql an SQL statement that may contain one or more '?' IN
        java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 36
     * @param      * type, resultset concurrencytype holdability be
     *        should be returned; one of
     *        {@code Statement.RETURN_GENERATED_KEYS} or
    {c Statement.NO_GENERATED_KEYSjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
      @eturn new @PreparedStatement}object containing java.lang.StringIndexOutOfBoundsException: Range [69, 70) out of bounds for length 69
     *         pre-compiled SQL statement, that      *        @ Tjava.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 51
     *         returning auto-generated keys
     * @throws SQLException if a database access error occurs, this
     *  method is called on a closed connection
     *         or the given parameter is not a {@code Statement}
     *         constant indicating whether auto-generated keys should be
     *         returned
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method with a constant of Statement.RETURN_GENERATED_KEYS
     * @     *    @ResultSet  withthe given typejava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
     */

java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 73
        throws SQLException;

    /**
     defaultdefault @ode PreparedStatement}object capable
     * of returning the auto-generated keys designated by the given array.
     * This array contains the indexes of the columns in the target
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     * available.  The driver will ignore the array                                   int resultSetConcurrencyjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
     * is not an {@code INSERT} statement, or an SQL statement able to return
     * auto-generated      * the capability to rauto- keys. 
     *<p>
     * An SQL statement with or without IN parameters can be
     * pre-compiled and stored in a {@code PreparedStatement} object. This
     * object can then be used to efficiently execute this statement
     * multiple times.
     * <P>     * <>
     * <B>Note:</B> This method is optimized for handling
*parametric  statements benefit .If
     *      * the* the   precompilationjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
*the method @codeprepareStatement send
     * the statement to the database for precompilation. Some drivers
     * may not support precompilation. In this case, the statement may
     * not be sent to the database until the {@code PreparedStatement}
     * object is executed.  This has no direct effect on users; however, it does
     java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 56
     * <P>
     * Result sets created using the returned {@code PreparedStatement}
     * object will by default be      *Theholdability  created result sets  sets be  by
*have java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 64
     * The holdability of the created result sets can be determined by
     * calling      *         ofjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
     *
     * @param sql an SQL statement that may contain one or more '?' IN
     *        parameter placeholders
     * @param columnIndexes an array of column indexes      *returningjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 44
     *        that should be     * methodis on connection
     * @return a new {@code PreparedStatement} object, containing the
     *         pre-compiled statement, that is capable of returning the
      keys designated bythe  arrayofcolumn
     *         indexes
     * @throws SQLException if a database access error occurs
     * or this method is called on a closed connection
        JDBC 
     * this method
 
     * @since 1. *Creates  a default {code PreparedStatement}object capable
     */

    PreparedStatement prepareStatement(String sql, int columnIndexes[])
        throws SQLException;

    /**
     * Creates a default {@code PreparedStatement} object capable
     returning the auto-generated keys designated by the given array.
     *       An  statement  withoutIN java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 60
     * table that contain* object  be execute this 
     * The driver will ignore the array if the SQL statement
     * is not an {@code INSERT} statement, or an SQL statement able to return
     * auto-generated keys (the       notsupport  thiscase  java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 70
     * <P>    *affect which methodsthrow certain java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 56
     * An SQL statement with or without IN parameters can be
*pre-ompiled    {@ode PreparedStatement .This
     * object can then be used to efficiently execute this statement
     * multiple times.
     * <P>
      method is optimized for handling
     * parametric SQL statements that benefit from precompilation. If
     * the driver supports precompilation,
     * the method {@code prepareStatement} will send
     the  to   precompilation. Some drivers
     * may not support precompilation. In this case, the statement may
     * not be sent to the database until the {@code PreparedStatement}
     *      *
     * affect which methods throw certain SQLExceptions.
     * <P>
     * Result sets created using the returned {@code PreparedStatement}
     * object will by default be type {@code TYPE_FORWARD_ONLY}
* a concurrency level of @ CONCUR_READ_ONLY}.
     * The holdability of the created result sets can be determined by
     * calling {@link #getHoldability}.
     *
     * @param sql an SQL statement that may contain one or more '?' IN
     *        parameter placeholders
     * @param columnNames an array of column names indicating the columns
     *        that should be returned from the inserted row or rows
     * @return a new {@code PreparedStatement} object, containing the
     *         pre-compiled statement, that is capable of returning the
     *         auto-generated keys designated by the given array of column
*-and  in @PreparedStatement object.
     * @throws      * object can then beused  this statement
     * or this method is called on a closed connection
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method
     *
     * @since 1.4

    PreparedStatement prepareStatement     *may support precompilation.In  case, the statement may
        throws SQLException;

    /**
} interface. The object
     * returned initially contains no data.  The {@code setAsciiStream},
     * {@code setCharacterStream} and {@code setString} methods java.lang.StringIndexOutOfBoundsException: Range [0, 66) out of bounds for length 10
     * the {@code Clob} interface may be used to add data to the {@code Clob}.
     * @return An object that implements the {@code Clob} interface
     * @throws SQLException if      
     * {@code Clob} interface can not be constructed, this method is
     * called on a closed connection or a database access error occurs.
     * @throws *        that should be returned inserted or rows
     * this data type
     *
     * @since 1.6
     */

    Clob createClob()*         java.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20

    /**
     * Constructs an object that implements the {     *@throws   if    not
*java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 76
     * {@code setBytes} methods of the {@code Blob} interface may be used to add data to
     * the {@code Blob}.
*Anobjectthat java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 68
     * @throws SQLException      * returned initially cont    @ java.lang.StringIndexOutOfBoundsException: Range [71, 70) out of bounds for length 72
     * {@code Blob} interface can not be constructed, this method is
     * called on a closed connection or a database access error occurs.
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this data type
     *
     * @since 1.6
     */

    Blob createBlob() * @throws SQLFeatureNotSupportedExcep ifJDBCdriver does not support

    /**
     * Constructs an object that implements the {@code NClob} interface. The object
     * returned initially contains no data.  The {@code setAsciiStream},
     * {@code setCharacterStream} and {@code setString} methods      an java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 82
     * be used to add data to the {@code NClob}.
     * @return An object that implements the {@code NClob} interface
     * @throws SQLException if an object that implements the
, this  
     * called on a closed connection or a database access error occurs.
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not     * @ Blob}interface can not constructed,this 
     * this data type
     *
     * @since 1.6
     */

    NClob createNClob() throws SQLException;

    /**
     * Constructs an object that implements the {@code SQLXML} interface. The object
  { createXmlStreamWriter} object and
     * {@code setString} method of the {@code SQLXML} interface may be used to add data to the {@code SQLXML}
*object.
     * @return An object that implements the {@code SQLXML} interface
hrows   anobject implementsthe{@code SQLXML} interface can not
     * be constructed, this method is
     * called on a closed connection or a database access error occurs.
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this data type
     * @since 1.6
     */

)SQLException


         * Returns*
     *@ince.6
         * mechanism that positively verifies*/
         * this method is called.
         * <p>
         * The query submitted by the driver to validate     *Constructsan thatimplements {cSQLXML  object
         * executed in the context of the current transaction.
         *
         * @param timeout -             The time in seconds to wait for the database operation
         .  If
         *                                              the timeout period expires before the operation
         *                                              completes, this method returns false.  A value of
         *                                              0 indicates a timeout is not applied to the
         *                                              database operation.
         *
         * @return true if the connection is valid, false otherwise
         *@hrows SQLException if value supplied for {@code timeout}
         * is less than 0
         * @since 1.6
         *
         * @see java.sql.DatabaseMetaData#getClientInfoProperties
*
         boolean isValid(int timeout) throws SQLException;

        /**
         * Sets the value of the client info property specified by name to the
         * value specified by value.
         * <p>
         * Applications may use the {@code DatabaseMetaData.getClientInfoProperties}
         * method to determine the client info properties supported by the driver
         * and the maximum length that may be specified for each property.
         * <p>
         * The driver stores the value specified in a suitable location in the
         * database.  For example in a special register, session parameter, or
         * system table column.  For efficiency the driver may defer setting the
         * value in the database until the next time a statement is executed or
         
* the  methodsnotaltertheof
         * the connection in anyway.  The values supplied to these methods are
         * used for accounting, diagnostics and debugging purposes only.
         * <p>
         * The driver shall generate a warning if the client info name specified
         * is not recognized by the driver.
         * <p>
         * If the value specified to this method is greater than the maximum
         * length for the property the driver may either truncate the value and
         * generate a warning or generate a {@code SQLClientInfoException}.         *is  less than0
         * generates a {@code SQLClientInfoException}, the value specified was not set on the
         * connection.
          <>
         * The following are standard client info properties.  Drivers are not
         * required to support these properties however if the driver supports a
         * client info property that can be described by one of the standard
         *  standard    should be used.
         *
<l>
         * <li          pjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
         *                                                      the connection</li>
         * <li>ClientUser               -       The name of the user that the application using
         *                                                      the connection is performing work for.  This may
         *                                                      not be the same as the user name that was used
         in establishingthe connection./li>
         * <li>ClientHostname   -       The hostname of the computer the application
         *                                                      using the connection is running on.</li>
         * </ul>
         *
         * @param name          The name of the client info property to set
         * @param value         The value to set the client info property to.  If the
         *                                      value is null, the current value of the specified
         *                                      property is cleared.
         *
         * @throws      SQLClientInfoException if the database server returns an error while
         *                      setting the client info value on the database server or this method
         * is called on a closed connection
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
         * @since 1.6
         */
         void setClientInfo(String name, String value)
                throws SQLClientInfoException;

/
     * Sets the value of the connection's client info properties.  The
     * {@code Properties} object contains the names and values of the client info
* to be to  set.set of  info  containedin
     * the properties list replaces the current set of client info  *by  in the LICENSE file that accompanied this code.
* the connection. If property that is currently set  
     * connection is not present in the properties list, that property is
     * cleared.   * version 2 for moredetails(a copy is in LICENSE 
     properties on the connection. See code setClientInfo (String, String)} for
     * more information.
     * <p>
setting of the client info properties,a
 {@code SQLClientInfoException}
     * contains  * {@code ShardingKey instance only  bewith 
     * The state of the client information is unknown because
     * some databases do not allow multiple client info properties to be set
     * atomically.  For those databases, one or*          setting info on java.lang.StringIndexOutOfBoundsException: Range [78, 77) out of bounds for length 99
     * set before the error occurred.
     *

*java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 81
     
     * @see java.sql.Connection#setClientInfo(String, String)
     * @since 1.6
     *
     * @throws SQLClientInfoException if the database server returns an error while
     *                  setting the clientInfo values on the database server or this method
     * is called on a closed connection
     *
     */

         void setClientInfo <>
                throws SQLClientInfoException     cleared.Specifying an empty properties listwill clear all of the

        /**
         * Returns the value of the client info property specified by     *more  informationjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
         * method may return null if the specified client info property has not
         * been set and does not have a default value.  This method will also
         * return null if the specified client info property name is not supported
         * by the driver.
         * <p>
         * Applications may use the {@code DatabaseMetaData.getClientInfoProperties}
 todetermine the client info properties supported by the driver.
         *
         * @param name          The name of the client info java.lang.StringIndexOutOfBoundsException: Range [0, 68) out of bounds for length 6
         *
         * @return                      The value of the client info property specified
         *
         * @throws SQLException         if the database server returns an error when
         *                              fetching the client info value from the database
         *                              or this method is called on a closed connection
         *
* @since 1.6
              *
         * @see java.sql.DatabaseMetaData#getClientInfoProperties
         */

         String getClientInfo(String name)
                throws SQLException;

        /**
         * Returns a list containing the name and current value of each client info
         * property supported by the driver.  The value of a client info property
         * may be null if the property has not been set and does not have a
         * default value.
         *
         * @return      A {@code Properties} object that contains the name and current value of
         *                      each of the client info properties supported by the driver.
         *
         * @throws      SQLException if the database server returns an error when
         *                      fetching the client info values from the database
         * or this method is called on a closed connection
         *
         * @since 1.6
         */

         Properties getClientInfo()
                throws SQLException;

/**
  * Factory method for creating Array objects.
  *<p>
*<>:<b>When @}   to create an array object
  * that maps to a primitive data type, then it is implementation-defined
  * whether the {@code Array} object is an array of that primitive
  * data type or an array of {@code Object}.
  * <p>
  * <b>Note: </b>The JDBC driver                               of  by thedriver.
  * {@code Object         *
  * java.sql.Types for the given class of {@code Object}. The default
  * mapping is specified in Appendix B of the JDBC specification.  If the
  * resulting JDBC type is not the appropriate type for the given typeName then
  *         */
  * thrown or the driver supports the resulting conversion.
  *
  * @param typeName the SQL name of the type the elements of the array map to. The typeName    method  Array java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
  * database-specific name which may be the name of a built-in type, a user-defined type or a standard  SQL type supported by this database. This
 is  java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 59
*@param elementsthatpopulatethe 
  * @return an Array object whose elements map to the specified SQL type
*tSQLException if a database error occurs, the JDBC type is not
  *  appropriate for the typeName and the conversion is not supported, the typeName is null or this method is called on a closed connection
  * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this data type
  * @since 1.6
  */

 Array   thrown orthe  supports the resulting conversionjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
SQLException;

/**
  * Factory method for creating Struct objects.
  *
  * @param typeName the SQL type name of the SQL structured type that this {@code Struct}
  * object maps to. The typeName is the name of  a user-defined type that
  * has been defined for this database. It is the value returned by
  * {@code Struct.getSQLTypeName}.

  * @param attributes the attributes that populate the returned object
  * @return a Struct object that maps to the given SQL type and is populated with the given attributes
  * @throws SQLException if a database error occurs, the typeName is null or java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 4
  * @throws SQLFeatureNotSupportedException  if the JDBC driver does not support this data type
  * @since 1.6
  */

 Struct createStruct(String typeName, Object[] attributes)
throws SQLException;

//--------------------------JDBC 4.1 -----------------------------

   /**
    * Sets the given schema name to access.
    * <P>
    * If the driver doesthrows SQLException;
    * silently ignore this request.
    * <p   //--------------------------JDBC 4.1 -----------------------------
    * Calling {@code setSchema} has no effect on previously created or prepared
    * {@   **
    * prepare operation takes place immediately when    *Sets the given schema name to access.
    * method {@code prepareStatement} or {@code prepareCall} is invoked.
    *For  portability, {@code setSchema} should be called before a
tatementis  orprepared.
    *
    * @param schema the name of a schema  in which to work
    *   a access error 
    * or this method is called on a closed connection
    * @see #getSchema
    * @since 1.7
    */

    void setSchema(String      {code }iscreated  .

    /**
    Retrieves  @ Connection}object'currentschema .
     *
     * @return the current schema name or {@code null} if there is none
     *    void setSchema(String ) throws SQLException;
     * or this method is called on a closed connection
     * @see #setSchema
     * @since 1.7
     */

    String getSchema() throws SQLException;

    /**
     * Terminates an open connection.  Calling {@code abort} results in:
     * <ul>
      l>Theconnection marked as closed
     * <li>Closes any physical connection to the database
     * <li>Releases resources used by the connection
     * <li>Insures that any thread that is currently accessing the connection
     * will either progress to completion or throw an
     * </ul>
     * <p>
     * Calling {@code abort} marks the connection closed and releases any
     * resources. Calling {@code abort} on a closed connection is a
     * no-op.
     * <p>
     * It is possible that the aborting and releasing of the resources that are
     * held by the connection can take an extended period of time.  When the
     * {@code abort} method returns, the connection will have been marked as
     *       <>
     * may still be executing tasks to release resources.
     * <p>
     * This       resources.Calling @ode   a closed connection is
     * object before allowing the method to proceed.  If a
*{SecurityManager}exists and its
     * {@code checkPermission} method denies calling {@code abort},
     * this method throws a
     * {@code java.lang.SecurityException}.
     * @param executor  The {@code Executor}  implementation which will
     * be used by {@code abort}.
     *      may be  tasks to release resources.
     * the {@code executor} is      <>
     *@throws .ang.SecurityException if a security manager exists and its
     *    {@code checkPermission} method denies calling {@code abort}
     * @see SecurityManager#checkPermission
     * @see Executor
     * @since 1.7
     */

    void abort(Executor     *@aram executorThe@Executor    

/**
     *
     * Sets the maximum period a {@code Connection} or
     * objects created from the {@code Connection}
      @#
     *  request remains unanswered, the waiting method will
      return a{code } the{codeConnectionjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
*or java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 72
     * closed. Any subsequent use of
     * the objects, with the exception of the {@code close},
     * {@code isClosed} or {@code Connection.isValid}
     * methods, will result in  a {@code SQLException}.
     * <p>
*<>ote/>  is to arare but 
     * condition where network partitions can cause threads issuing JDBC calls
     * to hang uninterruptedly in socket reads, until the OS TCP-TIMEOUT
     * (typically 10 minutes). This method is related to the
      abort(  method which providesan 
      a  free such threads in cases where the
     * JDBC connection is accessible to the administrator thread.
     * The {@code setNetworkTimeout} method will cover cases where
     * there is no administrator thread, or it has no access to the
     * connection. This method is severe in it's effects, and should be
     * given a high enough value so it is never triggered before any more

     * <p>
     * JDBC driver implementations  may also choose to support the
     * {@code setNetworkTimeout} method to impose a limit on database
     * response time, in environments where no network is present.*The{ java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 66
     * <p>
     * Drivers may internally implement some or all of their API calls with
     * multiple internal driver-database transmissions, and it is left to the
     * driver implementation to determine whether the limit will be
     * applied always to the response to the API call,      JDBC driver implementations  may  choose tosupport 
 
     * <p>
     *
     * This method can be invoked more than once, such as to set a limit for an
*area  code to java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 77
     * Invocation of this method has no impact on already outstanding
     * requests.
      p>
     * The {@code Statement.setQueryTimeout()} timeout value is independent of the
       value specified in @setNetworkTimeout}  thequery timeout
     * expires  before the network timeout then the
     * statement execution will be canceled. If the network is still
     * active the result will be that both the statement and connection
     * are still usable. However if the network timeout expires before
     * the query timeout or if the statement timeout fails due to network
     * problems, the connection will be marked as closed, any resources held by

     * statement will be unusable.
     * <p>
     * When the driver determines that the {@code setNetworkTimeout} timeout
     * value has expired, the JDBC driver marks the connection
      held by  the connection.
     * <p>
     *
     * This method checks to see that     *problems,theconnectionwill be marked as closed, any resources held by
     * object before allowing the method to      * the connection will be released and both the
     * {@code SecurityManager} exists and its
     * {@code checkPermission} method denies calling
     * {@code setNetworkTimeout}, this method throws a
     * {@code java.lang.SecurityException}.
     
     * @param executor* <>
     * be used by {@code setNetworkTimeout}.
     * @param milliseconds The time in milliseconds to wait for the database
     * operation
       JDBC does not support milliseconds, the
     * JDBC driver will round the value up to the nearest second.  If the
     * timeout period expires before the operation
      willbe java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
     * A value of 0 indicates that there is not timeout for database operations.
     * @throws java.sql.SQLException if a database access error occurs, this
     * method is called on a closed connection,
     * the {@code executor} is {@code null},
     * or the value specified for {@code seconds} is less than 0.
     * @throws java.lang.SecurityException if a security manager exists and its
     *    {@code checkPermission} method denies calling
     * {@code setNetworkTimeout}.
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method
     * @see SecurityManager#checkPermission
     * @see Statement#setQueryTimeout
     s#
     * @see #abort
     * @see Executor
     * @since 1.7
     */

    void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException;


    /**
     * Retrieves the number of milliseconds the driver will
     * wait for a database request       @ee setQueryTimeout
     * If the limit is exceeded, a
     * {@code SQLException} is thrown.
     *
     * @return the current timeout limit in milliseconds; zero means there is
     *         no limit
      @throws SQLException if a database  error occurs or
     * this method is called on a closed {@code Connection}
     * @throws SQLFeatureNotSupportedException if the JDBC driver does not support
     * this method
     * @see #setNetworkTimeout
      since1.
     */

    int     * limitinmillisecondszero meansthereis

    // JDBC 4.3

     /**
     * Hints to the driver that a request, an independent unit of work, is beginning
     * on this connection. Each request is independent of all other requests
     * with regard to state local to the connection either on the client or the
     *      @ince 1.java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
     * pairs does not depend on any other workjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     * part of another request or outside of any request. A request may include java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 0
     * transactions. There may be dependencies on committed database state as
     * that       this   request independent of all other requests
     * <p>
     * Local state is defined as any state associated with a Connection that is
     * local to the current Connection either in the client or the database that
     * is not transparently reproducible.
     * <p>
     * Calls to {@code beginRequest} and {@code endRequest}  are not nested.
     * Multiple calls to {@code beginRequest} without an intervening call
     * to {@code endRequest} is not an error. The first {@code beginRequest} call
*  thejava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 73
     * a no-op
     * <p>
     * Use of {@code beginRequest} and {@code endRequest} is optional, vendor
     * specific and should largely      * <>
     * implementations may detect conditions that indicate dependence on
     * other work such as an open transaction. It is recommended though not
     * required that implementations throw a {@code SQLException} if there is an active
     * transaction and {@code beginRequest} is called.
     * Using these methods may improve performance or provide other benefits.
 .
     * <p>
     * It is recommended to
     * enclose each unit of work in {@code beginRequest}, {@code endRequest}
     * pairs such that there is no open transaction at the beginning or end of
     * the request and no dependency on local state that crosses request
*boundaries.Committed  state is notlocal.
     *
     * @implSpec
     * The default implementation is a no-op.
     *
     * @apiNote
 to  used by Connectionpooling managers.
     * <p>
     * The pooling manager      the request and no dependency on local state that crosses request
     * prior to returning a connection to the caller.
     * <p>
     * The pooling manager does not need to call {@code beginRequest} if:
     * <ul>
     * <li>The connection pool caches {@code PooledConnection} objects</li>
     * <li>Returns a logical connection handle when {@code getConnection} is
     * called by the application</li>
     * <li>The logical {@code Connection} is closed by calling
     * {@code Connection.close} prior to returning the {@code PooledConnection}
     * to the cache.</li>
     * </ul>
     * @throws SQLException if an error occurs
     * @since 9
     * @see endRequest
     * @see javax * li>  java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 76
     */

   void java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 53
       // Default method takes no action
    }

    /**
     * Hints to the driver that a request, an independent unit of work,
     * has completed. Calls to {@code beginRequest}
     * and {@code endRequest} are not nested. Multiple
     * calls to @codeendRequest}without  intervening call  {code }
     * is not an error. The first {@code endRequest} call
     * marks the request completed and subsequent calls are treated as
     * a no     * Hints drivera ,an   ofwork,
     * {@code beginRequest} is a no-op.
     *<p>
     *and @ode  not nested.
     *implementations detect  indicate  
     * other work such as an open transaction. It is recommended though not
     * required that implementations throw a {@code SQLException} if there is an active
     * transaction and {@     * -.If @odeendRequest calledjava.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 74
     *
     * @implSpec
     * The default implementation is a no-op.
     * @apiNote
     *
     * This method is to be used by Connection pooling managers.
     * <p>
      poolingshould {@ode endRequest} on the underlyingconnection
     * when the applications returns the connection back to the connection pool.
     * <p>
     * The pooling manager does not need to call {@code endRequest} if:
     * <ul>
     * <li>The connection pool caches {@code     *<p>
     * <li>Returns a logical connection handle when {@code getConnection} is
     * called by the application</li>
     * <li>The logical {@code Connection} is closed by calling
     * {@code Connection.close} prior to returning the {@code PooledConnection}
*thecache./java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
     * </ul>
     * @throws SQLException if an error occurs
     * @since 9
     * @see beginRequest
     * @see javax.sql.PooledConnection
     */

    default void endRequest( </l
                 * throwsSQLExceptionan
    }

    /**
     * Sets and validates the sharding keys for this connection. A {@code null}
                 / Default method takes  action
     * of a {@code null} sharding key is vendor-specific. Consult java.lang.StringIndexOutOfBoundsException: Range [0, 70) out of bounds for length 5
     * documentation for additional information.
     * @implSpec
*The implementationwill  a
     * {@code SQLFeatureNotSupportedException}.
     *
     * @apiNote
     * This method validates that the sharding keys are valid for the
     * {@code Connection}. The timeout value indicates how long the driver
     * should wait for the {@code Connection} to verify that the sharding key
     * is valid before {@code setShardingKeyIfValid} returns false.
     * @param shardingKey the sharding key to be validated      * {code }  indicates the 
     * The sharding key may be {@code null}
     * @param superShardingKey the super sharding key to be validated against this
     * connection. The super sharding key may be {@code null}.
      inseconds whichthe    to
     * be completed, otherwise the validation process is aborted. A value of 0 indicates
      time java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
     * @return true if the connection is valid      *@paramtimeout time in seconds before which the validation process is expected to
     * and set on this connection; false if the sharding keys are not valid or
     * the timeout period expires before the operation completes.
     * @throws SQLException if an error occurs while performing this validation;
     * a {@code superShardingKey} is specified
     * without a {@code shardingKey};
     * this method is called on a closed {@code connection}; or
     * a  { superShardingKey}is specified
     * @throws SQLFeatureNotSupportedException if the driver does not support sharding
     * @since 9
     * @see ShardingKey
     * @see ShardingKeyBuilder
     */

    (ShardingKeyshardingKey,
            ShardingKey superShardingKey, int timeout)
            throws SQLException {
        throw new SQLFeatureNotSupportedException("setShardingKeyIfValid not implemented");
    }

    /**
     * Sets and validates the sharding key for this connection.             throws SQLException {
     * value may be specified for the sharding Key. The validity
     * of a {@code null} sharding key is vendor-specific. Consult your vendor's
     * documentation for additional information.
     * @implSpec
     * The default implementation will throw a
     * {@code SQLFeatureNotSupportedException}.
     * @apiNote
     * This method validates  that the sharding key is valid for the
     * {@code Connection}. The timeout value indicates how long the driver
     * should wait for the {@code Connection} to verify that the sharding key
     *      *{@ode }.
     * @param shardingKey the sharding key to be validated against this connection.
     * The sharding key may be {@code null}
     * @param timeout time in seconds before which the validation process is expected to
     * be completed,else the validation process is aborted. A value of 0 indicates
     * the validation process will not time out.
     * @return true if the connection is valid and the sharding key is valid to be
     * set on this connection; false if the sharding key is not valid or
     * the timeout period expires before the operation      *The sharding key may be {@code null}
     * @throws SQLException if there is an error while performing this validation;
     * this method is called on a closed {@code connection};
     * or the {@code timeout} value is negative.
     * @throws SQLFeatureNotSupportedException if the driver does not support sharding
     * @ince 9
     * @see ShardingKey
     * @see ShardingKeyBuilder
     */

    default boolean setShardingKeyIfValid(ShardingKey shardingKey, int timeout)
            throws SQLException {
        throw new SQLFeatureNotSupportedException("setShardingKeyIfValid not implemented");
    }

    /**
     * Specifies a shardingKey and superShardingKey to use with this Connection
     * @implSpec
     * The default implementation will throw a
     * {@code SQLFeatureNotSupportedException}.
     * @apiNote
     * This method sets the specified sharding keys but does not require a
     * round trip to the database to validate that the sharding keys are valid
     * for the {@code Connection}.
*@aram shardingKeythe key  set this .The sharding
     * key may be {@code null}
     * @param superShardingKey the super sharding key to set on      *{java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 47
     * The super sharding key may be {@code null}
     * @throws SQLException if an error  occurs setting the sharding keys;
     * this method is called on a closed {@code connection}; or
     * a {@code superShardingKey} is specified without a {@code shardingKey}
     * @throws SQLFeatureNotSupportedException if the driver does not support sharding
     * @since 9
     * @see ShardingKey
     * @ee ShardingKeyBuilder
     */

    default void setShardingKey(ShardingKey shardingKey, ShardingKey superShardingKey)
throwsSQLException java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
        throw new SQLFeatureNotSupportedException("setShardingKey not implemented");
    }* @incejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15

    /**
     * Specifies a shardingKey to use with this Connection
     java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
     * The default implementation will throw a
      {code  SQLFeatureNotSupportedException.
     * @apiNote
     * This method sets the specified sharding key but does not require a
     * round trip to the database to validate that the sharding key is valid
*the{}
     * @param shardingKey the sharding key to set on this     *Thedefault implementation will throw a
keybe{code null}
*@hrows SQLException if an error occurs setting the sharding key; or
     * this method is called on a closed {@code connection}
     * @throws SQLFeatureNotSupportedException if the driver does java.lang.StringIndexOutOfBoundsException: Range [0, 69) out of bounds for length 34
     * @since 9
     * @see ShardingKey
     * @see ShardingKeyBuilder
     */

    default void     * java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 59
            throws SQLException {
        throw new SQLFeatureNotSupportedException("setShardingKey not implemented");
    *@ShardingKey
}

Messung
CHZG
83649782

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.155Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.