|
|
|
|
@ -778,9 +778,13 @@ int4div(PG_FUNCTION_ARGS) |
|
|
|
|
int32 result; |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef WIN32 |
|
|
|
|
|
|
|
|
|
@ -918,9 +922,13 @@ int2div(PG_FUNCTION_ARGS) |
|
|
|
|
int16 result; |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
result = arg1 / arg2; |
|
|
|
|
|
|
|
|
|
@ -1012,10 +1020,16 @@ int24div(PG_FUNCTION_ARGS) |
|
|
|
|
int32 arg2 = PG_GETARG_INT32(1); |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* No overflow is possible */ |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32((int32) arg1 / arg2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1096,9 +1110,13 @@ int42div(PG_FUNCTION_ARGS) |
|
|
|
|
int32 result; |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
result = arg1 / arg2; |
|
|
|
|
|
|
|
|
|
@ -1121,9 +1139,14 @@ int4mod(PG_FUNCTION_ARGS) |
|
|
|
|
int32 arg2 = PG_GETARG_INT32(1); |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* No overflow is possible */ |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(arg1 % arg2); |
|
|
|
|
@ -1136,9 +1159,14 @@ int2mod(PG_FUNCTION_ARGS) |
|
|
|
|
int16 arg2 = PG_GETARG_INT16(1); |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* No overflow is possible */ |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT16(arg1 % arg2); |
|
|
|
|
@ -1151,9 +1179,14 @@ int24mod(PG_FUNCTION_ARGS) |
|
|
|
|
int32 arg2 = PG_GETARG_INT32(1); |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* No overflow is possible */ |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(arg1 % arg2); |
|
|
|
|
@ -1166,9 +1199,14 @@ int42mod(PG_FUNCTION_ARGS) |
|
|
|
|
int16 arg2 = PG_GETARG_INT16(1); |
|
|
|
|
|
|
|
|
|
if (arg2 == 0) |
|
|
|
|
{ |
|
|
|
|
ereport(ERROR, |
|
|
|
|
(errcode(ERRCODE_DIVISION_BY_ZERO), |
|
|
|
|
errmsg("division by zero"))); |
|
|
|
|
/* ensure compiler realizes we mustn't reach the division (gcc bug) */ |
|
|
|
|
PG_RETURN_NULL(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* No overflow is possible */ |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(arg1 % arg2); |
|
|
|
|
|