summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/dbase/DTable.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/dbase/DTable.cxx')
-rw-r--r--connectivity/source/drivers/dbase/DTable.cxx86
1 files changed, 41 insertions, 45 deletions
diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index 5f3d3f2eb81e..33e6434869ea 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: DTable.cxx,v $
*
- * $Revision: 1.43 $
+ * $Revision: 1.44 $
*
- * last change: $Author: oj $ $Date: 2001-05-11 06:13:41 $
+ * last change: $Author: oj $ $Date: 2001-05-14 11:37:37 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -117,10 +117,6 @@
#ifndef _COMPHELPER_EXTRACT_HXX_
#include <comphelper/extract.hxx>
#endif
-#define CONNECTIVITY_PROPERTY_NAME_SPACE dbase
-#ifndef _CONNECTIVITY_PROPERTYIDS_HXX_
-#include "propertyids.hxx"
-#endif
#ifndef _UNTOOLS_UCBSTREAMHELPER_HXX
#include <unotools/ucbstreamhelper.hxx>
#endif
@@ -719,7 +715,7 @@ sal_Bool ODbaseTable::fetchRow(OValueRow _rRow,const OSQLColumns & _rCols, sal_B
Reference< XPropertySet> xColumn = *aIter;
::rtl::OUString aName;
- xColumn->getPropertyValue(PROPERTY_NAME) >>= aName;
+ xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aName;
// Laengen je nach Datentyp:
// nyi: eine zentrale Funktion, die die Laenge liefert!
sal_Int32 nLen;
@@ -731,8 +727,8 @@ sal_Bool ODbaseTable::fetchRow(OValueRow _rRow,const OSQLColumns & _rCols, sal_B
}
else
{
- xColumn->getPropertyValue(PROPERTY_PRECISION) >>= nLen;
- xColumn->getPropertyValue(PROPERTY_TYPE) >>= nType;
+ xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)) >>= nLen;
+ xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nType;
}
switch(nType)
{
@@ -741,7 +737,7 @@ sal_Bool ODbaseTable::fetchRow(OValueRow _rRow,const OSQLColumns & _rCols, sal_B
if(_bUseTableDefs)
nLen = SvDbaseConverter::ConvertPrecisionToDbase(nLen,m_aScales[i-1]);
else
- nLen = SvDbaseConverter::ConvertPrecisionToDbase(nLen,getINT32(xColumn->getPropertyValue(PROPERTY_SCALE)));
+ nLen = SvDbaseConverter::ConvertPrecisionToDbase(nLen,getINT32(xColumn->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE))));
break; // das Vorzeichen und das Komma
case DataType::BIT: nLen = 1; break;
case DataType::LONGVARCHAR: nLen = 10; break;
@@ -1114,21 +1110,21 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo)
char cTyp;
- xCol->getPropertyValue(PROPERTY_NAME) >>= aName;
+ xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aName;
if (aName.getLength() > nMaxFieldLength)
{
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Invalid column name length for column: ");
sMsg += aName;
sMsg += ::rtl::OUString::createFromAscii("!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
}
ByteString aCol(aName.getStr(), getConnection()->getTextEncoding());
(*m_pFileStream) << aCol.GetBuffer();
m_pFileStream->Write(aBuffer, 11 - aCol.Len());
- switch (getINT32(xCol->getPropertyValue(PROPERTY_TYPE)))
+ switch (getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
{
case DataType::CHAR:
case DataType::VARCHAR:
@@ -1159,7 +1155,7 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo)
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Invalid column type for column: ");
sMsg += aName;
sMsg += ::rtl::OUString::createFromAscii("!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
}
}
@@ -1167,9 +1163,9 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo)
m_pFileStream->Write(aBuffer, 4);
sal_Int32 nPrecision = 0;
- xCol->getPropertyValue(PROPERTY_PRECISION) >>= nPrecision;
+ xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)) >>= nPrecision;
sal_Int32 nScale = 0;
- xCol->getPropertyValue(PROPERTY_SCALE) >>= nScale;
+ xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE)) >>= nScale;
switch(cTyp)
{
@@ -1180,7 +1176,7 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo)
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Invalid precision for column: ");
sMsg += aName;
sMsg += ::rtl::OUString::createFromAscii("!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
}
(*m_pFileStream) << (BYTE) Min((ULONG)nPrecision, 255UL); //Feldlnge
nRecLength += (USHORT)Min((ULONG)nPrecision, 255UL);
@@ -1195,10 +1191,10 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo)
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Precision is less than scale for column: ");
sMsg += aName;
sMsg += ::rtl::OUString::createFromAscii("!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
break;
}
- if (getBOOL(xCol->getPropertyValue(PROPERTY_ISCURRENCY))) // Currency wird gesondert behandelt
+ if (getBOOL(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISCURRENCY)))) // Currency wird gesondert behandelt
{
(*m_pFileStream) << (BYTE)10; // Standard Laenge
(*m_pFileStream) << (BYTE)4;
@@ -1234,7 +1230,7 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo)
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Invalid column type for column: ");
sMsg += aName;
sMsg += ::rtl::OUString::createFromAscii("!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
}
}
m_pFileStream->Write(aBuffer, 14);
@@ -1437,7 +1433,7 @@ BOOL ODbaseTable::DeleteRow(const OSQLColumns& _rCols)
::cppu::extractInterface(xCol,m_pColumns->getByIndex(i));
// const SdbFILEColumn *pColumn = (const SdbFILEColumn *)(*aOriginalColumns)[i];
- xCol->getPropertyValue(PROPERTY_NAME) >>= aColName;
+ xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aColName;
Reference<XPropertySet> xIndex = isUniqueByColumnName(aColName);
if (xIndex.is())
{
@@ -1452,7 +1448,7 @@ BOOL ODbaseTable::DeleteRow(const OSQLColumns& _rCols)
{
// Reference<XPropertySet> xFindCol;
// _xCols->getByIndex(nPos) >>= xFindCol;
- if(aCase(getString((*aIter)->getPropertyValue(PROPERTY_REALNAME)),aColName))
+ if(aCase(getString((*aIter)->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_REALNAME))),aColName))
break;
}
if (aIter == _rCols.end())
@@ -1641,7 +1637,7 @@ Reference<XPropertySet> ODbaseTable::isUniqueByColumnName(const ::rtl::OUString&
for(sal_Int32 i=0;i<m_pIndexes->getCount();++i)
{
::cppu::extractInterface(xIndex,m_pIndexes->getByIndex(i));
- if(xIndex.is() && getBOOL(xIndex->getPropertyValue(PROPERTY_ISUNIQUE)))
+ if(xIndex.is() && getBOOL(xIndex->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISUNIQUE))))
{
Reference<XNameAccess> xCols(Reference<XColumnsSupplier>(xIndex,UNO_QUERY)->getColumns());
if(xCols->hasByName(_rColName))
@@ -1687,7 +1683,7 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
for (i = 0; i < m_pColumns->getCount(); i++)
{
m_pColumns->getByIndex(i) >>= xCol;
- xCol->getPropertyValue(PROPERTY_NAME) >>= aColName;
+ xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aColName;
// const SdbFILEColumn *pColumn = (const SdbFILEColumn *)(*aOriginalColumns)[i];
sal_Int32 nPos = 0;
@@ -1695,7 +1691,7 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
{
Reference<XPropertySet> xFindCol;
::cppu::extractInterface(xFindCol,_xCols->getByIndex(nPos));
- if(aCase(getString(xFindCol->getPropertyValue(PROPERTY_NAME)),aColName))
+ if(aCase(getString(xFindCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))),aColName))
break;
}
if (nPos >= _xCols->getCount())
@@ -1721,7 +1717,7 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
{
// es existiert kein eindeutiger Wert
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Dupilcate value found!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
}
}
}
@@ -1732,17 +1728,17 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
for (i = 0; i < m_pColumns->getCount(); i++)
{
m_pColumns->getByIndex(i) >>= xCol;
- xCol->getPropertyValue(PROPERTY_NAME) >>= aColName;
+ xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= aColName;
// Laengen je nach Datentyp:
// nyi: eine zentrale Funktion, die die Laenge liefert!
- sal_Int32 nLen = getINT32(xCol->getPropertyValue(PROPERTY_PRECISION));
- sal_Int32 nType = getINT32(xCol->getPropertyValue(PROPERTY_TYPE));
+ sal_Int32 nLen = getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)));
+ sal_Int32 nType = getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)));
switch (nType)
{
case DataType::DATE: nLen = 8; break;
case DataType::DECIMAL:
- nLen = SvDbaseConverter::ConvertPrecisionToDbase(nLen,getINT32(xCol->getPropertyValue(PROPERTY_SCALE)));
+ nLen = SvDbaseConverter::ConvertPrecisionToDbase(nLen,getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE))));
break; // das Vorzeichen und das Komma
case DataType::BIT: nLen = 1; break;
case DataType::LONGVARCHAR:nLen = 10; break;
@@ -1755,7 +1751,7 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
{
Reference<XPropertySet> xFindCol;
::cppu::extractInterface(xFindCol,_xCols->getByIndex(nPos));
- if(aCase(getString(xFindCol->getPropertyValue(PROPERTY_NAME)),aColName))
+ if(aCase(getString(xFindCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME))),aColName))
break;
}
@@ -1824,8 +1820,8 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
double n = rRow[nPos];
- int nPrecision = (int)getINT32(xCol->getPropertyValue(PROPERTY_PRECISION));
- int nScale = (int)getINT32(xCol->getPropertyValue(PROPERTY_SCALE));
+ int nPrecision = (int)getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)));
+ int nScale = (int)getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE)));
// ein const_cast, da GetFormatPrecision am SvNumberFormat nicht const ist, obwohl es das eigentlich
// sein koennte und muesste
@@ -1891,7 +1887,7 @@ BOOL ODbaseTable::UpdateBuffer(OValueVector& rRow, OValueRow pOrgRow,const Refer
::rtl::OUString sMsg = ::rtl::OUString::createFromAscii("Invalid value for column: ");
sMsg += aColName;
sMsg += ::rtl::OUString::createFromAscii("!");
- throw SQLException(sMsg,*this,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(sMsg,*this,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
}
// Und weiter ...
nByteOffset += nLen;
@@ -1953,23 +1949,23 @@ void ODbaseTable::alterColumn(sal_Int32 index,
// // get the name
// ::rtl::OUString sOldName,sNewName;
-// xOldColumn->getPropertyByName(PROPERTY_NAME) >>= sOldName;
-// descriptor->getPropertyByName(PROPERTY_NAME) >>= sNewName;
+// xOldColumn->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= sOldName;
+// descriptor->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME)) >>= sNewName;
//
// // get the type
// sal_Int32 nOldType,nNewType;
-// xOldColumn->getPropertyByName(PROPERTY_TYPE) >>= nOldType;
-// descriptor->getPropertyByName(PROPERTY_TYPE) >>= nNewType;
+// xOldColumn->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nOldType;
+// descriptor->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nNewType;
//
// // get the precision
// sal_Int32 nOldPrec,nNewPrec;
-// xOldColumn->getPropertyByName(PROPERTY_PRECISION) >>= nOldPrec;
-// descriptor->getPropertyByName(PROPERTY_PRECISION) >>= nNewPrec;
+// xOldColumn->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)) >>= nOldPrec;
+// descriptor->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)) >>= nNewPrec;
//
// // get the scale
// sal_Int32 nOldScale,nNewScale;
-// xOldColumn->getPropertyByName(PROPERTY_SCALE) >>= nOldScale;
-// descriptor->getPropertyByName(PROPERTY_SCALE) >>= nNewScale;
+// xOldColumn->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE)) >>= nOldScale;
+// descriptor->getPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE)) >>= nNewScale;
//
// // check if currency changed
// sal_Bool bOldCur,bNewCur;
@@ -1982,7 +1978,7 @@ void ODbaseTable::alterColumn(sal_Int32 index,
ODbaseTable* pNewTable = new ODbaseTable(static_cast<ODbaseConnection*>(m_pConnection));
Reference<XPropertySet> xHoldTable = pNewTable;
- pNewTable->setPropertyValue(PROPERTY_NAME,makeAny(::rtl::OUString(sTempName)));
+ pNewTable->setPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME),makeAny(::rtl::OUString(sTempName)));
Reference<XAppend> xAppend(pNewTable->getColumns(),UNO_QUERY);
// copy the structure
@@ -2069,7 +2065,7 @@ void ODbaseTable::addColumn(const Reference< XPropertySet >& _xNewColumn)
ODbaseTable* pNewTable = new ODbaseTable(static_cast<ODbaseConnection*>(m_pConnection));
Reference<XPropertySet> xHoldTable = pNewTable;
- pNewTable->setPropertyValue(PROPERTY_NAME,makeAny(::rtl::OUString(sTempName)));
+ pNewTable->setPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME),makeAny(::rtl::OUString(sTempName)));
{
Reference<XAppend> xAppend(pNewTable->getColumns(),UNO_QUERY);
@@ -2113,7 +2109,7 @@ String ODbaseTable::createTempFile()
String sName(m_Name);
TempFile aTempFile(sName,&sExt,&sTempName);
if(!aTempFile.IsValid())
- throw SQLException(::rtl::OUString::createFromAscii("Error while alter table!"),NULL,SQLSTATE_GENERAL,1000,Any());
+ throw SQLException(::rtl::OUString::createFromAscii("Error while alter table!"),NULL,OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_HY0000),1000,Any());
INetURLObject aURL;
aURL.SetSmartProtocol(INET_PROT_FILE);