2011-11-17 21:29:14 +01:00
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2011-09-20 15:56:33 +02:00
/*************************************************************************
*
2011-11-21 11:29:03 +01:00
* Effective License of whole file :
2011-09-20 15:56:33 +02:00
*
2011-11-21 11:29:03 +01:00
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 , as published by the Free Software Foundation .
2011-09-20 15:56:33 +02:00
*
2011-11-21 11:29:03 +01:00
* This library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Lesser General Public License for more details .
2011-09-20 15:56:33 +02:00
*
2011-11-21 11:29:03 +01:00
* You should have received a copy of the GNU Lesser General Public
* License along with this library ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place , Suite 330 , Boston ,
* MA 02111 - 1307 USA
2011-09-20 15:56:33 +02:00
*
2011-11-21 11:29:03 +01:00
* Parts " Copyright by Sun Microsystems, Inc " prior to August 2011 :
2011-09-20 15:56:33 +02:00
*
2011-11-21 11:29:03 +01:00
* The Contents of this file are made available subject to the terms of
* the GNU Lesser General Public License Version 2.1
2011-09-20 15:56:33 +02:00
*
2011-11-21 11:29:03 +01:00
* Copyright : 2000 by Sun Microsystems , Inc .
*
* Contributor ( s ) : Joerg Budischewski
*
* All parts contributed on or after August 2011 :
*
2013-04-24 17:14:03 +01:00
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2.0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
2011-09-20 15:56:33 +02:00
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2011-08-02 16:10:00 +02:00
# include "pq_fakedupdateableresultset.hxx"
# include <cppuhelper/typeprovider.hxx>
# include <cppuhelper/queryinterface.hxx>
using osl : : MutexGuard ;
using com : : sun : : star : : uno : : Reference ;
using com : : sun : : star : : uno : : makeAny ;
using com : : sun : : star : : uno : : Sequence ;
using com : : sun : : star : : uno : : UNO_QUERY ;
using com : : sun : : star : : uno : : Any ;
using com : : sun : : star : : uno : : Type ;
using com : : sun : : star : : uno : : RuntimeException ;
using com : : sun : : star : : sdbc : : SQLException ;
using com : : sun : : star : : sdbc : : XResultSet ;
using com : : sun : : star : : sdbc : : XResultSetUpdate ;
using com : : sun : : star : : sdbc : : XRowUpdate ;
using com : : sun : : star : : sdbc : : XRow ;
using com : : sun : : star : : sdbc : : XStatement ;
namespace pq_sdbc_driver
{
FakedUpdateableResultSet : : FakedUpdateableResultSet (
const : : rtl : : Reference < RefCountedMutex > & mutex ,
const com : : sun : : star : : uno : : Reference < com : : sun : : star : : uno : : XInterface > & owner ,
ConnectionSettings * * pSettings ,
PGresult * result ,
2013-04-07 12:06:47 +02:00
const OUString & schema ,
const OUString & table ,
const OUString & aReason )
2011-08-02 16:10:00 +02:00
: ResultSet ( mutex , owner , pSettings , result , schema , table ) ,
m_aReason ( aReason )
{ }
com : : sun : : star : : uno : : Any FakedUpdateableResultSet : : queryInterface (
const com : : sun : : star : : uno : : Type & reqType )
2014-02-25 21:31:58 +01:00
throw ( com : : sun : : star : : uno : : RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
Any ret = ResultSet : : queryInterface ( reqType ) ;
if ( ! ret . hasValue ( ) )
ret = : : cppu : : queryInterface (
reqType ,
static_cast < XResultSetUpdate * > ( this ) ,
static_cast < XRowUpdate * > ( this ) ) ;
return ret ;
}
com : : sun : : star : : uno : : Sequence < com : : sun : : star : : uno : : Type > FakedUpdateableResultSet : : getTypes ( )
2014-02-25 21:31:58 +01:00
throw ( com : : sun : : star : : uno : : RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
static cppu : : OTypeCollection * pCollection ;
if ( ! pCollection )
{
MutexGuard guard ( osl : : Mutex : : getGlobalMutex ( ) ) ;
if ( ! pCollection )
{
static cppu : : OTypeCollection collection (
2014-05-22 23:19:05 +02:00
cppu : : UnoType < XResultSetUpdate > : : get ( ) ,
cppu : : UnoType < XRowUpdate > : : get ( ) ,
2011-08-02 16:10:00 +02:00
ResultSet : : getTypes ( ) ) ;
pCollection = & collection ;
}
}
return pCollection - > getTypes ( ) ;
}
com : : sun : : star : : uno : : Sequence < sal_Int8 > FakedUpdateableResultSet : : getImplementationId ( )
2014-02-25 21:31:58 +01:00
throw ( com : : sun : : star : : uno : : RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
2014-03-10 11:41:06 +01:00
return css : : uno : : Sequence < sal_Int8 > ( ) ;
2011-08-02 16:10:00 +02:00
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : insertRow ( ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateRow ( ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : deleteRow ( ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : cancelRowUpdates ( ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : moveToInsertRow ( ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : moveToCurrentRow ( ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateNull ( sal_Int32 /* columnIndex */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateBoolean ( sal_Int32 /* columnIndex */ , sal_Bool /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateByte ( sal_Int32 /* columnIndex */ , sal_Int8 /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateShort ( sal_Int32 /* columnIndex */ , sal_Int16 /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateInt ( sal_Int32 /* columnIndex */ , sal_Int32 /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateLong ( sal_Int32 /* columnIndex */ , sal_Int64 /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateFloat ( sal_Int32 /* columnIndex */ , float /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateDouble ( sal_Int32 /* columnIndex */ , double /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateString ( sal_Int32 /* columnIndex */ , const OUString & /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateBytes ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : uno : : Sequence < sal_Int8 > & /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateDate ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : util : : Date & /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateTime ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : util : : Time & /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateTimestamp ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : util : : DateTime & /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateBinaryStream ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : uno : : Reference < : : com : : sun : : star : : io : : XInputStream > & /* x */ , sal_Int32 /* length */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateCharacterStream ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : uno : : Reference < : : com : : sun : : star : : io : : XInputStream > & /* x */ , sal_Int32 /* length */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateObject ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : uno : : Any & /* x */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
2014-02-25 21:31:58 +01:00
void FakedUpdateableResultSet : : updateNumericObject ( sal_Int32 /* columnIndex */ , const : : com : : sun : : star : : uno : : Any & /* x */ , sal_Int32 /* scale */ ) throw ( SQLException , RuntimeException , std : : exception )
2011-08-02 16:10:00 +02:00
{
throw SQLException ( m_aReason , * this , OUString ( ) , 1 , Any ( ) ) ;
}
}
2014-02-18 12:11:15 +00:00
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */