1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_sdbc_XConnection_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_sdbc_XConnection_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_uno_XInterface_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/uno/XInterface.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski module com { module sun { module star { module container { 31*b1cdbd2cSJim Jagielski published interface XNameAccess; 32*b1cdbd2cSJim Jagielski};};};}; 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_sdbc_SQLException_idl__ 35*b1cdbd2cSJim Jagielski#include <com/sun/star/sdbc/SQLException.idl> 36*b1cdbd2cSJim Jagielski#endif 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_sdbc_XCloseable_idl__ 39*b1cdbd2cSJim Jagielski#include <com/sun/star/sdbc/XCloseable.idl> 40*b1cdbd2cSJim Jagielski#endif 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski module com { module sun { module star { module sdbc { 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski published interface XStatement; 45*b1cdbd2cSJim Jagielski published interface XPreparedStatement; 46*b1cdbd2cSJim Jagielski published interface XDatabaseMetaData; 47*b1cdbd2cSJim Jagielski 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski/** represents a connection (session) with a specific 50*b1cdbd2cSJim Jagielski database. Within the context of a Connection, SQL statements are 51*b1cdbd2cSJim Jagielski executed and results are returned. 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski 54*b1cdbd2cSJim Jagielski <p> 55*b1cdbd2cSJim Jagielski A Connection's database is able to provide information 56*b1cdbd2cSJim Jagielski describing its tables, its supported SQL grammar, its stored 57*b1cdbd2cSJim Jagielski procedures, and the capabilities of this connection. This 58*b1cdbd2cSJim Jagielski information is obtained with the 59*b1cdbd2cSJim Jagielski <member scope="com::sun::star::sdbc">XDatabaseMetaData::getMetaData()</member> 60*b1cdbd2cSJim Jagielski method. 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski </p> 63*b1cdbd2cSJim Jagielski @see com::sun::star::sdbc::XDriverManager 64*b1cdbd2cSJim Jagielski @see com::sun::star::sdbc::XStatement 65*b1cdbd2cSJim Jagielski @see com::sun::star::sdbc::XDatabaseMetaData 66*b1cdbd2cSJim Jagielski */ 67*b1cdbd2cSJim Jagielskipublished interface XConnection: com::sun::star::sdbc::XCloseable 68*b1cdbd2cSJim Jagielski{ 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski /** creates a new 71*b1cdbd2cSJim Jagielski <type scope="com::sun::star::sdbc">Statement</type> 72*b1cdbd2cSJim Jagielski object for sending SQL statements to the database. 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski <p> 76*b1cdbd2cSJim Jagielski SQL statements without parameters are normally 77*b1cdbd2cSJim Jagielski executed using Statement objects. If the same SQL statement 78*b1cdbd2cSJim Jagielski is executed many times, it is more efficient to use a 79*b1cdbd2cSJim Jagielski <type scope="com::sun::star::sdbc">PreparedStatement</type> 80*b1cdbd2cSJim Jagielski . 81*b1cdbd2cSJim Jagielski </p> 82*b1cdbd2cSJim Jagielski <p> 83*b1cdbd2cSJim Jagielski Result sets created using the returned Statement will have 84*b1cdbd2cSJim Jagielski forward-only type, and read-only concurrency, by default. 85*b1cdbd2cSJim Jagielski </p> 86*b1cdbd2cSJim Jagielski <p> 87*b1cdbd2cSJim Jagielski Escape processing for the SQL-Statement is enabled, by default. 88*b1cdbd2cSJim Jagielski </p> 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim Jagielski @returns 91*b1cdbd2cSJim Jagielski a new Statement object 92*b1cdbd2cSJim Jagielski @throws SQLException 93*b1cdbd2cSJim Jagielski if a database access error occurs. 94*b1cdbd2cSJim Jagielski */ 95*b1cdbd2cSJim Jagielski XStatement createStatement() raises (SQLException); 96*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski /** creates a 99*b1cdbd2cSJim Jagielski <type scope="com::sun::star::sdbc">PreparedStatement</type> 100*b1cdbd2cSJim Jagielski object for sending parameterized SQL statements to the database. 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski <p> 104*b1cdbd2cSJim Jagielski A SQL statement with or without IN parameters can be 105*b1cdbd2cSJim Jagielski pre-compiled and stored in a PreparedStatement object. This 106*b1cdbd2cSJim Jagielski object can then be used to efficiently execute this statement 107*b1cdbd2cSJim Jagielski multiple times. 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski </p> 110*b1cdbd2cSJim Jagielski <p> 111*b1cdbd2cSJim Jagielski <b> 112*b1cdbd2cSJim Jagielski Note: 113*b1cdbd2cSJim Jagielski </b> 114*b1cdbd2cSJim Jagielski This method is optimized for handling 115*b1cdbd2cSJim Jagielski parametric SQL statements that benefit from precompilation. If 116*b1cdbd2cSJim Jagielski the driver supports precompilation, 117*b1cdbd2cSJim Jagielski the method 118*b1cdbd2cSJim Jagielski <code>prepareStatement</code> 119*b1cdbd2cSJim Jagielski will send 120*b1cdbd2cSJim Jagielski the statement to the database for precompilation. Some drivers 121*b1cdbd2cSJim Jagielski may not support precompilation. In this case, the statement may 122*b1cdbd2cSJim Jagielski not be sent to the database until the 123*b1cdbd2cSJim Jagielski <type scope="com::sun::star::sdbc">PreparedStatement</type> 124*b1cdbd2cSJim Jagielski is executed. This has no direct effect on users; however, it does 125*b1cdbd2cSJim Jagielski affect which method throws certain SQLExceptions. 126*b1cdbd2cSJim Jagielski </p> 127*b1cdbd2cSJim Jagielski <p> 128*b1cdbd2cSJim Jagielski Result sets created using the returned PreparedStatement will have 129*b1cdbd2cSJim Jagielski forward-only type and read-only concurrency, by default. 130*b1cdbd2cSJim Jagielski </p> 131*b1cdbd2cSJim Jagielski <p> 132*b1cdbd2cSJim Jagielski Escape processing for the SQL-Statement is enabled, by default. 133*b1cdbd2cSJim Jagielski </p> 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski @param sql 136*b1cdbd2cSJim Jagielski a SQL statement that may contain one or more '?' IN parameter placeholders 137*b1cdbd2cSJim Jagielski @returns 138*b1cdbd2cSJim Jagielski a new PreparedStatement object containing the pre-compiled statement 139*b1cdbd2cSJim Jagielski @throws SQLException 140*b1cdbd2cSJim Jagielski if a database access error occurs. 141*b1cdbd2cSJim Jagielski */ 142*b1cdbd2cSJim Jagielski XPreparedStatement prepareStatement([in]string sql) raises (SQLException); 143*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim Jagielski /** creates a 146*b1cdbd2cSJim Jagielski <type scope="com::sun::star::sdbc">CallableStatement</type> 147*b1cdbd2cSJim Jagielski object for calling 148*b1cdbd2cSJim Jagielski database stored procedures. 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski <p> 152*b1cdbd2cSJim Jagielski The CallableStatement provides methods for setting up its IN and OUT 153*b1cdbd2cSJim Jagielski parameters, and methods for executing the call to a stored procedure. 154*b1cdbd2cSJim Jagielski </p> 155*b1cdbd2cSJim Jagielski <p> 156*b1cdbd2cSJim Jagielski <b> 157*b1cdbd2cSJim Jagielski Note: 158*b1cdbd2cSJim Jagielski </b> 159*b1cdbd2cSJim Jagielski This method is optimized for handling stored 160*b1cdbd2cSJim Jagielski procedure call statements. Some drivers may send the call 161*b1cdbd2cSJim Jagielski statement to the database when the method 162*b1cdbd2cSJim Jagielski <code>prepareCall</code> 163*b1cdbd2cSJim Jagielski is done; 164*b1cdbd2cSJim Jagielski <br/> 165*b1cdbd2cSJim Jagielski others may wait until the CallableStatement is executed. This has no 166*b1cdbd2cSJim Jagielski direct effect on users; however, it does affect which method 167*b1cdbd2cSJim Jagielski throws certain SQLExceptions. 168*b1cdbd2cSJim Jagielski Result sets created using the returned CallableStatement will have 169*b1cdbd2cSJim Jagielski forward-only type and read-only concurrency, by default. 170*b1cdbd2cSJim Jagielski </p> 171*b1cdbd2cSJim Jagielski 172*b1cdbd2cSJim Jagielski @param sql 173*b1cdbd2cSJim Jagielski a SQL statement that may contain one or more '?' IN parameter placeholders 174*b1cdbd2cSJim Jagielski @returns 175*b1cdbd2cSJim Jagielski a new PreparedStatement object containing the pre-compiled statement 176*b1cdbd2cSJim Jagielski @throws SQLException 177*b1cdbd2cSJim Jagielski if a database access error occurs. 178*b1cdbd2cSJim Jagielski */ 179*b1cdbd2cSJim Jagielski XPreparedStatement prepareCall([in]string sql) raises (SQLException); 180*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski /** converts the given SQL statement into the system's native SQL grammar. 183*b1cdbd2cSJim Jagielski A driver may convert the JDBC SQL grammar into its system's 184*b1cdbd2cSJim Jagielski native SQL grammar prior to sending it; this method returns the 185*b1cdbd2cSJim Jagielski native form of the statement that the driver would have sent. 186*b1cdbd2cSJim Jagielski 187*b1cdbd2cSJim Jagielski @param sql 188*b1cdbd2cSJim Jagielski a SQL statement that may contain one or more '?' parameter placeholders 189*b1cdbd2cSJim Jagielski @returns 190*b1cdbd2cSJim Jagielski the native form of this statement 191*b1cdbd2cSJim Jagielski @throws SQLException 192*b1cdbd2cSJim Jagielski if a database access error occurs. 193*b1cdbd2cSJim Jagielski */ 194*b1cdbd2cSJim Jagielski string nativeSQL([in]string sql) raises (SQLException); 195*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 196*b1cdbd2cSJim Jagielski 197*b1cdbd2cSJim Jagielski /** sets this connection's auto-commit mode. 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski 200*b1cdbd2cSJim Jagielski <p> 201*b1cdbd2cSJim Jagielski If a connection is in auto-commit mode, then all its SQL 202*b1cdbd2cSJim Jagielski statements will be executed and committed as individual 203*b1cdbd2cSJim Jagielski transactions. Otherwise, its SQL statements are grouped into 204*b1cdbd2cSJim Jagielski transactions that are terminated by a call to either 205*b1cdbd2cSJim Jagielski the method 206*b1cdbd2cSJim Jagielski <member scope="com::sun::star::sdbc">XConnection::commit()</member> 207*b1cdbd2cSJim Jagielski or the method 208*b1cdbd2cSJim Jagielski <member scope="com::sun::star::sdbc">XConnection::rollback()</member> 209*b1cdbd2cSJim Jagielski . 210*b1cdbd2cSJim Jagielski By default, new connections are in auto-commit mode. 211*b1cdbd2cSJim Jagielski </p> 212*b1cdbd2cSJim Jagielski <p> 213*b1cdbd2cSJim Jagielski The commit occurs when the statement completes or the next 214*b1cdbd2cSJim Jagielski execute occurs, whichever comes first. In the case of 215*b1cdbd2cSJim Jagielski statements returning a ResultSet, the statement completes when 216*b1cdbd2cSJim Jagielski the last row of the ResultSet has been retrieved or the 217*b1cdbd2cSJim Jagielski ResultSet has been closed. In advanced cases, a single 218*b1cdbd2cSJim Jagielski statement may return multiple results as well as output 219*b1cdbd2cSJim Jagielski parameter values. In these cases the commit occurs when all results and 220*b1cdbd2cSJim Jagielski output parameter values have been retrieved. 221*b1cdbd2cSJim Jagielski </p> 222*b1cdbd2cSJim Jagielski 223*b1cdbd2cSJim Jagielski @param autoCommit 224*b1cdbd2cSJim Jagielski <TRUE/> enables auto-commit; <FALSE/> disables auto-commit. 225*b1cdbd2cSJim Jagielski @throws SQLException 226*b1cdbd2cSJim Jagielski if a database access error occurs. 227*b1cdbd2cSJim Jagielski */ 228*b1cdbd2cSJim Jagielski void setAutoCommit([in] boolean autoCommit) raises (SQLException); 229*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 230*b1cdbd2cSJim Jagielski 231*b1cdbd2cSJim Jagielski /** gets the current auto-commit state. 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski @returns 234*b1cdbd2cSJim Jagielski the current state of auto-commit mode. 235*b1cdbd2cSJim Jagielski @throws SQLException 236*b1cdbd2cSJim Jagielski if a database access error occurs. 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski @see setAutoCommit 239*b1cdbd2cSJim Jagielski */ 240*b1cdbd2cSJim Jagielski boolean getAutoCommit() raises (SQLException); 241*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 242*b1cdbd2cSJim Jagielski 243*b1cdbd2cSJim Jagielski /** makes all changes made since the previous commit/rollback 244*b1cdbd2cSJim Jagielski permanent and releases any database locks currently held 245*b1cdbd2cSJim Jagielski by the Connection. This method should be 246*b1cdbd2cSJim Jagielski used only when auto-commit mode has been disabled. 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski @throws SQLException 249*b1cdbd2cSJim Jagielski if a database access error occurs. 250*b1cdbd2cSJim Jagielski 251*b1cdbd2cSJim Jagielski @see setAutoCommit 252*b1cdbd2cSJim Jagielski */ 253*b1cdbd2cSJim Jagielski void commit() raises (SQLException); 254*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski /** drops all changes made since the previous 257*b1cdbd2cSJim Jagielski commit/rollback and releases any database locks currently held 258*b1cdbd2cSJim Jagielski by this Connection. This method should be used only when auto-commit has been disabled. 259*b1cdbd2cSJim Jagielski 260*b1cdbd2cSJim Jagielski @throws SQLException 261*b1cdbd2cSJim Jagielski if a database access error occurs. 262*b1cdbd2cSJim Jagielski 263*b1cdbd2cSJim Jagielski @see setAutoCommit 264*b1cdbd2cSJim Jagielski */ 265*b1cdbd2cSJim Jagielski void rollback() raises (SQLException); 266*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski /** tests to see if a connection is closed. 269*b1cdbd2cSJim Jagielski 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski <p> 272*b1cdbd2cSJim Jagielski <b> 273*b1cdbd2cSJim Jagielski Note: 274*b1cdbd2cSJim Jagielski </b> 275*b1cdbd2cSJim Jagielski A Connection is automatically closed if no one references it 276*b1cdbd2cSJim Jagielski anymore. Certain fatal errors also result in a closed Connection. 277*b1cdbd2cSJim Jagielski </p> 278*b1cdbd2cSJim Jagielski 279*b1cdbd2cSJim Jagielski @returns 280*b1cdbd2cSJim Jagielski <TRUE/> if the connection is closed; <FALSE/> if it's still open. 281*b1cdbd2cSJim Jagielski @throws SQLException 282*b1cdbd2cSJim Jagielski if a database access error occurs. 283*b1cdbd2cSJim Jagielski */ 284*b1cdbd2cSJim Jagielski boolean isClosed() raises (SQLException); 285*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 286*b1cdbd2cSJim Jagielski 287*b1cdbd2cSJim Jagielski /** gets the metadata regarding this connection's database. 288*b1cdbd2cSJim Jagielski 289*b1cdbd2cSJim Jagielski 290*b1cdbd2cSJim Jagielski <p> 291*b1cdbd2cSJim Jagielski A Connection's database is able to provide information 292*b1cdbd2cSJim Jagielski describing its tables, its supported SQL grammar, its stored 293*b1cdbd2cSJim Jagielski procedures, the capabilities of this connection, and so on. This 294*b1cdbd2cSJim Jagielski information is made available through a DatabaseMetaData 295*b1cdbd2cSJim Jagielski object. 296*b1cdbd2cSJim Jagielski </p> 297*b1cdbd2cSJim Jagielski 298*b1cdbd2cSJim Jagielski @returns 299*b1cdbd2cSJim Jagielski a DatabaseMetaData object for this Connection. 300*b1cdbd2cSJim Jagielski @throws SQLException 301*b1cdbd2cSJim Jagielski if a database access error occurs. 302*b1cdbd2cSJim Jagielski */ 303*b1cdbd2cSJim Jagielski XDatabaseMetaData getMetaData() raises (SQLException); 304*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 305*b1cdbd2cSJim Jagielski 306*b1cdbd2cSJim Jagielski /** puts this connection in read-only mode as a hint to enable 307*b1cdbd2cSJim Jagielski database optimizations. 308*b1cdbd2cSJim Jagielski 309*b1cdbd2cSJim Jagielski 310*b1cdbd2cSJim Jagielski <p> 311*b1cdbd2cSJim Jagielski <b> 312*b1cdbd2cSJim Jagielski Note: 313*b1cdbd2cSJim Jagielski </b> 314*b1cdbd2cSJim Jagielski This method cannot be called while in the 315*b1cdbd2cSJim Jagielski middle of a transaction. Calling setReadOnly with 316*b1cdbd2cSJim Jagielski <TRUE/> 317*b1cdbd2cSJim Jagielski does not 318*b1cdbd2cSJim Jagielski necessarily cause writes to be prohibited. 319*b1cdbd2cSJim Jagielski </p> 320*b1cdbd2cSJim Jagielski 321*b1cdbd2cSJim Jagielski @param readONly 322*b1cdbd2cSJim Jagielski <TRUE/> enables read-only mode; <FALSE/> disables read-only mode. 323*b1cdbd2cSJim Jagielski @throws SQLException 324*b1cdbd2cSJim Jagielski if a database access error occurs. 325*b1cdbd2cSJim Jagielski */ 326*b1cdbd2cSJim Jagielski void setReadOnly([in]boolean readOnly) raises (SQLException); 327*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 328*b1cdbd2cSJim Jagielski 329*b1cdbd2cSJim Jagielski /** tests to see if the connection is in read-only mode. 330*b1cdbd2cSJim Jagielski @returns 331*b1cdbd2cSJim Jagielski <TRUE/> if connection is read-only and <FALSE/> otherwise. 332*b1cdbd2cSJim Jagielski @throws SQLException 333*b1cdbd2cSJim Jagielski if a database access error occurs. 334*b1cdbd2cSJim Jagielski */ 335*b1cdbd2cSJim Jagielski boolean isReadOnly() raises (SQLException); 336*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 337*b1cdbd2cSJim Jagielski 338*b1cdbd2cSJim Jagielski /** sets a catalog name in order to select 339*b1cdbd2cSJim Jagielski a subspace of this Connection's database in which to work. 340*b1cdbd2cSJim Jagielski If the driver does not support catalogs, it will 341*b1cdbd2cSJim Jagielski silently ignore this request. 342*b1cdbd2cSJim Jagielski @param catalog 343*b1cdbd2cSJim Jagielski the name of the catalog. 344*b1cdbd2cSJim Jagielski @throws SQLException 345*b1cdbd2cSJim Jagielski if a database access error occurs. 346*b1cdbd2cSJim Jagielski */ 347*b1cdbd2cSJim Jagielski void setCatalog([in]string catalog) raises (SQLException); 348*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 349*b1cdbd2cSJim Jagielski 350*b1cdbd2cSJim Jagielski /** returns the Connection's current catalog name. 351*b1cdbd2cSJim Jagielski @returns 352*b1cdbd2cSJim Jagielski the current catalog name or an empty string. 353*b1cdbd2cSJim Jagielski @throws SQLException 354*b1cdbd2cSJim Jagielski if a database access error occurs. 355*b1cdbd2cSJim Jagielski */ 356*b1cdbd2cSJim Jagielski string getCatalog() raises (SQLException); 357*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 358*b1cdbd2cSJim Jagielski 359*b1cdbd2cSJim Jagielski /** attempts to change the transaction isolation level to the one given. 360*b1cdbd2cSJim Jagielski 361*b1cdbd2cSJim Jagielski 362*b1cdbd2cSJim Jagielski <p> 363*b1cdbd2cSJim Jagielski The constants defined in 364*b1cdbd2cSJim Jagielski <type scope="com::sun::star::sdbc">TransactionIsolation</type> 365*b1cdbd2cSJim Jagielski are the possible transaction isolation levels. 366*b1cdbd2cSJim Jagielski </p> 367*b1cdbd2cSJim Jagielski <p> 368*b1cdbd2cSJim Jagielski <b> 369*b1cdbd2cSJim Jagielski Note: 370*b1cdbd2cSJim Jagielski </b> 371*b1cdbd2cSJim Jagielski This method cannot be called while 372*b1cdbd2cSJim Jagielski in the middle of a transaction. 373*b1cdbd2cSJim Jagielski </p> 374*b1cdbd2cSJim Jagielski @param level 375*b1cdbd2cSJim Jagielski one of the TransactionIsolation values with the exception of NONE; some databases may not support other values. 376*b1cdbd2cSJim Jagielski @throws SQLException 377*b1cdbd2cSJim Jagielski if a database access error occurs. 378*b1cdbd2cSJim Jagielski 379*b1cdbd2cSJim Jagielski @see com::sun::star::sdbc::XDatabaseMetaData::supportsTransactionIsolationLevel() 380*b1cdbd2cSJim Jagielski */ 381*b1cdbd2cSJim Jagielski void setTransactionIsolation([in]long level) raises (SQLException); 382*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 383*b1cdbd2cSJim Jagielski 384*b1cdbd2cSJim Jagielski /** gets this Connection's current transaction isolation level. 385*b1cdbd2cSJim Jagielski @returns 386*b1cdbd2cSJim Jagielski the current TransactionIsolation mode value. 387*b1cdbd2cSJim Jagielski @throws SQLException 388*b1cdbd2cSJim Jagielski if a database access error occurs. 389*b1cdbd2cSJim Jagielski */ 390*b1cdbd2cSJim Jagielski long getTransactionIsolation() raises (SQLException); 391*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 392*b1cdbd2cSJim Jagielski 393*b1cdbd2cSJim Jagielski /** gets the type map object associated with this connection. Only drivers 394*b1cdbd2cSJim Jagielski which implement the custom type mapping facility will return an object otherwise 395*b1cdbd2cSJim Jagielski NULL could be returned. 396*b1cdbd2cSJim Jagielski 397*b1cdbd2cSJim Jagielski <p> 398*b1cdbd2cSJim Jagielski Unless the application has added an entry to the type map, the map 399*b1cdbd2cSJim Jagielski returned will be empty. 400*b1cdbd2cSJim Jagielski </p> 401*b1cdbd2cSJim Jagielski @returns 402*b1cdbd2cSJim Jagielski the XNameAccess object associated with this Connection object. 403*b1cdbd2cSJim Jagielski 404*b1cdbd2cSJim Jagielski @throws SQLException 405*b1cdbd2cSJim Jagielski if a database access error occurs. 406*b1cdbd2cSJim Jagielski */ 407*b1cdbd2cSJim Jagielski com::sun::star::container::XNameAccess getTypeMap() raises (SQLException); 408*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 409*b1cdbd2cSJim Jagielski 410*b1cdbd2cSJim Jagielski /** installs the given type map as the type map for this connection. 411*b1cdbd2cSJim Jagielski The type map will be used for the custom mapping of SQL structured types 412*b1cdbd2cSJim Jagielski and distinct types. 413*b1cdbd2cSJim Jagielski 414*b1cdbd2cSJim Jagielski 415*b1cdbd2cSJim Jagielski <p> 416*b1cdbd2cSJim Jagielski Only if the driver supports custom type mapping is the setting of a map allowed. 417*b1cdbd2cSJim Jagielski </p> 418*b1cdbd2cSJim Jagielski 419*b1cdbd2cSJim Jagielski @param typeMap 420*b1cdbd2cSJim Jagielski set the XNameAccess object associated with this Connection object. 421*b1cdbd2cSJim Jagielski @throws SQLException 422*b1cdbd2cSJim Jagielski if a database access error occurs. 423*b1cdbd2cSJim Jagielski */ 424*b1cdbd2cSJim Jagielski void setTypeMap([in]com::sun::star::container::XNameAccess typeMap) 425*b1cdbd2cSJim Jagielski raises (SQLException); 426*b1cdbd2cSJim Jagielski}; 427*b1cdbd2cSJim Jagielski 428*b1cdbd2cSJim Jagielski//============================================================================= 429*b1cdbd2cSJim Jagielski 430*b1cdbd2cSJim Jagielski}; }; }; }; 431*b1cdbd2cSJim Jagielski 432*b1cdbd2cSJim Jagielski/*=========================================================================== 433*b1cdbd2cSJim Jagielski===========================================================================*/ 434*b1cdbd2cSJim Jagielski#endif 435