summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/mozab/MTables.cxx
diff options
context:
space:
mode:
authorOcke Janssen <oj@openoffice.org>2001-10-12 11:02:56 +0000
committerOcke Janssen <oj@openoffice.org>2001-10-12 11:02:56 +0000
commit0ed8d1bf8a7850378eb9dbfbc433a30ca2967096 (patch)
tree66c7b65626b9f8e35a6e47b2f9962da45cb4ea65 /connectivity/source/drivers/mozab/MTables.cxx
parent8348f7a798205e5ad0e5078619ff519d3cf02621 (diff)
#92883# fix the descriptor handling
Diffstat (limited to 'connectivity/source/drivers/mozab/MTables.cxx')
-rw-r--r--connectivity/source/drivers/mozab/MTables.cxx189
1 files changed, 3 insertions, 186 deletions
diff --git a/connectivity/source/drivers/mozab/MTables.cxx b/connectivity/source/drivers/mozab/MTables.cxx
index d126d07839fa..401843557264 100644
--- a/connectivity/source/drivers/mozab/MTables.cxx
+++ b/connectivity/source/drivers/mozab/MTables.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: MTables.cxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: mmaher $ $Date: 2001-10-11 10:07:54 $
+ * last change: $Author: oj $ $Date: 2001-10-12 11:48:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -142,6 +142,7 @@ Reference< XNamed > OTables::createObject(const ::rtl::OUString& _rName)
xRet = pRet;
}
}
+ ::comphelper::disposeComponent(xResult);
return xRet;
}
@@ -156,189 +157,5 @@ void OTables::disposing(void)
m_xMetaData = NULL;
OCollection::disposing();
}
-// -------------------------------------------------------------------------
-Reference< XPropertySet > OTables::createEmptyObject()
-{
- OTable* pNew = new OTable(this, static_cast<OCatalog&>(m_rParent).getConnection());
- return pNew;
-}
-// -------------------------------------------------------------------------
-// XAppend
-void SAL_CALL OTables::appendByDescriptor( const Reference< XPropertySet >& descriptor ) throw(SQLException, ElementExistException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_rMutex);
- ::rtl::OUString aName = getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)));
- ObjectMap::iterator aIter = m_aNameMap.find(aName);
- if( aIter != m_aNameMap.end())
- throw ElementExistException(aName,*this);
- if(!aName.getLength())
- ::dbtools::throwFunctionSequenceException(*this);
-
- createTable(descriptor);
-
- OCollection_TYPE::appendByDescriptor(descriptor);
-}
-// -------------------------------------------------------------------------
-void OTables::setComments(const Reference< XPropertySet >& descriptor ) throw(SQLException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-// XDrop
-void SAL_CALL OTables::dropByName( const ::rtl::OUString& elementName ) throw(SQLException, NoSuchElementException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-void SAL_CALL OTables::dropByIndex( sal_Int32 index ) throw(SQLException, IndexOutOfBoundsException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-void OTables::createTable( const Reference< XPropertySet >& descriptor )
-{
-}
-// -----------------------------------------------------------------------------
-void OTables::appendNew(const ::rtl::OUString& _rsNewTable)
-{
- insertElement(_rsNewTable,NULL);
-
- // notify our container listeners
- ContainerEvent aEvent(static_cast<XContainer*>(this), makeAny(_rsNewTable), Any(), Any());
- OInterfaceIteratorHelper aListenerLoop(m_aContainerListeners);
- while (aListenerLoop.hasMoreElements())
- static_cast<XContainerListener*>(aListenerLoop.next())->elementInserted(aEvent);
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString OTables::getColumnSqlType(const Reference<XPropertySet>& _rxColProp)
-{
- ::rtl::OUString sSql;
- sal_Int32 nDataType = 0;
- _rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nDataType;
- switch(nDataType)
- {
- case DataType::VARBINARY:
- sSql += ::rtl::OUString::createFromAscii("VAR");
- /* run through*/
- case DataType::BINARY:
- sSql += ::rtl::OUString::createFromAscii("CHAR");
- break;
- default:
- {
- Any aTypeName = _rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPENAME));
- if(aTypeName.hasValue() && getString(aTypeName).getLength())
- sSql += getString(aTypeName);
- else
- sSql += OTables::getTypeString(_rxColProp) + ::rtl::OUString::createFromAscii(" ");
- }
- }
-
- switch(nDataType)
- {
- case DataType::CHAR:
- case DataType::VARCHAR:
- case DataType::FLOAT:
- case DataType::REAL:
- sSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION))))
- + ::rtl::OUString::createFromAscii(")");
- break;
-
- case DataType::DECIMAL:
- case DataType::NUMERIC:
- sSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION))))
- + ::rtl::OUString::createFromAscii(",")
- + ::rtl::OUString::valueOf(getINT32(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE))))
- + ::rtl::OUString::createFromAscii(")");
- break;
- case DataType::BINARY:
- case DataType::VARBINARY:
- sSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION))))
- + ::rtl::OUString::createFromAscii(") BYTE");
- break;
- }
- return sSql;
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString OTables::getColumnSqlNotNullDefault(const Reference<XPropertySet>& _rxColProp)
-{
- OSL_ENSURE(_rxColProp.is(),"OTables::getColumnSqlNotNullDefault: Column is null!");
- ::rtl::OUString sSql;
- ::rtl::OUString aDefault = getString(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DEFAULTVALUE)));
- if(getINT32(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISNULLABLE))) == ColumnValue::NO_NULLS)
- {
- sSql += ::rtl::OUString::createFromAscii(" NOT NULL");
- if(aDefault.getLength())
- sSql += ::rtl::OUString::createFromAscii(" WITH DEFAULT");
- }
- else if(aDefault.getLength())
- {
- sSql +=::rtl::OUString::createFromAscii(" DEFAULT '") + aDefault;
- sSql += ::rtl::OUString::createFromAscii("'");
- }
- return sSql;
-}
-// -----------------------------------------------------------------------------
-::rtl::OUString OTables::getTypeString(const Reference< XPropertySet >& _rxColProp)
-{
- ::rtl::OUString aValue;
- switch(getINT32(_rxColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
- {
- case DataType::BIT:
- aValue = ::rtl::OUString::createFromAscii("BOOLEAN");
- break;
- case DataType::TINYINT:
- aValue = ::rtl::OUString::createFromAscii("SMALLINT");
- break;
- case DataType::SMALLINT:
- aValue = ::rtl::OUString::createFromAscii("SMALLINT");
- break;
- case DataType::INTEGER:
- aValue = ::rtl::OUString::createFromAscii("INT");
- break;
- case DataType::FLOAT:
- aValue = ::rtl::OUString::createFromAscii("FLOAT");
- break;
- case DataType::REAL:
- aValue = ::rtl::OUString::createFromAscii("REAL");
- break;
- case DataType::DOUBLE:
- aValue = ::rtl::OUString::createFromAscii("DOUBLE");
- break;
- case DataType::NUMERIC:
- aValue = ::rtl::OUString::createFromAscii("DECIMAL");
- break;
- case DataType::DECIMAL:
- aValue = ::rtl::OUString::createFromAscii("DECIMAL");
- break;
- case DataType::CHAR:
- aValue = ::rtl::OUString::createFromAscii("CHAR");
- break;
- case DataType::VARCHAR:
- aValue = ::rtl::OUString::createFromAscii("VARCHAR");
- break;
- case DataType::LONGVARCHAR:
- aValue = ::rtl::OUString::createFromAscii("LONG VARCHAR");
- break;
- case DataType::DATE:
- aValue = ::rtl::OUString::createFromAscii("DATE");
- break;
- case DataType::TIME:
- aValue = ::rtl::OUString::createFromAscii("TIME");
- break;
- case DataType::TIMESTAMP:
- aValue = ::rtl::OUString::createFromAscii("TIMESTAMP");
- break;
- case DataType::BINARY:
- aValue = ::rtl::OUString::createFromAscii("CHAR () BYTE");
- break;
- case DataType::VARBINARY:
- aValue = ::rtl::OUString::createFromAscii("VARCHAR () BYTE");
- break;
- case DataType::LONGVARBINARY:
- aValue = ::rtl::OUString::createFromAscii("LONG BYTE");
- break;
- }
- return aValue;
-}
// -----------------------------------------------------------------------------