/shell/source/win32/

option> LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/firebird/ResultSet.cxx
AgeCommit message (Collapse)Author
2024-07-21tdf#156530: fix OPreparedStatement::setStringMike Kaganski
The problem was, that the function only considered the target XSQLVAR's sqltype, ignoring sqlsubtype. This led to a situation when assignment to NUMERIC or DECIMAL was treated as assignment to an underlying type, like SQL_LONG, performed without taking scale into account. Use ColumnTypeInfo and its getSdbcType, which provides the correct type, and add missing cases to setString. Fix setObjectWithInfo to make sure that the resulting number is correct. This also fixes export of NUMERIC/DECIMAL in HSQL migration. Previously it miscalculated the position of decimal separator, which accidentally went unnoticed in the existing unit test, because it was compensated by broken handling in Firebird SDBC for the specific numbers in the test. OResultSet::makeNumericString was also fixed; it didn't handle properly the case of zero fractional part: initial number 1200 with scale 2 was converted to a string "12.000" instead of expected "12.00". Change-Id: I5adac59737d21f91c782fe867d4827fb880fd62a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170812 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-05-07loplugin:ostr in connectivityNoel Grandin
Change-Id: Ice633719b05240ab5a052b62ca4eafe89f97e12f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167238 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-05use [[noreturn]] for these throw helpersCaolán McNamara
Change-Id: Ia50d6f2be91e830201689cc428e55203eeb41eb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167035 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2022-04-13Update remaining DevGuide wiki links.Ilmari Lauhakangas
My Kate editor decided to do some whitespace cleanup, but maybe it's fine as the main changes are not targeting functional bits anyway. Change-Id: I5292e77e43055f94a6256a7f72d49fd59287d194 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132928 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-11-23remove ORowSetValue implicit conversion methodsNoel Grandin
in favour of the existing get*() methods. The get*() methods 0 or false or empty in the case of "null", which is exactly the same behaviour as the conversion methods. These implicit conversion methods cause lookup problems when combined with some upcoming OUString changes. And the code looks cleaner this way too, and has less magic when calling methods. Change-Id: Ieb4756bf693e83b996a32667fc1b955f89193496 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125690 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-10Clarify that css::sdbc::XClob::getSubString takes 1-based posMike Kaganski
... and fix connectivity::firebird::Clob::getSubString. XClob::getSubString is modelled after JDBC counterpart, that also takes 1-based position argument. This is also described in multiple places in our code: - OPreparedStatement::setClob in connectivity/source/drivers/firebird/PreparedStatement.cxx - OSingleSelectQueryComposer::setConditionByColumn in dbaccess/source/core/api/SingleSelectQueryComposer.cxx - ORowSetValue::getString in connectivity/source/commontools/FValue.cxx However in some places 0-based value was used (fixed here). To clarify, the mention that the pos argument is 1-based is put to the corresponding IDL file. Also the code in connectivity::firebird::Clob::getSubString had multiple issues: - no checks of arguments; - possibility to throw "nPosition out of range" when just-read segment has enough data; - wrong start position in case when nPosition is not aligned to segment boundary. This change fixes these, and simplifies the implementation. Change-Id: I119a62dd7f02c9569ce36395ed8cc1a98c931fcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121884 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-09-02tdf#144230: sanitize string length embedded in SQL_VARYING dataMike Kaganski
It is unclear why the length may be wrong; but at least be safe to avoid buffer overruns. Wrt the validity of sqllen here: see SQLDAMetadata::scatterData in firebird's src/yvalve/why.cpp. Change-Id: Icc24c1cc0db66c20732188ab0621cde53c1ba5c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121458 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-06-10update firebird modelinesCaolán McNamara
with solenv/bin/add-modelines -p connectivity/source/drivers/firebird because a bunch are missing the trailing ones Change-Id: I168c22586744cd666e6c18a569e143b6caccd421 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116963 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-02throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewriteStephan Bergmann
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-01-29loplugin:stringviewparam extend to new..Noel
O[U]StringBuffer methods Change-Id: I0ffbc33d54ae7c98b5652434f3370ee4f819f6f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110090 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-18Related tdf#121886: Firebird Datatype Image(BLOB) is not working properlyJulien Nabet
xBlob->length() returns sal_Int64 not sal_Int32 so deal with it in: - OResultSet::getBytes - ODatabaseMetaData::getColumns and warn if blob is more than SAL_MAX_INT32 also rename xDescriptionBlob into xBlob Change-Id: Ib79930c4c8fb00b1682c9a9530a3dee9b040e7ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106029 Tested-by: Jenkins Reviewed-by: Lionel Mamane <lionel@mamane.lu>
2020-11-16tdf#121886: Firebird Datatype Image(BLOB) is not working properlyJulien Nabet
with Form or Report image controls. Implements getBytes at least when LONGVARBINARY corresponds to a BLOB Change-Id: I7e4e99b537333558d5c3dcd172dc54e73472553b Change-Id: I86c20310235fb4902633fab058066a1f2d62a600 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105899 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-01-14tdf#42949 Fix IWYU warnings in connectivity/*/*cxxGabor Kelemen
Except for platform specific drivers/ado and drivers/macab dirs Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I24b741cded8995e29ac3d518aeaa0d60b3c55b56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86317 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-16tdf#42949 Fix IWYU warnings in connectivity/*/*hxxGabor Kelemen
Except for non Linux specific parts: connectivity/source/drivers/macab/ connectivity/source/inc/ado/ Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Iba6d0cd0effdac777be6fbc8f12f2e92cae47887 Reviewed-on: https://gerrit.libreoffice.org/84174 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): connectivityStephan Bergmann
Change-Id: I80dab66757b1f541d448a642a5ecddc876f55c7b Reviewed-on: https://gerrit.libreoffice.org/76689 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-18loplugin:passstuffbyrefNoel Grandin
Change-Id: Icb7c22cf4ac95eab54d04e79312fb471ca27bceb Reviewed-on: https://gerrit.libreoffice.org/74246 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-24loplugin:constparams in connectivity..cuiNoel Grandin
Change-Id: Ia2ae97498a9aad8638c4b77ce20143eeec616751 Reviewed-on: https://gerrit.libreoffice.org/66792 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-06loplugin:simplifyconstruct in canvas..cuiNoel Grandin
Change-Id: I02eba1df117a9d0df42bcac13c3251cb4fa6da14 Reviewed-on: https://gerrit.libreoffice.org/60074 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-16Add missing sal/log.hxx headersGabor Kelemen
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes. This commit adds missing headers to every file found by: grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG') to directories from connectivity to cui Change-Id: I9903c10d0a04bbeb93d0f776d1d252b152459499 Reviewed-on: https://gerrit.libreoffice.org/57408 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-02-01connectivity: remove dead codeChris Sherlock
Change-Id: Ia968179d90978dc6c737effce5447efda60c1f66 Reviewed-on: https://gerrit.libreoffice.org/47490 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-01-02tdf#71007: Pass also fractional seconds to/from FirebirdTor Lillqvist
We know that ISC_TIME is simply in units of seconds/ISC_TIME_SECONDS_PRECISION. Change-Id: I2896f53c2d32a773c535e19f55dd1314abd18ec9 Reviewed-on: https://gerrit.libreoffice.org/47266 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-12-28tdf#104734 Firebird improve XClob implementationTamas Bunth
Create a more effective implementation of XClob::length() and XClob::getSubString() methods, where string is read segment-by-segment instead of reading the whole underlying blob. That way it is possible to handle big texts which would not fit into memory. Also allow reading Clob data from a resultset with getString() and writing it in a prepared statement with setString(). Implement XPreparedStatement::setClob(). Also implement a private version of setClob() for creating a clob from OUString: Allow the creation of a clob column with GUI by adding a new type in ODataBaseMetaData::getTypeInfo(). Change-Id: Ibcbbdd80e8eed5e2a3fe55b0fa196401f1bcbcdf Reviewed-on: https://gerrit.libreoffice.org/47093 Reviewed-by: Tamás Bunth <btomi96@gmail.com> Tested-by: Tamás Bunth <btomi96@gmail.com>
2017-12-05loplugin:salcall fix non-virtual methodsNoel Grandin
first, since those are safer to change than virtual methods Change-Id: Ie3b624019d75ee2b793cee33b3c5f64e994e8bfe Reviewed-on: https://gerrit.libreoffice.org/45798 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-21loplugin:flatten in connectivity..desktopNoel Grandin
Change-Id: Iff59d3049ba40b4338ef8eec67d08a96b0834d2b Reviewed-on: https://gerrit.libreoffice.org/42578 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-04loplugin:unnecessaryparen in connectivityNoel Grandin
Change-Id: Iee4b0caa2eb7ad6d335f55adc19e7ed78b34335c
2017-08-17remove UL/L suffixes from integer constants on the RHS of expressionsNoel Grandin
Change-Id: I899a8126c9d971601fea6c77eca165718aea0ac5 Reviewed-on: https://gerrit.libreoffice.org/41237 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-02loplugin:casttovoid: connectivityStephan Bergmann
Change-Id: I03127890499dac67816bb43a8c3fb9dd87eefcab
2017-01-30tdf#105101 check scale to determine subtypeTamás Bunth
For computed decimal/numeric values firebird's subtype remains 0. In this case we check for the scale of column. If it is not 0 (negative), than imply numeric. Change-Id: Ie5a023d165852fe402b3b4cac817b0bbef58e7cd Reviewed-on: https://gerrit.libreoffice.org/33660 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Tamás Bunth <btomi96@gmail.com>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-14tdf#70433 tdf#104734 implement sdbc XClobTamás Bunth
And use it in getClob, so LO can display clob values like the return value of the built-in List function. Change-Id: I395016e945dbeb2c6bb3737b6345d40ff9f48089 Reviewed-on: https://gerrit.libreoffice.org/32938 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com>
2016-12-12Prevent use of ORowSetValue with sal_Bool as TINYINTStephan Bergmann
sal_Bool and sal_uInt8 are typedefs for the same underlying type, so any use of ORowSetValue with sal_Bool instead of bool, apparently intending to treat the value as a boolean, actually treated it as a TINYINT. (See e.g. recent 7b0c57b2faec875c790051d233d1e9abaed2a3bc "some compilers don't like implicit bool-to-ORowSetValue conversion".) Now that there's no way to create a sal_uInt8 ORowSetValue, getUInt8 and the m_uInt8 union member can probably go away, too. Change-Id: Ia27554f76e7e9edce6410284b578064573e54fd3 Reviewed-on: https://gerrit.libreoffice.org/31909 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-12-12some compilers don't like implicit bool-to-ORowSetValue conversionLionel Elie Mamane
Change-Id: Ic4463db8aeca6ae9a86f7b890f95eb73724c6a1b
2016-12-11tdf#103074 Implement Boolean Type for FB driverWastack
Change-Id: Ibed5435e23730dc901155e79152e9becd3e70566 Reviewed-on: https://gerrit.libreoffice.org/31262 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2016-12-04tdf#104227: fix subtypes DECIMAL/NUMERIC in resultsetJulien Nabet
bt here: https://bug-attachments.documentfoundation.org/attachment.cgi?id=129298 See also https://bugs.documentfoundation.org/show_bug.cgi?id=104227#c13 for more details Change-Id: Ied497cfff2f71e67161d541b90fe48bb3e2456b9 Reviewed-on: https://gerrit.libreoffice.org/31593 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2016-11-29Rewrite some (trivial) assignments inside if/while conditions: connectivityStephan Bergmann
Change-Id: I67d4bb92db04b5103b98a2855ae6069a054f171b
2016-11-21get table name from resultset simplyWastack
There is a much simpler way to access table name in ResultSetMetadata in Firebird sdbc which I didn't notice before. Change-Id: Ib306c04acf38ec86475d8d1a22a67012fe48539e Reviewed-on: https://gerrit.libreoffice.org/30931 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Lionel Elie Mamane <lionel@mamane.lu>
2016-11-10loplugin:cstylecastStephan Bergmann
Change-Id: I6ec274c6c546f60c23fe639002d751f0a9f11d33
2016-11-10WiP tdf#74172 use DECIMAL and NUMERIC data typesWastack
Change-Id: I917cdf6e8d3ebfa7c9e4a52ca61adc5b8707ecfc Reviewed-on: https://gerrit.libreoffice.org/30447 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2016-10-14tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctornadith
Change-Id: I4abcff5e1bf050bd4e4cf0695f196c418d8229ef Reviewed-on: https://gerrit.libreoffice.org/29778 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-08-18tdf#69949 GSoC Firebird implement autoincrementWastack
Change-Id: I6fe08b575f01b986f0a3c96b341f254279427b68 Reviewed-on: https://gerrit.libreoffice.org/28062 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-11tdf#91324 GSoC adapt struct tm correctly for dateWastack
Change-Id: Id0413d735eeeb506b6e706c5d31e7bf989ab5e41 Reviewed-on: https://gerrit.libreoffice.org/27592 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2016-07-15tdf#91324 GSoC adapt struct tm correctlyWastack
Change-Id: I645ebe888186e550b95dd072e063260bc69aa178 Reviewed-on: https://gerrit.libreoffice.org/27120 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Lionel Elie Mamane <lionel@mamane.lu>
2016-05-30com::sun::star->css in connectivityNoel Grandin
Change-Id: I9489e92dc89a6d83a26ff4f0d9aad26acd28ad9f Reviewed-on: https://gerrit.libreoffice.org/25537 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-20loplugin:salbool: Automatic rewrite of sal_False/TrueStephan Bergmann
Change-Id: I6fada7331ee369c35cbe019db4e730ce56cd1a1f
2016-02-25convert StandardSQLState to scoped enumNoel Grandin
Change-Id: Ia0a1526140cfed35a73a6fea1a173d2fb5005960
2016-02-09Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Iefeeb51c2b101c097a8d77a4625f84baf1f2da44
2015-04-13loplugin:redundantcast: redundant const_cast followed by implicit upcastStephan Bergmann
Change-Id: I58297ba336d96358eb0683684bbd763870ef56cb
2015-04-01Replace remaining getCppuType et al with cppu::UnoTypeStephan Bergmann
Change-Id: Id2361bd7b50f4724211661b024583b8a3445500b
2015-03-29Clean up template-parameter-dependent C-style castsStephan Bergmann
Change-Id: Ia1ab134a0afbeeb3ae40264bd4233a47df26b734