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 #ifndef CONNECTIVITY_SDATABASEMETADATA_HXX
23*b1cdbd2cSJim Jagielski #define CONNECTIVITY_SDATABASEMETADATA_HXX
24*b1cdbd2cSJim Jagielski 
25*b1cdbd2cSJim Jagielski #include "mysqlc_connection.hxx"
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski #ifndef _COM_SUN_STAR_SDBC_XDATABASEMETADATA_HPP_
28*b1cdbd2cSJim Jagielski #include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
29*b1cdbd2cSJim Jagielski #endif
30*b1cdbd2cSJim Jagielski #ifndef _CPPUHELPER_IMPLBASE1_HXX_
31*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase1.hxx>
32*b1cdbd2cSJim Jagielski #endif
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski #include <preextstl.h>
35*b1cdbd2cSJim Jagielski #include <cppconn/metadata.h>
36*b1cdbd2cSJim Jagielski #include <postextstl.h>
37*b1cdbd2cSJim Jagielski 
38*b1cdbd2cSJim Jagielski namespace connectivity
39*b1cdbd2cSJim Jagielski {
40*b1cdbd2cSJim Jagielski 	namespace mysqlc
41*b1cdbd2cSJim Jagielski 	{
42*b1cdbd2cSJim Jagielski 		typedef ::com::sun::star::sdbc::SQLException my_SQLException;
43*b1cdbd2cSJim Jagielski 		typedef ::com::sun::star::uno::RuntimeException my_RuntimeException;
44*b1cdbd2cSJim Jagielski 		typedef ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > my_XResultSetRef;
45*b1cdbd2cSJim Jagielski 		using ::com::sun::star::uno::Any;
46*b1cdbd2cSJim Jagielski 		using ::rtl::OUString;
47*b1cdbd2cSJim Jagielski 
48*b1cdbd2cSJim Jagielski 		//**************************************************************
49*b1cdbd2cSJim Jagielski 		//************ Class: ODatabaseMetaData
50*b1cdbd2cSJim Jagielski 		//**************************************************************
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski 		typedef ::cppu::WeakImplHelper1< ::com::sun::star::sdbc::XDatabaseMetaData> ODatabaseMetaData_BASE;
53*b1cdbd2cSJim Jagielski 
54*b1cdbd2cSJim Jagielski         class ODatabaseMetaData : public ODatabaseMetaData_BASE
55*b1cdbd2cSJim Jagielski 		{
56*b1cdbd2cSJim Jagielski 			OConnection&	m_rConnection;
57*b1cdbd2cSJim Jagielski 			sal_Bool		m_bUseCatalog;
58*b1cdbd2cSJim Jagielski 		protected:
59*b1cdbd2cSJim Jagielski 			sql::DatabaseMetaData * meta;
60*b1cdbd2cSJim Jagielski 			OUString		identifier_quote_string;
61*b1cdbd2cSJim Jagielski 			bool			identifier_quote_string_set;
62*b1cdbd2cSJim Jagielski 
63*b1cdbd2cSJim Jagielski         private:
64*b1cdbd2cSJim Jagielski             OUString impl_getStringMetaData( const sal_Char* _methodName, const ext_std::string& (sql::DatabaseMetaData::*_Method)() );
65*b1cdbd2cSJim Jagielski             OUString impl_getStringMetaData( const sal_Char* _methodName, ext_std::string (sql::DatabaseMetaData::*_Method)() );
66*b1cdbd2cSJim Jagielski             OUString impl_getStringMetaData( const sal_Char* _methodName, const sql::SQLString& (sql::DatabaseMetaData::*_Method)() );
67*b1cdbd2cSJim Jagielski             OUString impl_getStringMetaData( const sal_Char* _methodName, sql::SQLString (sql::DatabaseMetaData::*_Method)() );
68*b1cdbd2cSJim Jagielski             sal_Int32 impl_getInt32MetaData( const sal_Char* _methodName, unsigned int (sql::DatabaseMetaData::*_Method)() );
69*b1cdbd2cSJim Jagielski             sal_Bool impl_getBoolMetaData( const sal_Char* _methodName, bool (sql::DatabaseMetaData::*_Method)() );
70*b1cdbd2cSJim Jagielski             sal_Bool impl_getBoolMetaData( const sal_Char* _methodName, bool (sql::DatabaseMetaData::*_Method)(int), sal_Int32 _arg );
71*b1cdbd2cSJim Jagielski             sal_Bool impl_getRSTypeMetaData( const sal_Char* _methodName, bool (sql::DatabaseMetaData::*_Method)(int), sal_Int32 _resultSetType );
72*b1cdbd2cSJim Jagielski 
73*b1cdbd2cSJim Jagielski         public:
getOwnConnection() const74*b1cdbd2cSJim Jagielski 			inline const OConnection& getOwnConnection() const { return m_rConnection; }
75*b1cdbd2cSJim Jagielski 
76*b1cdbd2cSJim Jagielski 			ODatabaseMetaData(OConnection& _rCon);
77*b1cdbd2cSJim Jagielski 			virtual ~ODatabaseMetaData();
78*b1cdbd2cSJim Jagielski 
79*b1cdbd2cSJim Jagielski 			// as I mentioned before this interface is really BIG
80*b1cdbd2cSJim Jagielski 			// XDatabaseMetaData
81*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL allProceduresAreCallable()			throw(my_SQLException, my_RuntimeException);
82*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL allTablesAreSelectable()				throw(my_SQLException, my_RuntimeException);
83*b1cdbd2cSJim Jagielski             OUString SAL_CALL getURL()						throw(my_SQLException, my_RuntimeException);
84*b1cdbd2cSJim Jagielski             OUString SAL_CALL getUserName()					throw(my_SQLException, my_RuntimeException);
85*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL isReadOnly()							throw(my_SQLException, my_RuntimeException);
86*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL nullsAreSortedHigh()					throw(my_SQLException, my_RuntimeException);
87*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL nullsAreSortedLow()					throw(my_SQLException, my_RuntimeException);
88*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL nullsAreSortedAtStart()				throw(my_SQLException, my_RuntimeException);
89*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL nullsAreSortedAtEnd()					throw(my_SQLException, my_RuntimeException);
90*b1cdbd2cSJim Jagielski             OUString SAL_CALL getDatabaseProductName()		throw(my_SQLException, my_RuntimeException);
91*b1cdbd2cSJim Jagielski             OUString SAL_CALL getDatabaseProductVersion()	throw(my_SQLException, my_RuntimeException);
92*b1cdbd2cSJim Jagielski             OUString SAL_CALL getDriverName()				throw(my_SQLException, my_RuntimeException);
93*b1cdbd2cSJim Jagielski             OUString SAL_CALL getDriverVersion()				throw(my_SQLException, my_RuntimeException);
94*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getDriverMajorVersion()				throw(my_RuntimeException);
95*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getDriverMinorVersion()				throw(my_RuntimeException);
96*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL usesLocalFiles()						throw(my_SQLException, my_RuntimeException);
97*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL usesLocalFilePerTable()				throw(my_SQLException, my_RuntimeException);
98*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsMixedCaseIdentifiers()		throw(my_SQLException, my_RuntimeException);
99*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL storesUpperCaseIdentifiers()			throw(my_SQLException, my_RuntimeException);
100*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL storesLowerCaseIdentifiers()			throw(my_SQLException, my_RuntimeException);
101*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL storesMixedCaseIdentifiers()			throw(my_SQLException, my_RuntimeException);
102*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsMixedCaseQuotedIdentifiers()	throw(my_SQLException, my_RuntimeException);
103*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL storesUpperCaseQuotedIdentifiers()	throw(my_SQLException, my_RuntimeException);
104*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL storesLowerCaseQuotedIdentifiers()	throw(my_SQLException, my_RuntimeException);
105*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL storesMixedCaseQuotedIdentifiers()	throw(my_SQLException, my_RuntimeException);
106*b1cdbd2cSJim Jagielski             OUString SAL_CALL getIdentifierQuoteString() 	throw(my_SQLException, my_RuntimeException);
107*b1cdbd2cSJim Jagielski             OUString SAL_CALL getSQLKeywords()				throw(my_SQLException, my_RuntimeException);
108*b1cdbd2cSJim Jagielski             OUString SAL_CALL getNumericFunctions()			throw(my_SQLException, my_RuntimeException);
109*b1cdbd2cSJim Jagielski             OUString SAL_CALL getStringFunctions()			throw(my_SQLException, my_RuntimeException);
110*b1cdbd2cSJim Jagielski             OUString SAL_CALL getSystemFunctions()			throw(my_SQLException, my_RuntimeException);
111*b1cdbd2cSJim Jagielski             OUString SAL_CALL getTimeDateFunctions()			throw(my_SQLException, my_RuntimeException);
112*b1cdbd2cSJim Jagielski             OUString SAL_CALL getSearchStringEscape()		throw(my_SQLException, my_RuntimeException);
113*b1cdbd2cSJim Jagielski             OUString SAL_CALL getExtraNameCharacters()		throw(my_SQLException, my_RuntimeException);
114*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsAlterTableWithAddColumn()		throw(my_SQLException, my_RuntimeException);
115*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsAlterTableWithDropColumn()	throw(my_SQLException, my_RuntimeException);
116*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsColumnAliasing()				throw(my_SQLException, my_RuntimeException);
117*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL nullPlusNonNullIsNull()				throw(my_SQLException, my_RuntimeException);
118*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsTypeConversion()				throw(my_SQLException, my_RuntimeException);
119*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsConvert(sal_Int32 fromType, sal_Int32 toType)
120*b1cdbd2cSJim Jagielski 																	throw(my_SQLException, my_RuntimeException);
121*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsTableCorrelationNames()		throw(my_SQLException, my_RuntimeException);
122*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsDifferentTableCorrelationNames() throw(my_SQLException, my_RuntimeException);
123*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsExpressionsInOrderBy()		throw(my_SQLException, my_RuntimeException);
124*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsOrderByUnrelated()			throw(my_SQLException, my_RuntimeException);
125*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsGroupBy()						throw(my_SQLException, my_RuntimeException);
126*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsGroupByUnrelated()			throw(my_SQLException, my_RuntimeException);
127*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsGroupByBeyondSelect()			throw(my_SQLException, my_RuntimeException);
128*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsLikeEscapeClause()			throw(my_SQLException, my_RuntimeException);
129*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsMultipleResultSets()			throw(my_SQLException, my_RuntimeException);
130*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsMultipleTransactions()		throw(my_SQLException, my_RuntimeException);
131*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsNonNullableColumns()			throw(my_SQLException, my_RuntimeException);
132*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsMinimumSQLGrammar()			throw(my_SQLException, my_RuntimeException);
133*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCoreSQLGrammar()				throw(my_SQLException, my_RuntimeException);
134*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsExtendedSQLGrammar()			throw(my_SQLException, my_RuntimeException);
135*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsANSI92EntryLevelSQL()			throw(my_SQLException, my_RuntimeException);
136*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsANSI92IntermediateSQL()		throw(my_SQLException, my_RuntimeException);
137*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsANSI92FullSQL()				throw(my_SQLException, my_RuntimeException);
138*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsIntegrityEnhancementFacility()throw(my_SQLException, my_RuntimeException);
139*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsOuterJoins()					throw(my_SQLException, my_RuntimeException);
140*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsFullOuterJoins()				throw(my_SQLException, my_RuntimeException);
141*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsLimitedOuterJoins()			throw(my_SQLException, my_RuntimeException);
142*b1cdbd2cSJim Jagielski             OUString SAL_CALL getSchemaTerm()				throw(my_SQLException, my_RuntimeException);
143*b1cdbd2cSJim Jagielski             OUString SAL_CALL getProcedureTerm()				throw(my_SQLException, my_RuntimeException);
144*b1cdbd2cSJim Jagielski             OUString SAL_CALL getCatalogTerm()				throw(my_SQLException, my_RuntimeException);
145*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL isCatalogAtStart()					throw(my_SQLException, my_RuntimeException);
146*b1cdbd2cSJim Jagielski             OUString SAL_CALL getCatalogSeparator()			throw(my_SQLException, my_RuntimeException);
147*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSchemasInDataManipulation()	throw(my_SQLException, my_RuntimeException);
148*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSchemasInProcedureCalls()		throw(my_SQLException, my_RuntimeException);
149*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSchemasInTableDefinitions()	throw(my_SQLException, my_RuntimeException);
150*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSchemasInIndexDefinitions()	throw(my_SQLException, my_RuntimeException);
151*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSchemasInPrivilegeDefinitions() throw(my_SQLException, my_RuntimeException);
152*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCatalogsInDataManipulation()	throw(my_SQLException, my_RuntimeException);
153*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCatalogsInProcedureCalls()	throw(my_SQLException, my_RuntimeException);
154*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCatalogsInTableDefinitions()	throw(my_SQLException, my_RuntimeException);
155*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCatalogsInIndexDefinitions()	throw(my_SQLException, my_RuntimeException);
156*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCatalogsInPrivilegeDefinitions() throw(my_SQLException, my_RuntimeException);
157*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsPositionedDelete()			throw(my_SQLException, my_RuntimeException);
158*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsPositionedUpdate()			throw(my_SQLException, my_RuntimeException);
159*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSelectForUpdate()				throw(my_SQLException, my_RuntimeException);
160*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsStoredProcedures()			throw(my_SQLException, my_RuntimeException);
161*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSubqueriesInComparisons()		throw(my_SQLException, my_RuntimeException);
162*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSubqueriesInExists()			throw(my_SQLException, my_RuntimeException);
163*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSubqueriesInIns()				throw(my_SQLException, my_RuntimeException);
164*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsSubqueriesInQuantifieds()		throw(my_SQLException, my_RuntimeException);
165*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsCorrelatedSubqueries()		throw(my_SQLException, my_RuntimeException);
166*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsUnion()						throw(my_SQLException, my_RuntimeException);
167*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsUnionAll()					throw(my_SQLException, my_RuntimeException);
168*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsOpenCursorsAcrossCommit()		throw(my_SQLException, my_RuntimeException);
169*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsOpenCursorsAcrossRollback()	throw(my_SQLException, my_RuntimeException);
170*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsOpenStatementsAcrossCommit()	throw(my_SQLException, my_RuntimeException);
171*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsOpenStatementsAcrossRollback() throw(my_SQLException, my_RuntimeException);
172*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxBinaryLiteralLength()			throw(my_SQLException, my_RuntimeException);
173*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxCharLiteralLength()			throw(my_SQLException, my_RuntimeException);
174*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxColumnNameLength()				throw(my_SQLException, my_RuntimeException);
175*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxColumnsInGroupBy()				throw(my_SQLException, my_RuntimeException);
176*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxColumnsInIndex()				throw(my_SQLException, my_RuntimeException);
177*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxColumnsInOrderBy()				throw(my_SQLException, my_RuntimeException);
178*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxColumnsInSelect()				throw(my_SQLException, my_RuntimeException);
179*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxColumnsInTable()				throw(my_SQLException, my_RuntimeException);
180*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxConnections()					throw(my_SQLException, my_RuntimeException);
181*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxCursorNameLength()				throw(my_SQLException, my_RuntimeException);
182*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxIndexLength()					throw(my_SQLException, my_RuntimeException);
183*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxSchemaNameLength()				throw(my_SQLException, my_RuntimeException);
184*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxProcedureNameLength()			throw(my_SQLException, my_RuntimeException);
185*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxCatalogNameLength()			throw(my_SQLException, my_RuntimeException);
186*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxRowSize()						throw(my_SQLException, my_RuntimeException);
187*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL doesMaxRowSizeIncludeBlobs()			throw(my_SQLException, my_RuntimeException);
188*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxStatementLength()				throw(my_SQLException, my_RuntimeException);
189*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxStatements()					throw(my_SQLException, my_RuntimeException);
190*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxTableNameLength()				throw(my_SQLException, my_RuntimeException);
191*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxTablesInSelect()				throw(my_SQLException, my_RuntimeException);
192*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getMaxUserNameLength()				throw(my_SQLException, my_RuntimeException);
193*b1cdbd2cSJim Jagielski             sal_Int32 SAL_CALL getDefaultTransactionIsolation()		throw(my_SQLException, my_RuntimeException);
194*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsTransactions()				throw(my_SQLException, my_RuntimeException);
195*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsTransactionIsolationLevel(sal_Int32 level)
196*b1cdbd2cSJim Jagielski 																	throw(my_SQLException, my_RuntimeException);
197*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsDataDefinitionAndDataManipulationTransactions()
198*b1cdbd2cSJim Jagielski 																	throw(my_SQLException, my_RuntimeException);
199*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsDataManipulationTransactionsOnly()throw(my_SQLException, my_RuntimeException);
200*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL dataDefinitionCausesTransactionCommit()	throw(my_SQLException, my_RuntimeException);
201*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL dataDefinitionIgnoredInTransactions()		throw(my_SQLException, my_RuntimeException);
202*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getProcedures(const Any& catalog, const OUString& schemaPattern, const OUString& procedureNamePattern) throw(my_SQLException, my_RuntimeException);
203*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getProcedureColumns(const Any& catalog, const OUString& schemaPattern, const OUString& procedureNamePattern, const OUString& columnNamePattern) throw(my_SQLException, my_RuntimeException);
204*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getTables(const Any& catalog, const OUString& schemaPattern, const OUString& tableNamePattern, const ::com::sun::star::uno::Sequence< OUString >& types) throw(my_SQLException, my_RuntimeException);
205*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getSchemas() throw(my_SQLException, my_RuntimeException);
206*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getCatalogs() throw(my_SQLException, my_RuntimeException);
207*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getTableTypes() throw(my_SQLException, my_RuntimeException);
208*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getColumns(const Any& catalog, const OUString& schemaPattern, const OUString& tableNamePattern, const OUString& columnNamePattern) throw(my_SQLException, my_RuntimeException);
209*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getColumnPrivileges(const Any& catalog, const OUString& schema, const OUString& table, const OUString& columnNamePattern) throw(my_SQLException, my_RuntimeException);
210*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getTablePrivileges(const Any& catalog, const OUString& schemaPattern, const OUString& tableNamePattern) throw(my_SQLException, my_RuntimeException);
211*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getBestRowIdentifier(const Any& catalog, const OUString& schema, const OUString& table, sal_Int32 scope, sal_Bool nullable) throw(my_SQLException, my_RuntimeException);
212*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getVersionColumns(const Any& catalog, const OUString& schema, const OUString& table) throw(my_SQLException, my_RuntimeException);
213*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getPrimaryKeys(const Any& catalog, const OUString& schema, const OUString& table) throw(my_SQLException, my_RuntimeException);
214*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getImportedKeys(const Any& catalog, const OUString& schema, const OUString& table) throw(my_SQLException, my_RuntimeException);
215*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getExportedKeys(const Any& catalog, const OUString& schema, const OUString& table) throw(my_SQLException, my_RuntimeException);
216*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getCrossReference(const Any& primaryCatalog, const OUString& primarySchema, const OUString& primaryTable, const Any& foreignCatalog, const OUString& foreignSchema, const OUString& foreignTable) throw(my_SQLException, my_RuntimeException);
217*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getTypeInfo() throw(my_SQLException, my_RuntimeException);
218*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getIndexInfo(const Any& catalog, const OUString& schema, const OUString& table, sal_Bool unique, sal_Bool approximate) throw(my_SQLException, my_RuntimeException);
219*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsResultSetType(sal_Int32 setType) throw(my_SQLException, my_RuntimeException);
220*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsResultSetConcurrency(sal_Int32 setType, sal_Int32 concurrency) throw(my_SQLException, my_RuntimeException);
221*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL ownUpdatesAreVisible(sal_Int32 setType)	throw(my_SQLException, my_RuntimeException);
222*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL ownDeletesAreVisible(sal_Int32 setType)	throw(my_SQLException, my_RuntimeException);
223*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL ownInsertsAreVisible(sal_Int32 setType)	throw(my_SQLException, my_RuntimeException);
224*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL othersUpdatesAreVisible(sal_Int32 setType)throw(my_SQLException, my_RuntimeException);
225*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL othersDeletesAreVisible(sal_Int32 setType)throw(my_SQLException, my_RuntimeException);
226*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL othersInsertsAreVisible(sal_Int32 setType)throw(my_SQLException, my_RuntimeException);
227*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL updatesAreDetected(sal_Int32 setType)		throw(my_SQLException, my_RuntimeException);
228*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL deletesAreDetected(sal_Int32 setType)		throw(my_SQLException, my_RuntimeException);
229*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL insertsAreDetected(sal_Int32 setType)		throw(my_SQLException, my_RuntimeException);
230*b1cdbd2cSJim Jagielski             sal_Bool SAL_CALL supportsBatchUpdates() throw(my_SQLException, my_RuntimeException);
231*b1cdbd2cSJim Jagielski             my_XResultSetRef SAL_CALL getUDTs(const Any& catalog, const OUString& schemaPattern, const OUString& typeNamePattern, const ::com::sun::star::uno::Sequence< sal_Int32 >& types) throw(my_SQLException, my_RuntimeException);
232*b1cdbd2cSJim Jagielski             ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL getConnection() throw(my_SQLException, my_RuntimeException);
233*b1cdbd2cSJim Jagielski 		};
234*b1cdbd2cSJim Jagielski 	}
235*b1cdbd2cSJim Jagielski }
236*b1cdbd2cSJim Jagielski 
237*b1cdbd2cSJim Jagielski #endif // CONNECTIVITY_SDATABASEMETADATA_HXX
238