【标题】 修复I8LWND所示的int转time的时候,insert的表现和mysql不一致的问题
【实现内容】: 修复I8LWND所示的int转time的时候,insert的表现和mysql不一致的问题 【根因分析】: 主要是在int32_b_format_time中,在非严格模式写场景下,数据异常的时候,没返回0。 【实现方案】: int32_b_format_time在非严格模式写并且入参数据异常的时候直接返回0,使得和mysql保持成一致。 【关联需求或issue】: https://e.gitee.com/opengaussorg/dashboard?issue=I8LWND
This commit is contained in:
@ -1295,7 +1295,7 @@ Datum DirectFunctionCall1Coll(PGFunction func, Oid collation, Datum arg1, bool c
|
||||
return result;
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall2Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2)
|
||||
Datum DirectFunctionCall2Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1306,7 +1306,8 @@ Datum DirectFunctionCall2Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
fcinfo.arg[1] = arg2;
|
||||
fcinfo.argnull[0] = false;
|
||||
fcinfo.argnull[1] = false;
|
||||
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
/* Check for null result, since caller is clearly not expecting one */
|
||||
@ -1318,7 +1319,7 @@ Datum DirectFunctionCall2Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
return result;
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall3Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3)
|
||||
Datum DirectFunctionCall3Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1331,6 +1332,7 @@ Datum DirectFunctionCall3Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
fcinfo.argnull[0] = false;
|
||||
fcinfo.argnull[1] = false;
|
||||
fcinfo.argnull[2] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
@ -1343,7 +1345,8 @@ Datum DirectFunctionCall3Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
return result;
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall4Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4)
|
||||
Datum DirectFunctionCall4Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4,
|
||||
bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1358,6 +1361,7 @@ Datum DirectFunctionCall4Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
fcinfo.argnull[1] = false;
|
||||
fcinfo.argnull[2] = false;
|
||||
fcinfo.argnull[3] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
@ -1371,7 +1375,8 @@ Datum DirectFunctionCall4Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall5Coll(
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5)
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5,
|
||||
bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1388,6 +1393,7 @@ Datum DirectFunctionCall5Coll(
|
||||
fcinfo.argnull[2] = false;
|
||||
fcinfo.argnull[3] = false;
|
||||
fcinfo.argnull[4] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
@ -1401,7 +1407,8 @@ Datum DirectFunctionCall5Coll(
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall6Coll(
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6)
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6,
|
||||
bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1420,6 +1427,7 @@ Datum DirectFunctionCall6Coll(
|
||||
fcinfo.argnull[3] = false;
|
||||
fcinfo.argnull[4] = false;
|
||||
fcinfo.argnull[5] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
@ -1433,7 +1441,8 @@ Datum DirectFunctionCall6Coll(
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall7Coll(
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7)
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7,
|
||||
bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1454,6 +1463,7 @@ Datum DirectFunctionCall7Coll(
|
||||
fcinfo.argnull[4] = false;
|
||||
fcinfo.argnull[5] = false;
|
||||
fcinfo.argnull[6] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
@ -1467,7 +1477,7 @@ Datum DirectFunctionCall7Coll(
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall8Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4,
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8)
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8, bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1490,6 +1500,7 @@ Datum DirectFunctionCall8Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
fcinfo.argnull[5] = false;
|
||||
fcinfo.argnull[6] = false;
|
||||
fcinfo.argnull[7] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
@ -1503,7 +1514,7 @@ Datum DirectFunctionCall8Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
}
|
||||
|
||||
Datum DirectFunctionCall9Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4,
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9)
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9, bool can_ignore)
|
||||
{
|
||||
FunctionCallInfoData fcinfo;
|
||||
Datum result;
|
||||
@ -1528,6 +1539,7 @@ Datum DirectFunctionCall9Coll(PGFunction func, Oid collation, Datum arg1, Datum
|
||||
fcinfo.argnull[6] = false;
|
||||
fcinfo.argnull[7] = false;
|
||||
fcinfo.argnull[8] = false;
|
||||
fcinfo.can_ignore = can_ignore;
|
||||
|
||||
result = (*func)(&fcinfo);
|
||||
|
||||
|
@ -457,19 +457,24 @@ typedef const Pg_magic_struct* (*PGModuleMagicFunction)(void);
|
||||
* are allowed to be NULL.
|
||||
*/
|
||||
extern Datum DirectFunctionCall1Coll(PGFunction func, Oid collation, Datum arg1, bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall2Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2);
|
||||
extern Datum DirectFunctionCall3Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3);
|
||||
extern Datum DirectFunctionCall4Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4);
|
||||
extern Datum DirectFunctionCall2Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall3Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3,
|
||||
bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall4Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4,
|
||||
bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall5Coll(
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5);
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5,
|
||||
bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall6Coll(
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6);
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6,
|
||||
bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall7Coll(
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7);
|
||||
PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4, Datum arg5, Datum arg6, Datum arg7,
|
||||
bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall8Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4,
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8);
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8, bool can_ignore = false);
|
||||
extern Datum DirectFunctionCall9Coll(PGFunction func, Oid collation, Datum arg1, Datum arg2, Datum arg3, Datum arg4,
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9);
|
||||
Datum arg5, Datum arg6, Datum arg7, Datum arg8, Datum arg9, bool can_ignore = false);
|
||||
|
||||
/* These are for invocation of a previously-looked-up function with a
|
||||
* directly-computed parameter list. Note that neither arguments nor result
|
||||
|
Reference in New Issue
Block a user