I am attempting to migrate an existing ODB database with a space in a table name to Firebird with the new migration assistant in LO 126.96.36.199. After selecting "Yes" to convert the database to Firebird I get an error message that states: "SQL Status: map::at: key not found"
If I remove the space from the table name in HSQLDB before conversion, the conversion completes without the error message.
Steps to Reproduce:
1.Open HSQLDB in Base and click Yes to convert to Firebird
2.Error message appears, conversion fails.
3.Open HSQLDB without conversion, remove space from table name, then attempt to convert to Firebird.
4.Conversion completes without error.
conversion does not complete
conversion should complete
User Profile Reset: No
Created attachment 149165 [details]
error message screenshot
On pc Debian x86-64 with master sources updated yesterday, I don't reproduce this.
Could you attach an example file?
Created attachment 149166 [details]
hsqldb test file
Created attachment 149167 [details]
hsqldb test file, without space in table name
I've attached two test databases, one with a space in the table name and one without. The one without the space converts as expected. The one with the space shows the error message in the screenshot above.
Thank you for your feedback, I could reproduce this.
Tamas: debugging a bit on gdb shows the pb is in utils::getTableNameFromStmt
This method is called from CREATE TABLE and ALTER TABLE statements.
We can't do like in https://cgit.freedesktop.org/libreoffice/core/commit/?id=2a08db9a0473e2f87715aacfc7b481beaa490dcf since we got:
ALTER TABLE \"Plant Database\" ALTER COLUMN \"ID\" RESTART WITH 1497
With no space in table, perhaps we would have had this:
ALTER TABLE Plant_Database ALTER COLUMN \"ID\" RESTART WITH 1497
So can't test the presence of ".
In brief, it shows we need to use a real sql parser here because for the moment we're using only bandaid fixes. Of course, it's more easy to tell than to do I suppose, if not, it should have already be implemented.
To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.
There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.
If you have time, please do the following:
Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/
If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.
Please DO NOT
Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not
appropriate in this case)
If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/
2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword
Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa
Thank you for helping us make LibreOffice even better for everyone!
To test I downloaded "hsqldb test file" and followed the Steps to Reproduce. I can confirm the error messgae did not appear in LO version 188.8.131.52 which is the version I have installed.
Per your request I'll mark as RESOLVED-WORKSFORME. Thanks for following up on this.