[xml bugfix] coalesce expr adapt xml and nvl expr adapt xml

This commit is contained in:
obdev
2023-07-13 11:59:47 +00:00
committed by ob-robot
parent 65bb8d8f29
commit eaac55aef7
2 changed files with 339 additions and 134 deletions

View File

@ -72,6 +72,15 @@ int ObExprNvlUtil::calc_result_type(ObExprResType &type,
type.set_result_flag(NOT_NULL_FLAG); type.set_result_flag(NOT_NULL_FLAG);
} }
} }
if (OB_SUCC(ret) && ob_is_user_defined_sql_type(type.get_type())) {
if (type1.is_xml_sql_type() || type2.is_xml_sql_type()) {
type.set_subschema_id(ObXMLSqlType);
} else {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unsupported udt failed", K(ret), K(type1), K(type2));
}
}
return ret; return ret;
} }

View File

@ -680,50 +680,58 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
/*null -> XXX*/ /*null -> XXX*/
ObNullType,/*null*/ ObNullType,/*null*/
ObNumberType,/*int*/ ObNumberType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObFloatType,/*float*/ ObFloatType,/*float*/
ObDoubleType,/*double*/ ObDoubleType,/*double*/
ObNumberType,/*number*/ ObNumberType,/*number*/
ObDateTimeType,/*datetime*/ ObDateTimeType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObVarcharType,/*string*/ ObVarcharType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObLongTextType,/*text*/ ObLongTextType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObTimestampTZType,/*OTimestamp*/ ObTimestampTZType,/*OTimestamp*/
ObRawType, /*Raw*/ ObRawType, /*Raw*/
ObIntervalYMType, /*Interval*/ ObIntervalYMType, /*Interval*/
ObURowIDType, /*Rowid*/ ObURowIDType, /*Rowid*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObUserDefinedSQLType, /*User Defined Type*/
}, },
{ {
// treat int as number, because const 1 will be parsed to bigint 1, not number 1 now. // treat int as number, because const 1 will be parsed to bigint 1, not number 1 now.
/*int -> XXX*/ /*int -> XXX*/
ObNumberType,/*null*/ ObNumberType,/*null*/
ObNumberType,/*int*/ ObNumberType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObFloatType,/*float*/ ObFloatType,/*float*/
ObDoubleType,/*double*/ ObDoubleType,/*double*/
ObNumberType,/*number*/ ObNumberType,/*number*/
ObMaxType,/*datetime*/ ObMaxType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObNumberType,/*string*/ ObNumberType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObNumberType,/*text*/ ObNumberType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObMaxType,/*OTimestamp*/ ObMaxType,/*OTimestamp*/
ObNumberType,/*Raw*/ ObNumberType,/*Raw*/
ObMaxType, /*Interval*/ ObMaxType, /*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*uint -> XXX*/ /*uint -> XXX*/
@ -748,102 +756,122 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType, /*Interval*/ ObMaxType, /*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*float -> XXX*/ /*float -> XXX*/
ObFloatType,/*null*/ ObFloatType,/*null*/
ObFloatType,/*int*/ ObFloatType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObFloatType,/*float*/ ObFloatType,/*float*/
ObDoubleType,/*double*/ ObDoubleType,/*double*/
ObFloatType,/*number*/ ObFloatType,/*number*/
ObMaxType,/*datetime*/ ObMaxType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObFloatType,/*string*/ ObFloatType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObMaxType,/*text*/ ObMaxType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObMaxType,/*OTimestamp*/ ObMaxType,/*OTimestamp*/
ObFloatType,/*Raw*/ ObFloatType,/*Raw*/
ObMaxType, /*Interval*/ ObMaxType, /*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*double -> XXX*/ /*double -> XXX*/
ObDoubleType,/*null*/ ObDoubleType,/*null*/
ObDoubleType,/*int*/ ObDoubleType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObDoubleType,/*float*/ ObDoubleType,/*float*/
ObDoubleType,/*double*/ ObDoubleType,/*double*/
ObDoubleType,/*number*/ ObDoubleType,/*number*/
ObMaxType,/*datetime*/ ObMaxType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObDoubleType,/*string*/ ObDoubleType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObMaxType,/*text*/ ObMaxType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObMaxType,/*OTimestamp*/ ObMaxType,/*OTimestamp*/
ObDoubleType,/*Raw*/ ObDoubleType,/*Raw*/
ObMaxType, /*Interval*/ ObMaxType, /*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*number -> XXX*/ /*number -> XXX*/
ObNumberType,/*null*/ ObNumberType,/*null*/
ObNumberType,/*int*/ ObNumberType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObFloatType,/*float*/ ObFloatType,/*float*/
ObDoubleType,/*double*/ ObDoubleType,/*double*/
ObNumberType,/*number*/ ObNumberType,/*number*/
ObMaxType,/*datetime*/ ObMaxType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObNumberType,/*string*/ ObNumberType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObNumberType,/*text*/ ObNumberType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObMaxType,/*OTimestamp*/ ObMaxType,/*OTimestamp*/
ObNumberType,/*Raw*/ ObNumberType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*datetime -> XXX*/ /*datetime -> XXX*/
ObDateTimeType,/*null*/ ObDateTimeType,/*null*/
ObMaxType,/*int*/ ObMaxType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObMaxType,/*float*/ ObMaxType,/*float*/
ObMaxType,/*double*/ ObMaxType,/*double*/
ObMaxType,/*number*/ ObMaxType,/*number*/
ObDateTimeType,/*datetime*/ ObDateTimeType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObDateTimeType,/*string*/ ObDateTimeType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObMaxType,/*text*/ ObMaxType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObDateTimeType,/*OTimestamp*/ ObDateTimeType,/*OTimestamp*/
ObDateTimeType,/*Raw*/ ObDateTimeType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*date -> XXX*/ /*date -> XXX*/
@ -868,6 +896,10 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*time -> XXX*/ /*time -> XXX*/
@ -892,6 +924,10 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*year -> XXX*/ /*year -> XXX*/
@ -916,30 +952,38 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*string -> XXX*/ /*string -> XXX*/
ObVarcharType,/*null*/ ObVarcharType,/*null*/
ObVarcharType,/*int*/ ObVarcharType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObVarcharType,/*float*/ ObVarcharType,/*float*/
ObVarcharType,/*double*/ ObVarcharType,/*double*/
ObVarcharType,/*number*/ ObVarcharType,/*number*/
ObVarcharType,/*datetime*/ ObVarcharType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObVarcharType,/*string*/ ObVarcharType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObVarcharType,/*text*/ ObVarcharType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObVarcharType,/*OTimestamp*/ ObVarcharType,/*OTimestamp*/
ObVarcharType,/*Raw*/ ObVarcharType,/*Raw*/
ObVarcharType,/*Interval*/ ObVarcharType,/*Interval*/
ObVarcharType,/*RowID*/ ObVarcharType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObVarcharType, /*User Defined Type*/
}, },
{ {
/*extend -> XXX*/ /*extend -> XXX*/
@ -964,6 +1008,10 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObUserDefinedSQLType, /*User Defined Type*/
}, },
{ {
/*unknown -> XXX*/ /*unknown -> XXX*/
@ -988,30 +1036,38 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*text -> XXX*/ /*text -> XXX*/
ObLongTextType,/*null*/ ObLongTextType,/*null*/
ObLongTextType,/*int*/ ObLongTextType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObLongTextType,/*float*/ ObLongTextType,/*float*/
ObLongTextType,/*double*/ ObLongTextType,/*double*/
ObLongTextType,/*number*/ ObLongTextType,/*number*/
ObLongTextType,/*datetime*/ ObLongTextType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObLongTextType,/*string*/ ObLongTextType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObLongTextType,/*text*/ ObLongTextType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObLongTextType,/*OTimestamp*/ ObLongTextType,/*OTimestamp*/
ObLongTextType,/*Raw*/ ObLongTextType,/*Raw*/
ObLongTextType,/*Interval*/ ObLongTextType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*bit -> XXX*/ /*bit -> XXX*/
@ -1036,6 +1092,10 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*EnumSet -> XXX*/ /*EnumSet -> XXX*/
@ -1060,6 +1120,10 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*EnumSetInner -> XXX*/ /*EnumSetInner -> XXX*/
@ -1084,78 +1148,94 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*otimestamp-> XXX*/ /*otimestamp-> XXX*/
ObTimestampNanoType,/*null*/ ObTimestampNanoType,/*null*/
ObMaxType,/*int*/ ObMaxType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObMaxType,/*float*/ ObMaxType,/*float*/
ObMaxType,/*double*/ ObMaxType,/*double*/
ObMaxType,/*number*/ ObMaxType,/*number*/
ObTimestampNanoType,/*datetime*/ ObTimestampNanoType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObTimestampNanoType,/*string*/ ObTimestampNanoType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObMaxType,/*text*/ ObMaxType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObTimestampNanoType,/*OTimestamp*/ ObTimestampNanoType,/*OTimestamp*/
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*Raw-> XXX*/ /*Raw-> XXX*/
ObRawType,/*null*/ ObRawType,/*null*/
ObMaxType,/*int*/ ObMaxType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObMaxType,/*float*/ ObMaxType,/*float*/
ObMaxType,/*double*/ ObMaxType,/*double*/
ObMaxType,/*number*/ ObMaxType,/*number*/
ObMaxType,/*datetime*/ ObMaxType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObRawType,/*string*/ ObRawType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObRawType,/*text*/ ObRawType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObMaxType,/*OTimestamp*/ ObMaxType,/*OTimestamp*/
ObRawType,/*Raw*/ ObRawType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObMaxType, /*RowID*/ ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*Interval-> XXX*/ /*Interval-> XXX*/
ObIntervalYMType,/*null*/ ObIntervalYMType,/*null*/
ObMaxType,/*int*/ ObMaxType,/*int*/
ObMaxType,/*uint*/ ObMaxType,/*uint*/
ObMaxType,/*float*/ ObMaxType,/*float*/
ObMaxType,/*double*/ ObMaxType,/*double*/
ObMaxType,/*number*/ ObMaxType,/*number*/
ObMaxType,/*datetime*/ ObMaxType,/*datetime*/
ObMaxType,/*date*/ ObMaxType,/*date*/
ObMaxType,/*time*/ ObMaxType,/*time*/
ObMaxType,/*year*/ ObMaxType,/*year*/
ObIntervalYMType,/*string*/ ObIntervalYMType,/*string*/
ObMaxType,/*extend*/ ObMaxType,/*extend*/
ObMaxType,/*unknown*/ ObMaxType,/*unknown*/
ObIntervalYMType,/*text*/ ObIntervalYMType,/*text*/
ObMaxType,/*bit*/ ObMaxType,/*bit*/
ObMaxType,/*EnumSet*/ ObMaxType,/*EnumSet*/
ObMaxType,/*EnumSetInner*/ ObMaxType,/*EnumSetInner*/
ObMaxType,/*OTimestamp*/ ObMaxType,/*OTimestamp*/
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObIntervalYMType,/*Interval*/ ObIntervalYMType,/*Interval*/
ObMaxType,/*RowID*/ ObMaxType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
}, },
{ {
/*RowID-> XXX*/ /*RowID-> XXX*/
@ -1180,5 +1260,121 @@ static const ObObjType NVL_TYPE_PROMOTION_ORACLE[ObMaxTC][ObMaxTC] =
ObMaxType,/*Raw*/ ObMaxType,/*Raw*/
ObMaxType,/*Interval*/ ObMaxType,/*Interval*/
ObURowIDType,/*RowID*/ ObURowIDType,/*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
},
{
/*Lob -> XXX*/
ObMaxType, /*null*/
ObMaxType, /*int*/
ObMaxType, /*uint*/
ObMaxType, /*float*/
ObMaxType, /*double*/
ObMaxType, /*number*/
ObMaxType, /*datetime*/
ObMaxType, /*date*/
ObMaxType, /*time*/
ObMaxType, /*year*/
ObMaxType, /*string*/
ObMaxType, /*extend*/
ObMaxType, /*unknown*/
ObMaxType, /*text*/
ObMaxType, /*bit*/
ObMaxType, /*EnumSet*/
ObMaxType, /*EnumSetInner*/
ObMaxType, /*OTimestamp*/
ObMaxType, /*Raw*/
ObMaxType, /*Interval*/
ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
},
{
/*Json -> XXX*/
ObJsonType, /*null*/
ObJsonType, /*int*/
ObJsonType, /*uint*/
ObJsonType, /*float*/
ObJsonType, /*double*/
ObJsonType, /*number*/
ObJsonType, /*datetime*/
ObJsonType, /*date*/
ObJsonType, /*time*/
ObJsonType, /*year*/
ObJsonType, /*string*/
ObMaxType, /*extend*/
ObJsonType, /*unknown*/
ObJsonType, /*text*/
ObJsonType, /*bit*/
ObJsonType, /*EnumSet*/
ObMaxType, /*EnumSetInner*/
ObJsonType, /*OTimestamp*/
ObMaxType, /*Raw*/
ObMaxType, /*Interval*/
ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObJsonType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
},
{
/*Geometry -> XXX*/
ObMaxType, /*null*/
ObMaxType, /*int*/
ObMaxType, /*uint*/
ObMaxType, /*float*/
ObMaxType, /*double*/
ObMaxType, /*number*/
ObMaxType, /*datetime*/
ObMaxType, /*date*/
ObMaxType, /*time*/
ObMaxType, /*year*/
ObMaxType, /*string*/
ObMaxType, /*extend*/
ObMaxType, /*unknown*/
ObMaxType, /*text*/
ObMaxType, /*bit*/
ObMaxType, /*EnumSet*/
ObMaxType, /*EnumSetInner*/
ObMaxType, /*OTimestamp*/
ObMaxType, /*Raw*/
ObMaxType, /*Interval*/
ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObMaxType, /*User Defined Type*/
},
{
/*User Defined Type -> XXX*/
ObMaxType, /*null*/
ObMaxType, /*int*/
ObMaxType, /*uint*/
ObMaxType, /*float*/
ObMaxType, /*double*/
ObMaxType, /*number*/
ObMaxType, /*datetime*/
ObMaxType, /*date*/
ObMaxType, /*time*/
ObMaxType, /*year*/
ObUserDefinedSQLType, /*string*/
ObUserDefinedSQLType, /*extend*/
ObMaxType, /*unknown*/
ObMaxType, /*text*/
ObMaxType, /*bit*/
ObMaxType, /*EnumSet*/
ObMaxType, /*EnumSetInner*/
ObMaxType, /*OTimestamp*/
ObMaxType, /*Raw*/
ObMaxType, /*Interval*/
ObMaxType, /*RowID*/
ObMaxType, /*Lob*/
ObMaxType, /*Json*/
ObMaxType, /*Geometry*/
ObUserDefinedSQLType, /*User Defined Type*/
}, },
}; };