diff options
4 files changed, 23 insertions, 1 deletions
diff --git a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx index 102a4f670ee0..c56272c9ada6 100644 --- a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx +++ b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx @@ -111,6 +111,7 @@ void ODatabaseMetaDataResultSet::setType(MetaDataResultSetType _eType) case eTypeInfo: setTypeInfoMap(); break; case eBestRowIdentifier: setBestRowIdentifierMap(); break; case eVersionColumns: setVersionColumnsMap(); break; + case eUDTs: setUDTsMap(); break; default: OSL_FAIL("Wrong type!"); } @@ -611,6 +612,13 @@ void ODatabaseMetaDataResultSet::setTypeInfoMap() m_xMetaData = pMetaData; } // ------------------------------------------------------------------------- +void ODatabaseMetaDataResultSet::setUDTsMap() +{ + ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(); + pMetaData->setUDTsMap(); + m_xMetaData = pMetaData; +} +// ------------------------------------------------------------------------- void ODatabaseMetaDataResultSet::setTableTypes() { ODatabaseMetaDataResultSetMetaData* pMetaData = new ODatabaseMetaDataResultSetMetaData(); diff --git a/connectivity/source/commontools/FDatabaseMetaDataResultSetMetaData.cxx b/connectivity/source/commontools/FDatabaseMetaDataResultSetMetaData.cxx index ea2af9b159f3..fe5c9614d6b5 100644 --- a/connectivity/source/commontools/FDatabaseMetaDataResultSetMetaData.cxx +++ b/connectivity/source/commontools/FDatabaseMetaDataResultSetMetaData.cxx @@ -352,4 +352,14 @@ void ODatabaseMetaDataResultSetMetaData::setVersionColumnsMap() m_mColumns[8] = OColumn(OUString(),"PSEUDO_COLUMN", ColumnValue::NO_NULLS, 0,0,0, DataType::INTEGER); } +void ODatabaseMetaDataResultSetMetaData::setUDTsMap() +{ + m_mColumns[1] = OColumn(OUString(),"TYPE_CAT", ColumnValue::NULLABLE, 0,0,0, DataType::VARCHAR); + m_mColumns[2] = OColumn(OUString(),"TYPE_SCHEM", ColumnValue::NULLABLE, 0,0,0, DataType::VARCHAR); + m_mColumns[3] = OColumn(OUString(),"TYPE_NAME", ColumnValue::NO_NULLS, 0,0,0, DataType::VARCHAR); + m_mColumns[4] = OColumn(OUString(),"CLASS_NAME", ColumnValue::NO_NULLS, 0,0,0, DataType::VARCHAR); + m_mColumns[5] = OColumn(OUString(),"DATA_TYPE", ColumnValue::NO_NULLS, 0,0,0, DataType::VARCHAR); + m_mColumns[6] = OColumn(OUString(),"REMARKS", ColumnValue::NO_NULLS, 0,0,0, DataType::VARCHAR); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx b/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx index a503bae2a3d4..0ca1cf4afa6e 100644 --- a/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx +++ b/connectivity/source/inc/FDatabaseMetaDataResultSet.hxx @@ -101,7 +101,9 @@ namespace connectivity /// describes a result set as expected by XDatabaseMetaData::getBestRowIdentifier eBestRowIdentifier = 15, /// describes a result set as expected by XDatabaseMetaData::getVersionColumns - eVersionColumns = 16 + eVersionColumns = 16, + /// describes a result set as expected by XDatabaseMetaData::getUDTs + eUDTs = 17 }; private: @@ -234,6 +236,7 @@ namespace connectivity void setTypeInfoMap(); void setBestRowIdentifierMap(); void setVersionColumnsMap(); + void setUDTsMap(); public: // some methods to get already defined ORowSetValues // this increase the reuse of ORowSetValues diff --git a/connectivity/source/inc/FDatabaseMetaDataResultSetMetaData.hxx b/connectivity/source/inc/FDatabaseMetaDataResultSetMetaData.hxx index e94094859776..8703be466162 100644 --- a/connectivity/source/inc/FDatabaseMetaDataResultSetMetaData.hxx +++ b/connectivity/source/inc/FDatabaseMetaDataResultSetMetaData.hxx @@ -96,6 +96,7 @@ namespace connectivity void setImportedKeysMap() { setCrossReferenceMap(); } void setCatalogsMap(); void setSchemasMap(); + void setUDTsMap(); }; } #endif // _CONNECTIVITY_FILE_ADATABASEMETARESULTSETMETADATA_HXX_ |