fix coredump when select system domain type in vector mode
This commit is contained in:
@ -8439,6 +8439,15 @@ bool is_vector_scan(Plan* plan)
|
||||
|
||||
static bool IsTypeUnSupportedByVectorEngine(Oid typeOid)
|
||||
{
|
||||
/* we don't support the domain type. */
|
||||
if (typeOid >= FirstBootstrapObjectId) {
|
||||
if (typeOid != getBaseType(typeOid)) {
|
||||
ereport(DEBUG2, (errmodule(MOD_OPT_PLANNER),
|
||||
errmsg("Vectorize plan failed due to has unsupport type: %u", typeOid)));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/* we don't support user defined type. */
|
||||
if (typeOid >= FirstNormalObjectId) {
|
||||
ereport(DEBUG2, (errmodule(MOD_OPT_PLANNER),
|
||||
|
@ -330,3 +330,15 @@ drop table force_vt_tb1;
|
||||
drop table force_vt_tb1_col;
|
||||
\c regression;
|
||||
drop database pg_length_cmpt_db;
|
||||
-- Do not use vectorization engine
|
||||
create table force_vector_sysdomain(a information_schema.cardinal_number, b int);
|
||||
insert into force_vector_sysdomain values(10, 20);
|
||||
set try_vector_engine_strategy='force';
|
||||
select a,b from force_vector_sysdomain;
|
||||
a | b
|
||||
----+----
|
||||
10 | 20
|
||||
(1 row)
|
||||
|
||||
drop table force_vector_sysdomain;
|
||||
set try_vector_engine_strategy='off';
|
||||
|
@ -112,3 +112,11 @@ drop table force_vt_tb1;
|
||||
drop table force_vt_tb1_col;
|
||||
\c regression;
|
||||
drop database pg_length_cmpt_db;
|
||||
|
||||
-- Do not use vectorization engine
|
||||
create table force_vector_sysdomain(a information_schema.cardinal_number, b int);
|
||||
insert into force_vector_sysdomain values(10, 20);
|
||||
set try_vector_engine_strategy='force';
|
||||
select a,b from force_vector_sysdomain;
|
||||
drop table force_vector_sysdomain;
|
||||
set try_vector_engine_strategy='off';
|
||||
|
Reference in New Issue
Block a user