[MCOL-812] Cross engine join and a filter where the string contains a quote character Created: 2017-07-10 Updated: 2017-08-03 Resolved: 2017-08-03 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | ExeMgr |
| Affects Version/s: | 1.0.9 |
| Fix Version/s: | 1.0.11, 1.1.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Playax | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 2 |
| Labels: | None | ||
| Sprint: | 2017-15 |
| Description |
|
We found a bug when you have a query with cross engine join and a filter where the string contains a quote character:
The server returns: Internal error: fatal error executing query in crossengine client lib(17)(17) The same happens with backslash char:
|
| Comments |
| Comment by David Thompson (Inactive) [ 2017-07-12 ] | |||||||||||||||
|
try doing: i.e using double quotes around the string and having 2 single quotes inside. This works for the test case i have. However it should support the given example format based on: https://mariadb.com/kb/en/mariadb/string-literals/ | |||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2017-07-27 ] | |||||||||||||||
|
Pull requests for 1.0 and 1.1 as well as regression suites. Should be merged after 1.0.10 is tagged. For QA, test case in regression suite:
Before fix this will error. After fix it will return a row. | |||||||||||||||
| Comment by Daniel Lee (Inactive) [ 2017-08-03 ] | |||||||||||||||
|
Build tested: Github source 1.0.10 and 1.1.0 1.0.10 commit 12d98d5a4e941c333ba355fa4c269bb217e41768 1.1.0 commit 97284ea4ba429726fe9e3573590464b420501a89 commit 630b113565a624c5a73438d51f2d3422ff7f2e92 The test case in the ticket worked. I added a test for the '\' and it return an internal error: 1.0.10: MariaDB [test]> select * from test.mcol812b join test.mcol812a on test.mcol812b.a = test.mcol812a.a where test.mcol812a.b=' 1.1.0 MariaDB [test]> select * from test.mcol812b join test.mcol812a on test.mcol812b.a = test.mcol812a.a where test.mcol812a.b=' | |||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2017-08-03 ] | |||||||||||||||
|
Accidentally missed off a fix for the double slash in my first patch. | |||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2017-08-03 ] | |||||||||||||||
|
New pull requests for 1.0, 1.1 and regression suite. Covers the double slash escape. | |||||||||||||||
| Comment by Daniel Lee (Inactive) [ 2017-08-03 ] | |||||||||||||||
|
Builds verified: Github source 1.0.10, 1.1.0 1.0.10 [root@localhost mariadb-columnstore-server]# git show [root@localhost mariadb-columnstore-engine]# git show 1.1.0 [root@localhost ~]# cd columnstore/mariadb-columnstore-server/ [root@localhost mariadb-columnstore-server]# cd mariadb-columnstore-engine/ MariaDB [test]> CREATE TABLE test.mcol812a ( MariaDB [test]> CREATE TABLE test.mcol812b ( MariaDB [test]> MariaDB [test]> insert into test.mcol812a values (1, ' MariaDB [test]> insert into test.mcol812b values (1); MariaDB [test]>
-----
----- MariaDB [test]> select * from test.mcol812b join test.mcol812a on test.mcol812b.a = test.mcol812a.a where test.mcol812a.b='
-----
----- MariaDB [test]> MariaDB [test]> DROP TABLE test.mcol812b; |