[xml bugfix] coalesce expr adapt xml and nvl expr adapt xml
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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*/
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user