[MCOL-882] ColumnStore Tables can't join with InnoDB tables that contain uppercase characters Created: 2017-08-17  Updated: 2023-03-07  Resolved: 2022-11-05

Status: Closed
Project: MariaDB ColumnStore
Component/s: ExeMgr, MDB Plugin
Affects Version/s: 1.0.9, 1.0.10
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Matthew Minix Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Environment:

Centos 7


Issue Links:
Relates
relates to MCOL-1372 Support lower_case_table_names=0 for ... Closed
Epic Link: ColumnStore Compatibility Improvements

 Description   

It's possible I've got something misconfigured, but I've looked and haven't found anything that seems to fit. It's also possible I'm trying to do something that isn't supported, if so I apologize.

When trying to join a ColumSstore table with an InnoDB table that contains an uppercase character the join fails - it looks like it's because it lowercases the table name when trying to do the join. With a setting of

lower_case_table_names = 0
lower_case_file_system = OFF

and these queries

CREATE TABLE IF NOT EXISTS data.example_columnstore_table (
`Blah` VARCHAR(255) NOT NULL
) ENGINE=columnstore;

CREATE TABLE IF NOT EXISTS data.ExampleInnoDBTable (
`Blah` VARCHAR(255) NOT NULL
) ENGINE=INNODB;

INSERT INTO data.ExampleInnoDBTable (`Blah`) VALUES ("1");
INSERT INTO data.example_columnstore_table (`Blah`) VALUES ("1");
SELECT * FROM data.example_columnstore_table JOIN data.ExampleInnoDBTable USING (`Blah`);

it gives an error of "Internal error: fatal error executing query in crossengine client lib(17)(17)"

and in the debug log

Aug 17 10:30:10 db ExeMgr[6710]: 10.193649 |304741|0|0| D 16 CAL0041: Start SQL statement: SELECT * FROM data.example_columnstore_table JOIN data.ExampleInnoDBTable USING (`Blah`); ||
Aug 17 10:30:10 db joblist[6710]: 10.208007 |0|0|0| I 05 CAL0000: QUERY to foreign engine: SELECT Blah FROM exampleinnodbtable
Aug 17 10:30:10 db joblist[6710]: 10.208566 |304741|0|0| C 05 CAL0000: fatal error executing query in crossengine client lib(17)(17)

Joining a lower case InnoDB table and an uppercase InnoDB table does work in this environment



 Comments   
Comment by David Thompson (Inactive) [ 2017-08-18 ]

The default my.cnf we install uses: lower_case_table_names=1

So yes it looks like a bug that if you force exact case names by setting this to 0 then you get this problem. Is there any reason you can't work with the default setting for your case? Of course it's a bug that should be fixed but this helps determine priority ultimately.

Comment by Matthew Minix [ 2017-08-18 ]

Nah, I don't think there's any reason we couldn't have lower_case_table_names=1.

Comment by Todd Stoffel (Inactive) [ 2022-11-05 ]

This item is being closed because it was well passed the expiration date with no activity. If you suspect this was done in error please create a new ticket.

Comment by Richard Stracke [ 2023-03-07 ]

Was fixed in
https://jira.mariadb.org/browse/MCOL-1372

Generated at Thu Feb 08 02:24:31 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.