summaryrefslogtreecommitdiff
path: root/dbaccess
AgeCommit message (Collapse)AuthorFilesLines
2018-04-17Remove Help - Restart in Safe Mode menu itemAndras Timar5-10/+0
Change-Id: I2a3cdbc73a0a4033b60f0d67b3673bd24e4fce50
2018-04-17Remove Help - Donate to LibreOffice menu itemAndras Timar5-10/+0
Change-Id: I7a701173f596306ee628ae4a12ad81d2d756caca
2018-04-12tdf#116890: make unique column names in prepared statementJulien Nabet1-0/+7
...like we do resultset. Thanks to Lionel for this solution Reviewed-on: https://gerrit.libreoffice.org/52662 (cherry picked from commit dc823f5fa4a5d2eca56297b9045e5962536c00f9) Change-Id: I44f307cd6bddf76716d7c73b8783070abe43bdf3 Reviewed-on: https://gerrit.libreoffice.org/52698 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> (cherry picked from commit 0d78d17249a58d95b4aa2e8fe09f08e22f20c407)
2018-04-12tdf#116772 adapt handling of LIKE conditions to cleaned up StructuredFilterLionel Elie Mamane2-2/+73
Change-Id: Ifc60da9a95833ee7820a0e03354fa1a8c006e136 Reviewed-on: https://gerrit.libreoffice.org/52576 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 060e43da66c759de2c4799131e13c5156f01d492)
2018-03-26HSQLDB Binary importTamas Bunth12-61/+670
C++ implementation of reading HSQL's binary file format. This file contains the actual rows for the tables, represented in an AVL tree. Import starts from HsqlImporter, which calls to SchemaParser for some metadata (the positions of the trees in "data" file). After that it goes through the tree and read up the rows using HsqlRowInputStream. Finally, it uses sdbc's XPreparedStatement to insert the rows to the actual database. Change-Id: If4b17572e5989c218d45880bc3fd5a8820bb4101 Reviewed-on: https://gerrit.libreoffice.org/50536 Reviewed-by: Tamás Bunth <btomi96@gmail.com> Tested-by: Tamás Bunth <btomi96@gmail.com> (cherry picked from commit 60ac7418747530a006894a7941c67c5006d6158c)
2018-03-25Add HSQLDB schema importTamas Bunth17-0/+924
It can be enabled by initializing the DBACCESS_HSQL_MIGRATION variable. Create new library "dbahsql" which is responsible for migrating the embedded hsql database to any database covered by sdbc. The hsqldb schema is stored in a file named "script" in form of SQL statements. The SQL statements used by DBMS's differ mostly by the defined types. Because of that, only the create statements need to be parsed, alter statements will work (with a little luck) without actually modifying it. User / security settings which can occur in the script file (e.g. GRANT statements) are dropped. Statements starting with SET are also dropped (they are hsql specific stuff) Change-Id: I6a22942e8a9a76765f80e50f0ad68f4d72e1ff9d Reviewed-on: https://gerrit.libreoffice.org/48260 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com> (cherry picked from commit 95bece38ac5c943657ad959cad148c84a91d45a4)
2018-03-20lokdialog: Allow switching language of some of the ResMgr's.Jan Holesovsky1-2/+1
This way, it is possible to have all the strings translated in dialogs even when different users use different languages. [It was already possible to have different languages previously, but not everything in the dialog has switched - like the buttons at the bottom of the dialogs etc.] Change-Id: I29a5ae6d31a370eec60397884200b684ec1bf5b9 Reviewed-on: https://gerrit.libreoffice.org/46417 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/46979 Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 101a79cc4d13a1f566c1b97c1329813eb7c61bcf)
2018-03-19tdf#115998 base: crash on delete relationshipNoel Grandin1-0/+1
Change-Id: Ida8cc9ef0b812254990ac808f78ae183ae28a1c0 Reviewed-on: https://gerrit.libreoffice.org/50633 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 46b32a022ee3679721e410e470c57b6a0b91ecb0) Reviewed-on: https://gerrit.libreoffice.org/50769 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org> (cherry picked from commit 63bd3beb23e1d8975cea209501c63d4c84396e26)
2018-02-01tdf#114596 dbaccess: fix mysterious dataloss bugMichael Stahl2-3/+5
OBookmarkContainer actually re-uses the reference count of ODatabaseSource, so converting ODatabaseSource::m_aBookmark to Reference created a cycle, which somehow causes the dataloss, because evidently something as important as storing the data must be done in the destructor. (regression from 2660d24a07866e083c5135ea263030f3e3a2e729) (cherry picked from commit 96ae2a3300811897c24cccb20f8c2faf382483df) tdf#114596 compilerplugins: add exception to [loplugin:refcounting] (cherry picked from commit e80da60895b45309fa1d018760d5f11cca4367f4) Change-Id: I4cad01dc9cdaf405c1eb31d6c0e161eb6712b78f Reviewed-on: https://gerrit.libreoffice.org/49025 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-25tdf#115080 menu id collisionCaolán McNamara1-5/+5
21 collides with the pattern field menu id Change-Id: Ia90995861adabbe1615e24ee10defe25cee76c56 Reviewed-on: https://gerrit.libreoffice.org/48486 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-11tdf#114955: Fix primary key management in copy tableJulien Nabet1-0/+4
When we chose to create a primary key, be sure the other existing columns won't be in primary key Change-Id: I523f1b3a4b56c92d48b65cb3d83793b5459c630c Reviewed-on: https://gerrit.libreoffice.org/47732 (cherry picked from commit 2711f7639811929fc9ea8dc168ea28f1c5545e67) Change-Id: I966b08ad4049c46f4a77812c48ff651b13ea7493 Reviewed-on: https://gerrit.libreoffice.org/47745 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2018-01-10tdf#113923: don't use twice a new column in table copyJulien Nabet1-3/+13
In the case where: 1: we enabled the creation of a primary key 2: we come back here from the "Back" button of the next page, we want to avoid to list the new column generated in the next page So we must check added columns in right panel must exist in the table Change-Id: I467007941b03811381a216c1ab3de8fe729f9b9b (cherry picked from commit c2bc2c4633e92349cac390c05d245d1a812986c4) Reviewed-on: https://gerrit.libreoffice.org/47706 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-01tdf#114755: Remove extra parenthesisJulien Nabet1-1/+1
from SELECT block of INSERT INTO <> SELECT <> Change-Id: Ibe3c3f5f2fbc15388c716ae262e87137958c1a7e Reviewed-on: https://gerrit.libreoffice.org/47218 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> (cherry picked from commit b3ea7ed747991696b9f02ede14c57f333c28a41b) Reviewed-on: https://gerrit.libreoffice.org/47223 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2017-12-28tdf#114702 don't use XMultipleResultset unless DatabaseMetaData says we canLionel Elie Mamane1-1/+3
Change-Id: Icec98d35c2f60adf4a31e492c6cb708e82e47a58 (cherry picked from commit 3c567e55e6aed9e0da892d8b9fc09f8a0c784fcc) Change-Id: Ibf153cf310fbd00012bb34603614f747f9012e4a Reviewed-on: https://gerrit.libreoffice.org/47123 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins <ci@libreoffice.org>
2017-12-28dbaccess OStatementBase: correctly check database metadataLionel Elie Mamane1-9/+9
the previous test didn't make any sense: * if xMeta.is(), then the test evaluated to false * if !xMeta.is(), then it called supportsMultipleResultSets (or supportsBatchUpdates, respectively) on a NULL pointer, which guaranteed a segfault / assert. Change-Id: I6d6b93350557936b924a286732ae6d4f5ab2ce56 (cherry picked from commit 66d7540bcf3f82de906a588f01d1fbedc3d2928c) Change-Id: Icb33a8d344cc5644fc4722e02aabfed6bbbc0e5d Reviewed-on: https://gerrit.libreoffice.org/47125 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins <ci@libreoffice.org>
2017-12-06tdf#113413 dbaccess: only use SolarMutex in ODatabaseDocumentMichael Stahl4-41/+11
The classes ODatabaseDocument, ODatabaseModelImpl and ODatabaseSource share a single mutex declared as ModelDependentComponent::m_aMutex. Commit 403eefe81b8a0afe888c60452c17d6b2c5d8343f introduced a new deadlock here: in case Yield is called, such as when the user doesn't have a JRE and a dialog requesting to install one is displayed, the SolarMutex is released but the ModelDependentComponent mutex is still locked; now another thread (such as the AsyncEventNotifier) can lock the SolarMutex but not the other mutex, while the main thread can't lock the SolarMutex again. So the SolarMutex must be on the one hand be locked before the other mutex, to ensure the behaviour is the same whether the thread already holds it or not, and locked after the other mutex, to prevent the Yield deadlock. One option would be to revisit fca62934f492125ea6728fd6d09f0c66c9e4fa69 and add back the SfxLibraryContainer mutex, but the code there is a mess, naively assuming that locking the mutex on UNO entry points is sufficient, taking no care to temporarily release it while calling other UNO components or event listeners; since there's about 5kLOC in all the related classes it would take some time to rewrite all that. An easier fix is to remove the ModelDependentComponent::m_aMutex. This patch removes all locking of that m_aMutex, but it still exists as a non-shared Mutex because it's needed for the WeakComponentImplHelper base classes, which shouldn't cause issues. Reviewed-on: https://gerrit.libreoffice.org/45914 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit a36b3f371343c4fb3708cbe0cd50270dda272385) Change-Id: I94aaa0ae8698188c98633c638100a309b20976cc Reviewed-on: https://gerrit.libreoffice.org/45925 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-12-03Don't prevent ODatabaseDocument refcount from dropping to zeroStephan Bergmann1-1/+2
...preventing the dtor from ever being called. (DocumentEvents forwards its acquire/release calls to its m_pData->rParent, i.e., the ODatabaseDocument, for better or worse.) This caused ODatabaseDocument instances to be leaked during e.g. JunitTest_dbaccess_complex. Regression introduced with de2ac128da025502c533f8cede5862e054dd9c44 "loplugin:useuniqueptr in dbaccess". Change-Id: Ida073c7e576b88e0d1d1a90253445e946e6eac99 Reviewed-on: https://gerrit.libreoffice.org/45652 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 5066377bbeab1000f31e3fa689bad2ff8bf35295) Reviewed-on: https://gerrit.libreoffice.org/45685
2017-11-23Make loplugin:unnecessaryparen look through implicitStephan Bergmann2-2/+2
...similar to how <https://gerrit.libreoffice.org/#/c/45083/2> "Make not warning about !! in loplugin:simplifybool consistent" does for loplugin:simplifybool Change-Id: I23eef400af71c582d380c9bae6546ce06e8a1e18 Reviewed-on: https://gerrit.libreoffice.org/45122 Tested-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-22Make loplugin:unnecessaryparen warn about (x) ? ... : ... after allStephan Bergmann2-2/+2
...which had been left out because "lots of our code uses this style, which I'm loathe to bulk-fix as yet", but now in <https://gerrit.libreoffice.org/#/c/45060/1/> "use std::unique_ptr" would have caused an otherwise innocent-looking code change to trigger a loplugin:unnecessaryparen warning for pFormat = (pGrfObj) ? ... (barring a change to ignoreAllImplicit in compilerplugins/clang/unnecessaryparen.cxx similar to that in <https://gerrit.libreoffice.org/#/c/45083/2> "Make not warning about !! in loplugin:simplifybool consistent", which should also have caused the warning to disappear for the modified code, IIUC). Change-Id: I8bff0cc11bbb839ef06d07b8d9237f150804fec2 Reviewed-on: https://gerrit.libreoffice.org/45088 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-21Fix typosAndrea Gelmini1-1/+1
Change-Id: I40b3a46d46f0586d086bdbe41876c088f8c1cb58 Reviewed-on: https://gerrit.libreoffice.org/45007 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jens Carl <j.carl43@gmx.de>
2017-11-20look for =() in loplugin:unnecessaryparenNoel Grandin4-12/+12
Change-Id: I4f9b71ff7767e90987bb40358fc46ed5d1d571d0 Reviewed-on: https://gerrit.libreoffice.org/44944 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-19Use for range loops and lambda in dbfindex (dbaccess)Julien Nabet2-60/+32
Change-Id: I72186af1eae37e31cafec695581336729d123d09 Reviewed-on: https://gerrit.libreoffice.org/44925 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-18Replace list by vector in macromigrationdialog (dbaccess)Julien Nabet1-23/+19
+ use for range loops Change-Id: I676009baa7b7aeb8c26951a8786da22431b0bc81 Reviewed-on: https://gerrit.libreoffice.org/44896 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-16Fix typosAndrea Gelmini2-4/+4
Change-Id: I7b6c699b46fb71c1f19b5e5548c22a11efe8b864 Reviewed-on: https://gerrit.libreoffice.org/44836 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-11-16Delete test*.odb filesStephan Bergmann1-0/+6
...that are created in java.io.tmpdir (e.g., /tmp on Linux) by connectivity.tools.HsqlDatabase.createDBDocument() during e.g. JunitTest_dbaccess_complex. This revealed that connectivity.tools.AbstractDatabase.delete() (even if it would have been called by the test) would have been non-effective at deleting the file, as the java.io.File constructor used takes a pathname not a file URL as argument, so the call to java.io.File.delete() would not have deleted the relevant file (and returned false, rather). Change-Id: I268e1d1732ac7a0db9ccde7d4ac4f09aa3811e11 Reviewed-on: https://gerrit.libreoffice.org/44801 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-14Translate German comments and debug stringsJohnny_M1-3/+3
Change-Id: I12c92ecc270e65cb99e38e9179cf354a8c0708aa Reviewed-on: https://gerrit.libreoffice.org/44633 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-11-13survive building dbaccess+connectivity with --disable-dynamic-loadingCaolán McNamara1-2/+2
Change-Id: I49387d2b6ec1893bf721e3289f2f620a4ce71fb3 Reviewed-on: https://gerrit.libreoffice.org/44668 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-11-12use sal_uInt16 to pass PoolItem WhichIdJochen Nitschke2-2/+2
Change-Id: I29593b20d7053bf51b1ef2aee295e73c6f3b858b Reviewed-on: https://gerrit.libreoffice.org/44650 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-11A user object id is *NOT* a SotClipboardFormatIdEike Rathke4-9/+14
Do not try to squeeze it into such.. especially if SotClipboardFormatId::... enum identifiers are used in a user object id context that is completely not related to the identifier name this is totally confusing. commit fb14be5f8f74f83ba89e15f891ddf1f753dcc62f Date: Thu Mar 12 14:53:28 2015 +0200 create new 'enum class' SotClipboardFormatId to unify types overdid with that. Change-Id: I34b570be9f52b7b94ca8af6b23983393ac3a3a55 Reviewed-on: https://gerrit.libreoffice.org/44612 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-11-10Properly construct vnd.sun.star.pkg URLStephan Bergmann2-9/+3
...in SwDBManager::LoadAndRegisterEmbeddedDataSource. For example, when the authority encodes a file URL whose path contains '%23' (because one of the pathname segments encoded in the file URL contains a '#' character), the original code would have left it as %23 in the vnd.sun.star.pkg URL, instead of encoding it as %2523. That lead to bad file URLs being recovered from the vnd.sun.star.pkg URL in dbaccess. (And 03f58aa36c5150ea305b5fd0023e0ec53a334051 "dbaccess: properly encode path to prevent stripping 'fragment' from it", which this commit reverts, wrongly tried to address that on the consuming instead of the producing side.) Change-Id: I17d2dc9e6306d006361fbcb63d77e93a9e20bf31 Reviewed-on: https://gerrit.libreoffice.org/44569 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-10loplugin:unusedmethodsNoel Grandin5-17/+0
Change-Id: I543b0943f0bc918d59debc8ee051f88c29d18454 Reviewed-on: https://gerrit.libreoffice.org/44553 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-09dbaccess: properly encode path to prevent stripping "fragment" from itMike Kaganski2-3/+9
When a path contains "#" character, it must be encoded to prevent detecting it as URI's "fragment" separator, and subsequent stripping of following path part (e.g., in SfxMedium::Init_Impl). Change-Id: Ide08f8c13dc2296d9aecba92c96f1b29cc4538de Reviewed-on: https://gerrit.libreoffice.org/44538 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-08ODBFilter::filter: Also leave window wait on exceptionMike Kaganski1-15/+23
Change-Id: I6bb759c583e15f229bc2afa178a1d1d90d8315ef Reviewed-on: https://gerrit.libreoffice.org/44458 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-06Use std::initializer_list to construct SequenceMike Kaganski1-8/+8
Change-Id: I5b3b97922befbe094c0ebe9adf4f195a83cd24af Reviewed-on: https://gerrit.libreoffice.org/44365 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-06ODatabaseContext::loadObjectFromURL: don't parse string for protocolMike Kaganski1-1/+1
"vnd.sun.star.pkg:" is already recognized as INetProtocol::VndSunStarPkg by INetURLObject Change-Id: I385dfb0f545f81171b1794f2d5d991d8b9f28eaf Reviewed-on: https://gerrit.libreoffice.org/44355 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-06loplugin:finalclasses in dbaccessNoel Grandin66-243/+138
Change-Id: I7cbc786407ee798950a7fdc98f43aee0845ff862 Reviewed-on: https://gerrit.libreoffice.org/44347 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-04Make Windows error reporting more robustMike Kaganski1-4/+3
https://msdn.microsoft.com/en-us/library/ms679351 describes that "it is unsafe to take an arbitrary system error code returned from an API and use FORMAT_MESSAGE_FROM_SYSTEM without FORMAT_MESSAGE_IGNORE_INSERTS" Previously in case when an error string would contain inserts, function returned error, so the error message wasn't shown (at least it didn't crash, thanks to nullptr as the function's last argument). As the function may fail, we now pre-nullify the buffer pointer to avoid dereferencing uninitialized pointer later (though at least for some Windows versions, the function nullifies the pointer in case of FORMAT_MESSAGE_ALLOCATE_BUFFER, but there's no explicit guarantee of this). Also release of allocated buffer is changed to recommended use of HeapFree. The code that doesn't make use of OUString is left directly calling FormatMessage, to avoid introducing new dependencies. Where it makes sense, we now use WindowsErrorString from <comphelper/windowserrorstring.hxx> Change-Id: I834c08eb6d92987e7d3d01e2c36ec55e42aea848 Reviewed-on: https://gerrit.libreoffice.org/44206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-11-01loplugin:constantparam in connectivityNoel Grandin13-18/+18
Change-Id: Ia13d0931bbdf642fe04119ea1112788fb143eba8 Reviewed-on: https://gerrit.libreoffice.org/44110 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-01loplugin:constantparam in d*Noel Grandin11-27/+19
Change-Id: I65c395157d2b68a549a6fecf9abf1fd46446d960 Reviewed-on: https://gerrit.libreoffice.org/44109 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-27loplugin:includeform: dbaccess (Windows)Stephan Bergmann2-2/+2
Change-Id: I8ed4161f8f2552200d1ddc280c922d9077e63a87
2017-10-26vcl: make MapMode constructor explicitMichael Stahl22-39/+39
Insert constructor everywhere, except a couple places that apparently want to compare GetMapUnit(). Change-Id: I1910deb60562e5e949203435e827057f70a3f988
2017-10-26More loplugin:unnecessaryparenStephan Bergmann2-2/+2
81892b2037453108b9bde1512a500cf3b2ce438a "loplugin:unnecessaryparen when compiling as C++17, so the ParenExpr is no longer hidden behind ExprWithCleanups/CXXConstructExpr/MaterializedTemporaryExpr wrappers" gave me the idea to generally look though IgnoreImplicit instead of IngoreImpCasts in loplugin:unnecessaryparen. However, that would still not look through implicit CXXConstructExpr, so would still not have found the occurrences in 81892b2037453108b9bde1512a500cf3b2ce438a when compiling in pre-C++17 mode. Therefore, let ignoreAllImplicit also look through CXXConstructExpr. (I am not entirely sure in which situations non-implicit CXXConstructExpr---that should thus not be ignored---would occur, but assume they would be underneath something like a CXXFunctionalCastExpr, which is not ignored.) Change-Id: I947d08742e1809150ecc34a7abe84cca5e0ce843
2017-10-25Work around bogus Clang C++17 -Werror,-Wunused-valueStephan Bergmann1-2/+2
...see <https://bugs.llvm.org/show_bug.cgi?id=35073> "Unexpected -Wunused-value with -std=c++17". The dereference operator is only there to make OWeakObject's conversion operator to css::uno::Reference<css::uno::XInterface> kick in, to avoid an ambiguous conversion to XInterface, so use an rtl::Reference instead, which removes the need for the dereference and makes the warning go away. Change-Id: I52ddaa098d43eb1507ca621f9e9511dcfc0fdb9a
2017-10-23loplugin:includeform: dbaccessStephan Bergmann396-1575/+1575
Change-Id: I15aee966012612033ab7e2ee03ac1a553802f540
2017-10-23overload std::hash for OUString and OStringNoel Grandin1-1/+1
no need to explicitly specify it anymore Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec Reviewed-on: https://gerrit.libreoffice.org/43567 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-18use rtl::Reference in ODatabaseContextNoel Grandin4-28/+12
Change-Id: I6ed51a1eabe240c199b9f250744729b19efdd24e Reviewed-on: https://gerrit.libreoffice.org/43457 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-17turn implicit container explicit in buildable notebooksCaolán McNamara4-14/+56
as in interim measure for SfxTabDialogs we throw away the TabPage if its not suitable for reuse Change-Id: Ic5776ca3d2a8cb6bf41f33df01b211f81c62a842 Reviewed-on: https://gerrit.libreoffice.org/43134 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-16Move dbaccess/source/core/dataaccess include files to common include directoryStephan Bergmann5-13/+13
...that are included from both dbaccess/source/core/dataaccess and dbaccess/source/core/misc. Change done in preparation of loplugin:includeform. Change-Id: I0572322810d8b4cd66a1b1f9e9deec893cafdbca
2017-10-06Related: tdf#107569 Remove useless slotsMaxim Monastirsky1-1/+0
With the current implementation of MenuBarManager, there is no need to have sdi slots for menu items with submenus, and moreover they have no effect at all. Note that SID_PICKLIST was also (mis)used as an argument to avoid adding a document to the recent list (which isn't related to its mapping to .uno:PickList). But there seem to be only read attempts, nothing actually sets it, so I think this usage can be removed too. (For information, at least in OOo 1.0.3 sources, there were 2 places where it was used as an argument for SID_SAVEASDOC, although it was not present there in the SID_SAVEASDOC def. in sfx.sdi.) Change-Id: I18b0afe106f858406e13188bbc004ac99a3a0246 Reviewed-on: https://gerrit.libreoffice.org/43184 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2017-10-05Rename and move SAL_U/W to o3tl::toU/WMike Kaganski1-3/+7
Previosly (since commit 9ac98e6e3488e434bf4864ecfb13a121784f640b) it was expected to gradually remove SAL_U/W usage in Windows code by replacing with reinterpret_cast or changing to some bettertypes. But as it's useful to make use of fact that LibreOffice and Windows use compatible representation of strings, this commit puts these functions to a better-suited o3tl, and recommends that the functions be consistently used throughout Windows-specific code to reflect the compatibility and keep the casts safe. Change-Id: I2f7c65606d0e2d0c01a00f08812bb4ab7659c5f6 Reviewed-on: https://gerrit.libreoffice.org/43150 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>