30#include <com/sun/star/lang/XComponent.hpp>
45 : m_aConnectionInfo(_rInfo)
46 ,m_isCatalogAtStart(false,false)
47 ,m_sCatalogSeparator(false,OUString())
48 ,m_sIdentifierQuoteString(false,OUString())
49 ,m_supportsCatalogsInTableDefinitions(false,false)
50 ,m_supportsSchemasInTableDefinitions(false,false)
51 ,m_supportsCatalogsInDataManipulation(false,false)
52 ,m_supportsSchemasInDataManipulation(false,false)
53 ,m_supportsMixedCaseQuotedIdentifiers(false,false)
54 ,m_supportsAlterTableWithAddColumn(false,false)
55 ,m_supportsAlterTableWithDropColumn(false,false)
56 ,m_MaxStatements(false,0)
57 ,m_MaxTablesInSelect(false,0)
58 ,m_storesMixedCaseQuotedIdentifiers(false,false)
91 ::osl::MutexGuard aGuard(
m_aMutex );
98 aTypeInfoSettings =
aMap.getUnpackedValueOrDefault(
"TypeInfoSettings",aTypeInfoSettings);
102 static const sal_Int32 pTypes[] = {
122 std::vector<std::shared_ptr<ExpressionNode>> aConditions;
123 if ( aTypeInfoSettings.getLength() > 1 && ((aTypeInfoSettings.getLength() % 2) == 0) )
125 const Any* pIter = aTypeInfoSettings.getConstArray();
126 const Any* pEnd = pIter + aTypeInfoSettings.getLength();
129 for(;pIter != pEnd;++pIter)
141 while( xRet->next() )
145 const sal_Int32* pType = pTypes;
146 for (std::size_t
i = 1;
i <= std::size(pTypes); ++
i,++pType)
149 aValue.
fill(
i,*pType,xRow);
153 std::vector<std::shared_ptr<ExpressionNode>>::iterator aIter = aConditions.begin();
154 std::vector<std::shared_ptr<ExpressionNode>>::const_iterator aEnd = aConditions.end();
155 for (; aIter != aEnd; ++aIter)
157 if ( (*aIter)->evaluate(aRow)->getValue().getBool() )
160 (*aIter)->fill(aRow);
165 aTypeInfoRows.push_back(aRow);
176 const Any& ,
const OUString& ,
const OUString& )
182 const Any& ,
const OUString& ,
const OUString& )
188 const Any& ,
const OUString& ,
const OUString& )
194 const Any& ,
const OUString& ,
const OUString& ,
201 const Any& ,
const OUString& ,
const OUString& , sal_Int32 ,
208 const Any& ,
const OUString& ,
209 const OUString& ,
const Any& ,
210 const OUString& ,
const OUString& )
221 const Any& ,
const OUString& ,
222 const OUString& ,
const OUString& )
228 const Any& ,
const OUString& ,
235 const Any& ,
const OUString& ,
const OUString& )
246 const Any& ,
const OUString& ,
const OUString& ,
253 const Any& ,
const OUString& ,
const OUString& )
static std::shared_ptr< ExpressionNode > const & parseFunction(const OUString &_sFunction)
Parse a string.
ORowSetValueDecorator decorates an ORowSetValue so the value is "refcounted".
void fill(sal_Int32 _nPos, sal_Int32 _nType, const css::uno::Reference< css::sdbc::XRow > &_xRow)
fetches a single value out of the row
helper class for accessing resources shared by different libraries in the connectivity module
OUString getResourceString(TranslateId pResId) const
loads a string from the shared resource file
mutable::osl::Mutex m_aMutex
HashMap_OWString_Interface aMap
Reference< XConnection > m_xConnection
This exception is thrown, when the arithmetic expression parser failed to parse a string.