diff options
author | Ocke Janssen <oj@openoffice.org> | 2001-10-12 11:02:56 +0000 |
---|---|---|
committer | Ocke Janssen <oj@openoffice.org> | 2001-10-12 11:02:56 +0000 |
commit | 0ed8d1bf8a7850378eb9dbfbc433a30ca2967096 (patch) | |
tree | 66c7b65626b9f8e35a6e47b2f9962da45cb4ea65 /connectivity/source/drivers/mozab/MTables.cxx | |
parent | 8348f7a798205e5ad0e5078619ff519d3cf02621 (diff) |
#92883# fix the descriptor handling
Diffstat (limited to 'connectivity/source/drivers/mozab/MTables.cxx')
-rw-r--r-- | connectivity/source/drivers/mozab/MTables.cxx | 189 |
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; -} // ----------------------------------------------------------------------------- |