/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #include "connectivity/TKeyColumns.hxx" #include "connectivity/sdbcx/VKeyColumn.hxx" #include #include #include #include #include #include #include "TConnection.hxx" #include "connectivity/TTableHelper.hxx" using namespace connectivity; using namespace connectivity::sdbcx; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::beans; using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::container; using namespace ::com::sun::star::lang; // ------------------------------------------------------------------------- OKeyColumnsHelper::OKeyColumnsHelper( OTableKeyHelper* _pKey, ::osl::Mutex& _rMutex, const ::std::vector< ::rtl::OUString> &_rVector) : connectivity::sdbcx::OCollection(*_pKey,sal_True,_rMutex,_rVector) ,m_pKey(_pKey) { } // ------------------------------------------------------------------------- sdbcx::ObjectType OKeyColumnsHelper::createObject(const ::rtl::OUString& _rName) { ::dbtools::OPropertyMap& rPropMap = OMetaConnection::getPropMap(); ::rtl::OUString aSchema,aTable; 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); ::rtl::OUString aRefColumnName; if ( xResult.is() ) { Reference< XRow > xRow(xResult,UNO_QUERY); ::rtl::OUString aTemp; while(xResult->next()) { aTemp = xRow->getString(4); if(xRow->getString(8) == _rName && m_pKey->getName() == xRow->getString(12)) { aRefColumnName = aTemp; break; } } } 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); if ( xResult.is() ) { Reference< XRow > xRow(xResult,UNO_QUERY); if ( xResult->next() ) { if ( xRow->getString(4) == _rName ) { sal_Int32 nDataType = xRow->getInt(5); ::rtl::OUString aTypeName(xRow->getString(6)); sal_Int32 nSize = xRow->getInt(7); sal_Int32 nDec = xRow->getInt(9); sal_Int32 nNull = xRow->getInt(11); ::rtl::OUString sColumnDef; try { sColumnDef = xRow->getString(13); } catch(const SQLException&) { // somethimes we get an error when asking for this param } OKeyColumn* pRet = new OKeyColumn(aRefColumnName, _rName, aTypeName, sColumnDef, nNull, nSize, nDec, nDataType, sal_False, sal_False, sal_False, isCaseSensitive()); xRet = pRet; } } } return xRet; } // ------------------------------------------------------------------------- Reference< XPropertySet > OKeyColumnsHelper::createDescriptor() { return new OKeyColumn(isCaseSensitive()); } // ------------------------------------------------------------------------- void OKeyColumnsHelper::impl_refresh() throw(::com::sun::star::uno::RuntimeException) { m_pKey->refreshColumns(); } // ----------------------------------------------------------------------------- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ lhm/libreoffice-7-1+backports'>distro/lhm/libreoffice-7-1+backports LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-21migrate to boost::gettextCaolán McNamara
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky
Uwinapi is discontinued. Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01 Reviewed-on: https://gerrit.libreoffice.org/23198 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: David Ostrovsky <david@ostrovsky.org>
2016-06-09tdf#94698 cleanup Makefiles. Get rid of udkapi and offapiGleb Mishchenko
This patch changes occurences in makefiles from $(eval $(call gb_CppunitTest_use_api,comphelper_test_config, \ udkapi \ offapi \ )) to $(eval $(call gb_CppunitTest_use_sdk_api,comphelper_test_config)) (corrected instead of abandon, jani) Change-Id: Ic96ec65d82d7452e288f05a8b6d576ef543b068e Reviewed-on: https://gerrit.libreoffice.org/23426 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> Tested-by: jan iversen <jani@documentfoundation.org>
2015-03-05connectivity: remove bogus setting of NTDDI_VERSIONMichael Stahl
The value set here does not correspond to any valid value in sdkddkver.h; it is a mystery what setting an invalid value is supposed to achieve. Change-Id: I76b1da148806e249870154efda3e6c4fa20010bf