You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
Fixes MCOL-5700, Oracle mode test results
This changeset contains fixes in Oracle mode tests and for the implementation of the CONCAT_ORACLE. Also, we harmonise our translation process with the recent changes in the server. Due to changed behavior of the server, some CREATE VIEW/EXPLAIN statements' results begun to output unexpected results and need to be fixed. Also, concatenation operation's name also changed. This lead to disabled func_concat_oracle test to be enabled to test it and it turned out that our implementation of this function was broken and need to be fixed too.
This commit is contained in:
@ -3883,17 +3883,27 @@ ReturnedColumn* buildFunctionColumn(Item_func* ifp, gp_walk_info& gwi, bool& non
|
||||
cal_connection_info* ci = static_cast<cal_connection_info*>(get_fe_conn_info_ptr());
|
||||
|
||||
string funcName = ifp->func_name();
|
||||
const Schema* funcSchema = ifp->schema();
|
||||
if (funcSchema)
|
||||
idblog("funcName before " << funcName);
|
||||
if ( nullptr != dynamic_cast<Item_func_concat_operator_oracle*>(ifp))
|
||||
{
|
||||
idbassert(funcSchema->name().str);
|
||||
string funcSchemaName(funcSchema->name().str, funcSchema->name().length);
|
||||
if (funcSchemaName == "oracle_schema")
|
||||
// the condition above is the only way to recognize this particular case.
|
||||
funcName = "concat_operator_oracle";
|
||||
}
|
||||
else
|
||||
{
|
||||
const Schema* funcSchema = ifp->schema();
|
||||
if (funcSchema)
|
||||
{
|
||||
// XXX: this is a shortcut.
|
||||
funcName = funcName + "_oracle";
|
||||
idbassert(funcSchema->name().str);
|
||||
string funcSchemaName(funcSchema->name().str, funcSchema->name().length);
|
||||
if (funcSchemaName == "oracle_schema")
|
||||
{
|
||||
// XXX: this is a shortcut.
|
||||
funcName = funcName + "_oracle";
|
||||
}
|
||||
}
|
||||
}
|
||||
idblog("funcName after " << funcName);
|
||||
FuncExp* funcExp = FuncExp::instance();
|
||||
Func* functor;
|
||||
FunctionColumn* fc = NULL;
|
||||
|
Reference in New Issue
Block a user