diff options
Diffstat (limited to 'connectivity/source/commontools')
-rw-r--r-- | connectivity/source/commontools/TColumnsHelper.cxx | 10 | ||||
-rw-r--r-- | connectivity/source/commontools/TIndexColumns.cxx | 6 | ||||
-rw-r--r-- | connectivity/source/commontools/TKeyColumns.cxx | 34 | ||||
-rw-r--r-- | connectivity/source/commontools/dbtools2.cxx | 14 | ||||
-rw-r--r-- | connectivity/source/commontools/predicateinput.cxx | 5 |
5 files changed, 48 insertions, 21 deletions
diff --git a/connectivity/source/commontools/TColumnsHelper.cxx b/connectivity/source/commontools/TColumnsHelper.cxx index 83bfe69746d1..ad725c4f1e64 100644 --- a/connectivity/source/commontools/TColumnsHelper.cxx +++ b/connectivity/source/commontools/TColumnsHelper.cxx @@ -115,6 +115,11 @@ sdbcx::ObjectType OColumnsHelper::createObject(const ::rtl::OUString& _rName) { nField11 = ColumnValue::NO_NULLS; } // if ( xKeys.is() ) + ::dbtools::OPropertyMap& rPropMap = OMetaConnection::getPropMap(); + ::rtl::OUString aCatalog, aSchema, aTable; + m_pTable->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_CATALOGNAME)) >>= aCatalog; + m_pTable->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_SCHEMANAME)) >>= aSchema; + m_pTable->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_NAME)) >>= aTable; connectivity::sdbcx::OColumn* pRet = new connectivity::sdbcx::OColumn(_rName, pColDesc->aField6, pColDesc->sField13, @@ -126,7 +131,10 @@ sdbcx::ObjectType OColumnsHelper::createObject(const ::rtl::OUString& _rName) bAutoIncrement, sal_False, bIsCurrency, - isCaseSensitive()); + isCaseSensitive(), + aCatalog, + aSchema, + aTable); xRet = pRet; } diff --git a/connectivity/source/commontools/TIndexColumns.cxx b/connectivity/source/commontools/TIndexColumns.cxx index 7edd3ea706df..c64e94bf1d14 100644 --- a/connectivity/source/commontools/TIndexColumns.cxx +++ b/connectivity/source/commontools/TIndexColumns.cxx @@ -47,8 +47,9 @@ OIndexColumns::OIndexColumns( OIndexHelper* _pIndex, sdbcx::ObjectType OIndexColumns::createObject(const ::rtl::OUString& _rName) { ::dbtools::OPropertyMap& rPropMap = OMetaConnection::getPropMap(); - ::rtl::OUString aSchema,aTable; + ::rtl::OUString aCatalog, aSchema, aTable; ::com::sun::star::uno::Any Catalog(m_pIndex->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_CATALOGNAME))); + Catalog >>= aCatalog; m_pIndex->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_SCHEMANAME)) >>= aSchema; m_pIndex->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_NAME)) >>= aTable; @@ -93,7 +94,8 @@ sdbcx::ObjectType OIndexColumns::createObject(const ::rtl::OUString& _rName) nSize, nDec, nDataType, - sal_False,sal_False,sal_False,sal_True); + sal_False,sal_False,sal_False,sal_True, + aCatalog, aSchema, aTable); xRet = pRet; break; } diff --git a/connectivity/source/commontools/TKeyColumns.cxx b/connectivity/source/commontools/TKeyColumns.cxx index f9a9a223f82b..bb5a36a38f2a 100644 --- a/connectivity/source/commontools/TKeyColumns.cxx +++ b/connectivity/source/commontools/TKeyColumns.cxx @@ -48,13 +48,15 @@ OKeyColumnsHelper::OKeyColumnsHelper( OTableKeyHelper* _pKey, sdbcx::ObjectType OKeyColumnsHelper::createObject(const ::rtl::OUString& _rName) { ::dbtools::OPropertyMap& rPropMap = OMetaConnection::getPropMap(); - ::rtl::OUString aSchema,aTable; + ::rtl::OUString aCatalog, aSchema, aTable; + ::com::sun::star::uno::Any Catalog(m_pKey->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_CATALOGNAME))); + Catalog >>= aCatalog; m_pKey->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_SCHEMANAME)) >>= aSchema; m_pKey->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_NAME)) >>= aTable; // frist get the related column to _rName Reference< XResultSet > xResult = m_pKey->getTable()->getMetaData()->getImportedKeys( - m_pKey->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_CATALOGNAME)),aSchema,aTable); + Catalog, aSchema, aTable); ::rtl::OUString aRefColumnName; if ( xResult.is() ) @@ -75,8 +77,7 @@ sdbcx::ObjectType OKeyColumnsHelper::createObject(const ::rtl::OUString& _rName) sdbcx::ObjectType xRet; // now describe the column _rName and set his related column - xResult = m_pKey->getTable()->getMetaData()->getColumns( - m_pKey->getTable()->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_CATALOGNAME)),aSchema,aTable,_rName); + xResult = m_pKey->getTable()->getMetaData()->getColumns(Catalog, aSchema, aTable, _rName); if ( xResult.is() ) { @@ -101,17 +102,20 @@ sdbcx::ObjectType OKeyColumnsHelper::createObject(const ::rtl::OUString& _rName) } OKeyColumn* pRet = new OKeyColumn(aRefColumnName, - _rName, - aTypeName, - sColumnDef, - nNull, - nSize, - nDec, - nDataType, - sal_False, - sal_False, - sal_False, - isCaseSensitive()); + _rName, + aTypeName, + sColumnDef, + nNull, + nSize, + nDec, + nDataType, + sal_False, + sal_False, + sal_False, + isCaseSensitive(), + aCatalog, + aSchema, + aTable); xRet = pRet; } } diff --git a/connectivity/source/commontools/dbtools2.cxx b/connectivity/source/commontools/dbtools2.cxx index bb832535cbfe..4092e9e185de 100644 --- a/connectivity/source/commontools/dbtools2.cxx +++ b/connectivity/source/commontools/dbtools2.cxx @@ -389,6 +389,8 @@ namespace Reference<XPropertySet> xProp; Reference<XDatabaseMetaData> xMetaData = _xConnection->getMetaData(); Reference< XResultSet > xResult = xMetaData->getColumns(_aCatalog, _aSchema, _aTable, _rQueryName); + ::rtl::OUString sCatalog; + _aCatalog >>= sCatalog; if ( xResult.is() ) { @@ -472,7 +474,10 @@ namespace bAutoIncrement, sal_False, bIsCurrency, - _bCase); + _bCase, + sCatalog, + _aSchema, + _aTable); xProp = pRet; break; @@ -515,6 +520,8 @@ Reference<XPropertySet> createSDBCXColumn(const Reference<XPropertySet>& _xTable Reference<XDatabaseMetaData> xMetaData = _xConnection->getMetaData(); Any aCatalog; aCatalog = _xTable->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_CATALOGNAME)); + ::rtl::OUString sCatalog; + aCatalog >>= sCatalog; ::rtl::OUString aSchema, aTable; _xTable->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_SCHEMANAME)) >>= aSchema; @@ -536,7 +543,10 @@ Reference<XPropertySet> createSDBCXColumn(const Reference<XPropertySet>& _xTable _bIsAutoIncrement, sal_False, _bIsCurrency, - _bCase); + _bCase, + sCatalog, + aSchema, + aTable); } diff --git a/connectivity/source/commontools/predicateinput.cxx b/connectivity/source/commontools/predicateinput.cxx index 4950de6fd7a7..f8f89601f21c 100644 --- a/connectivity/source/commontools/predicateinput.cxx +++ b/connectivity/source/commontools/predicateinput.cxx @@ -374,7 +374,10 @@ namespace dbtools nType, sal_False, sal_False, - xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers()); + xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(), + ::rtl::OUString(), + ::rtl::OUString(), + ::rtl::OUString()); Reference<XPropertySet> xColumn = pColumn; pColumn->setFunction(sal_True); pColumn->setRealName(sField); |