fix coredump when select system domain type in vector mode

This commit is contained in:
chenze
2022-08-10 16:58:54 +08:00
parent 3c2478f77d
commit 4c6a66d0c4
3 changed files with 29 additions and 0 deletions

View File

@ -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),

View File

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

View File

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