Commit Graph

220 Commits

Author SHA1 Message Date
9c8fd7d1c5 Clean up sEmpty
Change-Id: If1b2bfe308caa2bce92e73d2c5c86ee273faed93
2015-08-27 08:00:32 +02:00
9c1f700aff improve refcounting loplugin to check SvRef-based classes
Change-Id: I2b3c8eedabeaecd8dcae9fe69c951353a5686883
Reviewed-on: https://gerrit.libreoffice.org/17521
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-05 11:26:04 +00:00
7dc5e8731f com::sun::star->css in dbaccess
Change-Id: I4fbdd3fb7d1e0ad4423148aaaed3a15aebb26d14
2015-08-03 13:38:44 +02:00
38023af6c1 loplugin:unusedmethods
Change-Id: If5090c330e12d6e537766bf4a9be0a2360381a7a
Reviewed-on: https://gerrit.libreoffice.org/17312
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-24 10:36:20 +00:00
e103bf6cfd loplugin:unusedmethods dbaccess
Change-Id: Ifa16acc6d90ebd4f56c5662959010f6228228cb5
Reviewed-on: https://gerrit.libreoffice.org/17209
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-20 11:56:11 +00:00
582dc20778 coverity#1308436 Uncaught exception
Change-Id: Icdcd3deee724eddbed776db4ee4a77fae2dcc2ee
2015-06-27 14:42:21 +01:00
a6d8adc78b coverity#1308434 Uncaught exception
Change-Id: I7014f77a194af6aae43051b680c02c4f2b97b597
2015-06-27 14:42:19 +01:00
8538026000 loplugin:cstylecast: deal with remaining pointer casts
Change-Id: If951c1982314c5a045d51bc4fff62a3e2b265e08
2015-06-08 16:24:31 +02:00
add1351e59 loplugin:staticmethods
Change-Id: Ie6867e04156f40cacee275d5bbf3d63ac4965b30
2015-05-05 09:30:39 +02:00
2b86f17f05 dbaccess: Use appropriate OUString functions on string constants
Change-Id: Iea28ad5e1a469830e002471517197365fd6de3ee
2014-12-15 10:11:27 +01:00
705c48d32e fdo#38835 strip out OUString globals
they are largely unnecessary these days, since our OUString infrastructure
gained optimised handling for static char constants.

Change-Id: I07f73484f82d0582252cb4324d4107c998432c37
2014-11-05 08:44:19 +02:00
a28e7f7aa9 loplugin: cstylecast
Change-Id: Ie478d1fcfd3b64d7a2128887c216b5e0b4501ab9
2014-10-03 15:20:04 +02:00
d54a72a408 dbaccess: std::auto_ptr -> std::unique_ptr
Change-Id: I2b27aaf589fcbe4da1680f624a57be7ae62b0dc5
2014-09-25 08:40:12 +02:00
a762204a5d Typos
Change-Id: Icf850c4b7b146a82a5638a3cd88ad02f3171aff3
2014-09-17 21:15:33 +02:00
b396ae62f7 dbaccess: sal_Bool -> bool
Change-Id: Ifad71823e72be71cbd9f9f58a51f4553ff54e4d4
2014-09-12 16:15:27 +02:00
ec70ac6e94 WaE: -Wunused-variable
Change-Id: Iece721dea1c8cc7601352849ca4fc0398375d320
2014-05-19 20:04:23 +02:00
ca86511a6e dbaccess: remove SAL_INFO's that only make function entry
Change-Id: Ibdf92698446d0a7aed7c474ec7d3ea720cd2c2a6
2014-05-14 10:00:03 +02:00
794f09f195 simplify ternary conditions "xxx ? true : yyy"
Look for code like:
   xxx ? true : yyy;
Which can be simplified to:
   xxx || yyy

Change-Id: Ib7ca86580bfd0cf04674328a3c0cf3747de4758d
2014-05-06 07:45:25 +02:00
fee4efcb54 dbaccess: sal_Bool->bool
Change-Id: Ieb52470f9638b74898954db3890aaf2cf202290a
2014-04-17 11:17:21 +02:00
3194d22a24 connectivity: sal_Bool->bool and fix method name
Convert method name
  getBoleanComparisonPredicate
to
  getBooleanComparisonPredicate

Change-Id: I00c726b1fecd8352dc49f2af98c3ae3c799ef424
2014-04-01 07:38:08 +02:00
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
5b2ba8ed5d DBACCESS : Remove usage of DBG_CTOR and DBG_DTOR.
Valgrind is capable of detecting such bugs. No need for extra macros.

