The passed m_aCurrentRow becomes out-of-date as soon as the current row changes.
This also hides an implementation detail of ORowSet to ORowSet(Data)Column.
Change-Id: Ib9188743e5dd6dec240e9f5fd3fd9655c6761abc
Reviewed-on: https://gerrit.libreoffice.org/10792
Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
Tested-by: Lionel Elie Mamane <lionel@mamane.lu>
Used by two different callers that wanted different things.
Also, freeResources now always positions on BeforeFirst.
It is only called with _bComplete==false by execute()-related code.
Change-Id: I3e34f77ce37c239d8d3d6a8cd7514b125b049de6
A simplified version of the semantic match that finds this problem is
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@r1@
statement S;
position p,p1;
@@
S@p1;@p
@script:python r2@
p << r1.p;
p1 << r1.p1;
@@
if p[0].line != p1[0].line_end:
cocci.include_match(False)
@@
position r1.p;
@@
-;@p
// </smpl>
Change-Id: Ib9708d37fbb4c6060f88d5dae3814a2d37b2091e
Reviewed-on: https://gerrit.libreoffice.org/9493
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
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>
1) Do not dispose m_xComposer, might still be used by our m_pCache
2) Do not create a new m_xComposer if the previous one will do, so
that we do not gratiously use a different one than our m_pCache.
Change-Id: I6540c035c9159017c694b36e676721ec3e42db51
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.
Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).
Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
.. to Reference<XComponentContext>
mostly in the dbaccess module, but it also affected some other
modules.
Change-Id: I09b3f6fe7a9b33498b11d98b5521b5aeeb8882be
::rtl::OUString was replaced to OUString and all occurences of String was replaced to OUString in dbaccess/source/core/api
Change-Id: I9771708408e04dcebe18f49a75c83036740f0ca2
Reviewed-on: https://gerrit.libreoffice.org/2239
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Also switch BOOLEAN constructor from sal_Bool to bool.
old/new signed/unsigned storage situation:
-------------------------------------------------------
SQL type | signed | unsigned old | unsigned new
-------------------------------------------------------
TINYINT | sal_Int8 | sal_Int16 | sal_uInt8
SMALLINT | sal_Int16 | sal_Int32 | sal_uInt16
INTEGER | sal_Int32 | sal_Int64 | sal_uInt32
BIGINT | sal_Int64 | pValue (String*) | sal_uInt64
-------------------------------------------------------
When sticking an UNSIGNED TINYINT into an Any,
silently promote it to UNSIGNED SMALLINT (that is sal_uInt16),
else Any would take it as a sal_Bool and normalise to
sal_True (1) or sal_False (0).
When constructing an ORowSetValue from a sal_Bool,
silently keep it as an unsigned 8 bit integer
(that is understand it as a sal_uInt8).
This will work in most cases,
since when asked back for a bool or sal_Bool,
we'll give back the right value.
Only code looking at the type tag could possibly
make a "wrong" decision.
The main (hopefully only?) path
through which this would happen is
through an implementation of
XParameters::setBoolean
XRowUpdate::updateBoolean
that would use its sal_Bool argument
to construct an ORowSetValue.
So make sure each implementation
constructs a proper BOOLEAN so as not to get confused.
For authorship/copyright purposes, this patch is a cooperation between
Lionel Elie Mamane <lionel@mamane.lu>
and
David Ostrovsky <david@ostrovsky.org>
Change-Id: I3f1f08716127147f077bff4edb6ec558b1b09e09
* Made XDatabaseContext inherit XDatabaseRegistrations non-optionally, adapted
call-sites to just use XDatabaseContext w/o querying. (The previous commit
had inadvertantly effectively removed support for XDatabaseRegistrations from
the ODatabaseContext implementation, as an optional UNO super-interface does
not lead to a super-class in the corresponding C++ class hierarchy, but making
the super-interface non-optional fixes that anyway.)
* Adapted some more call-sites to just use XDatabaseContext w/o querying.
* Added @since tag.
* Replaced new uses of comphelper::ComponentContext::getUNOContext with
comphelper::getComponentContext (see 03a9f139bd
"ComponentContext::getUnoContext -> getComponentContext simplification;" I
intend to get rid of comphelper/componentcontext.hxx much sooner than of
comphelper/processfactory.hxx).
Change-Id: I68d09f2dbe651629f79ed21cd40cdb6d6b32c624