1
0
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:
Serguey Zefirov
2024-03-14 11:41:21 +03:00
committed by Leonid Fedorov
parent c7caa4374f
commit 97220501ed
8 changed files with 82 additions and 79 deletions

View File

@ -3883,15 +3883,23 @@ 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)
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";
}
}
}
FuncExp* funcExp = FuncExp::instance();