[MCOL-573] CS does not support reserved words as column names Created: 2017-02-16  Updated: 2018-05-31  Resolved: 2018-02-13

Status: Closed
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: None
Fix Version/s: 1.2.0

Type: Bug Priority: Major
Reporter: Justin Swanhart (Inactive) Assignee: Daniel Lee (Inactive)
Resolution: Fixed Votes: 1
Labels: None

Issue Links:
Duplicate
duplicates MCOL-950 Can't use key words as field or table... Closed
is duplicated by MCOL-1006 "Action" (and maybe other reserved wo... Closed
is duplicated by MCOL-1022 Reserved keywords can't create table Closed
PartOf
is part of MCOL-1384 Couldn't use reserved words in idents... Closed
Relates
relates to MCOL-161 CREATE TABLE does not report what col... Closed
relates to MCOL-569 CS does not support reserved words as... Closed
Epic Link: ColumnStore Compatibility Improvements
Sprint: 2018-03, 2018-04

 Description   

create table kvstore(
`key` varchar(1024),
`value` varchar(1024)
) engine=columnstore;
ERROR 1178 (42000): The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.

The whole point of having backticks is so that reserved words can be used. This is very broken! Modifying an application to change column names (or table names) is not trivial.

Also, the error message is completely wrong and misleading. I have complex tables with many columns and I ended up doing a binary search to figure out which column was affected. These error messages should be much more helpful, not to mention they should be grammatically correct.



 Comments   
Comment by Roman [ 2018-01-17 ]

Greetings,

Here is a first version of the patch that supports quotation for table and column identifiers. And here is a tiny DDL/DML test results.
I am improving it including ANSI_QUOTES sql mode quotation support sending flag into the flex code section.

Comment by Roman [ 2018-01-24 ]

Here is a PR for the feature.

Comment by Daniel Lee (Inactive) [ 2018-02-13 ]

Build verified: Github source 1.2.0-1

/root/columnstore/mariadb-columnstore-server
commit 960853c58bcfd0b92a48fca6f823e0b43fce17a8
Author: david hill <david.hill@mariadb.com>
Date: Mon Nov 20 20:42:55 2017 -0600

Update README.md

diff --git a/README.md b/README.md
index 1e4a6c6..5d12495 100644
— a/README.md
+++ b/README.md
@@ -273,7 +273,7 @@ apt-get install expect perl openssl file sudo libdbi-perl libboost-all-dev libre
These packages need to be installed:

```bash
-apt-get install expect perl openssl file sudo libdbi-perl libboost-all-dev libreadline-dev rsync net-tools libsnappy1v5
+apt-get install expect perl openssl file sudo libdbi-perl libboost-all-dev libreadline-dev rsync net-tools libsnappy1v5 libreadline5
```

    1. For SUSE 12

/root/columnstore/mariadb-columnstore-server/mariadb-columnstore-engine
commit ad2f469811d9bfc989174da13343e72ee2599af2
Merge: 070fc37 7c0086c
Author: Andrew Hutchings <andrew@linuxjedi.co.uk>
Date: Wed Feb 7 10:24:23 2018 +0200

Merge pull request #399 from drrtuy/MCOL-876

MCOL-876. CS now supports RENAME TABLE sql statement.

Verified DDL, DML, query and cpimport

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