Conflicts:
	dbaccess/source/ui/dlg/tablespage.cxx

Change-Id: I25ea9174a042050efdb371246417ee7f2edae997
Reviewed-on: https://gerrit.libreoffice.org/7532
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-21 16:20:10 +00:00
b55259eeb5 typo fixes
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
2013-12-20 15:55:00 +01:00
2ac31b06ae Unnecessary use of OUString constructor inside OUStringBuffer constructor
Convert code like:
    OUStringBuffer sVal(OUString("0x"));
to:
    OUStringBuffer sVal("0x");

Change-Id: Idc5a3f6a8bf1dc33f93c2b488f866c8ea58d582a
2013-12-17 11:49:05 +02:00
dd0990db74 fdo#72463 RowSet: on execute when not dirty, rebuild cache
Change-Id: I3f27b7572b88cd1200483121614c29d414c37e20
2013-12-12 20:19:06 +01:00
3ef88d370e remove unnecessary use of OUString constructor in DBACCESS module
Change-Id: I831a6506211be30c5b743c20724904c903c5b3c0
2013-11-11 11:21:24 +02:00
a102d822c9 janitorial: more const, comments
Change-Id: I5366840ab67fdf89575e890a0d97602b8e78f71a
2013-10-02 19:02:33 +02:00
34063e35f7 -Werror,-Wunused-variable
Change-Id: I805b898faaae631d047ec82e7139c6d6ccaea3b1
2013-10-02 18:40:14 +02:00
2ec606730b fdo#62475 removed pointless comments
Conflicts:
	dbaccess/source/filter/xml/xmlfilter.cxx
	dbaccess/source/ui/dlg/ConnectionPage.cxx
	dbaccess/source/ui/dlg/detailpages.cxx
	dbaccess/source/ui/dlg/odbcconfig.cxx
	dbaccess/source/ui/querydesign/querycontroller.cxx

Change-Id: I3a05649efa3a43dd8d8fb069fc1bce14ca0a6338
Reviewed-on: https://gerrit.libreoffice.org/5484
Reviewed-by: Petr Mladek <pmladek@suse.cz>
Tested-by: Petr Mladek <pmladek@suse.cz>
2013-08-27 16:11:09 +00:00
61db96daa8 fdo#63690 - replace RTL_CONTEXT_ macros with SAL_INFO
- replaced RTL_CONTEXT_ with SAL_INFO
- replace OSL_* with SAL_*

Change-Id: I26761cf1d4c1cfe21dec7d8ede6df6f177bf2c3e
Reviewed-on: https://gerrit.libreoffice.org/4620
Reviewed-by: Bosdonnat Cedric <cedric.bosdonnat@free.fr>
Tested-by: Bosdonnat Cedric <cedric.bosdonnat@free.fr>
2013-07-03 07:59:33 +00:00
ba0a57702c remove OUString wrap for string literals
For some functions and all kinds of Exceptions.

CannotConvertException
CloseVetoException
DisposedException
EmptyUndoStackException
ErrorCodeIOException
Exception
GridInvalidDataException
GridInvalidModelException
IOException
IllegalAccessException
IllegalArgumentException
IllegalTypeException
IndexOutOfBoundsException
NoMasterException
NoSuchElementException
NoSupportException
PropertyVetoException
RuntimeException
SAXException
ScannerException
StorageWrappedTargetException
UnsupportedFlavorException
VetoException
WrappedTargetException
ZipIOException
throwGenericSQLException
throwIllegallArgumentException

createInstance
createInstanceWithContext
forName
getByName
getPackageManager
getPropertyValue
getUnpackedValueOrDefault
getValueByName
hasPropertyByName
openKey
setName
setPropertyValue
supportsService

bash command:

for i in `cat list`; do git grep "$i\s*(\s*OUString(\s*\"" -- '*.[hc]xx'
	| cut -d ':' -f1 | sort -u
	| xargs sed -i
		-e "s/\(\<$i\s*(\)\s*OUString(\s*\(\"[^\")\\]*\"\)\s*)\s*/\1\2/g"
		-e "s/\($i.*\)\"+ /\1\" + /g";
done

