You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
Merge pull request #1024 from LinuxJedi/collate_warn
MCOL-3721 Allow collate and warn on ORDER BY
This commit is contained in:
committed by
Patrick LeBlanc
parent
3faa1600c3
commit
e0cb60dcd2
@@ -171,6 +171,7 @@ FLOAT {return IDB_FLOAT;}
|
|||||||
DOUBLE {return DOUBLE;}
|
DOUBLE {return DOUBLE;}
|
||||||
REAL {return REAL;}
|
REAL {return REAL;}
|
||||||
CHARSET {return CHARSET;}
|
CHARSET {return CHARSET;}
|
||||||
|
COLLATE {return COLLATE;}
|
||||||
IF {return IDB_IF;}
|
IF {return IDB_IF;}
|
||||||
EXISTS {return EXISTS;}
|
EXISTS {return EXISTS;}
|
||||||
CHANGE {return CHANGE;}
|
CHANGE {return CHANGE;}
|
||||||
|
@@ -111,7 +111,7 @@ MATCH MAX_ROWS MEDIUMBLOB MEDIUMTEXT
|
|||||||
MIN_ROWS MODIFY NO NOT NULL_TOK NUMBER NUMERIC ON PARTIAL PRECISION PRIMARY
|
MIN_ROWS MODIFY NO NOT NULL_TOK NUMBER NUMERIC ON PARTIAL PRECISION PRIMARY
|
||||||
REFERENCES RENAME RESTRICT SET SMALLINT TABLE TEXT TINYBLOB TINYTEXT
|
REFERENCES RENAME RESTRICT SET SMALLINT TABLE TEXT TINYBLOB TINYTEXT
|
||||||
TINYINT TO UNIQUE UNSIGNED UPDATE USER SESSION_USER SYSTEM_USER VARCHAR VARBINARY
|
TINYINT TO UNIQUE UNSIGNED UPDATE USER SESSION_USER SYSTEM_USER VARCHAR VARBINARY
|
||||||
VARYING WITH ZONE DOUBLE IDB_FLOAT REAL CHARSET IDB_IF EXISTS CHANGE TRUNCATE
|
VARYING WITH ZONE DOUBLE IDB_FLOAT REAL CHARSET COLLATE IDB_IF EXISTS CHANGE TRUNCATE
|
||||||
BOOL BOOLEAN MEDIUMINT TIMESTAMP
|
BOOL BOOLEAN MEDIUMINT TIMESTAMP
|
||||||
|
|
||||||
%token <str> DQ_IDENT IDENT FCONST SCONST CP_SEARCH_CONDITION_TEXT ICONST DATE TIME
|
%token <str> DQ_IDENT IDENT FCONST SCONST CP_SEARCH_CONDITION_TEXT ICONST DATE TIME
|
||||||
@@ -485,8 +485,14 @@ table_option:
|
|||||||
}
|
}
|
||||||
|
|
|
|
||||||
DEFAULT CHARSET opt_equal ident {$$ = new pair<string,string>("default charset", $4);}
|
DEFAULT CHARSET opt_equal ident {$$ = new pair<string,string>("default charset", $4);}
|
||||||
|
|
|
||||||
|
CHARSET opt_equal ident {$$ = new pair<string, string>("default charset", $3);}
|
||||||
|
|
|
|
||||||
DEFAULT IDB_CHAR SET opt_equal ident {$$ = new pair<string,string>("default charset", $5);}
|
DEFAULT IDB_CHAR SET opt_equal ident {$$ = new pair<string,string>("default charset", $5);}
|
||||||
|
|
|
||||||
|
DEFAULT COLLATE opt_equal ident {$$ = new pair<string, string>("default collate", $4);}
|
||||||
|
|
|
||||||
|
COLLATE opt_equal ident {$$ = new pair<string, string>("default collate", $3);}
|
||||||
;
|
;
|
||||||
|
|
||||||
alter_table_statement:
|
alter_table_statement:
|
||||||
@@ -726,13 +732,25 @@ optional_braces:
|
|||||||
| '(' ')' {}
|
| '(' ')' {}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
opt_column_charset:
|
||||||
|
/* empty */ {}
|
||||||
|
|
|
||||||
|
IDB_CHAR SET ident {}
|
||||||
|
;
|
||||||
|
|
||||||
|
opt_column_collate:
|
||||||
|
/* empty */ {}
|
||||||
|
|
|
||||||
|
COLLATE ident {}
|
||||||
|
;
|
||||||
|
|
||||||
data_type:
|
data_type:
|
||||||
character_string_type
|
character_string_type opt_column_charset opt_column_collate
|
||||||
| binary_string_type
|
| binary_string_type
|
||||||
| numeric_type
|
| numeric_type
|
||||||
| datetime_type
|
| datetime_type
|
||||||
| blob_type
|
| blob_type
|
||||||
| text_type
|
| text_type opt_column_charset opt_column_collate
|
||||||
| IDB_BLOB
|
| IDB_BLOB
|
||||||
{
|
{
|
||||||
$$ = new ColumnType(DDL_BLOB);
|
$$ = new ColumnType(DDL_BLOB);
|
||||||
|
@@ -7562,6 +7562,11 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex,
|
|||||||
{
|
{
|
||||||
gwi.fatalParseError = true;
|
gwi.fatalParseError = true;
|
||||||
}
|
}
|
||||||
|
else if ((ord_item->type() == Item::FUNC_ITEM) && (((Item_func*)ord_item)->functype() == Item_func::COLLATE_FUNC))
|
||||||
|
{
|
||||||
|
push_warning(gwi.thd, Sql_condition::WARN_LEVEL_NOTE, WARN_OPTION_IGNORED, "COLLATE is ignored in ColumnStore");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rc = buildReturnedColumn(ord_item, gwi, gwi.fatalParseError);
|
rc = buildReturnedColumn(ord_item, gwi, gwi.fatalParseError);
|
||||||
|
Reference in New Issue
Block a user