1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_connectivity.hxx" 30 #include "file/FDatabaseMetaData.hxx" 31 #include "FDatabaseMetaDataResultSet.hxx" 32 #include <com/sun/star/sdbc/DataType.hpp> 33 #include <com/sun/star/sdbc/ResultSetType.hpp> 34 #include <com/sun/star/sdbc/ResultSetConcurrency.hpp> 35 #include <com/sun/star/ucb/SearchRecursion.hpp> 36 #include <com/sun/star/ucb/SearchCommandArgument.hpp> 37 #include <com/sun/star/ucb/XSortedDynamicResultSetFactory.hpp> 38 #include <com/sun/star/ucb/XContentProvider.hpp> 39 #include <com/sun/star/lang/XUnoTunnel.hpp> 40 #include <tools/urlobj.hxx> 41 #include "file/FDriver.hxx" 42 #include "file/FTable.hxx" 43 #include <comphelper/extract.hxx> 44 #include <ucbhelper/content.hxx> 45 #include <ucbhelper/contentbroker.hxx> 46 #include <tools/debug.hxx> 47 #include <rtl/logfile.hxx> 48 49 50 using namespace com::sun::star::ucb; 51 using namespace connectivity::file; 52 using namespace connectivity; 53 using namespace com::sun::star::uno; 54 using namespace com::sun::star::lang; 55 using namespace com::sun::star::beans; 56 using namespace com::sun::star::sdbc; 57 using namespace com::sun::star::sdbcx; 58 using namespace com::sun::star::lang; 59 using namespace com::sun::star::container; 60 61 DBG_NAME( file_ODatabaseMetaData ) 62 ODatabaseMetaData::ODatabaseMetaData(OConnection* _pCon) : ::connectivity::ODatabaseMetaDataBase(_pCon,_pCon->getConnectionInfo()) 63 ,m_pConnection(_pCon) 64 { 65 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ODatabaseMetaData" ); 66 DBG_CTOR( file_ODatabaseMetaData, NULL ); 67 } 68 // ------------------------------------------------------------------------- 69 ODatabaseMetaData::~ODatabaseMetaData() 70 { 71 DBG_DTOR( file_ODatabaseMetaData, NULL ); 72 } 73 // ------------------------------------------------------------------------- 74 Reference< XResultSet > ODatabaseMetaData::impl_getTypeInfo_throw( ) 75 { 76 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getTypeInfo_throw" ); 77 return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTypeInfo ); 78 } 79 // ------------------------------------------------------------------------- 80 ::rtl::OUString ODatabaseMetaData::impl_getCatalogSeparator_throw( ) 81 { 82 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getCatalogSeparator_throw" ); 83 return ::rtl::OUString(); 84 } 85 // ------------------------------------------------------------------------- 86 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getColumns( 87 const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& /*tableNamePattern*/, 88 const ::rtl::OUString& /*columnNamePattern*/ ) throw(SQLException, RuntimeException) 89 { 90 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getColumns" ); 91 OSL_ENSURE(0,"Should be overloaded!"); 92 return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eColumns ); 93 } 94 95 // ------------------------------------------------------------------------- 96 namespace 97 { 98 sal_Int16 isCaseSensitiveParentFolder( const String& _rFolderOrDoc, const String& _rDocName ) 99 { 100 sal_Int16 nIsCS = 1; 101 try 102 { 103 // first get the real content for the URL 104 INetURLObject aContentURL( _rFolderOrDoc ); 105 ::ucbhelper::Content aContent1; 106 { 107 ::ucbhelper::Content aFolderOrDoc( _rFolderOrDoc, Reference< XCommandEnvironment >() ); 108 if ( aFolderOrDoc.isDocument() ) 109 aContent1 = aFolderOrDoc; 110 else 111 { 112 aContentURL = INetURLObject( _rFolderOrDoc, INetURLObject::WAS_ENCODED ); 113 aContentURL.Append( _rDocName ); 114 aContent1 = ::ucbhelper::Content( aContentURL.GetMainURL( INetURLObject::NO_DECODE ), Reference< XCommandEnvironment >() ); 115 } 116 } 117 118 // get two extensions which differ by case only 119 String sExtension1 = aContentURL.getExtension(); 120 String sExtension2( sExtension1 ); 121 sExtension2.ToLowerAscii(); 122 if ( sExtension2 == sExtension1 ) 123 // the extension was already in lower case 124 sExtension2.ToUpperAscii(); 125 126 // the complete URL for the second extension 127 INetURLObject aURL2( aContentURL ); 128 if ( sExtension2.Len() ) 129 aURL2.SetExtension( sExtension2 ); 130 if ( aURL2.GetMainURL(INetURLObject::NO_DECODE) == aContentURL.GetMainURL(INetURLObject::NO_DECODE) ) 131 return -1; 132 133 // the second context 134 sal_Bool bCanAccess = sal_False; 135 ::ucbhelper::Content aContent2; 136 try 137 { 138 aContent2 = ::ucbhelper::Content( aURL2.GetMainURL( INetURLObject::NO_DECODE ), Reference< XCommandEnvironment >() ); 139 bCanAccess = aContent2.isDocument(); 140 } 141 catch( const Exception& ) 142 { 143 } 144 145 if ( bCanAccess ) 146 { 147 // here we have two contents whose URLs differ by case only. 148 // Now let's check if both really refer to the same object .... 149 Reference< XContent > xContent1 = aContent1.get(); 150 Reference< XContent > xContent2 = aContent2.get(); 151 OSL_ENSURE( xContent1.is() && xContent2.is(), "isCaseSensitiveParentFolder: invalid content interfaces!" ); 152 if ( xContent1.is() && xContent2.is() ) 153 { 154 Reference< XContentIdentifier > xID1 = xContent1->getIdentifier(); 155 Reference< XContentIdentifier > xID2 = xContent2->getIdentifier(); 156 OSL_ENSURE( xID1.is() && xID2.is(), "isCaseSensitiveParentFolder: invalid ID interfaces!" ); 157 if ( xID1.is() && xID2.is() ) 158 { 159 // get a generic content provider 160 ::ucbhelper::ContentBroker* pBroker = ::ucbhelper::ContentBroker::get(); 161 Reference< XContentProvider > xProvider; 162 if ( pBroker ) 163 xProvider = pBroker->getContentProviderInterface(); 164 OSL_ENSURE( xProvider.is(), "isCaseSensitiveParentFolder: invalid content broker!" ); 165 if ( xProvider.is() ) 166 { 167 if ( 0 == xProvider->compareContentIds( xID1, xID2 ) ) 168 // finally, we know that the folder is not case-sensitive .... 169 nIsCS = 0; 170 } 171 } 172 } 173 } 174 } 175 catch( const Exception& ) 176 { 177 OSL_ENSURE( sal_False, "isCaseSensitiveParentFolder: caught an unexpected exception!" ); 178 } 179 180 return nIsCS; 181 } 182 } 183 184 // ------------------------------------------------------------------------- 185 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables( 186 const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, 187 const ::rtl::OUString& tableNamePattern, const Sequence< ::rtl::OUString >& types ) throw(SQLException, RuntimeException) 188 { 189 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTables" ); 190 ::osl::MutexGuard aGuard( m_aMutex ); 191 192 193 ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTables ); 194 Reference< XResultSet > xRef = pResult; 195 196 // check if any type is given 197 // when no types are given then we have to return all tables e.g. TABLE 198 199 static const ::rtl::OUString aTable(::rtl::OUString::createFromAscii("TABLE")); 200 201 sal_Bool bTableFound = sal_True; 202 sal_Int32 nLength = types.getLength(); 203 if(nLength) 204 { 205 bTableFound = sal_False; 206 207 const ::rtl::OUString* pBegin = types.getConstArray(); 208 const ::rtl::OUString* pEnd = pBegin + nLength; 209 for(;pBegin != pEnd;++pBegin) 210 { 211 if(*pBegin == aTable) 212 { 213 bTableFound = sal_True; 214 break; 215 } 216 } 217 } 218 if(!bTableFound) 219 return xRef; 220 221 Reference<XDynamicResultSet> xContent = m_pConnection->getDir(); 222 Reference < XSortedDynamicResultSetFactory > xSRSFac( 223 m_pConnection->getDriver()->getFactory()->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.ucb.SortedDynamicResultSetFactory") ), UNO_QUERY ); 224 225 Sequence< NumberedSortingInfo > aSortInfo( 1 ); 226 NumberedSortingInfo* pInfo = aSortInfo.getArray(); 227 pInfo[ 0 ].ColumnIndex = 1; 228 pInfo[ 0 ].Ascending = sal_True; 229 230 Reference < XAnyCompareFactory > xFactory; 231 Reference< XDynamicResultSet > xDynamicResultSet; 232 xDynamicResultSet = xSRSFac->createSortedDynamicResultSet( xContent, aSortInfo, xFactory ); 233 Reference<XResultSet> xResultSet = xDynamicResultSet->getStaticResultSet(); 234 235 Reference<XRow> xRow(xResultSet,UNO_QUERY); 236 237 String aFilenameExtension = m_pConnection->getExtension(); 238 String sThisContentExtension; 239 ODatabaseMetaDataResultSet::ORows aRows; 240 // scan the directory for tables 241 ::rtl::OUString aName; 242 INetURLObject aURL; 243 xResultSet->beforeFirst(); 244 245 sal_Bool bKnowCaseSensivity = sal_False; 246 sal_Bool bCaseSensitiveDir = sal_True; 247 sal_Bool bCheckEnabled = m_pConnection->isCheckEnabled(); 248 249 while(xResultSet->next()) 250 { 251 aName = xRow->getString(1); 252 aURL.SetSmartProtocol(INET_PROT_FILE); 253 String sUrl = m_pConnection->getURL() + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/")) + aName; 254 aURL.SetSmartURL( sUrl ); 255 sThisContentExtension = aURL.getExtension(); 256 257 ODatabaseMetaDataResultSet::ORow aRow(3); 258 aRow.reserve(6); 259 sal_Bool bNewRow = sal_False; 260 261 if ( !bKnowCaseSensivity ) 262 { 263 bKnowCaseSensivity = sal_True; 264 sal_Int16 nCase = isCaseSensitiveParentFolder( m_pConnection->getURL(), aURL.getName() ); 265 switch( nCase ) 266 { 267 case 1: 268 bCaseSensitiveDir = sal_True; 269 break; 270 case -1: 271 bKnowCaseSensivity = sal_False; 272 /** run through */ 273 case 0: 274 bCaseSensitiveDir = sal_False; 275 } 276 if ( bKnowCaseSensivity ) 277 { 278 m_pConnection->setCaseSensitiveExtension( bCaseSensitiveDir, OConnection::GrantAccess() ); 279 if ( !bCaseSensitiveDir ) 280 aFilenameExtension.ToLowerAscii(); 281 } 282 } 283 284 if (aFilenameExtension.Len()) 285 { 286 if ( !bCaseSensitiveDir ) 287 sThisContentExtension.ToLowerAscii(); 288 289 if ( sThisContentExtension == aFilenameExtension ) 290 { 291 aName = aName.replaceAt(aName.getLength()-(aFilenameExtension.Len()+1),aFilenameExtension.Len()+1,::rtl::OUString()); 292 sal_Unicode nChar = aName.toChar(); 293 if ( match(tableNamePattern,aName.getStr(),'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) ) 294 { 295 aRow.push_back(new ORowSetValueDecorator(aName)); 296 bNewRow = sal_True; 297 } 298 } 299 } 300 else // no extension, filter myself 301 { 302 sal_Bool bErg = sal_False; 303 do 304 { 305 if (!aURL.getExtension().getLength()) 306 { 307 sal_Unicode nChar = aURL.getBase().getStr()[0]; 308 if(match(tableNamePattern,aURL.getBase().getStr(),'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) ) 309 { 310 aRow.push_back(new ORowSetValueDecorator(::rtl::OUString(aURL.getBase()))); 311 bNewRow = sal_True; 312 } 313 break; 314 } 315 else if ( ( bErg = xResultSet->next() ) != sal_False ) 316 { 317 aName = xRow->getString(1); 318 aURL.SetSmartURL(aName); 319 } 320 } while (bErg); 321 } 322 if(bNewRow) 323 { 324 aRow.push_back(new ORowSetValueDecorator(aTable)); 325 aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); 326 327 aRows.push_back(aRow); 328 } 329 } 330 331 pResult->setRows(aRows); 332 333 return xRef; 334 } 335 // ------------------------------------------------------------------------- 336 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxBinaryLiteralLength( ) throw(SQLException, RuntimeException) 337 { 338 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxBinaryLiteralLength" ); 339 return 0; 340 } 341 // ------------------------------------------------------------------------- 342 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxRowSize( ) throw(SQLException, RuntimeException) 343 { 344 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxRowSize" ); 345 return 0; 346 } 347 // ------------------------------------------------------------------------- 348 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCatalogNameLength( ) throw(SQLException, RuntimeException) 349 { 350 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxCatalogNameLength" ); 351 return 0; 352 } 353 // ------------------------------------------------------------------------- 354 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCharLiteralLength( ) throw(SQLException, RuntimeException) 355 { 356 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxCharLiteralLength" ); 357 return STRING_MAXLEN; 358 } 359 // ------------------------------------------------------------------------- 360 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnNameLength( ) throw(SQLException, RuntimeException) 361 { 362 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnNameLength" ); 363 return 0; 364 } 365 // ------------------------------------------------------------------------- 366 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInIndex( ) throw(SQLException, RuntimeException) 367 { 368 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInIndex" ); 369 return 0; 370 } 371 // ------------------------------------------------------------------------- 372 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCursorNameLength( ) throw(SQLException, RuntimeException) 373 { 374 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxCursorNameLength" ); 375 return 0; 376 } 377 // ------------------------------------------------------------------------- 378 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxConnections( ) throw(SQLException, RuntimeException) 379 { 380 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxConnections" ); 381 return 0; 382 } 383 // ------------------------------------------------------------------------- 384 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInTable( ) throw(SQLException, RuntimeException) 385 { 386 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInTable" ); 387 return 0; 388 } 389 // ------------------------------------------------------------------------- 390 sal_Int32 ODatabaseMetaData::impl_getMaxStatements_throw( ) 391 { 392 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getMaxStatements_throw" ); 393 return 0; 394 } 395 // ------------------------------------------------------------------------- 396 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxTableNameLength( ) throw(SQLException, RuntimeException) 397 { 398 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxTableNameLength" ); 399 return 0; 400 } 401 // ------------------------------------------------------------------------- 402 sal_Int32 ODatabaseMetaData::impl_getMaxTablesInSelect_throw( ) 403 { 404 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getMaxTablesInSelect_throw" ); 405 return 1; 406 } 407 // ------------------------------------------------------------------------- 408 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTablePrivileges( 409 const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& tableNamePattern ) throw(SQLException, RuntimeException) 410 { 411 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTablePrivileges" ); 412 ::osl::MutexGuard aGuard( m_aMutex ); 413 414 ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTablePrivileges ); 415 Reference< XResultSet > xRef = pResult; 416 ODatabaseMetaDataResultSet::ORows aRows; 417 418 419 Reference< XTablesSupplier > xTabSup = m_pConnection->createCatalog(); 420 if( xTabSup.is()) 421 { 422 Reference< XNameAccess> xNames = xTabSup->getTables(); 423 Sequence< ::rtl::OUString > aNames = xNames->getElementNames(); 424 const ::rtl::OUString* pBegin = aNames.getConstArray(); 425 const ::rtl::OUString* pEnd = pBegin + aNames.getLength(); 426 for(;pBegin != pEnd;++pBegin) 427 { 428 if(match(tableNamePattern,pBegin->getStr(),'\0')) 429 { 430 static ODatabaseMetaDataResultSet::ORow aRow(8); 431 432 aRow[2] = new ORowSetValueDecorator(*pBegin); 433 aRow[6] = ODatabaseMetaDataResultSet::getSelectValue(); 434 aRow[7] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("NO")); 435 aRows.push_back(aRow); 436 437 Reference< XPropertySet> xTable; 438 ::cppu::extractInterface(xTable,xNames->getByName(*pBegin)); 439 if(xTable.is()) 440 { 441 Reference<XUnoTunnel> xTunnel(xTable,UNO_QUERY); 442 if(xTunnel.is()) 443 { 444 OFileTable* pTable = reinterpret_cast< OFileTable* >( xTunnel->getSomething(OFileTable::getUnoTunnelImplementationId()) ); 445 if(pTable) 446 { 447 if(!pTable->isReadOnly()) 448 { 449 aRow[6] = ODatabaseMetaDataResultSet::getInsertValue(); 450 aRows.push_back(aRow); 451 if(!m_pConnection->showDeleted()) 452 { 453 aRow[6] = ODatabaseMetaDataResultSet::getDeleteValue(); 454 aRows.push_back(aRow); 455 } 456 aRow[6] = ODatabaseMetaDataResultSet::getUpdateValue(); 457 aRows.push_back(aRow); 458 aRow[6] = ODatabaseMetaDataResultSet::getCreateValue(); 459 aRows.push_back(aRow); 460 aRow[6] = ODatabaseMetaDataResultSet::getReadValue(); 461 aRows.push_back(aRow); 462 aRow[6] = ODatabaseMetaDataResultSet::getAlterValue(); 463 aRows.push_back(aRow); 464 aRow[6] = ODatabaseMetaDataResultSet::getDropValue(); 465 aRows.push_back(aRow); 466 } 467 } 468 } 469 } 470 } 471 } 472 } 473 474 pResult->setRows(aRows); 475 return xRef; 476 } 477 // ------------------------------------------------------------------------- 478 sal_Bool SAL_CALL ODatabaseMetaData::doesMaxRowSizeIncludeBlobs( ) throw(SQLException, RuntimeException) 479 { 480 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::doesMaxRowSizeIncludeBlobs" ); 481 return sal_True; 482 } 483 // ------------------------------------------------------------------------- 484 sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException) 485 { 486 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesLowerCaseQuotedIdentifiers" ); 487 return sal_False; 488 } 489 // ------------------------------------------------------------------------- 490 sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseIdentifiers( ) throw(SQLException, RuntimeException) 491 { 492 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesLowerCaseIdentifiers" ); 493 return sal_False; 494 } 495 // ------------------------------------------------------------------------- 496 sal_Bool ODatabaseMetaData::impl_storesMixedCaseQuotedIdentifiers_throw( ) 497 { 498 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_storesMixedCaseQuotedIdentifiers_throw" ); 499 return sal_False; 500 } 501 // ------------------------------------------------------------------------- 502 sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseIdentifiers( ) throw(SQLException, RuntimeException) 503 { 504 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesMixedCaseIdentifiers" ); 505 return sal_False; 506 } 507 // ------------------------------------------------------------------------- 508 sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException) 509 { 510 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesUpperCaseQuotedIdentifiers" ); 511 return sal_False; 512 } 513 // ------------------------------------------------------------------------- 514 sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseIdentifiers( ) throw(SQLException, RuntimeException) 515 { 516 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::storesUpperCaseIdentifiers" ); 517 return sal_False; 518 } 519 // ------------------------------------------------------------------------- 520 sal_Bool ODatabaseMetaData::impl_supportsAlterTableWithAddColumn_throw( ) 521 { 522 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsAlterTableWithAddColumn_throw" ); 523 return sal_False; 524 } 525 // ------------------------------------------------------------------------- 526 sal_Bool ODatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw( ) 527 { 528 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw" ); 529 return sal_False; 530 } 531 // ------------------------------------------------------------------------- 532 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxIndexLength( ) throw(SQLException, RuntimeException) 533 { 534 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxIndexLength" ); 535 return 0; 536 } 537 // ------------------------------------------------------------------------- 538 sal_Bool SAL_CALL ODatabaseMetaData::supportsNonNullableColumns( ) throw(SQLException, RuntimeException) 539 { 540 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsNonNullableColumns" ); 541 return sal_False; 542 } 543 // ------------------------------------------------------------------------- 544 ::rtl::OUString SAL_CALL ODatabaseMetaData::getCatalogTerm( ) throw(SQLException, RuntimeException) 545 { 546 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getCatalogTerm" ); 547 return ::rtl::OUString(); 548 } 549 // ------------------------------------------------------------------------- 550 ::rtl::OUString ODatabaseMetaData::impl_getIdentifierQuoteString_throw( ) 551 { 552 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getIdentifierQuoteString_throw" ); 553 static const ::rtl::OUString sQuote = ::rtl::OUString::createFromAscii("\""); 554 return sQuote; 555 } 556 // ------------------------------------------------------------------------- 557 ::rtl::OUString SAL_CALL ODatabaseMetaData::getExtraNameCharacters( ) throw(SQLException, RuntimeException) 558 { 559 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getExtraNameCharacters" ); 560 return ::rtl::OUString(); 561 } 562 // ------------------------------------------------------------------------- 563 sal_Bool SAL_CALL ODatabaseMetaData::supportsDifferentTableCorrelationNames( ) throw(SQLException, RuntimeException) 564 { 565 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsDifferentTableCorrelationNames" ); 566 return sal_True; 567 } 568 // ------------------------------------------------------------------------- 569 sal_Bool ODatabaseMetaData::impl_isCatalogAtStart_throw( ) 570 { 571 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_isCatalogAtStart_throw" ); 572 return sal_True; 573 } 574 // ------------------------------------------------------------------------- 575 sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw(SQLException, RuntimeException) 576 { 577 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::dataDefinitionIgnoredInTransactions" ); 578 return sal_True; 579 } 580 // ------------------------------------------------------------------------- 581 sal_Bool SAL_CALL ODatabaseMetaData::dataDefinitionCausesTransactionCommit( ) throw(SQLException, RuntimeException) 582 { 583 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::dataDefinitionCausesTransactionCommit" ); 584 return sal_True; 585 } 586 // ------------------------------------------------------------------------- 587 sal_Bool SAL_CALL ODatabaseMetaData::supportsDataManipulationTransactionsOnly( ) throw(SQLException, RuntimeException) 588 { 589 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsDataManipulationTransactionsOnly" ); 590 return sal_False; 591 } 592 // ------------------------------------------------------------------------- 593 sal_Bool SAL_CALL ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions( ) throw(SQLException, RuntimeException) 594 { 595 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions" ); 596 return sal_False; 597 } 598 // ------------------------------------------------------------------------- 599 sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedDelete( ) throw(SQLException, RuntimeException) 600 { 601 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsPositionedDelete" ); 602 return sal_False; 603 } 604 // ------------------------------------------------------------------------- 605 sal_Bool SAL_CALL ODatabaseMetaData::supportsPositionedUpdate( ) throw(SQLException, RuntimeException) 606 { 607 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsPositionedUpdate" ); 608 return sal_False; 609 } 610 // ------------------------------------------------------------------------- 611 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossRollback( ) throw(SQLException, RuntimeException) 612 { 613 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenStatementsAcrossRollback" ); 614 return sal_False; 615 } 616 // ------------------------------------------------------------------------- 617 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenStatementsAcrossCommit( ) throw(SQLException, RuntimeException) 618 { 619 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenStatementsAcrossCommit" ); 620 return sal_False; 621 } 622 // ------------------------------------------------------------------------- 623 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenCursorsAcrossCommit( ) throw(SQLException, RuntimeException) 624 { 625 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenCursorsAcrossCommit" ); 626 return sal_False; 627 } 628 // ------------------------------------------------------------------------- 629 sal_Bool SAL_CALL ODatabaseMetaData::supportsOpenCursorsAcrossRollback( ) throw(SQLException, RuntimeException) 630 { 631 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOpenCursorsAcrossRollback" ); 632 return sal_False; 633 } 634 // ------------------------------------------------------------------------- 635 sal_Bool SAL_CALL ODatabaseMetaData::supportsTransactionIsolationLevel( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException) 636 { 637 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTransactionIsolationLevel" ); 638 return sal_False; 639 } 640 // ------------------------------------------------------------------------- 641 sal_Bool ODatabaseMetaData::impl_supportsSchemasInDataManipulation_throw( ) 642 { 643 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsSchemasInDataManipulation_throw" ); 644 return sal_False; 645 } 646 // ------------------------------------------------------------------------- 647 sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92FullSQL( ) throw(SQLException, RuntimeException) 648 { 649 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsANSI92FullSQL" ); 650 return sal_False; 651 } 652 // ------------------------------------------------------------------------- 653 sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92EntryLevelSQL( ) throw(SQLException, RuntimeException) 654 { 655 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsANSI92EntryLevelSQL" ); 656 return sal_False; 657 } 658 // ------------------------------------------------------------------------- 659 sal_Bool SAL_CALL ODatabaseMetaData::supportsIntegrityEnhancementFacility( ) throw(SQLException, RuntimeException) 660 { 661 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsIntegrityEnhancementFacility" ); 662 return sal_False; 663 } 664 // ------------------------------------------------------------------------- 665 sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInIndexDefinitions( ) throw(SQLException, RuntimeException) 666 { 667 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSchemasInIndexDefinitions" ); 668 return sal_False; 669 } 670 // ------------------------------------------------------------------------- 671 sal_Bool ODatabaseMetaData::impl_supportsSchemasInTableDefinitions_throw( ) 672 { 673 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsSchemasInTableDefinitions_throw" ); 674 return sal_False; 675 } 676 // ------------------------------------------------------------------------- 677 sal_Bool ODatabaseMetaData::impl_supportsCatalogsInTableDefinitions_throw( ) 678 { 679 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsCatalogsInTableDefinitions_throw" ); 680 return sal_False; 681 } 682 // ------------------------------------------------------------------------- 683 sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInIndexDefinitions( ) throw(SQLException, RuntimeException) 684 { 685 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCatalogsInIndexDefinitions" ); 686 return sal_False; 687 } 688 // ------------------------------------------------------------------------- 689 sal_Bool ODatabaseMetaData::impl_supportsCatalogsInDataManipulation_throw( ) 690 { 691 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsCatalogsInDataManipulation_throw" ); 692 return sal_False; 693 } 694 // ------------------------------------------------------------------------- 695 sal_Bool SAL_CALL ODatabaseMetaData::supportsOuterJoins( ) throw(SQLException, RuntimeException) 696 { 697 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOuterJoins" ); 698 return sal_False; 699 } 700 // ------------------------------------------------------------------------- 701 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTableTypes( ) throw(SQLException, RuntimeException) 702 { 703 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTableTypes" ); 704 ::osl::MutexGuard aGuard( m_aMutex ); 705 706 ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTableTypes ); 707 Reference< XResultSet > xRef = pResult; 708 static ODatabaseMetaDataResultSet::ORows aRows; 709 if(aRows.empty()) 710 { 711 ODatabaseMetaDataResultSet::ORow aRow; 712 aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); 713 aRow.push_back(new ORowSetValueDecorator(::rtl::OUString::createFromAscii("TABLE"))); 714 aRows.push_back(aRow); 715 } 716 pResult->setRows(aRows); 717 return xRef; 718 } 719 // ------------------------------------------------------------------------- 720 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxStatementLength( ) throw(SQLException, RuntimeException) 721 { 722 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxStatementLength" ); 723 return 0; 724 } 725 // ------------------------------------------------------------------------- 726 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxProcedureNameLength( ) throw(SQLException, RuntimeException) 727 { 728 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxProcedureNameLength" ); 729 return 0; 730 } 731 // ------------------------------------------------------------------------- 732 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxSchemaNameLength( ) throw(SQLException, RuntimeException) 733 { 734 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxSchemaNameLength" ); 735 return 0; 736 } 737 // ------------------------------------------------------------------------- 738 sal_Bool SAL_CALL ODatabaseMetaData::supportsTransactions( ) throw(SQLException, RuntimeException) 739 { 740 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTransactions" ); 741 return sal_False; 742 } 743 // ------------------------------------------------------------------------- 744 sal_Bool SAL_CALL ODatabaseMetaData::allProceduresAreCallable( ) throw(SQLException, RuntimeException) 745 { 746 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::allProceduresAreCallable" ); 747 return sal_False; 748 } 749 // ------------------------------------------------------------------------- 750 sal_Bool SAL_CALL ODatabaseMetaData::supportsStoredProcedures( ) throw(SQLException, RuntimeException) 751 { 752 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsStoredProcedures" ); 753 return sal_False; 754 } 755 // ------------------------------------------------------------------------- 756 sal_Bool SAL_CALL ODatabaseMetaData::supportsSelectForUpdate( ) throw(SQLException, RuntimeException) 757 { 758 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSelectForUpdate" ); 759 return sal_False; 760 } 761 // ------------------------------------------------------------------------- 762 sal_Bool SAL_CALL ODatabaseMetaData::allTablesAreSelectable( ) throw(SQLException, RuntimeException) 763 { 764 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::allTablesAreSelectable" ); 765 return sal_True; 766 } 767 // ------------------------------------------------------------------------- 768 sal_Bool SAL_CALL ODatabaseMetaData::isReadOnly( ) throw(SQLException, RuntimeException) 769 { 770 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::isReadOnly" ); 771 return sal_True; 772 } 773 // ------------------------------------------------------------------------- 774 sal_Bool SAL_CALL ODatabaseMetaData::usesLocalFiles( ) throw(SQLException, RuntimeException) 775 { 776 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::usesLocalFiles" ); 777 return sal_True; 778 } 779 // ------------------------------------------------------------------------- 780 sal_Bool SAL_CALL ODatabaseMetaData::usesLocalFilePerTable( ) throw(SQLException, RuntimeException) 781 { 782 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::usesLocalFilePerTable" ); 783 return sal_True; 784 } 785 // ------------------------------------------------------------------------- 786 sal_Bool SAL_CALL ODatabaseMetaData::supportsTypeConversion( ) throw(SQLException, RuntimeException) 787 { 788 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTypeConversion" ); 789 return sal_False; 790 } 791 // ------------------------------------------------------------------------- 792 sal_Bool SAL_CALL ODatabaseMetaData::nullPlusNonNullIsNull( ) throw(SQLException, RuntimeException) 793 { 794 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullPlusNonNullIsNull" ); 795 return sal_True; 796 } 797 // ------------------------------------------------------------------------- 798 sal_Bool SAL_CALL ODatabaseMetaData::supportsColumnAliasing( ) throw(SQLException, RuntimeException) 799 { 800 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsColumnAliasing" ); 801 return sal_True; 802 } 803 // ------------------------------------------------------------------------- 804 sal_Bool SAL_CALL ODatabaseMetaData::supportsTableCorrelationNames( ) throw(SQLException, RuntimeException) 805 { 806 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsTableCorrelationNames" ); 807 return sal_True; 808 } 809 // ------------------------------------------------------------------------- 810 sal_Bool SAL_CALL ODatabaseMetaData::supportsConvert( sal_Int32 /*fromType*/, sal_Int32 /*toType*/ ) throw(SQLException, RuntimeException) 811 { 812 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsConvert" ); 813 return sal_False; 814 } 815 // ------------------------------------------------------------------------- 816 sal_Bool SAL_CALL ODatabaseMetaData::supportsExpressionsInOrderBy( ) throw(SQLException, RuntimeException) 817 { 818 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsExpressionsInOrderBy" ); 819 return sal_False; 820 } 821 // ------------------------------------------------------------------------- 822 sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupBy( ) throw(SQLException, RuntimeException) 823 { 824 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsGroupBy" ); 825 return sal_False; 826 } 827 // ------------------------------------------------------------------------- 828 sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupByBeyondSelect( ) throw(SQLException, RuntimeException) 829 { 830 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsGroupByBeyondSelect" ); 831 return sal_False; 832 } 833 // ------------------------------------------------------------------------- 834 sal_Bool SAL_CALL ODatabaseMetaData::supportsGroupByUnrelated( ) throw(SQLException, RuntimeException) 835 { 836 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsGroupByUnrelated" ); 837 return sal_False; 838 } 839 // ------------------------------------------------------------------------- 840 sal_Bool SAL_CALL ODatabaseMetaData::supportsMultipleTransactions( ) throw(SQLException, RuntimeException) 841 { 842 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMultipleTransactions" ); 843 return sal_False; 844 } 845 // ------------------------------------------------------------------------- 846 sal_Bool SAL_CALL ODatabaseMetaData::supportsMultipleResultSets( ) throw(SQLException, RuntimeException) 847 { 848 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMultipleResultSets" ); 849 return sal_False; 850 } 851 // ------------------------------------------------------------------------- 852 sal_Bool SAL_CALL ODatabaseMetaData::supportsLikeEscapeClause( ) throw(SQLException, RuntimeException) 853 { 854 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsLikeEscapeClause" ); 855 return sal_False; 856 } 857 // ------------------------------------------------------------------------- 858 sal_Bool SAL_CALL ODatabaseMetaData::supportsOrderByUnrelated( ) throw(SQLException, RuntimeException) 859 { 860 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsOrderByUnrelated" ); 861 return sal_True; 862 } 863 // ------------------------------------------------------------------------- 864 sal_Bool SAL_CALL ODatabaseMetaData::supportsUnion( ) throw(SQLException, RuntimeException) 865 { 866 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsUnion" ); 867 return sal_False; 868 } 869 // ------------------------------------------------------------------------- 870 sal_Bool SAL_CALL ODatabaseMetaData::supportsUnionAll( ) throw(SQLException, RuntimeException) 871 { 872 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsUnionAll" ); 873 return sal_False; 874 } 875 // ------------------------------------------------------------------------- 876 sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseIdentifiers( ) throw(SQLException, RuntimeException) 877 { 878 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMixedCaseIdentifiers" ); 879 return sal_True; 880 } 881 // ------------------------------------------------------------------------- 882 sal_Bool ODatabaseMetaData::impl_supportsMixedCaseQuotedIdentifiers_throw( ) 883 { 884 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_supportsMixedCaseQuotedIdentifiers_throw" ); 885 return sal_False; 886 } 887 // ------------------------------------------------------------------------- 888 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtEnd( ) throw(SQLException, RuntimeException) 889 { 890 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedAtEnd" ); 891 return sal_False; 892 } 893 // ------------------------------------------------------------------------- 894 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtStart( ) throw(SQLException, RuntimeException) 895 { 896 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedAtStart" ); 897 return sal_True; 898 } 899 // ------------------------------------------------------------------------- 900 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedHigh( ) throw(SQLException, RuntimeException) 901 { 902 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedHigh" ); 903 return sal_False; 904 } 905 // ------------------------------------------------------------------------- 906 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedLow( ) throw(SQLException, RuntimeException) 907 { 908 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::nullsAreSortedLow" ); 909 return sal_True; 910 } 911 // ------------------------------------------------------------------------- 912 sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInProcedureCalls( ) throw(SQLException, RuntimeException) 913 { 914 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSchemasInProcedureCalls" ); 915 return sal_False; 916 } 917 // ------------------------------------------------------------------------- 918 sal_Bool SAL_CALL ODatabaseMetaData::supportsSchemasInPrivilegeDefinitions( ) throw(SQLException, RuntimeException) 919 { 920 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSchemasInPrivilegeDefinitions" ); 921 return sal_False; 922 } 923 // ------------------------------------------------------------------------- 924 sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInProcedureCalls( ) throw(SQLException, RuntimeException) 925 { 926 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCatalogsInProcedureCalls" ); 927 return sal_False; 928 } 929 // ------------------------------------------------------------------------- 930 sal_Bool SAL_CALL ODatabaseMetaData::supportsCatalogsInPrivilegeDefinitions( ) throw(SQLException, RuntimeException) 931 { 932 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCatalogsInPrivilegeDefinitions" ); 933 return sal_False; 934 } 935 // ------------------------------------------------------------------------- 936 sal_Bool SAL_CALL ODatabaseMetaData::supportsCorrelatedSubqueries( ) throw(SQLException, RuntimeException) 937 { 938 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCorrelatedSubqueries" ); 939 return sal_False; 940 } 941 // ------------------------------------------------------------------------- 942 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInComparisons( ) throw(SQLException, RuntimeException) 943 { 944 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInComparisons" ); 945 return sal_False; 946 } 947 // ------------------------------------------------------------------------- 948 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInExists( ) throw(SQLException, RuntimeException) 949 { 950 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInExists" ); 951 return sal_False; 952 } 953 // ------------------------------------------------------------------------- 954 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInIns( ) throw(SQLException, RuntimeException) 955 { 956 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInIns" ); 957 return sal_False; 958 } 959 // ------------------------------------------------------------------------- 960 sal_Bool SAL_CALL ODatabaseMetaData::supportsSubqueriesInQuantifieds( ) throw(SQLException, RuntimeException) 961 { 962 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsSubqueriesInQuantifieds" ); 963 return sal_False; 964 } 965 // ------------------------------------------------------------------------- 966 sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92IntermediateSQL( ) throw(SQLException, RuntimeException) 967 { 968 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsANSI92IntermediateSQL" ); 969 return sal_False; 970 } 971 // ------------------------------------------------------------------------- 972 ::rtl::OUString SAL_CALL ODatabaseMetaData::getURL( ) throw(SQLException, RuntimeException) 973 { 974 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getURL" ); 975 static const ::rtl::OUString aValue = ::rtl::OUString::createFromAscii("sdbc:file:"); 976 return aValue; 977 } 978 // ------------------------------------------------------------------------- 979 ::rtl::OUString SAL_CALL ODatabaseMetaData::getUserName( ) throw(SQLException, RuntimeException) 980 { 981 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getUserName" ); 982 return ::rtl::OUString(); 983 } 984 // ------------------------------------------------------------------------- 985 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDriverName( ) throw(SQLException, RuntimeException) 986 { 987 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverName" ); 988 return ::rtl::OUString(); 989 } 990 // ------------------------------------------------------------------------- 991 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDriverVersion( ) throw(SQLException, RuntimeException) 992 { 993 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverVersion" ); 994 return ::rtl::OUString::valueOf((sal_Int32)1); 995 } 996 // ------------------------------------------------------------------------- 997 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDatabaseProductVersion( ) throw(SQLException, RuntimeException) 998 { 999 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDatabaseProductVersion" ); 1000 return ::rtl::OUString::valueOf((sal_Int32)0); 1001 } 1002 // ------------------------------------------------------------------------- 1003 ::rtl::OUString SAL_CALL ODatabaseMetaData::getDatabaseProductName( ) throw(SQLException, RuntimeException) 1004 { 1005 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDatabaseProductName" ); 1006 return ::rtl::OUString(); 1007 } 1008 // ------------------------------------------------------------------------- 1009 ::rtl::OUString SAL_CALL ODatabaseMetaData::getProcedureTerm( ) throw(SQLException, RuntimeException) 1010 { 1011 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getProcedureTerm" ); 1012 return ::rtl::OUString(); 1013 } 1014 // ------------------------------------------------------------------------- 1015 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSchemaTerm( ) throw(SQLException, RuntimeException) 1016 { 1017 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSchemaTerm" ); 1018 return ::rtl::OUString(); 1019 } 1020 // ------------------------------------------------------------------------- 1021 sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMajorVersion( ) throw(RuntimeException) 1022 { 1023 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverMajorVersion" ); 1024 return 0; 1025 } 1026 // ------------------------------------------------------------------------- 1027 sal_Int32 SAL_CALL ODatabaseMetaData::getDefaultTransactionIsolation( ) throw(SQLException, RuntimeException) 1028 { 1029 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDefaultTransactionIsolation" ); 1030 return 0; 1031 } 1032 // ------------------------------------------------------------------------- 1033 sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMinorVersion( ) throw(RuntimeException) 1034 { 1035 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getDriverMinorVersion" ); 1036 return 0; 1037 } 1038 // ------------------------------------------------------------------------- 1039 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSQLKeywords( ) throw(SQLException, RuntimeException) 1040 { 1041 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSQLKeywords" ); 1042 return ::rtl::OUString(); 1043 } 1044 // ------------------------------------------------------------------------- 1045 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSearchStringEscape( ) throw(SQLException, RuntimeException) 1046 { 1047 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSearchStringEscape" ); 1048 return ::rtl::OUString(); 1049 } 1050 // ------------------------------------------------------------------------- 1051 ::rtl::OUString SAL_CALL ODatabaseMetaData::getStringFunctions( ) throw(SQLException, RuntimeException) 1052 { 1053 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getStringFunctions" ); 1054 return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UCASE,LCASE,ASCII,LENGTH,OCTET_LENGTH,CHAR_LENGTH,CHARACTER_LENGTH,CHAR,CONCAT,LOCATE,SUBSTRING,LTRIM,RTRIM,SPACE,REPLACE,REPEAT,INSERT,LEFT,RIGHT")); 1055 } 1056 // ------------------------------------------------------------------------- 1057 ::rtl::OUString SAL_CALL ODatabaseMetaData::getTimeDateFunctions( ) throw(SQLException, RuntimeException) 1058 { 1059 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getTimeDateFunctions" ); 1060 return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DAYOFWEEK,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,QUARTER,WEEK,YEAR,HOUR,MINUTE,SECOND,CURDATE,CURTIME,NOW")); 1061 } 1062 // ------------------------------------------------------------------------- 1063 ::rtl::OUString SAL_CALL ODatabaseMetaData::getSystemFunctions( ) throw(SQLException, RuntimeException) 1064 { 1065 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getSystemFunctions" ); 1066 return ::rtl::OUString(); 1067 } 1068 // ------------------------------------------------------------------------- 1069 ::rtl::OUString SAL_CALL ODatabaseMetaData::getNumericFunctions( ) throw(SQLException, RuntimeException) 1070 { 1071 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getNumericFunctions" ); 1072 return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ABS,SIGN,MOD,FLOOR,CEILING,ROUND,EXP,LN,LOG,LOG10,POWER,SQRT,PI,COS,SIN,TAN,ACOS,ASIN,ATAN,ATAN2,DEGREES,RADIANS")); 1073 } 1074 // ------------------------------------------------------------------------- 1075 sal_Bool SAL_CALL ODatabaseMetaData::supportsExtendedSQLGrammar( ) throw(SQLException, RuntimeException) 1076 { 1077 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsExtendedSQLGrammar" ); 1078 return sal_False; 1079 } 1080 // ------------------------------------------------------------------------- 1081 sal_Bool SAL_CALL ODatabaseMetaData::supportsCoreSQLGrammar( ) throw(SQLException, RuntimeException) 1082 { 1083 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsCoreSQLGrammar" ); 1084 return sal_False; 1085 } 1086 // ------------------------------------------------------------------------- 1087 sal_Bool SAL_CALL ODatabaseMetaData::supportsMinimumSQLGrammar( ) throw(SQLException, RuntimeException) 1088 { 1089 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsMinimumSQLGrammar" ); 1090 return sal_True; 1091 } 1092 // ------------------------------------------------------------------------- 1093 sal_Bool SAL_CALL ODatabaseMetaData::supportsFullOuterJoins( ) throw(SQLException, RuntimeException) 1094 { 1095 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsFullOuterJoins" ); 1096 return sal_False; 1097 } 1098 // ------------------------------------------------------------------------- 1099 sal_Bool SAL_CALL ODatabaseMetaData::supportsLimitedOuterJoins( ) throw(SQLException, RuntimeException) 1100 { 1101 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsLimitedOuterJoins" ); 1102 return sal_False; 1103 } 1104 // ------------------------------------------------------------------------- 1105 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInGroupBy( ) throw(SQLException, RuntimeException) 1106 { 1107 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInGroupBy" ); 1108 return 0; 1109 } 1110 // ------------------------------------------------------------------------- 1111 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInOrderBy( ) throw(SQLException, RuntimeException) 1112 { 1113 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInOrderBy" ); 1114 return 0; 1115 } 1116 // ------------------------------------------------------------------------- 1117 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInSelect( ) throw(SQLException, RuntimeException) 1118 { 1119 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxColumnsInSelect" ); 1120 return 0; 1121 } 1122 // ------------------------------------------------------------------------- 1123 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxUserNameLength( ) throw(SQLException, RuntimeException) 1124 { 1125 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getMaxUserNameLength" ); 1126 return 0; 1127 } 1128 // ------------------------------------------------------------------------- 1129 sal_Bool SAL_CALL ODatabaseMetaData::supportsResultSetType( sal_Int32 setType ) throw(SQLException, RuntimeException) 1130 { 1131 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsResultSetType" ); 1132 switch(setType) 1133 { 1134 case ResultSetType::FORWARD_ONLY: 1135 return sal_True; 1136 case ResultSetType::SCROLL_INSENSITIVE: 1137 case ResultSetType::SCROLL_SENSITIVE: 1138 break; 1139 } 1140 return sal_False; 1141 } 1142 // ------------------------------------------------------------------------- 1143 sal_Bool SAL_CALL ODatabaseMetaData::supportsResultSetConcurrency( sal_Int32 setType, sal_Int32 /*concurrency*/ ) throw(SQLException, RuntimeException) 1144 { 1145 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsResultSetConcurrency" ); 1146 switch(setType) 1147 { 1148 case ResultSetType::FORWARD_ONLY: 1149 return sal_True; 1150 case ResultSetType::SCROLL_INSENSITIVE: 1151 case ResultSetType::SCROLL_SENSITIVE: 1152 break; 1153 } 1154 return sal_False; 1155 } 1156 // ------------------------------------------------------------------------- 1157 sal_Bool SAL_CALL ODatabaseMetaData::ownUpdatesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1158 { 1159 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ownUpdatesAreVisible" ); 1160 return sal_True; 1161 } 1162 // ------------------------------------------------------------------------- 1163 sal_Bool SAL_CALL ODatabaseMetaData::ownDeletesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1164 { 1165 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ownDeletesAreVisible" ); 1166 return sal_True; 1167 } 1168 // ------------------------------------------------------------------------- 1169 sal_Bool SAL_CALL ODatabaseMetaData::ownInsertsAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1170 { 1171 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::ownInsertsAreVisible" ); 1172 return sal_True; 1173 } 1174 // ------------------------------------------------------------------------- 1175 sal_Bool SAL_CALL ODatabaseMetaData::othersUpdatesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1176 { 1177 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::othersUpdatesAreVisible" ); 1178 return sal_True; 1179 } 1180 // ------------------------------------------------------------------------- 1181 sal_Bool SAL_CALL ODatabaseMetaData::othersDeletesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1182 { 1183 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::othersDeletesAreVisible" ); 1184 return sal_True; 1185 } 1186 // ------------------------------------------------------------------------- 1187 sal_Bool SAL_CALL ODatabaseMetaData::othersInsertsAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1188 { 1189 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::othersInsertsAreVisible" ); 1190 return sal_True; 1191 } 1192 // ------------------------------------------------------------------------- 1193 sal_Bool SAL_CALL ODatabaseMetaData::updatesAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1194 { 1195 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::updatesAreDetected" ); 1196 return sal_False; 1197 } 1198 // ------------------------------------------------------------------------- 1199 sal_Bool SAL_CALL ODatabaseMetaData::deletesAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1200 { 1201 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::deletesAreDetected" ); 1202 return sal_False; 1203 } 1204 // ------------------------------------------------------------------------- 1205 sal_Bool SAL_CALL ODatabaseMetaData::insertsAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) 1206 { 1207 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::insertsAreDetected" ); 1208 return sal_False; 1209 } 1210 // ------------------------------------------------------------------------- 1211 sal_Bool SAL_CALL ODatabaseMetaData::supportsBatchUpdates( ) throw(SQLException, RuntimeException) 1212 { 1213 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::supportsBatchUpdates" ); 1214 return sal_False; 1215 } 1216 // ------------------------------------------------------------------------- 1217 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 { 1219 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getUDTs" ); 1220 return NULL; 1221 } 1222 1223 1224