/************************************************************************* * * $RCSfile: XConnection.idl,v $ * * $Revision: 1.2 $ * * last change: $Author: mi $ $Date: 2000-11-06 13:16:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses * * - GNU Lesser General Public License Version 2.1 * - Sun Industry Standards Source License Version 1.1 * * Sun Microsystems Inc., October, 2000 * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2000 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * * Sun Industry Standards Source License Version 1.1 * ================================================= * The contents of this file are subject to the Sun Industry Standards * Source License Version 1.1 (the "License"); You may not use this file * except in compliance with the License. You may obtain a copy of the * License at http://www.openoffice.org/license.html. * * Software provided under this License is provided on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. * See the License for the specific provisions governing your rights and * obligations concerning the Software. * * The Initial Developer of the Original Code is: Sun Microsystems, Inc. * * Copyright: 2000 by Sun Microsystems, Inc. * * All Rights Reserved. * * Contributor(s): _______________________________________ * * ************************************************************************/ #ifndef __com_sun_star_sdbc_XConnection_idl__ #define __com_sun_star_sdbc_XConnection_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif module com { module sun { module star { module container { interface XNameAccess; };};};}; #ifndef __com_sun_star_sdbc_SQLException_idl__ #include #endif #ifndef __com_sun_star_sdbc_XCloseable_idl__ #include #endif module com { module sun { module star { module sdbc { interface XStatement; interface XPreparedStatement; interface XDatabaseMetaData; // DocMerge from xml: interface com::sun::star::container::com::sun::star::sdbc::XConnection /** represents a connection (session) with a specific database. Within the context of a Connection, SQL statements are executed and results are returned.

A Connection's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, and the capabilities of this connection. This information is obtained with the getMetaData method.

@see com::sun::star::sdbc::XDriverManager @see com::sun::star::sdbc::XStatement @see com::sun::star::sdbc::XDatabaseMetaData */ [ uik(D6B60231-9067-11d3-9EE00010-5AD7A5C4), ident("XConnection", 1.0) ] interface XConnection: com::sun::star::sdbc::XCloseable { // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::createStatement /** creates a new Statement object for sending SQL statements to the database.

SQL statements without parameters are normally executed using Statement objects. If the same SQL statement is executed many times, it is more efficient to use a PreparedStatement PreparedStatement.

Result sets created using the returned Statement will have forward-only type, and read-only concurrency, by default.

Escape processing for the SQL-Statement is enabled, by default.

*/ XStatement createStatement() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::prepareStatement /** creates a PreparedStatement object for sending parameterized SQL statements to the database.

A SQL statement with or without IN parameters can be pre-compiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times.

Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method 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 PreparedStatement is executed. This has no direct effect on users; however, it does affect which method throws certain SQLExceptions.

Result sets created using the returned PreparedStatement will have forward-only type and read-only concurrency, by default.

Escape processing for the SQL-Statement is enabled, by default.

*/ XPreparedStatement prepareStatement([in]string sql) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::prepareCall /** creates a CallableStatement object for calling database stored procedures.

The CallableStatement provides methods for setting up its IN and OUT parameters, and methods for executing the call to a stored procedure.

Note: This method is optimized for handling stored procedure call statements. Some drivers may send the call statement to the database when the method prepareCall is done;
others may wait until the CallableStatement is executed. This has no direct effect on users; however, it does affect which method throws certain SQLExceptions. Result sets created using the returned CallableStatement will have forward-only type and read-only concurrency, by default.

*/ XPreparedStatement prepareCall([in]string sql) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::nativeSQL /** 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. */ string nativeSQL([in]string sql) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::setAutoCommit /** sets this connection's auto-commit mode.

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 commit or the method rollback. By default, new connections are in auto-commit mode.

The commit occurs when the statement completes or the next execute occurs, whichever comes first. In the case of statements returning a ResultSet, the statement completes when the last row of the ResultSet has been retrieved or the ResultSet has been closed. In advanced cases, a single statement may return multiple results as well as output parameter values. In these cases the commit occurs when all results and output parameter values have been retrieved.

*/ void setAutoCommit([in] boolean autoCommit) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::getAutoCommit /** gets the current auto-commit state.@see setAutoCommit() */ [const] boolean getAutoCommit() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::commit /** makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by the Connection. This method should be used only when auto-commit mode has been disabled.@see setAutoCommit() */ void commit() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::rollback /** drops all changes made since the previous commit/rollback and releases any database locks currently held by this Connection. This method should be used only when auto-commit has been disabled.@see setAutoCommit() */ void rollback() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::isClosed /** tests to see if a connection is closed.

Note: A Connection is automatically closed if no one references it anymore. Certain fatal errors also result in a closed Connection.

*/ [const] boolean isClosed() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::getMetaData /** gets the metadata regarding this connection's database.

A Connection'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 made available through a DatabaseMetaData object.

*/ XDatabaseMetaData getMetaData() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::setReadOnly /** puts this connection in read-only mode as a hint to enable database optimizations.

Note: This method cannot be called while in the middle of a transaction; calling setReadOnly with does not necessarily cause writes to be prohibited.

*/ void setReadOnly([in]boolean readOnly) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::isReadOnly /** tests to see if the connection is in read-only mode. */ [const] boolean isReadOnly() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::setCatalog /** sets a catalog name in order to select a subspace of this Connection's database in which to work. If the driver does not support catalogs, it will silently ignore this request. */ void setCatalog([in]string catalog) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::getCatalog /** returns the Connection's current catalog name. */ [const] string getCatalog() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::setTransactionIsolation /** attempts to change the transaction isolation level to the one given.

The constants defined in TransactionIsolation are the possible transaction isolation levels.

Note: This method cannot be called while in the middle of a transaction.

@see com::sun::star::sdbc::XDatabaseMetaData::supportsTransactionIsolationLevel() */ void setTransactionIsolation([in]long level) raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::getTransactionIsolation /** gets this Connection's current transaction isolation level. */ [const] long getTransactionIsolation() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::getTypeMap /** gets the type map object associated with this connection. Only drivers how implement the custom type mapping facility will return an object otherwise NULL could be returned.

Unless the application has added an entry to the type map, the map returned will be empty.

*/ [const] com::sun::star::container::XNameAccess getTypeMap() raises (SQLException); //------------------------------------------------------------------------- // DocMerge from xml: method com::sun::star::container::com::sun::star::sdbc::XConnection::setTypeMap /** installs the given type map as the type map for this connection. The type map will be used for the custom mapping of SQL structured types and distinct types.

Only if the driver supports custom type mapping the setting of a map is allowed.

*/ void setTypeMap([in]com::sun::star::container::XNameAccess typeMap) raises (SQLException); }; //============================================================================= }; }; }; }; /*=========================================================================== $Log: not supported by cvs2svn $ Revision 1.1.1.1 2000/09/18 23:35:41 hjs initial import Revision 1.8 2000/09/11 11:52:43 mi documentation merged from XML Revision 1.6 2000/01/28 15:42:27 dg #72175# documentation of getTypeMap Revision 1.5 2000/01/18 15:42:29 dg #70278# Documentation completed Revision 1.4 1999/12/20 16:11:35 dg #70278# changes in API Revision 1.3 1999/12/13 13:47:55 dg #70278# XSQLErrorBroadcaster removed Revision 1.2 1999/11/24 11:33:26 dg chk includes Revision 1.1 1999/11/24 08:41:04 dg new StarDataBaseConnectivity ===========================================================================*/ #endif