[MDEV-9949] Connect Engine: long SRCDEF leads to broken table Created: 2016-04-19 Updated: 2020-05-12 Resolved: 2016-05-05 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Connect |
| Affects Version/s: | 10.1.13, 10.0, 10.1, 10.2 |
| Fix Version/s: | 10.1.14 |
| Type: | Bug | Priority: | Major |
| Reporter: | Sergey Antonyuk | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux |
||
| Attachments: |
|
| Sprint: | 10.1.14 |
| Description |
|
I've found a problem with connect engine using SRCDEF notation when creating a table. The problem is a broken table created when SRCDEF parameter contains an sql query more than 32 kb long. For example, sql query with long list of ids in "where x IN ( ... )" conditional statement. The following error appears on create table: "Engine CONNECT failed to discover table `db`.`connect_1` with 'CREATE TABLE whatever .... skip The table can't be dropped due to the error: "Incorrect information in file './db/connect_1.frm'". The desired behaviour is to get the ability to use long queries in SRCDEF parameter with the length limited by some configuration parameter. |
| Comments |
| Comment by Elena Stepanova [ 2016-04-20 ] | |||||||||||||||
|
I suppose it will still be limited by the size of .frm file, but it should be more than 32K. | |||||||||||||||
| Comment by Elena Stepanova [ 2016-04-20 ] | |||||||||||||||
|
As an additional note – after the problem happens, an attempt to DROP the problematic table causes assertion failure on a debug build:
For the convenience, I've attached the SQL file which helps to reproduce the initial problem. The second attempt to run it causes the assertion failure as above. | |||||||||||||||
| Comment by Olivier Bertrand [ 2016-04-20 ] | |||||||||||||||
|
Thanks Elena for the attached SQL file. By the way, I also experienced the assertion failure at:
Once more I denounce that infamous ASSERT that should definitely be removed from MariaDB. |