dba33e: #i107717# impl first entry points for db extensions

This commit is contained in:
Ocke Janssen [oj]
2009-12-16 12:46:33 +01:00
parent ae3daf0025
commit 6fd6b96682
22 changed files with 642 additions and 517 deletions

View File

@@ -417,7 +417,16 @@ sdbcx::ObjectType OColumns::appendObject( const ::rtl::OUString& _rForName, cons
else if ( m_pTable && !m_pTable->isNew() )
{
if ( m_bAddColumn )
xReturn = OColumns_BASE::appendObject( _rForName, descriptor );
{
Reference< ::com::sun::star::sdb::tools::XTableAlteration> xAlterService = m_pTable->getAlterService();
if ( xAlterService.is() )
{
xAlterService->addColumn(m_pTable,descriptor);
xReturn = createObject( _rForName );
}
else
xReturn = OColumns_BASE::appendObject( _rForName, descriptor );
}
else
::dbtools::throwGenericSQLException( DBA_RES( RID_STR_NO_COLUMN_ADD ), static_cast<XChild*>(static_cast<TXChild*>(this)) );
}
@@ -443,7 +452,13 @@ void OColumns::dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName)
else if ( m_pTable && !m_pTable->isNew() )
{
if ( m_bDropColumn )
OColumns_BASE::dropObject(_nPos,_sElementName);
{
Reference< ::com::sun::star::sdb::tools::XTableAlteration> xAlterService = m_pTable->getAlterService();
if ( xAlterService.is() )
xAlterService->dropColumn(m_pTable,_sElementName);
else
OColumns_BASE::dropObject(_nPos,_sElementName);
}
else
::dbtools::throwGenericSQLException( DBA_RES( RID_STR_NO_COLUMN_DROP ), static_cast<XChild*>(static_cast<TXChild*>(this)) );
}