2010-10-27 12:33:13 +01:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-06-14 17:39:53 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* 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/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2013-11-05 02:18:53 +01:00
|
|
|
#ifndef INCLUDED_DBACCESS_SOURCE_CORE_API_ROWSET_HXX
|
|
|
|
#define INCLUDED_DBACCESS_SOURCE_CORE_API_ROWSET_HXX
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2007-07-06 06:52:06 +00:00
|
|
|
#include "apitools.hxx"
|
|
|
|
#include "RowSetBase.hxx"
|
|
|
|
|
2000-09-18 23:16:46 +00:00
|
|
|
#include <com/sun/star/sdbc/XPreparedStatement.hpp>
|
|
|
|
#include <com/sun/star/sdbc/XConnection.hpp>
|
2004-10-22 07:54:48 +00:00
|
|
|
#include <com/sun/star/sdb/XSingleSelectQueryComposer.hpp>
|
2000-09-18 23:16:46 +00:00
|
|
|
#include <com/sun/star/sdb/XResultSetAccess.hpp>
|
2000-12-06 08:55:44 +00:00
|
|
|
#include <com/sun/star/sdbc/XRowSetListener.hpp>
|
2000-09-18 23:16:46 +00:00
|
|
|
#include <com/sun/star/sdbc/XRowUpdate.hpp>
|
|
|
|
#include <com/sun/star/sdbc/XResultSetUpdate.hpp>
|
|
|
|
#include <com/sun/star/sdbc/XParameters.hpp>
|
|
|
|
#include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
|
|
|
|
#include <com/sun/star/sdbc/ResultSetType.hpp>
|
|
|
|
#include <com/sun/star/util/XCancellable.hpp>
|
|
|
|
#include <com/sun/star/sdbcx/XDeleteRows.hpp>
|
2000-10-31 14:21:51 +00:00
|
|
|
#include <com/sun/star/sdb/XCompletedExecution.hpp>
|
|
|
|
#include <com/sun/star/sdb/RowSetVetoException.hpp>
|
2004-11-17 13:42:08 +00:00
|
|
|
#include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.hpp>
|
2007-07-06 06:52:06 +00:00
|
|
|
#include <com/sun/star/sdb/XParametersSupplier.hpp>
|
2010-02-15 09:53:53 +01:00
|
|
|
#include <com/sun/star/sdb/XRowsChangeBroadcaster.hpp>
|
2004-11-17 13:42:08 +00:00
|
|
|
|
2010-02-15 09:53:53 +01:00
|
|
|
#include <cppuhelper/compbase12.hxx>
|
2007-07-06 06:52:06 +00:00
|
|
|
#include <connectivity/paramwrapper.hxx>
|
|
|
|
#include <connectivity/FValue.hxx>
|
CWS-TOOLING: integrate CWS evoab2def
2009-05-28 16:00:19 +0200 fs r272412 : don't use createFalse - Evo 2.22 simply hangs when ask for all contacts without a first name. Instead, in the WHERE 0=1 case, simply create an empty result set
2009-05-22 14:25:51 +0200 fs r272193 : #i10000#
2009-05-22 14:25:37 +0200 fs r272192 : oops, ENABLE_EVOAB2 for some platforms only, not generically
2009-05-22 14:19:00 +0200 fs r272191 : #i10000#
2009-05-22 12:42:38 +0200 fs r272183 : when sorting, properly use a syslocale collator, instead of comparing the numerical values of the string's UTF-16 code points
2009-05-20 15:09:00 +0200 fs r272131 : clear/getWarnings: also allowed without cache
2009-05-20 14:11:19 +0200 fs r272128 : removed debug traces
2009-05-20 14:03:31 +0200 fs r272126 : #i55701# +STR_SORT_BY_COL_ONLY
2009-05-20 14:02:29 +0200 fs r272125 : implement sorting
2009-05-20 10:10:19 +0200 fs r272107 : #i10000#
2009-05-19 16:02:17 +0200 fs r272089 : #i10000#
2009-05-19 16:02:02 +0200 fs r272088 : #i55701# strings for new error condition DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 16:01:31 +0200 fs r272087 : #i55701# use DATA_CANNOT_SELECT_UNFILTERED as standardized error code
2009-05-19 15:59:59 +0200 fs r272086 : #i55701# +DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 15:46:12 +0200 fs r272084 : #i55701# recognize the DATA_CANNOT_SELECT_UNFILTERED error condition, and allow filtering in this case, even when the result set is empty
2009-05-19 09:06:50 +0200 fs r272059 : merging changes from CWS dba32b, to prevent future conflicts with upcoming local changes
2009-05-18 21:48:58 +0200 fs r272054 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:48:42 +0200 fs r272053 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:47:41 +0200 fs r272052 : +setExternalWarnings
2009-05-18 21:47:12 +0200 fs r272051 : #i55701# when re/loading the form, display any possible warnings
2009-05-18 21:43:26 +0200 fs r272050 : #i55701# implement XWarningsSupplier, exposing the warnings of our result set
2009-05-18 21:42:51 +0200 fs r272049 : #i55701# implement XWarningsSupplier, exposing the warnings of our aggregate RowSet
2009-05-18 17:53:59 +0200 fs r272041 : #i55701# moved the (I)WarningsContainer from dbaccess to connectivity, to be able to use it in the latter module, too
2009-05-18 17:24:10 +0200 fs r272040 : #i55701# properly enable the various Evolution types
2009-05-18 14:52:19 +0200 fs r272024 : #i55701# properly enable the Evolution types
2009-05-18 13:57:10 +0200 fs r272018 : fixed/extended whereAnalysis (column searching still not enabled, as neither LIKE nor = seem to work with my (somewhat older) Evolution version)
2009-05-18 13:56:08 +0200 fs r272017 : extended showParseTree
2009-05-18 13:55:25 +0200 fs r272016 : extended showParseTree
2009-05-18 11:40:16 +0200 fs r272008 : #i55701#
2009-05-18 11:39:02 +0200 fs r272006 : let the PreparedStatement return proper meta data, too
2009-05-18 10:05:37 +0200 fs r271999 : moved the XStatement interface to from OCommonStatement to OStatement - the former class is also the base for other classes which should not have this interface
2009-05-15 21:53:22 +0200 fs r271973 : collectColumnInformation: report invalid meta data as assertion
2009-05-15 21:51:40 +0200 fs r271972 : showParseTree should be const
2009-05-15 21:51:26 +0200 fs r271971 : showParseTree should be const
2009-05-15 21:51:03 +0200 fs r271970 : properly recognize the 'WHERE 0 = 1' clause, this way having proper statement meta data, this way saving much much calls from the DBA framework
2009-05-15 20:29:03 +0200 fs r271969 : cleaned up the mess with the statement classes
2009-05-15 15:51:11 +0200 fs r271944 : let the result set properly init its meta data
2009-05-15 15:29:54 +0200 fs r271939 : proper property implementations for the resultset class
2009-05-15 15:01:31 +0200 fs r271936 : proper property implementations for the statement class
2009-05-08 14:46:33 +0200 fs r271717 : component_foo must be PUBLIC
2009-05-06 09:20:05 +0200 fs r271565 : #i10000# (warnings on unxlngi6)
2009-05-06 09:01:30 +0200 fs r271564 : #i101493#
2009-05-05 23:08:12 +0200 fs r271560 : #i55701# merging the changes from the ancient (CVS-based) CWS evoab2default into this CWS here
2009-06-05 12:31:05 +00:00
|
|
|
#include <connectivity/warningscontainer.hxx>
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
namespace dbaccess
|
|
|
|
{
|
2010-02-15 09:53:53 +01:00
|
|
|
typedef ::cppu::WeakAggComponentImplHelper12 < ::com::sun::star::sdb::XResultSetAccess
|
2007-07-06 06:52:06 +00:00
|
|
|
, ::com::sun::star::sdb::XRowSetApproveBroadcaster
|
2010-02-15 09:53:53 +01:00
|
|
|
, ::com::sun::star::sdb::XRowsChangeBroadcaster
|
2007-07-06 06:52:06 +00:00
|
|
|
, ::com::sun::star::sdbcx::XDeleteRows
|
|
|
|
, ::com::sun::star::sdbc::XParameters
|
|
|
|
, ::com::sun::star::lang::XEventListener
|
|
|
|
, ::com::sun::star::sdbc::XResultSetUpdate
|
|
|
|
, ::com::sun::star::sdbc::XRowUpdate
|
|
|
|
, ::com::sun::star::util::XCancellable
|
|
|
|
, ::com::sun::star::sdb::XCompletedExecution
|
|
|
|
, ::com::sun::star::sdb::XParametersSupplier
|
CWS-TOOLING: integrate CWS evoab2def
2009-05-28 16:00:19 +0200 fs r272412 : don't use createFalse - Evo 2.22 simply hangs when ask for all contacts without a first name. Instead, in the WHERE 0=1 case, simply create an empty result set
2009-05-22 14:25:51 +0200 fs r272193 : #i10000#
2009-05-22 14:25:37 +0200 fs r272192 : oops, ENABLE_EVOAB2 for some platforms only, not generically
2009-05-22 14:19:00 +0200 fs r272191 : #i10000#
2009-05-22 12:42:38 +0200 fs r272183 : when sorting, properly use a syslocale collator, instead of comparing the numerical values of the string's UTF-16 code points
2009-05-20 15:09:00 +0200 fs r272131 : clear/getWarnings: also allowed without cache
2009-05-20 14:11:19 +0200 fs r272128 : removed debug traces
2009-05-20 14:03:31 +0200 fs r272126 : #i55701# +STR_SORT_BY_COL_ONLY
2009-05-20 14:02:29 +0200 fs r272125 : implement sorting
2009-05-20 10:10:19 +0200 fs r272107 : #i10000#
2009-05-19 16:02:17 +0200 fs r272089 : #i10000#
2009-05-19 16:02:02 +0200 fs r272088 : #i55701# strings for new error condition DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 16:01:31 +0200 fs r272087 : #i55701# use DATA_CANNOT_SELECT_UNFILTERED as standardized error code
2009-05-19 15:59:59 +0200 fs r272086 : #i55701# +DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 15:46:12 +0200 fs r272084 : #i55701# recognize the DATA_CANNOT_SELECT_UNFILTERED error condition, and allow filtering in this case, even when the result set is empty
2009-05-19 09:06:50 +0200 fs r272059 : merging changes from CWS dba32b, to prevent future conflicts with upcoming local changes
2009-05-18 21:48:58 +0200 fs r272054 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:48:42 +0200 fs r272053 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:47:41 +0200 fs r272052 : +setExternalWarnings
2009-05-18 21:47:12 +0200 fs r272051 : #i55701# when re/loading the form, display any possible warnings
2009-05-18 21:43:26 +0200 fs r272050 : #i55701# implement XWarningsSupplier, exposing the warnings of our result set
2009-05-18 21:42:51 +0200 fs r272049 : #i55701# implement XWarningsSupplier, exposing the warnings of our aggregate RowSet
2009-05-18 17:53:59 +0200 fs r272041 : #i55701# moved the (I)WarningsContainer from dbaccess to connectivity, to be able to use it in the latter module, too
2009-05-18 17:24:10 +0200 fs r272040 : #i55701# properly enable the various Evolution types
2009-05-18 14:52:19 +0200 fs r272024 : #i55701# properly enable the Evolution types
2009-05-18 13:57:10 +0200 fs r272018 : fixed/extended whereAnalysis (column searching still not enabled, as neither LIKE nor = seem to work with my (somewhat older) Evolution version)
2009-05-18 13:56:08 +0200 fs r272017 : extended showParseTree
2009-05-18 13:55:25 +0200 fs r272016 : extended showParseTree
2009-05-18 11:40:16 +0200 fs r272008 : #i55701#
2009-05-18 11:39:02 +0200 fs r272006 : let the PreparedStatement return proper meta data, too
2009-05-18 10:05:37 +0200 fs r271999 : moved the XStatement interface to from OCommonStatement to OStatement - the former class is also the base for other classes which should not have this interface
2009-05-15 21:53:22 +0200 fs r271973 : collectColumnInformation: report invalid meta data as assertion
2009-05-15 21:51:40 +0200 fs r271972 : showParseTree should be const
2009-05-15 21:51:26 +0200 fs r271971 : showParseTree should be const
2009-05-15 21:51:03 +0200 fs r271970 : properly recognize the 'WHERE 0 = 1' clause, this way having proper statement meta data, this way saving much much calls from the DBA framework
2009-05-15 20:29:03 +0200 fs r271969 : cleaned up the mess with the statement classes
2009-05-15 15:51:11 +0200 fs r271944 : let the result set properly init its meta data
2009-05-15 15:29:54 +0200 fs r271939 : proper property implementations for the resultset class
2009-05-15 15:01:31 +0200 fs r271936 : proper property implementations for the statement class
2009-05-08 14:46:33 +0200 fs r271717 : component_foo must be PUBLIC
2009-05-06 09:20:05 +0200 fs r271565 : #i10000# (warnings on unxlngi6)
2009-05-06 09:01:30 +0200 fs r271564 : #i101493#
2009-05-05 23:08:12 +0200 fs r271560 : #i55701# merging the changes from the ancient (CVS-based) CWS evoab2default into this CWS here
2009-06-05 12:31:05 +00:00
|
|
|
, ::com::sun::star::sdbc::XWarningsSupplier
|
2007-07-06 06:52:06 +00:00
|
|
|
> ORowSet_BASE1;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2000-11-03 13:42:50 +00:00
|
|
|
class OTableContainer;
|
2000-11-22 13:58:32 +00:00
|
|
|
class ORowSet : public comphelper::OBaseMutex
|
|
|
|
, public ORowSet_BASE1
|
2000-09-18 23:16:46 +00:00
|
|
|
, public ORowSetBase
|
2000-10-11 10:21:40 +00:00
|
|
|
, public ::comphelper::OPropertyArrayUsageHelper<ORowSet>
|
2000-09-18 23:16:46 +00:00
|
|
|
{
|
|
|
|
friend class ORowSetClone;
|
|
|
|
|
2001-05-07 10:11:15 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > m_xOldConnection;
|
2000-09-18 23:16:46 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > m_xActiveConnection;
|
|
|
|
::com::sun::star::uno::Any m_aActiveConnection;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xTypeMap;
|
|
|
|
::com::sun::star::uno::Any m_aTypeMap;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > m_xStatement;
|
2004-11-17 13:42:08 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer > m_xComposer;
|
2000-09-18 23:16:46 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xColumns; // the columns from a table or query
|
|
|
|
|
2002-12-05 13:10:11 +00:00
|
|
|
connectivity::OWeakRefArray m_aClones;
|
2007-07-06 06:52:06 +00:00
|
|
|
/** our parameters as XPropertySet instances and ORowSetValue instances
|
|
|
|
*/
|
|
|
|
::dbtools::param::ParametersContainerRef m_pParameters;
|
|
|
|
/** our parameters values, used when we do not yet have a parameters container
|
|
|
|
(since we have not been executed, yet)
|
|
|
|
*/
|
|
|
|
ORowSetValueVector m_aPrematureParamValues;
|
CWS-TOOLING: integrate CWS dba32c
2009-06-29 20:53:25 +0200 fs r273484 : #i103138# Rectangle conversion
2009-06-29 20:51:50 +0200 fs r273483 : #i103138# yet more refactoring, now also setting the proper zoom level at the proper point in time
2009-06-29 13:40:26 +0200 fs r273470 : added svn:ignore to ignore output paths
2009-06-29 10:08:54 +0200 fs r273455 : #i103138#
refactored the code for positioning/zooming the control
Basically, we now allow adjustControlGeometry_throw (formerly known as positionControl_throw and setControlZoom) to
take an additional ViewTransformation parameter, describing the transformation to obtain the actual
control position/size. Consequently, positionControl itself also allows for a ViewTransformation parameter.
This has become necessary since during painting, the device which we created our control for might not necessarily
have a proper MapMode set. In this case, if we would use this map mode for calculating the control's position/size,
this would lead to wrong results.
Note that this problem was introduced by the fix for #i101398#: During the fix, we postponed the control creation
to a later time (when it is really needed). At this later time, the MapMode at the device is broken, at the earlier
time where we formerly crearted the control (createPrimitive2DSequence), it is not yet broken.
Whether or not the MapMode is defined as "broken" might depend on one's point of view, however ...
I consider it broken, since:
- we need the map mode to obtain the proper zoom level, which is to be forwarded to the control
- there are scenarios where the MapMode is *not* set to MAP_PIXEL (in those scenarios, everything works
fine), and there are scenarios where it *is* set to MAP_PIXEL (in those the bug 103138 appears).
It somehow feels wrong that one cannot rely on the device's map mode this way, but on the other hand
one has no possibility to obtain the current zoom by other means.
Note that one issue (still to be submitted) is left: In the page pane of a Draw/Impress document, controls
have a wrong text size. This is because in this pane, the above-mentioned "broken" map mode is used,
which means the controls have a zoom of "1:1" set, which is wrong here.
2009-06-25 13:41:35 +0200 msc r273380 : #100000# the tabs changed die to new properties
2009-06-24 12:42:40 +0200 msc r273330 : #102082# remove issue warning
2009-06-22 10:43:14 +0200 fs r273201 : createPrimitive2DSequence: care for being disposed
2009-06-18 12:35:13 +0200 oj r273109 : #i102305# make nooptfiles for gcc
2009-06-17 12:14:37 +0200 oj r273056 : #i102305# fix for linux
2009-06-17 07:20:22 +0200 oj r273046 : #i102305# move ValueTransfer into the for loop to avoid a crash under Linux
2009-06-17 07:17:28 +0200 oj r273045 : #i102305# use varchar
2009-06-15 14:11:27 +0200 fs r272983 : added since tag
2009-06-15 12:11:39 +0200 oj r272973 : #i102305# SAL_DLLPUBLIC_EXPORT inserted
2009-06-15 11:08:53 +0200 fs r272969 : #i10000#
2009-06-15 09:25:13 +0200 fs r272963 : merging fix for P1 issue #i102701#
2009-06-11 11:31:24 +0200 fs r272858 : #i10000# copied the fix which before the rebase was done in ../dialog/macropg.src
2009-06-11 09:38:14 +0200 fs r272846 : CWS-TOOLING: rebase CWS dba32c to trunk@272827 (milestone: DEV300:m50)
2009-06-02 09:53:10 +0200 fs r272483 : #i10000#
2009-05-29 15:55:03 +0200 fs r272465 : #i100818#
2009-05-29 12:58:43 +0200 fs r272452 : don't apply comphelper::getString on possibly VOID any
2009-05-29 10:38:35 +0200 oj r272437 : #i101519# handle where condition
2009-05-29 09:53:39 +0200 fs r272434 : #i100818# call into releaseStubs /without/ locked GlobalMutex
2009-05-28 07:53:44 +0200 oj r272375 : #i101369# parse tree changed
2009-05-27 14:53:36 +0200 fs r272347 : #i10000#
2009-05-27 09:29:15 +0200 oj r272327 : #i101626# check for double before hard cast
2009-05-27 09:13:58 +0200 oj r272326 : #i101626# handle void correctly
2009-05-27 08:04:39 +0200 oj r272321 : #i102256# wrong method signature used
2009-05-27 07:55:52 +0200 oj r272320 : #i101519# look up parameter typ if used in function
2009-05-27 06:49:07 +0200 oj r272319 : #i101519# set parameter from rowset as well
2009-05-26 13:30:56 +0200 oj r272297 : #i101987# impl XBatchExecution
2009-05-26 12:44:34 +0200 oj r272293 : #i101700# check if group is not set
2009-05-26 12:16:53 +0200 oj r272290 : #i101369# resolved some reduce7reduce problems with boolean_term and search_condition
2009-05-26 12:12:42 +0200 oj r272289 : #i101369# fix for or on one line criteria
2009-05-25 16:02:25 +0200 fs r272257 : #i999704# +PROPERTY_MOUSE_WHEEL_BEHAVIOR
2009-05-25 16:01:55 +0200 fs r272256 : merging the changes from CWS dba32b herein
2009-05-25 15:49:57 +0200 fs r272254 : #i999704#
2009-05-25 15:32:57 +0200 fs r272252 : #i99704# grid columns also to respect the MouseWheelBehavior property
2009-05-25 15:23:43 +0200 fs r272251 : don't pass empty Anys to ::comphelper::getString
2009-05-25 14:48:43 +0200 fs r272248 : merged changes from CWS dba32b herein
2009-05-25 14:44:40 +0200 fs r272247 : #i99704# support new MouseWheelBehavior property
2009-05-25 14:43:18 +0200 fs r272246 : #i99704# WheelWithoutFocus (peer property) superseded by MouseWheelBehavior (model property)
2009-05-25 14:41:03 +0200 fs r272245 : #i99704# no need to set the mouse wheel behavior at the peer, this is now a model property, having the right default
2009-05-25 14:39:31 +0200 fs r272243 : removed dead import
2009-05-25 14:35:36 +0200 fs r272242 : the new EnableVisible doesn't make sense for grid columns
2009-05-25 14:34:33 +0200 fs r272241 : #i99704# +MouseWheelBehavior - allow to enable/disable the mouse wheel for the control, or make it focus-dependent
2009-05-25 14:26:11 +0200 fs r272240 : #i99704# change MouseSettings wheel flag (NoWheelActionWithoutFocus) to a three-state option, allowing to completely ignore the mouse wheel
2009-05-23 21:35:59 +0200 fs r272213 : localize 'sub component opened/closed' event
2009-05-22 21:42:47 +0200 fs r272211 : #i102003#
2009-05-22 21:42:20 +0200 fs r272210 : grammar
2009-05-22 21:36:10 +0200 fs r272209 : #i102140# load only once, not twice, and show error messages during loading (and during any form action, that is) asynchronously
2009-05-22 21:35:11 +0200 fs r272208 : #i102140# +clear
2009-05-22 14:50:30 +0200 fs r272194 : #i102139# for newly created DB docs, set the MacroExecutionMode to USE_CONFIG
2009-05-22 12:03:42 +0200 fs r272180 : #i88878#
provided by noel.power@novell.com
implement a visibility property (EnableVisible) for toolkit controls, and usage in forms and UNO dialogs
2009-05-15 15:37:31 +0200 fs r271942 : #i100671# corrected some @since tags, so autodoc has better chances of correctly reading them
2009-05-15 15:33:11 +0200 fs r271940 : don't call comphelper::getFOO for VOID values
2009-05-15 15:08:31 +0200 fs r271937 : includes
2009-05-15 13:39:22 +0200 fs r271934 : #i101398# createPrimitive2DSequence: when we already have a control, use the old code. In particular, call positionControlForPaint
2009-05-15 12:33:48 +0200 fs r271933 : make the geometry a part of the ControlPrimitive2D's identity
2009-05-15 10:15:44 +0200 fs r271928 : #i10000#
2009-05-14 20:55:38 +0200 fs r271921 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:55:31 +0200 fs r271920 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique
2009-05-14 20:23:23 +0200 fs r271919 : #i101622#
2009-05-14 16:04:38 +0200 fs r271898 : don't use comphelper::getInt32 on voids
2009-05-14 16:04:12 +0200 fs r271897 : merge fix for issue whose number just slipped my memory ... (originally fixed in CWS dba32b)
2009-05-14 15:36:55 +0200 fs r271895 : merging changes from DEV300:m48
2009-05-07 14:43:19 +0200 fs r271670 : #i101477#
2009-05-07 14:37:30 +0200 fs r271668 : #i101477#
2009-05-07 09:27:30 +0200 oj r271628 : #i101343# remove pch
2009-05-06 09:36:02 +0200 fs r271568 : getFoo: diagnostics
2009-05-04 09:23:06 +0200 oj r271438 : CWS-TOOLING: rebase CWS dba32c to trunk@271427 (milestone: DEV300:m47)
2009-04-29 23:18:13 +0200 fs r271394 : #i101398# use a dedicated 2DPrimitive for UNO Controls, which is able to provide the B2DRange *without* actually creating the control
2009-04-29 13:52:25 +0200 fs r271366 : #i101308#
2009-07-03 14:21:50 +00:00
|
|
|
ORowSetValueVector m_aParameterValueForCache;
|
2011-02-08 19:46:39 +01:00
|
|
|
::std::vector<bool> m_aParametersSet;
|
|
|
|
::std::vector<bool> m_aReadOnlyDataColumns;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2001-08-06 10:01:19 +00:00
|
|
|
::cppu::OInterfaceContainerHelper m_aRowsetListeners;
|
|
|
|
::cppu::OInterfaceContainerHelper m_aApproveListeners;
|
2010-02-15 09:53:53 +01:00
|
|
|
::cppu::OInterfaceContainerHelper m_aRowsChangeListener;
|
2001-08-06 10:01:19 +00:00
|
|
|
|
CWS-TOOLING: integrate CWS evoab2def
2009-05-28 16:00:19 +0200 fs r272412 : don't use createFalse - Evo 2.22 simply hangs when ask for all contacts without a first name. Instead, in the WHERE 0=1 case, simply create an empty result set
2009-05-22 14:25:51 +0200 fs r272193 : #i10000#
2009-05-22 14:25:37 +0200 fs r272192 : oops, ENABLE_EVOAB2 for some platforms only, not generically
2009-05-22 14:19:00 +0200 fs r272191 : #i10000#
2009-05-22 12:42:38 +0200 fs r272183 : when sorting, properly use a syslocale collator, instead of comparing the numerical values of the string's UTF-16 code points
2009-05-20 15:09:00 +0200 fs r272131 : clear/getWarnings: also allowed without cache
2009-05-20 14:11:19 +0200 fs r272128 : removed debug traces
2009-05-20 14:03:31 +0200 fs r272126 : #i55701# +STR_SORT_BY_COL_ONLY
2009-05-20 14:02:29 +0200 fs r272125 : implement sorting
2009-05-20 10:10:19 +0200 fs r272107 : #i10000#
2009-05-19 16:02:17 +0200 fs r272089 : #i10000#
2009-05-19 16:02:02 +0200 fs r272088 : #i55701# strings for new error condition DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 16:01:31 +0200 fs r272087 : #i55701# use DATA_CANNOT_SELECT_UNFILTERED as standardized error code
2009-05-19 15:59:59 +0200 fs r272086 : #i55701# +DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 15:46:12 +0200 fs r272084 : #i55701# recognize the DATA_CANNOT_SELECT_UNFILTERED error condition, and allow filtering in this case, even when the result set is empty
2009-05-19 09:06:50 +0200 fs r272059 : merging changes from CWS dba32b, to prevent future conflicts with upcoming local changes
2009-05-18 21:48:58 +0200 fs r272054 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:48:42 +0200 fs r272053 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:47:41 +0200 fs r272052 : +setExternalWarnings
2009-05-18 21:47:12 +0200 fs r272051 : #i55701# when re/loading the form, display any possible warnings
2009-05-18 21:43:26 +0200 fs r272050 : #i55701# implement XWarningsSupplier, exposing the warnings of our result set
2009-05-18 21:42:51 +0200 fs r272049 : #i55701# implement XWarningsSupplier, exposing the warnings of our aggregate RowSet
2009-05-18 17:53:59 +0200 fs r272041 : #i55701# moved the (I)WarningsContainer from dbaccess to connectivity, to be able to use it in the latter module, too
2009-05-18 17:24:10 +0200 fs r272040 : #i55701# properly enable the various Evolution types
2009-05-18 14:52:19 +0200 fs r272024 : #i55701# properly enable the Evolution types
2009-05-18 13:57:10 +0200 fs r272018 : fixed/extended whereAnalysis (column searching still not enabled, as neither LIKE nor = seem to work with my (somewhat older) Evolution version)
2009-05-18 13:56:08 +0200 fs r272017 : extended showParseTree
2009-05-18 13:55:25 +0200 fs r272016 : extended showParseTree
2009-05-18 11:40:16 +0200 fs r272008 : #i55701#
2009-05-18 11:39:02 +0200 fs r272006 : let the PreparedStatement return proper meta data, too
2009-05-18 10:05:37 +0200 fs r271999 : moved the XStatement interface to from OCommonStatement to OStatement - the former class is also the base for other classes which should not have this interface
2009-05-15 21:53:22 +0200 fs r271973 : collectColumnInformation: report invalid meta data as assertion
2009-05-15 21:51:40 +0200 fs r271972 : showParseTree should be const
2009-05-15 21:51:26 +0200 fs r271971 : showParseTree should be const
2009-05-15 21:51:03 +0200 fs r271970 : properly recognize the 'WHERE 0 = 1' clause, this way having proper statement meta data, this way saving much much calls from the DBA framework
2009-05-15 20:29:03 +0200 fs r271969 : cleaned up the mess with the statement classes
2009-05-15 15:51:11 +0200 fs r271944 : let the result set properly init its meta data
2009-05-15 15:29:54 +0200 fs r271939 : proper property implementations for the resultset class
2009-05-15 15:01:31 +0200 fs r271936 : proper property implementations for the statement class
2009-05-08 14:46:33 +0200 fs r271717 : component_foo must be PUBLIC
2009-05-06 09:20:05 +0200 fs r271565 : #i10000# (warnings on unxlngi6)
2009-05-06 09:01:30 +0200 fs r271564 : #i101493#
2009-05-05 23:08:12 +0200 fs r271560 : #i55701# merging the changes from the ancient (CVS-based) CWS evoab2default into this CWS here
2009-06-05 12:31:05 +00:00
|
|
|
::dbtools::WarningsContainer m_aWarnings;
|
|
|
|
|
2000-11-03 13:42:50 +00:00
|
|
|
OTableContainer* m_pTables;
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString m_aCommand;
|
|
|
|
OUString m_aDataSourceName;
|
|
|
|
OUString m_aURL;
|
|
|
|
OUString m_aUser;
|
|
|
|
OUString m_aPassword;
|
|
|
|
OUString m_aFilter;
|
|
|
|
OUString m_aHavingClause;
|
|
|
|
OUString m_aGroupBy;
|
|
|
|
OUString m_aOrder;
|
|
|
|
OUString m_aActiveCommand;
|
|
|
|
OUString m_aCursorName;
|
|
|
|
OUString m_aUpdateCatalogName; // is set by a query
|
|
|
|
OUString m_aUpdateSchemaName; // is set by a query
|
|
|
|
OUString m_aUpdateTableName; // is set by a query
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
sal_Int32 m_nFetchDirection;
|
|
|
|
sal_Int32 m_nFetchSize;
|
|
|
|
sal_Int32 m_nMaxFieldSize;
|
|
|
|
sal_Int32 m_nMaxRows;
|
|
|
|
sal_Int32 m_nQueryTimeOut;
|
|
|
|
sal_Int32 m_nCommandType;
|
|
|
|
sal_Int32 m_nTransactionIsolation;
|
|
|
|
sal_Int32 m_nPrivileges;
|
2006-01-25 14:10:07 +00:00
|
|
|
sal_Int32 m_nLastKnownRowCount;
|
2008-01-30 07:29:17 +00:00
|
|
|
oslInterlockedCount m_nInAppend;
|
2014-04-17 11:16:55 +02:00
|
|
|
bool m_bLastKnownRowCountFinal;
|
|
|
|
bool m_bUseEscapeProcessing ;
|
|
|
|
bool m_bApplyFilter ;
|
|
|
|
bool m_bCommandFacetsDirty; // any of the facets which define the active command is dirty
|
2013-12-16 04:16:54 +01:00
|
|
|
bool m_bParametersDirty; // parameters changed since execute
|
2014-04-17 11:16:55 +02:00
|
|
|
bool m_bModified ;
|
|
|
|
bool m_bRebuildConnOnExecute ;
|
|
|
|
bool m_bIsBookmarkable ;
|
|
|
|
bool m_bNew ;
|
|
|
|
bool m_bCanUpdateInsertedRows;
|
|
|
|
bool m_bOwnConnection;
|
|
|
|
bool m_bPropChangeNotifyEnabled;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
private:
|
2007-07-06 06:52:06 +00:00
|
|
|
/** builds m_aActiveCommand from our settings
|
|
|
|
|
|
|
|
@return
|
|
|
|
whether we should use escape processing before executing the actual command. This is determined
|
|
|
|
from our own EscapeProcessing property, and possibly overruled by the respective property
|
|
|
|
of a query we're based on.
|
|
|
|
*/
|
2014-04-17 11:16:55 +02:00
|
|
|
bool impl_buildActiveCommand_throw();
|
2007-07-06 06:52:06 +00:00
|
|
|
|
|
|
|
/** initializes our query composer, and everything which has to do with it
|
2006-07-10 14:03:25 +00:00
|
|
|
|
2007-07-06 06:52:06 +00:00
|
|
|
If we don't use escape processing, then we don't have a composer, and everything
|
|
|
|
related to it. Nonetheless, _out_rCommandToExecute and the return value are properly
|
|
|
|
initialized.
|
2006-07-10 14:03:25 +00:00
|
|
|
|
2007-07-06 06:52:06 +00:00
|
|
|
@param _out_rCommandToExecute
|
|
|
|
The command which is to be executed, according to the current settings -
|
|
|
|
it is built from our active command plus our current filter/order criterions.
|
|
|
|
|
|
|
|
@return
|
|
|
|
whether we should use escape processing before executing the actual command. This is determined
|
|
|
|
from our own EscapeProcessing property, and possibly overruled by the respective property
|
|
|
|
of a query we're based on.
|
|
|
|
Effectively, this value determines whether or not we actually have an composer (m_xComposer)
|
|
|
|
and dependent information (such as the parameters container).
|
2006-07-10 14:03:25 +00:00
|
|
|
|
|
|
|
@precond
|
|
|
|
m_xActiveConnection points to a valid SDB-level connection
|
|
|
|
|
|
|
|
@throws com::sun::star::sdb::SQLException
|
2010-12-04 12:33:49 +09:00
|
|
|
if an database-related error occurred
|
2007-07-06 06:52:06 +00:00
|
|
|
|
2006-07-10 14:03:25 +00:00
|
|
|
@throws com::sun::star::uno::RuntimeException
|
|
|
|
if any of the components involved throws a com::sun::star::uno::RuntimeException
|
|
|
|
*/
|
2014-04-17 11:16:55 +02:00
|
|
|
bool impl_initComposer_throw( OUString& _out_rCommandToExecute );
|
2006-07-10 14:03:25 +00:00
|
|
|
|
2006-08-04 12:55:25 +00:00
|
|
|
/** returns the table container of our active connection
|
|
|
|
|
|
|
|
If our connection is able to provide a tables container, this one is returned.
|
|
|
|
Else, if m_pTables is not <NULL/>, this one will returned.
|
|
|
|
Else, m_pTables will be constructed and returned.
|
|
|
|
|
|
|
|
@precond m_xActiveConnection is not <NULL/>
|
|
|
|
@throws ::com::sun::star::sdbc::SQLException
|
|
|
|
if retrieving or constructing the tables container goes wrong
|
|
|
|
|
|
|
|
@see impl_resetTables_nothrow
|
|
|
|
*/
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
|
|
|
|
impl_getTables_throw();
|
|
|
|
|
|
|
|
/** cleans up m_pTables, and resets it to <NULL/>
|
|
|
|
*/
|
|
|
|
void impl_resetTables_nothrow();
|
|
|
|
|
2006-07-10 14:03:25 +00:00
|
|
|
/** prepares and executes our command
|
|
|
|
*/
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet >
|
|
|
|
impl_prepareAndExecute_throw();
|
2013-12-16 04:16:54 +01:00
|
|
|
void impl_makeNewStatement_throw();
|
2006-07-10 14:03:25 +00:00
|
|
|
|
2000-12-01 13:16:46 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > calcConnection(const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxHandler) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
|
2007-07-06 06:52:06 +00:00
|
|
|
// free clones and ParseTree. Plus, if _bComplete is <TRUE/>, *all* other associated resources
|
|
|
|
void freeResources( bool _bComplete );
|
2000-09-29 14:23:36 +00:00
|
|
|
|
2006-01-25 14:10:07 +00:00
|
|
|
/// informs the clones (and ourself) that we are going to delete a record with a given bookmark
|
|
|
|
void notifyRowSetAndClonesRowDelete( const ::com::sun::star::uno::Any& _rBookmark );
|
|
|
|
|
|
|
|
/// inform the clones (and ourself) that we have deleted a record with a given bookmark
|
|
|
|
void notifyRowSetAndClonesRowDeleted( const ::com::sun::star::uno::Any& _rBookmark, sal_Int32 _nPos );
|
|
|
|
|
2001-01-22 06:38:24 +00:00
|
|
|
void checkUpdateIterator();
|
2001-07-30 07:53:02 +00:00
|
|
|
const connectivity::ORowSetValue& getInsertValue(sal_Int32 columnIndex);
|
2001-07-24 12:25:26 +00:00
|
|
|
void setParameter(sal_Int32 parameterIndex, const connectivity::ORowSetValue& x);
|
2012-01-18 12:31:06 +01:00
|
|
|
// resizes the parameter vector if necessary
|
2007-07-06 06:52:06 +00:00
|
|
|
::connectivity::ORowSetValue& getParameterStorage( sal_Int32 parameterIndex );
|
|
|
|
|
2001-07-24 12:25:26 +00:00
|
|
|
void updateValue(sal_Int32 columnIndex,const connectivity::ORowSetValue& x);
|
2001-06-26 09:12:41 +00:00
|
|
|
void checkUpdateConditions(sal_Int32 columnIndex);
|
2010-02-15 09:53:53 +01:00
|
|
|
void impl_rebuild_throw(::osl::ResettableMutexGuard& _rGuard);
|
|
|
|
// set all data columns to writeable
|
|
|
|
void impl_setDataColumnsWriteable_throw();
|
|
|
|
// restore the old state of the data column read-only state
|
|
|
|
void impl_restoreDataColumnsWriteable_throw();
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
protected:
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const ::com::sun::star::uno::Any& rValue) throw (::com::sun::star::uno::Exception, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL getFastPropertyValue(::com::sun::star::uno::Any& rValue,sal_Int32 nHandle) const SAL_OVERRIDE;
|
|
|
|
virtual void getPropertyDefaultByHandle( sal_Int32 _nHandle, ::com::sun::star::uno::Any& _rDefault ) const SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void fireRowcount() SAL_OVERRIDE;
|
2006-01-25 14:10:07 +00:00
|
|
|
void notifyAllListenersRowBeforeChange(::osl::ResettableMutexGuard& _rGuard,const ::com::sun::star::sdb::RowChangeEvent &rEvt);
|
2010-02-15 09:53:53 +01:00
|
|
|
void notifyAllListenersRowChanged(::osl::ResettableMutexGuard& _rGuard,const ::com::sun::star::sdb::RowsChangeEvent& rEvt);
|
2014-04-17 11:16:55 +02:00
|
|
|
virtual bool notifyAllListenersCursorBeforeMove(::osl::ResettableMutexGuard& _rGuard) SAL_OVERRIDE;
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void notifyAllListenersCursorMoved(::osl::ResettableMutexGuard& _rGuard) SAL_OVERRIDE;
|
|
|
|
virtual void notifyAllListeners(::osl::ResettableMutexGuard& _rGuard) SAL_OVERRIDE;
|
2000-09-29 14:23:36 +00:00
|
|
|
|
2014-04-17 11:16:55 +02:00
|
|
|
virtual void doCancelModification( ) SAL_OVERRIDE;
|
|
|
|
virtual bool isModification( ) SAL_OVERRIDE;
|
|
|
|
virtual bool isModified( ) SAL_OVERRIDE;
|
|
|
|
virtual bool isNew( ) SAL_OVERRIDE;
|
|
|
|
virtual bool isPropertyChangeNotificationEnabled() const SAL_OVERRIDE;
|
2002-12-05 08:53:00 +00:00
|
|
|
|
2005-09-05 07:57:19 +00:00
|
|
|
virtual ~ORowSet();
|
|
|
|
|
2000-09-18 23:16:46 +00:00
|
|
|
public:
|
2013-03-19 13:08:47 +02:00
|
|
|
ORowSet(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::lang::XTypeProvider
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::uno::XInterface
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL release() throw() SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::lang::XUnoTunnel
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2014-03-10 13:08:29 +01:00
|
|
|
static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::uno::XAggregation
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::lang::XServiceInfo
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::lang::XServiceInfo - static methods
|
2013-04-07 12:06:47 +02:00
|
|
|
static ::com::sun::star::uno::Sequence< OUString > getSupportedServiceNames_static(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
static OUString getImplementationName_static(void) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 23:16:46 +00:00
|
|
|
static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
|
2008-01-30 07:29:17 +00:00
|
|
|
SAL_CALL Create(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// OComponentHelper
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL disposing(void) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::lang::XEventListener
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::sdbc::XCloseable
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL close( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2000-10-11 10:21:40 +00:00
|
|
|
// comphelper::OPropertyArrayUsageHelper
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// cppu::OPropertySetHelper
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2000-09-29 14:23:36 +00:00
|
|
|
// ::com::sun::star::sdbc::XResultSet
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual sal_Int32 SAL_CALL getRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL refreshRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-29 14:23:36 +00:00
|
|
|
|
2000-10-31 14:21:51 +00:00
|
|
|
// XCompletedExecution
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL executeWithCompletion( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& handler ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-10-31 14:21:51 +00:00
|
|
|
|
2007-07-06 06:52:06 +00:00
|
|
|
// XParametersSupplier
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getParameters( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2007-07-06 06:52:06 +00:00
|
|
|
|
2000-09-29 14:23:36 +00:00
|
|
|
// ::com::sun::star::sdbc::XRow
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual sal_Bool SAL_CALL wasNull( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual OUString SAL_CALL getString( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Bool SAL_CALL getBoolean( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Int8 SAL_CALL getByte( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Int16 SAL_CALL getShort( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Int32 SAL_CALL getInt( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Int64 SAL_CALL getLong( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual float SAL_CALL getFloat( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual double SAL_CALL getDouble( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getBytes( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::util::Date SAL_CALL getDate( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::util::Time SAL_CALL getTime( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::util::DateTime SAL_CALL getTimestamp( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getBinaryStream( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getCharacterStream( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL getObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& typeMap ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef > SAL_CALL getRef( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob > SAL_CALL getBlob( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob > SAL_CALL getClob( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray > SAL_CALL getArray( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-29 14:23:36 +00:00
|
|
|
|
2000-09-18 23:16:46 +00:00
|
|
|
// ::com::sun::star::sdbc::XRowUpdate
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL updateNull( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateBoolean( sal_Int32 columnIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateByte( sal_Int32 columnIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateShort( sal_Int32 columnIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateLong( sal_Int32 columnIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateFloat( sal_Int32 columnIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateDouble( sal_Int32 columnIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateString( sal_Int32 columnIndex, const OUString& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateBytes( sal_Int32 columnIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateDate( sal_Int32 columnIndex, const ::com::sun::star::util::Date& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateTime( sal_Int32 columnIndex, const ::com::sun::star::util::Time& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateTimestamp( sal_Int32 columnIndex, const ::com::sun::star::util::DateTime& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateBinaryStream( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateCharacterStream( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateNumericObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x, sal_Int32 scale ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::sdbc::XResultSetUpdate
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL insertRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL updateRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL deleteRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL cancelRowUpdates( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL moveToInsertRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL moveToCurrentRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::sdbc::XRowSet
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL execute( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL addRowSetListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL removeRowSetListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::sdb::XRowSetApproveBroadcaster
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL addRowSetApproveListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL removeRowSetApproveListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2010-02-15 09:53:53 +01:00
|
|
|
// ::com::sun::star::sdb::XRowsChangeBroadcaster
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL addRowsChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowsChangeListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL removeRowsChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowsChangeListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2010-02-15 09:53:53 +01:00
|
|
|
|
2000-09-18 23:16:46 +00:00
|
|
|
// ::com::sun::star::sdb::XResultSetAccess
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL createResultSet( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::util::XCancellable
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL cancel( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::sdbcx::XDeleteRows
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL deleteRows( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// XParameters
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL setNull( sal_Int32 parameterIndex, sal_Int32 sqlType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setObjectNull( sal_Int32 parameterIndex, sal_Int32 sqlType, const OUString& typeName ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setBoolean( sal_Int32 parameterIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setByte( sal_Int32 parameterIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setShort( sal_Int32 parameterIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setInt( sal_Int32 parameterIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setLong( sal_Int32 parameterIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setFloat( sal_Int32 parameterIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setDouble( sal_Int32 parameterIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setString( sal_Int32 parameterIndex, const OUString& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setBytes( sal_Int32 parameterIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setDate( sal_Int32 parameterIndex, const ::com::sun::star::util::Date& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setTime( sal_Int32 parameterIndex, const ::com::sun::star::util::Time& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setTimestamp( sal_Int32 parameterIndex, const ::com::sun::star::util::DateTime& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setBinaryStream( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setCharacterStream( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setObject( sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setObjectWithInfo( sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x, sal_Int32 targetSqlType, sal_Int32 scale ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setRef( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setBlob( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setClob( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL setArray( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL clearParameters( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-10-31 14:21:51 +00:00
|
|
|
|
CWS-TOOLING: integrate CWS evoab2def
2009-05-28 16:00:19 +0200 fs r272412 : don't use createFalse - Evo 2.22 simply hangs when ask for all contacts without a first name. Instead, in the WHERE 0=1 case, simply create an empty result set
2009-05-22 14:25:51 +0200 fs r272193 : #i10000#
2009-05-22 14:25:37 +0200 fs r272192 : oops, ENABLE_EVOAB2 for some platforms only, not generically
2009-05-22 14:19:00 +0200 fs r272191 : #i10000#
2009-05-22 12:42:38 +0200 fs r272183 : when sorting, properly use a syslocale collator, instead of comparing the numerical values of the string's UTF-16 code points
2009-05-20 15:09:00 +0200 fs r272131 : clear/getWarnings: also allowed without cache
2009-05-20 14:11:19 +0200 fs r272128 : removed debug traces
2009-05-20 14:03:31 +0200 fs r272126 : #i55701# +STR_SORT_BY_COL_ONLY
2009-05-20 14:02:29 +0200 fs r272125 : implement sorting
2009-05-20 10:10:19 +0200 fs r272107 : #i10000#
2009-05-19 16:02:17 +0200 fs r272089 : #i10000#
2009-05-19 16:02:02 +0200 fs r272088 : #i55701# strings for new error condition DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 16:01:31 +0200 fs r272087 : #i55701# use DATA_CANNOT_SELECT_UNFILTERED as standardized error code
2009-05-19 15:59:59 +0200 fs r272086 : #i55701# +DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 15:46:12 +0200 fs r272084 : #i55701# recognize the DATA_CANNOT_SELECT_UNFILTERED error condition, and allow filtering in this case, even when the result set is empty
2009-05-19 09:06:50 +0200 fs r272059 : merging changes from CWS dba32b, to prevent future conflicts with upcoming local changes
2009-05-18 21:48:58 +0200 fs r272054 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:48:42 +0200 fs r272053 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:47:41 +0200 fs r272052 : +setExternalWarnings
2009-05-18 21:47:12 +0200 fs r272051 : #i55701# when re/loading the form, display any possible warnings
2009-05-18 21:43:26 +0200 fs r272050 : #i55701# implement XWarningsSupplier, exposing the warnings of our result set
2009-05-18 21:42:51 +0200 fs r272049 : #i55701# implement XWarningsSupplier, exposing the warnings of our aggregate RowSet
2009-05-18 17:53:59 +0200 fs r272041 : #i55701# moved the (I)WarningsContainer from dbaccess to connectivity, to be able to use it in the latter module, too
2009-05-18 17:24:10 +0200 fs r272040 : #i55701# properly enable the various Evolution types
2009-05-18 14:52:19 +0200 fs r272024 : #i55701# properly enable the Evolution types
2009-05-18 13:57:10 +0200 fs r272018 : fixed/extended whereAnalysis (column searching still not enabled, as neither LIKE nor = seem to work with my (somewhat older) Evolution version)
2009-05-18 13:56:08 +0200 fs r272017 : extended showParseTree
2009-05-18 13:55:25 +0200 fs r272016 : extended showParseTree
2009-05-18 11:40:16 +0200 fs r272008 : #i55701#
2009-05-18 11:39:02 +0200 fs r272006 : let the PreparedStatement return proper meta data, too
2009-05-18 10:05:37 +0200 fs r271999 : moved the XStatement interface to from OCommonStatement to OStatement - the former class is also the base for other classes which should not have this interface
2009-05-15 21:53:22 +0200 fs r271973 : collectColumnInformation: report invalid meta data as assertion
2009-05-15 21:51:40 +0200 fs r271972 : showParseTree should be const
2009-05-15 21:51:26 +0200 fs r271971 : showParseTree should be const
2009-05-15 21:51:03 +0200 fs r271970 : properly recognize the 'WHERE 0 = 1' clause, this way having proper statement meta data, this way saving much much calls from the DBA framework
2009-05-15 20:29:03 +0200 fs r271969 : cleaned up the mess with the statement classes
2009-05-15 15:51:11 +0200 fs r271944 : let the result set properly init its meta data
2009-05-15 15:29:54 +0200 fs r271939 : proper property implementations for the resultset class
2009-05-15 15:01:31 +0200 fs r271936 : proper property implementations for the statement class
2009-05-08 14:46:33 +0200 fs r271717 : component_foo must be PUBLIC
2009-05-06 09:20:05 +0200 fs r271565 : #i10000# (warnings on unxlngi6)
2009-05-06 09:01:30 +0200 fs r271564 : #i101493#
2009-05-05 23:08:12 +0200 fs r271560 : #i55701# merging the changes from the ancient (CVS-based) CWS evoab2default into this CWS here
2009-06-05 12:31:05 +00:00
|
|
|
// XWarningsSupplier
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL getWarnings( ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL clearWarnings( ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
CWS-TOOLING: integrate CWS evoab2def
2009-05-28 16:00:19 +0200 fs r272412 : don't use createFalse - Evo 2.22 simply hangs when ask for all contacts without a first name. Instead, in the WHERE 0=1 case, simply create an empty result set
2009-05-22 14:25:51 +0200 fs r272193 : #i10000#
2009-05-22 14:25:37 +0200 fs r272192 : oops, ENABLE_EVOAB2 for some platforms only, not generically
2009-05-22 14:19:00 +0200 fs r272191 : #i10000#
2009-05-22 12:42:38 +0200 fs r272183 : when sorting, properly use a syslocale collator, instead of comparing the numerical values of the string's UTF-16 code points
2009-05-20 15:09:00 +0200 fs r272131 : clear/getWarnings: also allowed without cache
2009-05-20 14:11:19 +0200 fs r272128 : removed debug traces
2009-05-20 14:03:31 +0200 fs r272126 : #i55701# +STR_SORT_BY_COL_ONLY
2009-05-20 14:02:29 +0200 fs r272125 : implement sorting
2009-05-20 10:10:19 +0200 fs r272107 : #i10000#
2009-05-19 16:02:17 +0200 fs r272089 : #i10000#
2009-05-19 16:02:02 +0200 fs r272088 : #i55701# strings for new error condition DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 16:01:31 +0200 fs r272087 : #i55701# use DATA_CANNOT_SELECT_UNFILTERED as standardized error code
2009-05-19 15:59:59 +0200 fs r272086 : #i55701# +DATA_CANNOT_SELECT_UNFILTERED
2009-05-19 15:46:12 +0200 fs r272084 : #i55701# recognize the DATA_CANNOT_SELECT_UNFILTERED error condition, and allow filtering in this case, even when the result set is empty
2009-05-19 09:06:50 +0200 fs r272059 : merging changes from CWS dba32b, to prevent future conflicts with upcoming local changes
2009-05-18 21:48:58 +0200 fs r272054 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:48:42 +0200 fs r272053 : accessing a non-local unfiltered address book now returns an empty result set, and reports a warning, instead of ungracefully failing
2009-05-18 21:47:41 +0200 fs r272052 : +setExternalWarnings
2009-05-18 21:47:12 +0200 fs r272051 : #i55701# when re/loading the form, display any possible warnings
2009-05-18 21:43:26 +0200 fs r272050 : #i55701# implement XWarningsSupplier, exposing the warnings of our result set
2009-05-18 21:42:51 +0200 fs r272049 : #i55701# implement XWarningsSupplier, exposing the warnings of our aggregate RowSet
2009-05-18 17:53:59 +0200 fs r272041 : #i55701# moved the (I)WarningsContainer from dbaccess to connectivity, to be able to use it in the latter module, too
2009-05-18 17:24:10 +0200 fs r272040 : #i55701# properly enable the various Evolution types
2009-05-18 14:52:19 +0200 fs r272024 : #i55701# properly enable the Evolution types
2009-05-18 13:57:10 +0200 fs r272018 : fixed/extended whereAnalysis (column searching still not enabled, as neither LIKE nor = seem to work with my (somewhat older) Evolution version)
2009-05-18 13:56:08 +0200 fs r272017 : extended showParseTree
2009-05-18 13:55:25 +0200 fs r272016 : extended showParseTree
2009-05-18 11:40:16 +0200 fs r272008 : #i55701#
2009-05-18 11:39:02 +0200 fs r272006 : let the PreparedStatement return proper meta data, too
2009-05-18 10:05:37 +0200 fs r271999 : moved the XStatement interface to from OCommonStatement to OStatement - the former class is also the base for other classes which should not have this interface
2009-05-15 21:53:22 +0200 fs r271973 : collectColumnInformation: report invalid meta data as assertion
2009-05-15 21:51:40 +0200 fs r271972 : showParseTree should be const
2009-05-15 21:51:26 +0200 fs r271971 : showParseTree should be const
2009-05-15 21:51:03 +0200 fs r271970 : properly recognize the 'WHERE 0 = 1' clause, this way having proper statement meta data, this way saving much much calls from the DBA framework
2009-05-15 20:29:03 +0200 fs r271969 : cleaned up the mess with the statement classes
2009-05-15 15:51:11 +0200 fs r271944 : let the result set properly init its meta data
2009-05-15 15:29:54 +0200 fs r271939 : proper property implementations for the resultset class
2009-05-15 15:01:31 +0200 fs r271936 : proper property implementations for the statement class
2009-05-08 14:46:33 +0200 fs r271717 : component_foo must be PUBLIC
2009-05-06 09:20:05 +0200 fs r271565 : #i10000# (warnings on unxlngi6)
2009-05-06 09:01:30 +0200 fs r271564 : #i101493#
2009-05-05 23:08:12 +0200 fs r271560 : #i55701# merging the changes from the ancient (CVS-based) CWS evoab2default into this CWS here
2009-06-05 12:31:05 +00:00
|
|
|
|
2000-10-31 14:21:51 +00:00
|
|
|
protected:
|
|
|
|
/** implement the <method>execute</method>, without calling the approve listeners and without building a new
|
|
|
|
connection
|
|
|
|
@param _rClearForNotification mutex to clear before doing the final notifications
|
|
|
|
*/
|
2002-08-13 10:13:00 +00:00
|
|
|
void execute_NoApprove_NoNewConn(::osl::ResettableMutexGuard& _rClearForNotification);
|
2000-10-31 14:21:51 +00:00
|
|
|
|
|
|
|
/** call the RowSetApproveListeners<p/>
|
|
|
|
throws an RowSetVetoException if one of the listeners vetoed
|
|
|
|
*/
|
|
|
|
void approveExecution() throw (::com::sun::star::sdb::RowSetVetoException, ::com::sun::star::uno::RuntimeException);
|
2001-04-12 08:32:26 +00:00
|
|
|
|
|
|
|
/// set m_xActiveConnection, fire a PropertyChangeEvent if necessary, do the event listener handling etc
|
2014-04-17 11:16:55 +02:00
|
|
|
void setActiveConnection( ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxNewConn, bool _bFireEvent = true );
|
2002-12-05 08:53:00 +00:00
|
|
|
|
2014-06-05 08:14:35 +02:00
|
|
|
void implCancelRowUpdates( bool _bNotifyModified );
|
2005-03-10 15:31:10 +00:00
|
|
|
|
|
|
|
/** sets the given result set type/concurrency at the given statement, while respecting
|
|
|
|
possibly related data source settings
|
|
|
|
*/
|
|
|
|
void setStatementResultSetType(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxStatement,
|
|
|
|
sal_Int32 _nDesiredResultSetType,
|
|
|
|
sal_Int32 _nDesiredResultSetConcurrency
|
|
|
|
);
|
2006-06-20 01:35:46 +00:00
|
|
|
|
2006-10-18 12:25:49 +00:00
|
|
|
/** initializes a given RowSet column with the ColumnSettings (width, format, hidden, etc.) from a
|
|
|
|
template column.
|
|
|
|
|
|
|
|
If the template column supports any of the known column settings, they're plain copied. If not,
|
|
|
|
the template column is examined for a TableName and Name property, and the table column described
|
|
|
|
by those is used to find and copy the column settings.
|
|
|
|
*/
|
|
|
|
void impl_initializeColumnSettings_nothrow(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxTemplateColumn,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxRowSetColumn
|
|
|
|
);
|
|
|
|
|
2007-07-06 06:52:06 +00:00
|
|
|
/** initializes our parameters container (m_pParameters) according to the parameter columns as
|
|
|
|
obtained from our composer
|
|
|
|
*/
|
|
|
|
void impl_initParametersContainer_nothrow();
|
|
|
|
/** disposes our parameters container
|
|
|
|
*/
|
|
|
|
void impl_disposeParametersContainer_nothrow();
|
|
|
|
|
2006-06-20 01:35:46 +00:00
|
|
|
protected:
|
|
|
|
using ORowSetBase::getFastPropertyValue;
|
|
|
|
using ORowSetBase::firePropertyChange;
|
|
|
|
using ORowSetBase::doCancelModification;
|
|
|
|
using ORowSetBase::isModification;
|
|
|
|
using ORowSetBase::isModified;
|
|
|
|
using ORowSetBase::isNew;
|
2000-09-18 23:16:46 +00:00
|
|
|
};
|
2000-10-31 14:21:51 +00:00
|
|
|
|
|
|
|
|
2014-02-25 18:11:51 +01:00
|
|
|
|
2000-09-18 23:16:46 +00:00
|
|
|
// ORowSetClone
|
2014-02-25 18:11:51 +01:00
|
|
|
|
2000-11-22 13:58:32 +00:00
|
|
|
class ORowSetClone : public comphelper::OBaseMutex
|
2000-09-18 23:16:46 +00:00
|
|
|
,public OSubComponent
|
2000-11-22 13:58:32 +00:00
|
|
|
,public ORowSetBase
|
2000-10-11 10:21:40 +00:00
|
|
|
,public ::comphelper::OPropertyArrayUsageHelper < ORowSetClone >
|
2000-09-18 23:16:46 +00:00
|
|
|
{
|
|
|
|
protected:
|
2001-01-24 08:52:19 +00:00
|
|
|
ORowSet* m_pParent;
|
2000-09-18 23:16:46 +00:00
|
|
|
sal_Int32 m_nFetchDirection;
|
|
|
|
sal_Int32 m_nFetchSize;
|
2014-04-17 11:16:55 +02:00
|
|
|
bool m_bIsBookmarkable;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
protected:
|
2000-09-29 14:23:36 +00:00
|
|
|
// the clone can not insert anything
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void doCancelModification( ) SAL_OVERRIDE;
|
2014-04-17 11:16:55 +02:00
|
|
|
virtual bool isModification( ) SAL_OVERRIDE;
|
|
|
|
virtual bool isModified( ) SAL_OVERRIDE;
|
|
|
|
virtual bool isNew( ) SAL_OVERRIDE;
|
2002-12-05 08:53:00 +00:00
|
|
|
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const ::com::sun::star::uno::Any& rValue) throw (::com::sun::star::uno::Exception, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
public:
|
2013-03-19 13:08:47 +02:00
|
|
|
ORowSetClone( const css::uno::Reference<css::uno::XComponentContext>& _rContext, ORowSet& rParent, ::osl::Mutex* _pMutex );
|
2000-09-18 23:16:46 +00:00
|
|
|
virtual ~ORowSetClone();
|
|
|
|
|
|
|
|
// com::sun::star::lang::XTypeProvider
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
|
2000-12-06 08:55:44 +00:00
|
|
|
{
|
2014-03-10 13:08:29 +01:00
|
|
|
return css::uno::Sequence<sal_Int8>();
|
2000-12-06 08:55:44 +00:00
|
|
|
}
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::uno::XInterface
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL release() throw() SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::lang::XServiceInfo
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::lang::XUnoTunnel
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-12-06 08:55:44 +00:00
|
|
|
static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// OComponentHelper
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL disposing(void) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::sdbc::XCloseable
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL close( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// com::sun::star::beans::XPropertySet
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE
|
2000-09-18 23:16:46 +00:00
|
|
|
{
|
|
|
|
return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
|
|
|
|
}
|
|
|
|
|
2006-01-25 14:10:07 +00:00
|
|
|
// ::com::sun::star::sdbc::XRowSet
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual void SAL_CALL execute( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL addRowSetListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
|
|
|
virtual void SAL_CALL removeRowSetListener( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >& listener ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
2006-01-25 14:10:07 +00:00
|
|
|
|
2000-10-11 10:21:40 +00:00
|
|
|
// comphelper::OPropertyArrayUsageHelper
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const SAL_OVERRIDE;
|
2000-09-18 23:16:46 +00:00
|
|
|
|
|
|
|
// cppu::OPropertySetHelper
|
2014-03-27 18:12:18 +01:00
|
|
|
virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() SAL_OVERRIDE;
|
2006-06-20 01:35:46 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
using ORowSetBase::doCancelModification;
|
|
|
|
using ORowSetBase::isModification;
|
|
|
|
using ORowSetBase::isModified;
|
|
|
|
using ORowSetBase::isNew;
|
|
|
|
using ORowSetBase::rowDeleted;
|
2000-09-18 23:16:46 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
2013-11-05 02:18:53 +01:00
|
|
|
#endif // INCLUDED_DBACCESS_SOURCE_CORE_API_ROWSET_HXX
|
2000-09-18 23:16:46 +00:00
|
|
|
|
2010-10-27 12:33:13 +01:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|