summaryrefslogtreecommitdiff
path: root/dbaccess
AgeCommit message (Collapse)AuthorFilesLines
2012-06-25hrc cleanup: Remove two outdated filesThomas Arnhold1-25/+0
All definitions in SchSlotIds.hxx are unused, so remove it. Change-Id: I78c1266e9b9a0cf1433e6e3cc82a80f1fc4c7c8b
2012-06-21replace all but one .hdl include with equivalent .hpp includes.Michael Meeks3-3/+3
Change-Id: I15e94f112144549692d0c2babeb48c77adcb93a9
2012-06-21hrc cleanup: Remove unused definesThomas Arnhold13-99/+0
All of those defines (should) not be used at any point in the code. False positives may exist, because some macro names are getting generated by some template/macro foo. This is the version which compiled fine for me. Also there are many commented out lines removed. Change-Id: I6394024682e4ab3691eb72707a9363d41ba31df8
2012-06-21Remove unused dbexch.hrcThomas Arnhold4-18/+0
The only part where one definition was used was commented out. All other definitions in the hrc file were unused. Change-Id: I257e61b96271685e9321211846a0021059924abe
2012-06-19typo: paramters, paramaters -> parametersAndras Timar1-1/+1
Change-Id: If58683331c50f2a95204e8e2dea11edbef3ccb63
2012-06-19Revert "Remove License/Credits menu items"Petr Mladek5-0/+10
GPLv3 has to be easily accessible. We should not hide it under too many mouse clicks. This reverts commit f4c567f8d4c46aca75f7c73d67e0bc952b4c2e2d.
2012-06-18Remove License/Credits menu itemsStefan Knorr (astron)5-10/+0
The About dialog now houses these functions. Change-Id: I7f751027564897a063d2910644c69680d471b6d9 Signed-off-by: Fridrich Štrba <fridrich.strba@bluewin.ch>
2012-06-16targeted clean-upNorbert Thiebaud2-5/+57
Change-Id: I57d56ece9fd59a93d5081a394c3fe8d212290198
2012-06-16revert gmk4Norbert Thiebaud1-83/+0
Change-Id: I0c1f0495358bba6889d48d8bc500f880f7d5179c
2012-06-15hrc cleanup: Remove completely unused RIDsThomas Arnhold2-51/+0
These RID definitions aren't used at any other point. So remove them. Unused START and END definitions were commented out for documentation purpose. All definitions in basctl/source/basicide/tbxctl.hrc were unused, so I removed this file. Change-Id: I4713188a12b9da912b2a91b85ea4e54ca1aeb994
2012-06-15Remove dead codeThomas Arnhold1-10/+0
Change-Id: I65fe534a712ddcdd01b1f393a8244f603e891dc8
2012-06-14re-base on ALv2 code.Michael Meeks784-17841/+11520
2012-06-13reduce use of UniString ctor from null-terminated unicodearrayCaolán McNamara5-10/+9
Change-Id: I98361309ada084d8f78517ce88f210d785f59cc0
2012-06-11remove EraseLeadingChars and EraseTrailingCharsCaolán McNamara8-26/+22
Change-Id: Ib9797fe97cd008cc6508ce8cec47dc5373416892
2012-06-11callcatcher: update unused codeCaolán McNamara4-80/+0
Change-Id: Id5f730fc447b11000b266954f9e7f5287bad02f4
2012-06-08remove unused .mkNorbert Thiebaud2-134/+0
Change-Id: I909a659e8ebfae35ca42680a54fa62dbd726adb5
2012-06-09Remove superfluous empty lines on topThomas Arnhold3-7/+0
More than two lines are removed for readability. Change-Id: Ibff6cf68d7c512e240a54065b54a225bb23a782b
2012-06-06-Werror,-Wself-assign (Clang)Stephan Bergmann1-2/+0
Change-Id: I92f1271ad36e4ae1221182a3a446f36cf770e003
2012-06-06fdo#46808, Adapt UNO services to new style, Part 7, updating ::createNoel Grandin3-10/+12
Update code to use factory method URLTransformer::create Change-Id: I3fd2e838497bcfd8fc949615c0e7d60a6ea47118 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>, added some tweaks.
2012-06-06fdo#46808, Adapt UNO services to new style, Part 7, updating ::createNoel Grandin2-7/+9
Update calls to factories to use new SimpleFileAccess::create method Change-Id: Ie5b0696fe2228a9033b19969245a53c21a61aa14 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>, added some tweaks.
2012-06-04bCheck is guaranteed by the for loop conditionLionel Elie Mamane1-5/+4
Change-Id: Ia54eaa5cb1aa8bb4a052cea25396b07f048ff74c
2012-06-04KeySet.cxx: fix boost include; also...Michael Stahl1-1/+2
... BOOST_STATIC_ASSERT_MSG was added in boost 1.46, while the internal boost is still at version 1.44, so use BOOST_STATIC_ASSERT instead. Change-Id: I14f8e48e31956b34a1a907cd2c4e454a5715889b
2012-06-04i#102625 avoid fetching same row twice in different queriesLionel Elie Mamane2-29/+108
We do a "SELECT * FROM table" just to fetch the primary key columns; so reuse the same XResultSet to fetch all columns. Else, we immediately issue a "SELECT * FROM table WHERE primary_key=current_value" to read the other columns, which is wasteful and particularly silly. Commit 1ae17f5b03cc14844fb600ca3573a96deb37ab3b already tried to do that, but was essentially reverted piecewise because it caused fdo#47520, fdo#48345, fdo#50372. Commit c08067d6da94743d53217cbc26cffae00a22dc3a thought it did that, but actually reverted commit 1ae17f5b03cc14844fb600ca3573a96deb37ab3b. This implementation fetches the whole current row and caches it in memory; only one row is cached: when the current row changes, the cache contains the new current row. This could be problematic (wrt to memory consumption) if the current row is big (e.g. with BLOBs) and nobody is interested in the data anyway (as would often be the case with BLOBs). Note that because of our "SELECT *", the driver most probably has it in memory already anyway, so we don't make the situation that much worse. This could be incrementally improved with a heuristic of not preemptively caching binary data (and also not LONGVARCHAR / TEXT / MEMO / ...); a getFOO on these columns would issue a specific "SELECT column FROM table WHERE primary_key=current_value" each time. The *real* complete fix to all these issues would be to not do "SELECT *" at all. Use "SELECT pkey_col1, pkey_col2, ..." when we are only interested in the key columns. As to data, somehow figure out which columns were ar interested in and "SELECT" only these (and maybe only those with "small datatype"?). Interesting columns could be determined by our caller (creator) as an argument to our constructor, or some heuristic (no binary data, no "big" unbound data). Also be extra smart and use *(m_aKeyIter) when getFOO is called on a column included in it (and don't include it in any subsequent SELECT). However, there are several pitfalls. One is buggy drivers that give use column names of columns that we cannot fetch :-| Using "SELECT *" works around that because the driver there *obviously* gives us only fetchable columns in the result. Another one is the very restrictive nature of some database access technologies. Take for example ODBC: - Data can be fetched only *once* (with the SQLGetData interface; bound columns offer a way around that, but that's viable only for constant-length data, not variable-length data). This could be addressed by an intelligent & lazy cache. - Data must be fetched in increasing order of column number (again, this is about SQLGetData). This is a harder issue. The current solution has the nice advantage of completely isolating the rest of LibO from these restrictions. I don't currently see how to cleanly avoid (potentially unnecessarily) caching column 4 if we are asked for column 3 then column 5, just in case we are asked for column 4 later on, unless we issue a specific "SELECT column4" later. But the latter would be quite expensive in terms of app-to-database roudtripe times :-( and thus creates another performance issue. Change-Id: I999b3f8f0b8a215acb390ffefc839235346e8353
2012-06-04Need to refresh row after moving to bookmark!Lionel Elie Mamane1-0/+2
Change-Id: Ia8d12d02829087309e248506a7d3b0f94b5a425e
2012-06-04Cleanup m_xSet in destructorLionel Elie Mamane1-12/+19
Change-Id: I3d7023fcb1857da1ef107a8af0d373b9ca464f03
2012-06-04typos in commentsLionel Elie Mamane1-1/+1
Change-Id: I1dbb1990033602d7909ecdee72b8b699cce44cab
2012-06-04Remove wrong optimisationLionel Elie Mamane1-1/+9
fixup of d4ae29a37873843c20fe7d5f5f071f8fb201fed9 after the call to m_pCacheSet->absolute_checked, the data *is* used, so we cannot anymore exempt m_pCacheSet from giving correct data. Change-Id: I7d3644ca08ce43cb030a80984605a1f8a8a64211
2012-06-02targeted string re-workNorbert Thiebaud1-28/+28
Change-Id: I90c9037b10a288d5d2e36f056c3632c796957fb4
2012-06-02targeted string re-workNorbert Thiebaud16-87/+87
Change-Id: I08114529cc6be6148a4f9ee3c89aafaafada77fe
2012-06-01OKeySet::refreshRow: Invalidate m_xRow/m_xSet when BeforeFirst or AfterLastLionel Elie Mamane1-2/+3
Change-Id: I0f48c099eddc077b2a89e3b7fab66b5da55b57c8
2012-06-01organise & comment code betterLionel Elie Mamane1-2/+8
Continuation of commits to fix fdo#48345 Change-Id: Ie28f6a55cd8715a7180f5d88fe23c5b310440744
2012-06-01dbaccess::OKeySet::wasNull(): OSL_ENSURE we have a m_xRowLionel Elie Mamane1-0/+1
Change-Id: I087d2893d853f431d27c592ba26bdc16e0a9cb84
2012-06-01fdo#47520 use the already retrieved row instead of driver rowLionel Elie Mamane1-2/+1
This avoids asking the driver for the same data twice. This is particularly important for ODBC data sources, because when asking for (VAR)CHAR data the second time, one gets no data (and status SQL_NO_DATA) because of the "retrieve in parts" semantics of these datatypes. Change-Id: I96f2df9927fda72ccf19f78ec5c561f5626c003f
2012-06-01fdo#50372: crash when refresh of last already-known row unexpectedly failsLionel Elie Mamane1-1/+14
Instead, try to do the least unreasonable thing: Fetch a new row If that fails because no new row to fetch, at least we are properly positioned after last row. Calling code may not expect that and get confused, but that is the best we can do. Change-Id: Ib7248e99ae3deee8344e9386cac2c9440e8bccd8
2012-06-01nuke unused namespaceTakeshi Abe1-1/+0
Change-Id: Ic00cdfce4172af0a2f0aa1aa33ef5e386d407976
2012-05-31targetted SAL_N_ELEMENTS reversion.Michael Meeks1-1/+1
Change-Id: I58636bc87bc17ff2b35621ad554bd05f5c1dab20
2012-05-31targetted SAL_N_ELEMENTS reversion.Michael Meeks35-67/+54
Change-Id: I181c5b5dd24836ff0398aa5ed03915c2c7c55183
2012-05-31nuke unused typedefTakeshi Abe1-2/+0
Change-Id: I8848d0e687c3b19be1a8bc1f41c2a0c94e13bbbf
2012-05-29remove unused makefileMatúš Kukan1-301/+0
2012-05-29improve odbc headers handlingMatúš Kukan1-1/+2
2012-05-28Fix typosJulien Nabet1-1/+1
Change-Id: I39d54e3f635be6cb7a42fc9a0f7055619c885950
2012-05-24removed unused member fieldsTakeshi Abe1-2/+0
Change-Id: If89fd07ad78bca303a9bf8484f08cba08afffe8d
2012-05-24convert ResStringArray to rtl::OUStringCaolán McNamara1-1/+1
Change-Id: I51b86a10caa5da6e12583c2b22404b0d9282b13d
2012-05-21removed unused #definesTakeshi Abe1-5/+0
Change-Id: I2aeba0342e46c3a4bd50f49b8a43ebb125269dfa
2012-05-17catch by const referenceTakeshi Abe3-7/+7
Change-Id: I80a26483c4ecd099a1cfe76bdac1e97b947ef104
2012-05-17removed unused const rtl::OUStringTakeshi Abe7-8/+0
Change-Id: I7c3409ac39e690fcf2f7e4085bf6857e6bd182fb
2012-05-17merge the 5 ConstAsciiString duplicate classes togetherCaolán McNamara21-92/+48
a) merge them together and move it into comphelper b) turn it into a POD rather than having vast amounts of destructors registered into the cxa_atexit chain Change-Id: I04d3b9d7804f8e233013c916df9d617a0f84f96a
2012-05-16removed unused constant rtl::OUStringTakeshi Abe3-14/+0
Change-Id: I173275e0f8faa852500d108f65636080f79636c6
2012-05-16remove unneeded include of boost/bind.hppCaolán McNamara1-1/+0
Change-Id: I5a254459a491b9547530d8e312260dceed21f25c
2012-05-15simplify/clarify codeLionel Elie Mamane1-4/+1