Bump for 3.6-28
[LibreOffice.git] / connectivity / source / drivers / file / FDatabaseMetaData.cxx
blob6ae185edb68efa643357938df2ed69b3aa6ea988
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #include "file/FDatabaseMetaData.hxx"
30 #include "FDatabaseMetaDataResultSet.hxx"
31 #include <com/sun/star/sdbc/DataType.hpp>
32 #include <com/sun/star/sdbc/ResultSetType.hpp>
33 #include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
34 #include <com/sun/star/ucb/SearchRecursion.hpp>
35 #include <com/sun/star/ucb/SearchCommandArgument.hpp>
36 #include <com/sun/star/ucb/XSortedDynamicResultSetFactory.hpp>
37 #include <com/sun/star/ucb/XContentProvider.hpp>
38 #include <com/sun/star/lang/XUnoTunnel.hpp>
39 #include <tools/urlobj.hxx>
40 #include "file/FDriver.hxx"
41 #include "file/FTable.hxx"
42 #include <comphelper/extract.hxx>
43 #include <ucbhelper/content.hxx>
44 #include <ucbhelper/contentbroker.hxx>
45 #include <tools/debug.hxx>
46 #include <rtl/logfile.hxx>
49 using namespace com::sun::star::ucb;
50 using namespace connectivity::file;
51 using namespace connectivity;
52 using namespace com::sun::star::uno;
53 using namespace com::sun::star::lang;
54 using namespace com::sun::star::beans;
55 using namespace com::sun::star::sdbc;
56 using namespace com::sun::star::sdbcx;
57 using namespace com::sun::star::lang;
58 using namespace com::sun::star::container;
60 DBG_NAME( file_ODatabaseMetaData )
61 ODatabaseMetaData::ODatabaseMetaData(OConnection* _pCon) : ::connectivity::ODatabaseMetaDataBase(_pCon,_pCon->getConnectionInfo())
62 ,m_pConnection(_pCon)
64 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ODatabaseMetaData" );
65 DBG_CTOR( file_ODatabaseMetaData, NULL );
67 // -------------------------------------------------------------------------
68 ODatabaseMetaData::~ODatabaseMetaData()
70 DBG_DTOR( file_ODatabaseMetaData, NULL );
72 // -------------------------------------------------------------------------
73 Reference< XResultSet > ODatabaseMetaData::impl_getTypeInfo_throw( )
75 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getTypeInfo_throw" );
76 return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTypeInfo );
78 // -------------------------------------------------------------------------
79 ::rtl::OUString ODatabaseMetaData::impl_getCatalogSeparator_throw( )
81 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getCatalogSeparator_throw" );
82 return ::rtl::OUString();
84 // -------------------------------------------------------------------------
85 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getColumns(
86 const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& /*tableNamePattern*/,
87 const ::rtl::OUString& /*columnNamePattern*/ ) throw(SQLException, RuntimeException)
89 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getColumns" );
90 OSL_FAIL("Should be overloaded!");
91 return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eColumns );
94 // -------------------------------------------------------------------------
95 namespace
97 sal_Int16 isCaseSensitiveParentFolder( const String& _rFolderOrDoc, const String& _rDocName )
99 sal_Int16 nIsCS = 1;
102 // first get the real content for the URL
103 INetURLObject aContentURL( _rFolderOrDoc );
104 ::ucbhelper::Content aContent1;
106 ::ucbhelper::Content aFolderOrDoc( _rFolderOrDoc, Reference< XCommandEnvironment >() );
107 if ( aFolderOrDoc.isDocument() )
108 aContent1 = aFolderOrDoc;
109 else
111 aContentURL = INetURLObject( _rFolderOrDoc, INetURLObject::WAS_ENCODED );
112 aContentURL.Append( _rDocName );
113 aContent1 = ::ucbhelper::Content( aContentURL.GetMainURL( INetURLObject::NO_DECODE ), Reference< XCommandEnvironment >() );
117 // get two extensions which differ by case only
118 String sExtension1 = aContentURL.getExtension();
119 String sExtension2( sExtension1 );
120 sExtension2.ToLowerAscii();
121 if ( sExtension2 == sExtension1 )
122 // the extension was already in lower case
123 sExtension2.ToUpperAscii();
125 // the complete URL for the second extension
126 INetURLObject aURL2( aContentURL );
127 if ( sExtension2.Len() )
128 aURL2.SetExtension( sExtension2 );
129 if ( aURL2.GetMainURL(INetURLObject::NO_DECODE) == aContentURL.GetMainURL(INetURLObject::NO_DECODE) )
130 return -1;
132 // the second context
133 sal_Bool bCanAccess = sal_False;
134 ::ucbhelper::Content aContent2;
137 aContent2 = ::ucbhelper::Content( aURL2.GetMainURL( INetURLObject::NO_DECODE ), Reference< XCommandEnvironment >() );
138 bCanAccess = aContent2.isDocument();
140 catch( const Exception& )
144 if ( bCanAccess )
146 // here we have two contents whose URLs differ by case only.
147 // Now let's check if both really refer to the same object ....
148 Reference< XContent > xContent1 = aContent1.get();
149 Reference< XContent > xContent2 = aContent2.get();
150 OSL_ENSURE( xContent1.is() && xContent2.is(), "isCaseSensitiveParentFolder: invalid content interfaces!" );
151 if ( xContent1.is() && xContent2.is() )
153 Reference< XContentIdentifier > xID1 = xContent1->getIdentifier();
154 Reference< XContentIdentifier > xID2 = xContent2->getIdentifier();
155 OSL_ENSURE( xID1.is() && xID2.is(), "isCaseSensitiveParentFolder: invalid ID interfaces!" );
156 if ( xID1.is() && xID2.is() )
158 // get a generic content provider
159 ::ucbhelper::ContentBroker* pBroker = ::ucbhelper::ContentBroker::get();
160 Reference< XContentProvider > xProvider;
161 if ( pBroker )
162 xProvider = pBroker->getContentProviderInterface();
163 OSL_ENSURE( xProvider.is(), "isCaseSensitiveParentFolder: invalid content broker!" );
164 if ( xProvider.is() )
166 if ( 0 == xProvider->compareContentIds( xID1, xID2 ) )
167 // finally, we know that the folder is not case-sensitive ....
168 nIsCS = 0;
174 catch( const Exception& )
176 OSL_FAIL( "isCaseSensitiveParentFolder: caught an unexpected exception!" );
179 return nIsCS;
183 // -------------------------------------------------------------------------
184 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
185 const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/,
186 const ::rtl::OUString& tableNamePattern, const Sequence< ::rtl::OUString >& types ) throw(SQLException, RuntimeException)
188 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTables" );
189 ::osl::MutexGuard aGuard( m_aMutex );
192 ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTables );
193 Reference< XResultSet > xRef = pResult;
195 // check if any type is given
196 // when no types are given then we have to return all tables e.g. TABLE
198 static const ::rtl::OUString aTable("TABLE");
200 sal_Bool bTableFound = sal_True;
201 sal_Int32 nLength = types.getLength();
202 if(nLength)
204 bTableFound = sal_False;
206 const ::rtl::OUString* pBegin = types.getConstArray();
207 const ::rtl::OUString* pEnd = pBegin + nLength;
208 for(;pBegin != pEnd;++pBegin)
210 if(*pBegin == aTable)
212 bTableFound = sal_True;
213 break;
217 if(!bTableFound)
218 return xRef;
220 Reference<XDynamicResultSet> xContent = m_pConnection->getDir();
221 Reference < XSortedDynamicResultSetFactory > xSRSFac(
222 m_pConnection->getDriver()->getFactory()->createInstance( ::rtl::OUString("com.sun.star.ucb.SortedDynamicResultSetFactory") ), UNO_QUERY );
224 Sequence< NumberedSortingInfo > aSortInfo( 1 );
225 NumberedSortingInfo* pInfo = aSortInfo.getArray();
226 pInfo[ 0 ].ColumnIndex = 1;
227 pInfo[ 0 ].Ascending = sal_True;
229 Reference < XAnyCompareFactory > xFactory;
230 Reference< XDynamicResultSet > xDynamicResultSet;
231 xDynamicResultSet = xSRSFac->createSortedDynamicResultSet( xContent, aSortInfo, xFactory );
232 Reference<XResultSet> xResultSet = xDynamicResultSet->getStaticResultSet();
234 Reference<XRow> xRow(xResultSet,UNO_QUERY);
236 String aFilenameExtension = m_pConnection->getExtension();
237 String sThisContentExtension;
238 ODatabaseMetaDataResultSet::ORows aRows;
239 // scan the directory for tables
240 ::rtl::OUString aName;
241 INetURLObject aURL;
242 xResultSet->beforeFirst();
244 sal_Bool bKnowCaseSensivity = sal_False;
245 sal_Bool bCaseSensitiveDir = sal_True;
246 sal_Bool bCheckEnabled = m_pConnection->isCheckEnabled();
248 while(xResultSet->next())
250 aName = xRow->getString(1);
251 aURL.SetSmartProtocol(INET_PROT_FILE);
252 String sUrl = m_pConnection->getURL() + ::rtl::OUString("/") + aName;
253 aURL.SetSmartURL( sUrl );
254 sThisContentExtension = aURL.getExtension();
256 ODatabaseMetaDataResultSet::ORow aRow(3);
257 aRow.reserve(6);
258 sal_Bool bNewRow = sal_False;
260 if ( !bKnowCaseSensivity )
262 bKnowCaseSensivity = sal_True;
263 sal_Int16 nCase = isCaseSensitiveParentFolder( m_pConnection->getURL(), aURL.getName() );
264 switch( nCase )
266 case 1:
267 bCaseSensitiveDir = sal_True;
268 break;
269 case -1:
270 bKnowCaseSensivity = sal_False;
271 /** run through */
272 case 0:
273 bCaseSensitiveDir = sal_False;
275 if ( bKnowCaseSensivity )
277 m_pConnection->setCaseSensitiveExtension( bCaseSensitiveDir, OConnection::GrantAccess() );
278 if ( !bCaseSensitiveDir )
279 aFilenameExtension.ToLowerAscii();
283 if (aFilenameExtension.Len())
285 if ( !bCaseSensitiveDir )
286 sThisContentExtension.ToLowerAscii();
288 if ( sThisContentExtension == aFilenameExtension )
290 aName = aName.replaceAt(aName.getLength()-(aFilenameExtension.Len()+1),aFilenameExtension.Len()+1,::rtl::OUString());
291 sal_Unicode nChar = aName.toChar();
292 if ( match(tableNamePattern,aName,'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) )
294 aRow.push_back(new ORowSetValueDecorator(aName));
295 bNewRow = sal_True;
299 else // no extension, filter myself
301 sal_Bool bErg = sal_False;
304 if (aURL.getExtension().isEmpty())
306 sal_Unicode nChar = aURL.getBase().getStr()[0];
307 if(match(tableNamePattern,aURL.getBase(),'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) )
309 aRow.push_back(new ORowSetValueDecorator(::rtl::OUString(aURL.getBase())));
310 bNewRow = sal_True;
312 break;
314 else if ( ( bErg = xResultSet->next() ) != sal_False )
316 aName = xRow->getString(1);
317 aURL.SetSmartURL(aName);
319 } while (bErg);
321 if(bNewRow)
323 aRow.push_back(new ORowSetValueDecorator(aTable));
324 aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue());
326 aRows.push_back(aRow);
330 pResult->setRows(aRows);
332 return xRef;
334 // -------------------------------------------------------------------------
335 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxBinaryLiteralLength( ) throw(SQLException, RuntimeException)
337 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxBinaryLiteralLength" );
338 return 0;
340 // -------------------------------------------------------------------------
341 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxRowSize( ) throw(SQLException, RuntimeException)
343 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxRowSize" );
344 return 0;
346 // -------------------------------------------------------------------------
347 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCatalogNameLength( ) throw(SQLException, RuntimeException)
349 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxCatalogNameLength" );
350 return 0;
352 // -------------------------------------------------------------------------
353 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCharLiteralLength( ) throw(SQLException, RuntimeException)
355 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxCharLiteralLength" );
356 return STRING_MAXLEN;
358 // -------------------------------------------------------------------------
359 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnNameLength( ) throw(SQLException, RuntimeException)
361 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnNameLength" );
362 return 0;
364 // -------------------------------------------------------------------------
365 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInIndex( ) throw(SQLException, RuntimeException)
367 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInIndex" );
368 return 0;
370 // -------------------------------------------------------------------------
371 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCursorNameLength( ) throw(SQLException, RuntimeException)
373 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxCursorNameLength" );
374 return 0;
376 // -------------------------------------------------------------------------
377 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxConnections( ) throw(SQLException, RuntimeException)
379 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxConnections" );
380 return 0;
382 // -------------------------------------------------------------------------
383 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInTable( ) throw(SQLException, RuntimeException)
385 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInTable" );
386 return 0;
388 // -------------------------------------------------------------------------
389 sal_Int32 ODatabaseMetaData::impl_getMaxStatements_throw( )
391 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getMaxStatements_throw" );
392 return 0;
394 // -------------------------------------------------------------------------
395 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxTableNameLength( ) throw(SQLException, RuntimeException)
397 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxTableNameLength" );
398 return 0;
400 // -------------------------------------------------------------------------
401 sal_Int32 ODatabaseMetaData::impl_getMaxTablesInSelect_throw( )
403 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getMaxTablesInSelect_throw" );
404 return 1;
406 // -------------------------------------------------------------------------
407 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTablePrivileges(
408 const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& tableNamePattern ) throw(SQLException, RuntimeException)
410 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTablePrivileges" );
411 ::osl::MutexGuard aGuard( m_aMutex );
413 ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTablePrivileges );
414 Reference< XResultSet > xRef = pResult;
415 ODatabaseMetaDataResultSet::ORows aRows;
418 Reference< XTablesSupplier > xTabSup = m_pConnection->createCatalog();
419 if( xTabSup.is())
421 Reference< XNameAccess> xNames = xTabSup->getTables();
422 Sequence< ::rtl::OUString > aNames = xNames->getElementNames();
423 const ::rtl::OUString* pBegin = aNames.getConstArray();
424 const ::rtl::OUString* pEnd = pBegin + aNames.getLength();
425 for(;pBegin != pEnd;++pBegin)
427 if(match(tableNamePattern,*pBegin,'\0'))
429 static ODatabaseMetaDataResultSet::ORow aRow(8);
431 aRow[2] = new ORowSetValueDecorator(*pBegin);
432 aRow[6] = ODatabaseMetaDataResultSet::getSelectValue();
433 aRow[7] = new ORowSetValueDecorator(::rtl::OUString("NO"));
434 aRows.push_back(aRow);
436 Reference< XPropertySet> xTable;
437 ::cppu::extractInterface(xTable,xNames->getByName(*pBegin));
438 if(xTable.is())
440 Reference<XUnoTunnel> xTunnel(xTable,UNO_QUERY);
441 if(xTunnel.is())
443 OFileTable* pTable = reinterpret_cast< OFileTable* >( xTunnel->getSomething(OFileTable::getUnoTunnelImplementationId()) );
444 if(pTable)
446 if(!pTable->isReadOnly())
448 aRow[6] = ODatabaseMetaDataResultSet::getInsertValue();
449 aRows.push_back(aRow);
450 if(!m_pConnection->showDeleted())
452 aRow[6] = ODatabaseMetaDataResultSet::getDeleteValue();
453 aRows.push_back(aRow);
455 aRow[6] = ODatabaseMetaDataResultSet::getUpdateValue();
456 aRows.push_back(aRow);
457 aRow[6] = ODatabaseMetaDataResultSet::getCreateValue();
458 aRows.push_back(aRow);
459 aRow[6] = ODatabaseMetaDataResultSet::getReadValue();
460 aRows.push_back(aRow);
461 aRow[6] = ODatabaseMetaDataResultSet::getAlterValue();
462 aRows.push_back(aRow);
463 aRow[6] = ODatabaseMetaDataResultSet::getDropValue();
464 aRows.push_back(aRow);
473 pResult->setRows(aRows);
474 return xRef;
476 // -------------------------------------------------------------------------
477 sal_Bool SAL_CALL ODatabaseMetaData::doesMaxRowSizeIncludeBlobs( ) throw(SQLException, RuntimeException)
479 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::doesMaxRowSizeIncludeBlobs" );
480 return sal_True;
482 // -------------------------------------------------------------------------
483 sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
485 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesLowerCaseQuotedIdentifiers" );
486 return sal_False;
488 // -------------------------------------------------------------------------
489 sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseIdentifiers( ) throw(SQLException, RuntimeException)
491 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesLowerCaseIdentifiers" );
492 return sal_False;
494 // -------------------------------------------------------------------------
495 sal_Bool ODatabaseMetaData::impl_storesMixedCaseQuotedIdentifiers_throw( )
497 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_storesMixedCaseQuotedIdentifiers_throw" );
498 return sal_False;
500 // -------------------------------------------------------------------------
501 sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseIdentifiers( ) throw(SQLException, RuntimeException)
503 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesMixedCaseIdentifiers" );
504 return sal_False;
506 // -------------------------------------------------------------------------
507 sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
509 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesUpperCaseQuotedIdentifiers" );
510 return sal_False;
512 // -------------------------------------------------------------------------
513 sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseIdentifiers( ) throw(SQLException, RuntimeException)
515 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesUpperCaseIdentifiers" );
516 return sal_False;
518 // -------------------------------------------------------------------------
519 sal_Bool ODatabaseMetaData::impl_supportsAlterTableWithAddColumn_throw( )
521 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsAlterTableWithAddColumn_throw" );
522 return sal_False;
524 // -------------------------------------------------------------------------
525 sal_Bool ODatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw( )
527 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw" );
528 return sal_False;
530 // -------------------------------------------------------------------------
531 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxIndexLength( ) throw(SQLException, RuntimeException)
533 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxIndexLength" );
534 return 0;
536 // -------------------------------------------------------------------------
537 sal_Bool SAL_CALL ODatabaseMetaData::supportsNonNullableColumns( ) throw(SQLException, RuntimeException)
539 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsNonNullableColumns" );
540 return sal_False;
542 // -------------------------------------------------------------------------
543 ::rtl::OUString SAL_CALL ODatabaseMetaData::getCatalogTerm( ) throw(SQLException, RuntimeException)
545 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getCatalogTerm" );
546 return ::rtl::OUString();
548 // -------------------------------------------------------------------------
549 ::rtl::OUString ODatabaseMetaData::impl_getIdentifierQuoteString_throw( )
551 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getIdentifierQuoteString_throw" );
552 static const ::rtl::OUString sQuote("\"");
553 return sQuote;
555 // -------------------------------------------------------------------------
556 ::rtl::OUString SAL_CALL ODatabaseMetaData::getExtraNameCharacters( ) throw(SQLException, RuntimeException)
558 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getExtraNameCharacters" );
559 return ::rtl::OUString();
561 // -------------------------------------------------------------------------
562 sal_Bool SAL_CALL ODatabaseMetaData::supportsDifferentTableCorrelationNames( ) throw(SQLException, RuntimeException)
564 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsDifferentTableCorrelationNames" );
565 return sal_True;
567 // -------------------------------------------------------------------------
568 sal_Bool ODatabaseMetaData::impl_isCatalogAtStart_throw( )
570 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_isCatalogAtStart_throw" );
571 return sal_True;
573 // -------------------------------------------------------------------------
574 sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw(SQLException, RuntimeException)
576 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::dataDefinitionIgnoredInTransactions" );
577 return sal_True;
579 // -------------------------------------------------------------------------
580 sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionCausesTransactionCommit( ) throw(SQLException, RuntimeException)
582 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::dataDefinitionCausesTransactionCommit" );
583 return sal_True;
585 // -------------------------------------------------------------------------
586 sal_Bool SAL_CALL ODatabaseMetaData::supportsDataManipulationTransactionsOnly( ) throw(SQLException, RuntimeException)
588 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsDataManipulationTransactionsOnly" );
589 return sal_False;
591 // -------------------------------------------------------------------------
592 sal_Bool SAL_CALL ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions( ) throw(SQLException, RuntimeException)
594 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions" );
595 return sal_False;
597 // -------------------------------------------------------------------------
598 sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedDelete( ) throw(SQLException, RuntimeException)
600 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsPositionedDelete" );
601 return sal_False;
603 // -------------------------------------------------------------------------
604 sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedUpdate( ) throw(SQLException, RuntimeException)
606 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsPositionedUpdate" );
607 return sal_False;
609 // -------------------------------------------------------------------------
610 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossRollback( ) throw(SQLException, RuntimeException)
612 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenStatementsAcrossRollback" );
613 return sal_False;
615 // -------------------------------------------------------------------------
616 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossCommit( ) throw(SQLException, RuntimeException)
618 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenStatementsAcrossCommit" );
619 return sal_False;
621 // -------------------------------------------------------------------------
622 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenCursorsAcrossCommit( ) throw(SQLException, RuntimeException)
624 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenCursorsAcrossCommit" );
625 return sal_False;
627 // -------------------------------------------------------------------------
628 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenCursorsAcrossRollback( ) throw(SQLException, RuntimeException)
630 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenCursorsAcrossRollback" );
631 return sal_False;
633 // -------------------------------------------------------------------------
634 sal_Bool SAL_CALL ODatabaseMetaData::supportsTransactionIsolationLevel( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException)
636 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTransactionIsolationLevel" );
637 return sal_False;
639 // -------------------------------------------------------------------------
640 sal_Bool ODatabaseMetaData::impl_supportsSchemasInDataManipulation_throw( )
642 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsSchemasInDataManipulation_throw" );
643 return sal_False;
645 // -------------------------------------------------------------------------
646 sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92FullSQL( ) throw(SQLException, RuntimeException)
648 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsANSI92FullSQL" );
649 return sal_False;
651 // -------------------------------------------------------------------------
652 sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92EntryLevelSQL( ) throw(SQLException, RuntimeException)
654 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsANSI92EntryLevelSQL" );
655 return sal_False;
657 // -------------------------------------------------------------------------
658 sal_Bool SAL_CALL ODatabaseMetaData::supportsIntegrityEnhancementFacility( ) throw(SQLException, RuntimeException)
660 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsIntegrityEnhancementFacility" );
661 return sal_False;
663 // -------------------------------------------------------------------------
664 sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInIndexDefinitions( ) throw(SQLException, RuntimeException)
666 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSchemasInIndexDefinitions" );
667 return sal_False;
669 // -------------------------------------------------------------------------
670 sal_Bool ODatabaseMetaData::impl_supportsSchemasInTableDefinitions_throw( )
672 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsSchemasInTableDefinitions_throw" );
673 return sal_False;
675 // -------------------------------------------------------------------------
676 sal_Bool ODatabaseMetaData::impl_supportsCatalogsInTableDefinitions_throw( )
678 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsCatalogsInTableDefinitions_throw" );
679 return sal_False;
681 // -------------------------------------------------------------------------
682 sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInIndexDefinitions( ) throw(SQLException, RuntimeException)
684 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCatalogsInIndexDefinitions" );
685 return sal_False;
687 // -------------------------------------------------------------------------
688 sal_Bool ODatabaseMetaData::impl_supportsCatalogsInDataManipulation_throw( )
690 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsCatalogsInDataManipulation_throw" );
691 return sal_False;
693 // -------------------------------------------------------------------------
694 sal_Bool SAL_CALL ODatabaseMetaData::supportsOuterJoins( ) throw(SQLException, RuntimeException)
696 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOuterJoins" );
697 return sal_False;
699 // -------------------------------------------------------------------------
700 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTableTypes( ) throw(SQLException, RuntimeException)
702 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTableTypes" );
703 ::osl::MutexGuard aGuard( m_aMutex );
705 ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTableTypes );
706 Reference< XResultSet > xRef = pResult;
707 static ODatabaseMetaDataResultSet::ORows aRows;
708 if(aRows.empty())
710 ODatabaseMetaDataResultSet::ORow aRow;
711 aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue());
712 aRow.push_back(new ORowSetValueDecorator(::rtl::OUString("TABLE")));
713 aRows.push_back(aRow);
715 pResult->setRows(aRows);
716 return xRef;
718 // -------------------------------------------------------------------------
719 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxStatementLength( ) throw(SQLException, RuntimeException)
721 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxStatementLength" );
722 return 0;
724 // -------------------------------------------------------------------------
725 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxProcedureNameLength( ) throw(SQLException, RuntimeException)
727 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxProcedureNameLength" );
728 return 0;
730 // -------------------------------------------------------------------------
731 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxSchemaNameLength( ) throw(SQLException, RuntimeException)
733 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxSchemaNameLength" );
734 return 0;
736 // -------------------------------------------------------------------------
737 sal_Bool SAL_CALL ODatabaseMetaData::supportsTransactions( ) throw(SQLException, RuntimeException)
739 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTransactions" );
740 return sal_False;
742 // -------------------------------------------------------------------------
743 sal_Bool SAL_CALL ODatabaseMetaData::allProceduresAreCallable( ) throw(SQLException, RuntimeException)
745 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::allProceduresAreCallable" );
746 return sal_False;
748 // -------------------------------------------------------------------------
749 sal_Bool SAL_CALL ODatabaseMetaData::supportsStoredProcedures( ) throw(SQLException, RuntimeException)
751 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsStoredProcedures" );
752 return sal_False;
754 // -------------------------------------------------------------------------
755 sal_Bool SAL_CALL ODatabaseMetaData::supportsSelectForUpdate( ) throw(SQLException, RuntimeException)
757 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSelectForUpdate" );
758 return sal_False;
760 // -------------------------------------------------------------------------
761 sal_Bool SAL_CALL ODatabaseMetaData::allTablesAreSelectable( ) throw(SQLException, RuntimeException)
763 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::allTablesAreSelectable" );
764 return sal_True;
766 // -------------------------------------------------------------------------
767 sal_Bool SAL_CALL ODatabaseMetaData::isReadOnly( ) throw(SQLException, RuntimeException)
769 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::isReadOnly" );
770 return sal_True;
772 // -------------------------------------------------------------------------
773 sal_Bool SAL_CALL ODatabaseMetaData::usesLocalFiles( ) throw(SQLException, RuntimeException)
775 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::usesLocalFiles" );
776 return sal_True;
778 // -------------------------------------------------------------------------
779 sal_Bool SAL_CALL ODatabaseMetaData::usesLocalFilePerTable( ) throw(SQLException, RuntimeException)
781 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::usesLocalFilePerTable" );
782 return sal_True;
784 // -------------------------------------------------------------------------
785 sal_Bool SAL_CALL ODatabaseMetaData::supportsTypeConversion( ) throw(SQLException, RuntimeException)
787 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTypeConversion" );
788 return sal_False;
790 // -------------------------------------------------------------------------
791 sal_Bool SAL_CALL ODatabaseMetaData::nullPlusNonNullIsNull( ) throw(SQLException, RuntimeException)
793 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullPlusNonNullIsNull" );
794 return sal_True;
796 // -------------------------------------------------------------------------
797 sal_Bool SAL_CALL ODatabaseMetaData::supportsColumnAliasing( ) throw(SQLException, RuntimeException)
799 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsColumnAliasing" );
800 return sal_True;
802 // -------------------------------------------------------------------------
803 sal_Bool SAL_CALL ODatabaseMetaData::supportsTableCorrelationNames( ) throw(SQLException, RuntimeException)
805 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTableCorrelationNames" );
806 return sal_True;
808 // -------------------------------------------------------------------------
809 sal_Bool SAL_CALL ODatabaseMetaData::supportsConvert( sal_Int32 /*fromType*/, sal_Int32 /*toType*/ ) throw(SQLException, RuntimeException)
811 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsConvert" );
812 return sal_False;
814 // -------------------------------------------------------------------------
815 sal_Bool SAL_CALL ODatabaseMetaData::supportsExpressionsInOrderBy( ) throw(SQLException, RuntimeException)
817 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsExpressionsInOrderBy" );
818 return sal_False;
820 // -------------------------------------------------------------------------
821 sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupBy( ) throw(SQLException, RuntimeException)
823 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsGroupBy" );
824 return sal_False;
826 // -------------------------------------------------------------------------
827 sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupByBeyondSelect( ) throw(SQLException, RuntimeException)
829 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsGroupByBeyondSelect" );
830 return sal_False;
832 // -------------------------------------------------------------------------
833 sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupByUnrelated( ) throw(SQLException, RuntimeException)
835 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsGroupByUnrelated" );
836 return sal_False;
838 // -------------------------------------------------------------------------
839 sal_Bool SAL_CALL ODatabaseMetaData::supportsMultipleTransactions( ) throw(SQLException, RuntimeException)
841 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMultipleTransactions" );
842 return sal_False;
844 // -------------------------------------------------------------------------
845 sal_Bool SAL_CALL ODatabaseMetaData::supportsMultipleResultSets( ) throw(SQLException, RuntimeException)
847 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMultipleResultSets" );
848 return sal_False;
850 // -------------------------------------------------------------------------
851 sal_Bool SAL_CALL ODatabaseMetaData::supportsLikeEscapeClause( ) throw(SQLException, RuntimeException)
853 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsLikeEscapeClause" );
854 return sal_False;
856 // -------------------------------------------------------------------------
857 sal_Bool SAL_CALL ODatabaseMetaData::supportsOrderByUnrelated( ) throw(SQLException, RuntimeException)
859 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOrderByUnrelated" );
860 return sal_True;
862 // -------------------------------------------------------------------------
863 sal_Bool SAL_CALL ODatabaseMetaData::supportsUnion( ) throw(SQLException, RuntimeException)
865 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsUnion" );
866 return sal_False;
868 // -------------------------------------------------------------------------
869 sal_Bool SAL_CALL ODatabaseMetaData::supportsUnionAll( ) throw(SQLException, RuntimeException)
871 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsUnionAll" );
872 return sal_False;
874 // -------------------------------------------------------------------------
875 sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseIdentifiers( ) throw(SQLException, RuntimeException)
877 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMixedCaseIdentifiers" );
878 return sal_True;
880 // -------------------------------------------------------------------------
881 sal_Bool ODatabaseMetaData::impl_supportsMixedCaseQuotedIdentifiers_throw( )
883 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsMixedCaseQuotedIdentifiers_throw" );
884 return sal_False;
886 // -------------------------------------------------------------------------
887 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtEnd( ) throw(SQLException, RuntimeException)
889 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedAtEnd" );
890 return sal_False;
892 // -------------------------------------------------------------------------
893 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtStart( ) throw(SQLException, RuntimeException)
895 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedAtStart" );
896 return sal_True;
898 // -------------------------------------------------------------------------
899 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedHigh( ) throw(SQLException, RuntimeException)
901 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedHigh" );
902 return sal_False;
904 // -------------------------------------------------------------------------
905 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedLow( ) throw(SQLException, RuntimeException)
907 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedLow" );
908 return sal_True;
910 // -------------------------------------------------------------------------
911 sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInProcedureCalls( ) throw(SQLException, RuntimeException)
913 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSchemasInProcedureCalls" );
914 return sal_False;
916 // -------------------------------------------------------------------------
917 sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInPrivilegeDefinitions( ) throw(SQLException, RuntimeException)
919 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSchemasInPrivilegeDefinitions" );
920 return sal_False;
922 // -------------------------------------------------------------------------
923 sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInProcedureCalls( ) throw(SQLException, RuntimeException)
925 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCatalogsInProcedureCalls" );
926 return sal_False;
928 // -------------------------------------------------------------------------
929 sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInPrivilegeDefinitions( ) throw(SQLException, RuntimeException)
931 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCatalogsInPrivilegeDefinitions" );
932 return sal_False;
934 // -------------------------------------------------------------------------
935 sal_Bool SAL_CALL ODatabaseMetaData::supportsCorrelatedSubqueries( ) throw(SQLException, RuntimeException)
937 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCorrelatedSubqueries" );
938 return sal_False;
940 // -------------------------------------------------------------------------
941 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInComparisons( ) throw(SQLException, RuntimeException)
943 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInComparisons" );
944 return sal_False;
946 // -------------------------------------------------------------------------
947 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInExists( ) throw(SQLException, RuntimeException)
949 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInExists" );
950 return sal_False;
952 // -------------------------------------------------------------------------
953 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInIns( ) throw(SQLException, RuntimeException)
955 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInIns" );
956 return sal_False;
958 // -------------------------------------------------------------------------
959 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInQuantifieds( ) throw(SQLException, RuntimeException)
961 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInQuantifieds" );
962 return sal_False;
964 // -------------------------------------------------------------------------
965 sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92IntermediateSQL( ) throw(SQLException, RuntimeException)
967 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsANSI92IntermediateSQL" );
968 return sal_False;
970 // -------------------------------------------------------------------------
971 ::rtl::OUString SAL_CALL ODatabaseMetaData::getURL( ) throw(SQLException, RuntimeException)
973 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getURL" );
974 static const ::rtl::OUString aValue( "sdbc:file:" );
975 return aValue;
977 // -------------------------------------------------------------------------
978 ::rtl::OUString SAL_CALL ODatabaseMetaData::getUserName( ) throw(SQLException, RuntimeException)
980 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getUserName" );
981 return ::rtl::OUString();
983 // -------------------------------------------------------------------------
984 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDriverName( ) throw(SQLException, RuntimeException)
986 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverName" );
987 return ::rtl::OUString();
989 // -------------------------------------------------------------------------
990 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDriverVersion( ) throw(SQLException, RuntimeException)
992 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverVersion" );
993 return ::rtl::OUString::valueOf((sal_Int32)1);
995 // -------------------------------------------------------------------------
996 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDatabaseProductVersion( ) throw(SQLException, RuntimeException)
998 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDatabaseProductVersion" );
999 return ::rtl::OUString::valueOf((sal_Int32)0);
1001 // -------------------------------------------------------------------------
1002 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDatabaseProductName( ) throw(SQLException, RuntimeException)
1004 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDatabaseProductName" );
1005 return ::rtl::OUString();
1007 // -------------------------------------------------------------------------
1008 ::rtl::OUString SAL_CALL ODatabaseMetaData::getProcedureTerm( ) throw(SQLException, RuntimeException)
1010 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getProcedureTerm" );
1011 return ::rtl::OUString();
1013 // -------------------------------------------------------------------------
1014 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSchemaTerm( ) throw(SQLException, RuntimeException)
1016 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSchemaTerm" );
1017 return ::rtl::OUString();
1019 // -------------------------------------------------------------------------
1020 sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMajorVersion( ) throw(RuntimeException)
1022 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverMajorVersion" );
1023 return 0;
1025 // -------------------------------------------------------------------------
1026 sal_Int32 SAL_CALL ODatabaseMetaData::getDefaultTransactionIsolation( ) throw(SQLException, RuntimeException)
1028 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDefaultTransactionIsolation" );
1029 return 0;
1031 // -------------------------------------------------------------------------
1032 sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMinorVersion( ) throw(RuntimeException)
1034 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverMinorVersion" );
1035 return 0;
1037 // -------------------------------------------------------------------------
1038 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSQLKeywords( ) throw(SQLException, RuntimeException)
1040 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSQLKeywords" );
1041 return ::rtl::OUString();
1043 // -------------------------------------------------------------------------
1044 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSearchStringEscape( ) throw(SQLException, RuntimeException)
1046 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSearchStringEscape" );
1047 return ::rtl::OUString();
1049 // -------------------------------------------------------------------------
1050 ::rtl::OUString SAL_CALL ODatabaseMetaData::getStringFunctions( ) throw(SQLException, RuntimeException)
1052 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getStringFunctions" );
1053 return ::rtl::OUString("UCASE,LCASE,ASCII,LENGTH,OCTET_LENGTH,CHAR_LENGTH,CHARACTER_LENGTH,CHAR,CONCAT,LOCATE,SUBSTRING,LTRIM,RTRIM,SPACE,REPLACE,REPEAT,INSERT,LEFT,RIGHT");
1055 // -------------------------------------------------------------------------
1056 ::rtl::OUString SAL_CALL ODatabaseMetaData::getTimeDateFunctions( ) throw(SQLException, RuntimeException)
1058 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTimeDateFunctions" );
1059 return ::rtl::OUString("DAYOFWEEK,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER,WEEK,YEAR,HOUR,MINUTE,SECOND,CURDATE,CURTIME,NOW");
1061 // -------------------------------------------------------------------------
1062 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSystemFunctions( ) throw(SQLException, RuntimeException)
1064 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSystemFunctions" );
1065 return ::rtl::OUString();
1067 // -------------------------------------------------------------------------
1068 ::rtl::OUString SAL_CALL ODatabaseMetaData::getNumericFunctions( ) throw(SQLException, RuntimeException)
1070 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getNumericFunctions" );
1071 return ::rtl::OUString("ABS,SIGN,MOD,FLOOR,CEILING,ROUND,EXP,LN,LOG,LOG10,POWER,SQRT,PI,COS,SIN,TAN,ACOS,ASIN,ATAN,ATAN2,DEGREES,RADIANS");
1073 // -------------------------------------------------------------------------
1074 sal_Bool SAL_CALL ODatabaseMetaData::supportsExtendedSQLGrammar( ) throw(SQLException, RuntimeException)
1076 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsExtendedSQLGrammar" );
1077 return sal_False;
1079 // -------------------------------------------------------------------------
1080 sal_Bool SAL_CALL ODatabaseMetaData::supportsCoreSQLGrammar( ) throw(SQLException, RuntimeException)
1082 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCoreSQLGrammar" );
1083 return sal_False;
1085 // -------------------------------------------------------------------------
1086 sal_Bool SAL_CALL ODatabaseMetaData::supportsMinimumSQLGrammar( ) throw(SQLException, RuntimeException)
1088 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMinimumSQLGrammar" );
1089 return sal_True;
1091 // -------------------------------------------------------------------------
1092 sal_Bool SAL_CALL ODatabaseMetaData::supportsFullOuterJoins( ) throw(SQLException, RuntimeException)
1094 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsFullOuterJoins" );
1095 return sal_False;
1097 // -------------------------------------------------------------------------
1098 sal_Bool SAL_CALL ODatabaseMetaData::supportsLimitedOuterJoins( ) throw(SQLException, RuntimeException)
1100 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsLimitedOuterJoins" );
1101 return sal_False;
1103 // -------------------------------------------------------------------------
1104 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInGroupBy( ) throw(SQLException, RuntimeException)
1106 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInGroupBy" );
1107 return 0;
1109 // -------------------------------------------------------------------------
1110 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInOrderBy( ) throw(SQLException, RuntimeException)
1112 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInOrderBy" );
1113 return 0;
1115 // -------------------------------------------------------------------------
1116 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInSelect( ) throw(SQLException, RuntimeException)
1118 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInSelect" );
1119 return 0;
1121 // -------------------------------------------------------------------------
1122 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxUserNameLength( ) throw(SQLException, RuntimeException)
1124 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxUserNameLength" );
1125 return 0;
1127 // -------------------------------------------------------------------------
1128 sal_Bool SAL_CALL ODatabaseMetaData::supportsResultSetType( sal_Int32 setType ) throw(SQLException, RuntimeException)
1130 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsResultSetType" );
1131 switch(setType)
1133 case ResultSetType::FORWARD_ONLY:
1134 return sal_True;
1135 case ResultSetType::SCROLL_INSENSITIVE:
1136 case ResultSetType::SCROLL_SENSITIVE:
1137 break;
1139 return sal_False;
1141 // -------------------------------------------------------------------------
1142 sal_Bool SAL_CALL ODatabaseMetaData::supportsResultSetConcurrency( sal_Int32 setType, sal_Int32 /*concurrency*/ ) throw(SQLException, RuntimeException)
1144 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsResultSetConcurrency" );
1145 switch(setType)
1147 case ResultSetType::FORWARD_ONLY:
1148 return sal_True;
1149 case ResultSetType::SCROLL_INSENSITIVE:
1150 case ResultSetType::SCROLL_SENSITIVE:
1151 break;
1153 return sal_False;
1155 // -------------------------------------------------------------------------
1156 sal_Bool SAL_CALL ODatabaseMetaData::ownUpdatesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1158 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ownUpdatesAreVisible" );
1159 return sal_True;
1161 // -------------------------------------------------------------------------
1162 sal_Bool SAL_CALL ODatabaseMetaData::ownDeletesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1164 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ownDeletesAreVisible" );
1165 return sal_True;
1167 // -------------------------------------------------------------------------
1168 sal_Bool SAL_CALL ODatabaseMetaData::ownInsertsAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1170 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ownInsertsAreVisible" );
1171 return sal_True;
1173 // -------------------------------------------------------------------------
1174 sal_Bool SAL_CALL ODatabaseMetaData::othersUpdatesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1176 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::othersUpdatesAreVisible" );
1177 return sal_True;
1179 // -------------------------------------------------------------------------
1180 sal_Bool SAL_CALL ODatabaseMetaData::othersDeletesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1182 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::othersDeletesAreVisible" );
1183 return sal_True;
1185 // -------------------------------------------------------------------------
1186 sal_Bool SAL_CALL ODatabaseMetaData::othersInsertsAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1188 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::othersInsertsAreVisible" );
1189 return sal_True;
1191 // -------------------------------------------------------------------------
1192 sal_Bool SAL_CALL ODatabaseMetaData::updatesAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1194 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::updatesAreDetected" );
1195 return sal_False;
1197 // -------------------------------------------------------------------------
1198 sal_Bool SAL_CALL ODatabaseMetaData::deletesAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1200 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::deletesAreDetected" );
1201 return sal_False;
1203 // -------------------------------------------------------------------------
1204 sal_Bool SAL_CALL ODatabaseMetaData::insertsAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException)
1206 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::insertsAreDetected" );
1207 return sal_False;
1209 // -------------------------------------------------------------------------
1210 sal_Bool SAL_CALL ODatabaseMetaData::supportsBatchUpdates( ) throw(SQLException, RuntimeException)
1212 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsBatchUpdates" );
1213 return sal_False;
1215 // -------------------------------------------------------------------------
1216 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getUDTs( const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& /*typeNamePattern*/, const Sequence< sal_Int32 >& /*types*/ ) throw(SQLException, RuntimeException)
1218 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getUDTs" );
1219 return NULL;
1223 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */