22#include <com/sun/star/sdbc/DataType.hpp>
23#include <com/sun/star/sdbc/ColumnValue.hpp>
57 ,::osl::Mutex& _rMutex
58 ,const ::std::vector< OUString> &_rVector
60 ) :
OCollection(_rParent,_bCase,_rMutex,_rVector,false,_bUseHardRef)
72 OSL_ENSURE(
m_pTable,
"NO Table set. Error!");
78 bool bQueryInfo =
true;
80 bool bIsCurrency =
false;
83 ColumnInformationMap::const_iterator aFind =
m_pImpl->m_aColumnInfo.find(_rName);
84 if ( aFind ==
m_pImpl->m_aColumnInfo.end() )
88 aFind =
m_pImpl->m_aColumnInfo.find(_rName);
90 if ( aFind !=
m_pImpl->m_aColumnInfo.end() )
94 bIsCurrency = aFind->second.first.second;
102 Reference<XPropertySet> xPr =
m_pTable;
104 sal_Int32 nField11 = pColDesc->
nField11;
105 if ( nField11 != ColumnValue::NO_NULLS && xPrimaryKeyColumns.is() && xPrimaryKeyColumns->hasByName(_rName) )
107 nField11 = ColumnValue::NO_NULLS;
110 OUString aCatalog, aSchema, aTable;
152 m_pImpl->m_aColumnInfo.clear();
166 OSL_ENSURE(
m_pTable,
"OColumnsHelper::appendByDescriptor: Table is null!");
171 OUString aSql =
"ALTER TABLE " +
179 xStmt->execute(aSql);
180 ::comphelper::disposeComponent(xStmt);
188 OSL_ENSURE(
m_pTable,
"OColumnsHelper::dropByName: Table is null!");
193 OUString aQuote = xMetaData->getIdentifierQuoteString( );
194 OUString aSql =
"ALTER TABLE " +
202 xStmt->execute(aSql);
203 ::comphelper::disposeComponent(xStmt);
OptionalString sComposedName
ColumnInformationMap m_aColumnInfo
OColumnsHelperImpl(bool _bCase)
virtual ~OColumnsHelper() override
virtual sdbcx::ObjectType createObject(const OUString &_rName) override
virtual void impl_refresh() override
virtual sdbcx::ObjectType appendObject(const OUString &_rForName, const css::uno::Reference< css::beans::XPropertySet > &descriptor) override
appends an object described by a descriptor, under a given name
virtual void dropObject(sal_Int32 _nPos, const OUString &_sElementName) override
virtual css::uno::Reference< css::beans::XPropertySet > createDescriptor() override
std::unique_ptr< OColumnsHelperImpl > m_pImpl
css::uno::Reference< css::sdbc::XConnection > const & getConnection() const
const ColumnDesc * getColumnDescription(const OUString &_sName) const
virtual OUString getTypeCreatePattern() const
virtual void refreshColumns() override
bool isCaseSensitive() const
ObjectType cloneDescriptor(const ObjectType &_descriptor)
clones the given descriptor
css::uno::Reference< css::beans::XPropertySet > ObjectType
#define PROPERTY_ID_CATALOGNAME
#define PROPERTY_ID_SCHEMANAME