Support

Akeeba Solo

#26972 Restore fails on a database view containing a line terminator

Posted in ‘Akeeba Solo (standalone)’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
Akeeba Solo version
n/a

Latest post by on Sunday, 26 February 2017 17:17 CST

[email protected]
ANGIE Restore stops with an error when creating a db view. I have attached a zip file containing:

- The full text the error message
- The original view definition of the view that fails
- The sql file (part2) created by Akeeba containing the problem.

What sticks out to me is that the SQL created to define the view is truncated at the line termination character that the View uses as a groupconcat delimiter.
Notice how the .sql file is missing the second half of the view definition. The empty create procedure statement afterwards also seem suspect.

nicholas
Akeeba Staff
Manager
This is the first time we see that after ten years and million of backups. Unfortunately this is such a rare occurrence that I cannot justify spending the time to find our what is causing it and see if it's something I can fix. If it's a show stopper for you I would rather give you a refund for an unfixable issue per our ToS. Please let me know.

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

[email protected]
There is no need for any discussion about refunds. I am using Akeeba on four systems and (since the 2.0.4 fixes) it works great on 3 of them. It's a good product and you give great support.

I also appreciate that this is an edge case that is probably not worth addressing (although please keep it in the back of your mind).

I should be able work around this by excluding the view. I tried excluding it yesterday and failed (it was still in the backup). It is in a secondary database which has no prefix. Any advice on that?

[email protected]
Just following up on my reply above. I have worked around the problem by changing the offending part of the view from:
GROUP_CONCAT(batch_code SEPARATOR '\n')
to
GROUP_CONCAT(batch_code SEPARATOR '<br>')
Just documenting this for the very unlikely event that someone else hits this issue.

nicholas
Akeeba Staff
Manager
I (re-)tried today the VIEW with the line separator string in its definition. It seems that it doesn't throw off just Akeeba Backup but many other database management tools, too. It looks like when we ask MySQL to return the definition of the view it returns the newline as a single newline character instead of escaped (as you'd reasonably expect it to). All tools I've tried failed to export the VIEW correctly. I have not tried mysqldump or MySQL Workbench yet.

Out of curiosity, which software are you using to export and re-import this VIEW? Or are you NOT exporting the VIEW but working from a definition you've stored in your own SQL files?

Nicholas K. Dionysopoulos

Lead Developer and Director

πŸ‡¬πŸ‡·Greek: native πŸ‡¬πŸ‡§English: excellent πŸ‡«πŸ‡·French: basic β€’ πŸ• My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

System Task
system
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!