1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

Merge pull request #3156 from mariadb-corporation/sz-fix-oracle-mode

Fixes MCOL-5700, Oracle mode test results
This commit is contained in:
mariadb-KirillPerov
2024-03-27 14:45:52 +06:00
committed by GitHub
9 changed files with 102 additions and 79 deletions

View File

@ -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;