Created attachment 151815 [details]
Firebird table for importing content from Calc
Download the two attachments: One with a Firebird database, another with a Calc table.
Copy the content of the table and try to import it to the table, which already exists in Firebird. The fields will have the right order, the first row will have the field names.
An error appears: "Incorrect type for setString".
All fields with different commands for setting a boolean-field will be filled as TRUE, only the empty field will be set as NULL.
It will be impossible to set a boolean field FALSE through the import from Calc.
All is tested with LO 18.104.22.168 on OpenSUSE 15 64bit rpm Linux.
Created attachment 151816 [details]
Calc-table as content for the Firebird table
Created attachment 151817 [details]
bt with debug symbols (gtk3)
On pc Debian x86-64 with master sources updated today, I could reproduce this.
I attached a bt corresponding to the one which generates the dialog box.
Gdb debugging shows the pb is in dbaccess/source/ui/misc/DExport.cxx, function ODatabaseExport::insertValueIntoColumn(), DataType::BOOLEAN isn't taken into account.
So we got this:
#0 0x00007fffd3482bfb in connectivity::firebird::OPreparedStatement::setDouble(int, double) (this=0x55555df5ee30, nIndex=2, nValue=0)
#1 0x00007fffd11210db in dbaui::OParameterUpdateHelper::updateDouble(int, double const&) (this=0x55555defaea0, _nPos=2, _nValue=@0x7ffffffefdc0: 0)
#2 0x00007fffd111cd2e in dbaui::ODatabaseExport::insertValueIntoColumn() (this=0x55555df25ca0) at /home/julien/lo/libreoffice/dbaccess/source/ui/misc/DExport.cxx:380
#3 0x00007fffd11372fa in dbaui::OHTMLReader::NextToken(HtmlTokenId) (this=0x55555df25bc0, nToken=HtmlTokenId::TABLEDATA_OFF) at /home/julien/lo/libreoffice/dbaccess/source/ui/misc/HtmlReader.cxx:194
Should we add "updateBoolean" in IUpdateHelper.hxx https://opengrok.libreoffice.org/xref/core/dbaccess/source/ui/inc/IUpdateHelper.hxx?r=f3d9aab8 and implement it UpdateHelperImpl.hxx?
UpdateHelperImpl.hxx seems only used by DExport.hxx but since updateBoolean seems present in each DB driver (when using git grep -n updateBoolean in connectivity part), thought it could help.
I gave it a try but it seems offapi/com/sun/star/sdbc/XParameters.idl should be changed too to add a setBoolean method.
Also, perhaps all "updateBoolean" methods hould be changed to take a "bool" var instead of sal_Bool.
Robert: on pc Debian x86-64 with master sources updated today or with LO Debian package 22.214.171.124, I don't reproduce this anymore.
Could you give a new try?
(In reply to Julien Nabet from comment #6)
> Robert: on pc Debian x86-64 with master sources updated today or with LO
> Debian package 126.96.36.199, I don't reproduce this anymore.
> Could you give a new try?
You are right. Tested it with LO 188.8.131.52 on OpenSUSE 15.2 64bit rpm Linux. Works now as expected. I will close this one as WORKSFORME.