1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-07 03:22:57 +03:00

add partial support for unsupported query syntax

This commit is contained in:
mariadb-KristinaPavlova
2025-06-27 13:09:45 +03:00
committed by Leonid Fedorov
parent dd3ce850b7
commit a29ac85c7c

View File

@@ -2199,25 +2199,37 @@ int ProcessDDLStatement(string& ddlStatement, string& schema, const string& /*ta
//@Bug 3602. Error message for MySql syntax for autoincrement //@Bug 3602. Error message for MySql syntax for autoincrement
algorithm::to_upper(ddlStatement); algorithm::to_upper(ddlStatement);
std::string errMsg = "The syntax "
if (ddlStatement.find("AUTO_INCREMENT") != string::npos) if (ddlStatement.find("AUTO_INCREMENT") != string::npos)
{ {
thd->raise_error_printf(ER_CHECK_NOT_IMPLEMENTED, errMsg += "auto_increment is not supported in Columnstore.";
"Use of the MySQL auto_increment syntax is not supported in Columnstore. If " }
"you wish to create an auto increment column in Columnstore, please consult " else if(ddlStatement.find("RENAME COLUMN") != string::npos)
"the Columnstore SQL Syntax Guide for the correct usage."); {
ci->alterTableState = cal_connection_info::NOT_ALTER; errMsg += "rename column is not supported by Columnstore.";
ci->isAlter = false; }
else if(ddlStatement.find("MAX_ROWS") != string::npos || ddlStatement.find("MIN_ROWS") != string::npos)
{
errMsg += "min_rows/max_rows is not supported by Columnstore.";
}
else if(ddlStatement.find("REPLACE TABLE") != string::npos)
{
errMsg += "replace table is not supported by Columnstore.";
}
else if(ddlStatement.find("DROP COLUMN IF EXISTS") != string::npos)
{
errMsg += "drop column if exists is not supported by Columnstore.";
} }
else else
{ {
//@Bug 1888,1885. update error message //@Bug 1888,1885. update error message
thd->raise_error_printf(ER_CHECK_NOT_IMPLEMENTED, errMsg += " or the data type(s) is not supported by Columnstore.";
"The syntax or the data type(s) is not supported by Columnstore. Please check " }
"the Columnstore syntax guide for supported syntax or data types."); errMsg += " Please check the Columnstore syntax guide for supported syntax or data types.";
thd->raise_error_printf(ER_CHECK_NOT_IMPLEMENTED, errMsg);
ci->alterTableState = cal_connection_info::NOT_ALTER; ci->alterTableState = cal_connection_info::NOT_ALTER;
ci->isAlter = false; ci->isAlter = false;
} }
}
return rc; return rc;
} }