24#include <document.hxx>
27#include <com/sun/star/sdb/CommandType.hpp>
32using ::com::sun::star::uno::Sequence;
33using ::com::sun::star::uno::Any;
37 sal_Int32 nSdbType = -1;
41 case sheet::DataImportMode_SQL: nSdbType = sdb::CommandType::COMMAND;
break;
129 rCriteria, (
IsRepeatIfEmpty() ? std::move(rCatDims) : std::unordered_set<sal_Int32>()));
140 rCriteria, rData,
IsRepeatIfEmpty() ? std::move(rCatDims) : std::unordered_set<sal_Int32>());
This class represents the cached data part of the datapilot cache table implementation.
Data caches for external database sources.
const ScDPCache * getCache(sal_Int32 nSdbType, const OUString &rDBName, const OUString &rCommand, const ScDPDimensionSaveData *pDimData)
This class has to do with handling exclusively grouped dimensions? TODO: Find out what this class doe...
This class is only a wrapper to the actual cache, to provide filtering on the raw data based on the q...
sal_Int32 getColSize() const
void filterTable(const std::vector< Criterion > &rCriteria, css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &rTabData, const std::unordered_set< sal_Int32 > &rRepeatIfEmptyDims)
Filter the table based on the specified criteria, and copy the result to rTabData.
void fillTable(const ScQueryParam &rQuery, bool bIgnoreEmptyRows, bool bRepeatIfEmpty)
void filterByPageDimension(const std::vector< Criterion > &rCriteria, const std::unordered_set< sal_Int32 > &rRepeatIfEmptyDims)
Set filter on/off flag to each row to control visibility.
sal_Int32 getRowSize() const
OUString getFieldName(SCCOL nIndex) const
Base class that abstracts different data source types of a datapilot table.
void CalcResultsFromCacheTable(const ScDPFilteredCache &rCacheTable, CalcInfo &rInfo, bool bAutoShow)
virtual bool IsRepeatIfEmpty()
virtual void SetEmptyFlags(bool bIgnoreEmptyRows, bool bRepeatIfEmpty) override
virtual void GetDrillDownData(std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rCatDims, css::uno::Sequence< css::uno::Sequence< css::uno::Any > > &rData) override
virtual void CalcResults(CalcInfo &rInfo, bool bAutoShow) override
ScDPFilteredCache aCacheTable
virtual void FilterCacheTable(std::vector< ScDPFilteredCache::Criterion > &&rCriteria, std::unordered_set< sal_Int32 > &&rDataDims) override
virtual void DisposeData() override
ScDatabaseDPData(const ScDocument *pDoc, const ScDPCache &rCache)
virtual const ScDPFilteredCache & GetCacheTable() const override
virtual OUString getDimensionName(sal_Int32 nColumn) override
virtual bool getIsDataLayoutDimension(sal_Int32 nColumn) override
virtual sal_Int32 GetColumnCount() override
use (new) typed collection instead of ScStrCollection or separate Str and ValueCollection
virtual void ReloadCacheTable() override
virtual void CreateCacheTable() override
virtual ~ScDatabaseDPData() override
virtual bool IsDateDimension(sal_Int32 nDim) override
virtual void Dump() const override
SC_DLLPUBLIC ScDPCollection * GetDPCollection()
OUString ScResId(TranslateId aId)
This structure stores dimension information used when calculating results.
css::sheet::DataImportMode nType
sal_Int32 GetCommandType() const
const ScDPCache * CreateCache(const ScDPDimensionSaveData *pDimData) const