[MCOL-800] INSERT...SELECT in a prepared statement falls back to vtable disable Created: 2017-07-03 Updated: 2020-08-25 Resolved: 2017-07-26 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | MariaDB Server |
| Affects Version/s: | 1.0.9, 1.1.0 |
| Fix Version/s: | Icebox |
| Type: | Bug | Priority: | Major |
| Reporter: | Andrew Hutchings (Inactive) | Assignee: | Andrew Hutchings (Inactive) |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Sprint: | 2017-14, 2017-15 |
| Description |
|
For the prepared statement section of vtable sql_parse we check for SQLCOM_SELECT but not SQLCOM_INSERT_SELECT. This means that prepared statements with INSERT...SELECT fall through to disable vtable. Test:
|
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2017-07-11 ] |
|
Pull request for 1.0 and 1.1 open. For QA: |
| Comment by Daniel Lee (Inactive) [ 2017-07-14 ] |
|
Build tested: Github source for 1.0.10 and 1.1.0 1.0.10-1 [root@localhost mariadb-columnstore-server]# git show [root@localhost mariadb-columnstore-engine]# git show 1.1.0-1 [root@localhost mariadb-columnstore-server]# git show [root@localhost mariadb-columnstore-engine]# git show Test performed: 1. create orders and orders1 tables set @psql="insert into orders1 select * from orders"; insert_select timing for 10gb ORDERS table 1.0.9-1 88.34 sec The timings were virtually the same among all three releases. I disabled infinidb_use_import_for_batchinsert and the same test took 444.63 seconds, about 5 times longer. |
| Comment by Andrew Hutchings (Inactive) [ 2017-07-17 ] |
|
It turns out this is a non-issue but the code doesn't hurt being there as it will stop the parser re-entry. |
| Comment by Andrew Hutchings (Inactive) [ 2017-07-26 ] |
|
Closing this due to previous comment. |