Change-Id: Iaf8e641b0abf28c082906014f87a183517630535
Reviewed-on: https://gerrit.libreoffice.org/4624
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-06-29 21:52:54 +00:00
0987f56912 WaE: unused variable 'insert_result'
Change-Id: I5b0b7eeaa44e3e9e215b8d0bba7e7189c63c766c
2013-04-09 01:49:04 +03:00
6dddefc6e7 fdo#43460: use isEmpty()
Change-Id: Ia768e684d3cf255239c04d024b35488830cc9fe6
2013-03-09 21:47:31 +01:00
8035a3af26 some further OUString cleanup
Change-Id: I13eb94092e29ececc9fbf494074acde5f893b605
2013-03-08 04:51:28 +01:00
a2db9096e2 fdo#61203 initialise m_aComposedTableName *before* trying to use it
Change-Id: Ie7a19bdfe9e7bc729a62191362ce0779d73385a0
2013-02-28 18:07:20 +01:00
cb9e5e786b fdo#51976 make "refetch one row" query easier to optimise
Instead of playing tricks with parameters that when filled in force a part of the WHERE clause to have not influence, actually use several different statements and hardcode in each the kind of test to be done

Change-Id: I93e1978f0420bc627a02291f209c788b9b4f2e96
2013-02-27 07:01:12 +01:00
a4322a23a9 janitorial: save one object
Change-Id: I52b7d8204bb2d34639dea544833318fe86a5ddcf
2013-02-27 07:01:11 +01:00
0c87818750 janitorial
- more const qualifiers
 - remove unnecessary cast
 - don't hardcode magic number
   (length of hardcoded string)

Change-Id: Id8165ec556c913213b5be22c731b78f6b325f22c
2013-02-27 07:01:11 +01:00
1b77302ef9 spelling in comments
Change-Id: I3a7df167a91dd6ef845d16d5e6cf46ff5a82d455
2013-02-27 07:01:11 +01:00
405caad685 loplugin: unused variables
Change-Id: I46a748bf2c54d15c0f5718901197f3b4c34b82bf
2013-02-25 03:14:00 +01:00
2e22005234 fdo#57950: Remove some chained appends and more in dbaccess
- Sanitized some OUStringBuilder, avoiding creating a new one and after
	make some appends
 - Removed some ::rtl prefixes
 - Remove RTL_* macro

Change-Id: Ide3d78f20c68774cd4864b82cb8d29784228d1cd
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/1552
Reviewed-by: Miklos Vajna <vmiklos@suse.cz>
Tested-by: Miklos Vajna <vmiklos@suse.cz>
2013-01-07 09:36:27 +00:00
bd60c90f85 fdo#53281 Don't cache whole row in KeySet
This was done for the sake of ODBC,
but the cost was imposed on all backends.

The ODBC problems are now solved cleanly (and more efficiently)
in the SDBC<->ODBC layer.

Change-Id: Ib8a864da08deaaacc96a379fb72b3b7cbb34598c
2012-12-06 19:38:28 +01:00
91fff62c87 Typo in comment
Change-Id: I63e866d5ad6ae76c8e19d04f3be1476f82966e31
2012-11-26 06:56:58 +01:00
9e716494a8 fix some VS 2010 specific issues
Change-Id: Iae27a96c1e2ed72d2744fcbe100d6ada7dc41c82
Reviewed-on: https://gerrit.libreoffice.org/914
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2012-10-28 18:09:02 +00:00
286a7733ac re-base on ALv2 code. 2012-09-29 15:07:42 +01:00
cdadb1b4fb fdo#53557: use metadata's idea of column count to allocate a row
m_pColumnNames contains only the columns that come straight from a table, not calculated columns

Change-Id: I2706790e8c1447d1c4e144bbdef773deeca3e2e8
2012-08-31 18:18:03 +02:00
1e89c6f3d1 fdo#51239 refresh row lazily (when data is requested)
This avoids fetching data that will not be requested when the "cursor" is only moved and no data requested. That is typically what RowSetCache does when its own cursor is moved within its window.

This basically makes the whole {next,previous,absolute,...}_checked story obsolete, by basically always being as fast as the i_bFetchRow==false case, but in a safer way.

Change-Id: I89eaf277069736b3077bde8b45325929db290f2d
2012-07-17 09:19:45 +02:00
2106d8e648 callcatcher: update unused code
Change-Id: Id5f730fc447b11000b266954f9e7f5287bad02f4
2012-06-11 14:46:45 +01:00
1ca20c89c0 KeySet.cxx: fix boost include; also...
... 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-04 20:07:26 +02:00
e581bef6df i#102625 avoid fetching same row twice in different queries
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-04 19:22:48 +02:00