LCOV - code coverage report
Current view: top level - connectivity/source/drivers/file - FDatabaseMetaData.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 128 467 27.4 %
Date: 2012-08-25 Functions: 12 140 8.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 176 612 28.8 %

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

Generated by: LCOV version 1.10