summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/adabas/BTable.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/adabas/BTable.cxx')
-rw-r--r--connectivity/source/drivers/adabas/BTable.cxx74
1 files changed, 36 insertions, 38 deletions
diff --git a/connectivity/source/drivers/adabas/BTable.cxx b/connectivity/source/drivers/adabas/BTable.cxx
index ed921cf5e3ef..3fb3e38609d3 100644
--- a/connectivity/source/drivers/adabas/BTable.cxx
+++ b/connectivity/source/drivers/adabas/BTable.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: BTable.cxx,v $
*
- * $Revision: 1.18 $
+ * $Revision: 1.19 $
*
- * last change: $Author: oj $ $Date: 2001-05-04 09:58:40 $
+ * last change: $Author: oj $ $Date: 2001-05-14 11:41:57 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -95,10 +95,6 @@
#ifndef _COMPHELPER_SEQUENCE_HXX_
#include <comphelper/sequence.hxx>
#endif
-#define CONNECTIVITY_PROPERTY_NAME_SPACE adabas
-#ifndef _CONNECTIVITY_PROPERTYIDS_HXX_
-#include "propertyids.hxx"
-#endif
#ifndef _COMPHELPER_EXTRACT_HXX_
#include <comphelper/extract.hxx>
#endif
@@ -197,8 +193,9 @@ void OAdabasTable::refreshKeys()
refreshForgeinKeys(aVector);
}
if(m_pKeys)
- delete m_pKeys;
- m_pKeys = new OKeys(this,m_aMutex,aVector);
+ m_pKeys->reFill(aVector);
+ else
+ m_pKeys = new OKeys(this,m_aMutex,aVector);
}
// -------------------------------------------------------------------------
void OAdabasTable::refreshIndexes()
@@ -233,8 +230,9 @@ void OAdabasTable::refreshIndexes()
}
if(m_pIndexes)
- delete m_pIndexes;
- m_pIndexes = new OIndexes(this,m_aMutex,aVector);
+ m_pIndexes->reFill(aVector);
+ else
+ m_pIndexes = new OIndexes(this,m_aMutex,aVector);
}
//--------------------------------------------------------------------------
Sequence< sal_Int8 > OAdabasTable::getUnoTunnelImplementationId()
@@ -277,31 +275,31 @@ sal_Bool OAdabasTable::create() throw(SQLException, RuntimeException)
for(sal_Int32 i=0;i<nCount;++i)
{
::cppu::extractInterface(xProp,m_pColumns->getByIndex(i));
- aSql += aQuote + getString(xProp->getPropertyValue(PROPERTY_NAME)) + aQuote
- + getString(xProp->getPropertyValue(PROPERTY_TYPENAME));
+ aSql += aQuote + getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))) + aQuote
+ + getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPENAME)));
// add type definition
- switch(getINT32(xProp->getPropertyValue(PROPERTY_TYPE)))
+ switch(getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
{
case DataType::CHAR:
case DataType::VARCHAR:
aSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(xProp->getPropertyValue(PROPERTY_TYPE)))
+ + ::rtl::OUString::valueOf(getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
+ ::rtl::OUString::createFromAscii(")");
break;
case DataType::DECIMAL:
case DataType::NUMERIC:
aSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(xProp->getPropertyValue(PROPERTY_TYPE)))
+ + ::rtl::OUString::valueOf(getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
+ ::rtl::OUString::createFromAscii(",")
- + ::rtl::OUString::valueOf(getINT32(xProp->getPropertyValue(PROPERTY_SCALE)))
+ + ::rtl::OUString::valueOf(getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE))))
+ ::rtl::OUString::createFromAscii(")");
break;
}
- ::rtl::OUString aDefault = getString(xProp->getPropertyValue(PROPERTY_DEFAULTVALUE));
- if(getINT32(xProp->getPropertyValue(PROPERTY_ISNULLABLE)) == ColumnValue::NO_NULLS)
+ ::rtl::OUString aDefault = getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DEFAULTVALUE)));
+ if(getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISNULLABLE))) == ColumnValue::NO_NULLS)
{
aSql += ::rtl::OUString::createFromAscii(" NOT NULL");
if(aDefault.getLength())
@@ -321,7 +319,7 @@ sal_Bool OAdabasTable::create() throw(SQLException, RuntimeException)
::cppu::extractInterface(xProp,m_pKeys->getByIndex(i));
Reference< XColumnsSupplier > xKey(xProp,UNO_QUERY);
Reference< ::com::sun::star::container::XIndexAccess > xCols(xKey->getColumns(),UNO_QUERY);
- switch(getINT32(xProp->getPropertyValue(PROPERTY_TYPE)))
+ switch(getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
{
case KeyType::PRIMARY:
{
@@ -331,7 +329,7 @@ sal_Bool OAdabasTable::create() throw(SQLException, RuntimeException)
for(sal_Int32 i=0;i<nCols;++i)
{
::cppu::extractInterface(xProp,xCols->getByIndex(i));
- aSql += aQuote + getString(xProp->getPropertyValue(PROPERTY_NAME)) + aQuote;
+ aSql += aQuote + getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))) + aQuote;
aSql += aComma;
}
if(nCols)
@@ -345,7 +343,7 @@ sal_Bool OAdabasTable::create() throw(SQLException, RuntimeException)
for(sal_Int32 i=0;i<nCols;++i)
{
::cppu::extractInterface(xProp,xCols->getByIndex(i));
- aSql += aQuote + getString(xProp->getPropertyValue(PROPERTY_NAME)) + aQuote;
+ aSql += aQuote + getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))) + aQuote;
aSql += aComma;
}
if(nCols)
@@ -357,9 +355,9 @@ sal_Bool OAdabasTable::create() throw(SQLException, RuntimeException)
if(nCols)
{
aSql += ::rtl::OUString::createFromAscii(" FOREIGN KEY( ");
- ::rtl::OUString aKeyName = getString(xProp->getPropertyValue(PROPERTY_NAME));
- ::rtl::OUString aRefTableName = getString(xProp->getPropertyValue(PROPERTY_REFERENCEDTABLE));
- sal_Int32 nDeleteRule = getINT32(xProp->getPropertyValue(PROPERTY_DELETERULE));
+ ::rtl::OUString aKeyName = getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)));
+ ::rtl::OUString aRefTableName = getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_REFERENCEDTABLE)));
+ sal_Int32 nDeleteRule = getINT32(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DELETERULE)));
if(aKeyName.getLength())
{
aSql += aQuote + aKeyName + aQuote;
@@ -369,7 +367,7 @@ sal_Bool OAdabasTable::create() throw(SQLException, RuntimeException)
for(sal_Int32 i=0;i<nCols;++i)
{
::cppu::extractInterface(xProp,xCols->getByIndex(i));
- aSql += aQuote + getString(xProp->getPropertyValue(PROPERTY_NAME)) + aQuote;
+ aSql += aQuote + getString(xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))) + aQuote;
aSql += aComma;
}
aSql = aSql.replaceAt(aSql.getLength()-1,1,::rtl::OUString::createFromAscii(")"));
@@ -456,7 +454,7 @@ void SAL_CALL OAdabasTable::alterColumnByName( const ::rtl::OUString& colName, c
if(!isNew())
{
- if(getString(descriptor->getPropertyValue(PROPERTY_NAME)) != colName)
+ if(getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))) != colName)
throw SQLException(::rtl::OUString::createFromAscii("Not supported by this driver!"),*this,::rtl::OUString::createFromAscii("S1000"),0,Any() );
Reference< XStatement > xStmt = m_pConnection->createStatement();
@@ -469,22 +467,22 @@ void SAL_CALL OAdabasTable::alterColumnByName( const ::rtl::OUString& colName, c
m_pColumns->getByName(colName) >>= xProp;
// first check the types
sal_Int32 nOldType = 0,nNewType = 0;
- xProp->getPropertyValue(PROPERTY_TYPE) >>= nOldType;
- descriptor->getPropertyValue(PROPERTY_TYPE) >>= nNewType;
+ xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nOldType;
+ descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nNewType;
if(nOldType != nNewType)
alterColumnType(nNewType,colName,descriptor);
// second: check the "is nullable" value
sal_Int32 nOldNullable = 0,nNewNullable = 0;
- xProp->getPropertyValue(PROPERTY_ISNULLABLE) >>= nOldNullable;
- descriptor->getPropertyValue(PROPERTY_ISNULLABLE) >>= nNewNullable;
+ xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISNULLABLE)) >>= nOldNullable;
+ descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISNULLABLE)) >>= nNewNullable;
if(nNewNullable != nOldNullable)
alterNotNullValue(nNewNullable,colName);
// third: check the default values
::rtl::OUString sNewDefault,sOldDefault;
- xProp->getPropertyValue(PROPERTY_DEFAULTVALUE) >>= sOldDefault;
- descriptor->getPropertyValue(PROPERTY_DEFAULTVALUE) >>= sNewDefault;
+ xProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DEFAULTVALUE)) >>= sOldDefault;
+ descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DEFAULTVALUE)) >>= sNewDefault;
if(sOldDefault.getLength())
{
@@ -533,14 +531,14 @@ void SAL_CALL OAdabasTable::alterColumnByIndex( sal_Int32 index, const Reference
Reference< XPropertySet > xOld;
if(::cppu::extractInterface(xOld,m_pColumns->getByIndex(index)) && xOld.is())
- alterColumnByName(getString(xOld->getPropertyValue(PROPERTY_NAME)),descriptor);
+ alterColumnByName(getString(xOld->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))),descriptor);
}
// -------------------------------------------------------------------------
::rtl::OUString connectivity::adabas::getTypeString(const Reference< ::com::sun::star::beans::XPropertySet >& xColProp)
{
::rtl::OUString aValue;
- switch(getINT32(xColProp->getPropertyValue(PROPERTY_TYPE)))
+ switch(getINT32(xColProp->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
{
case DataType::BIT:
aValue = ::rtl::OUString::createFromAscii("BOOLEAN");
@@ -628,23 +626,23 @@ void OAdabasTable::alterColumnType(sal_Int32 nNewType,const ::rtl::OUString& _rC
+ ::rtl::OUString::createFromAscii(" COLUMN ")
+ aQuote + _rColName + aQuote;
aSql += ::rtl::OUString::createFromAscii(" ")
- + getString(_xDescriptor->getPropertyValue(PROPERTY_TYPENAME));
+ + getString(_xDescriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPENAME)));
switch(nNewType)
{
case DataType::CHAR:
case DataType::VARCHAR:
aSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(_xDescriptor->getPropertyValue(PROPERTY_TYPE)))
+ + ::rtl::OUString::valueOf(getINT32(_xDescriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
+ ::rtl::OUString::createFromAscii(")");
break;
case DataType::DECIMAL:
case DataType::NUMERIC:
aSql += ::rtl::OUString::createFromAscii("(")
- + ::rtl::OUString::valueOf(getINT32(_xDescriptor->getPropertyValue(PROPERTY_TYPE)))
+ + ::rtl::OUString::valueOf(getINT32(_xDescriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
+ ::rtl::OUString::createFromAscii(",")
- + ::rtl::OUString::valueOf(getINT32(_xDescriptor->getPropertyValue(PROPERTY_SCALE)))
+ + ::rtl::OUString::valueOf(getINT32(_xDescriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE))))
+ ::rtl::OUString::createFromAscii(")");
break;
}