mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
Fixed some Informix compat functions so they handle NULL resp. indicators better.
This commit is contained in:
parent
4afcba05de
commit
abfa8ae54f
@ -1563,6 +1563,12 @@ Tue Jul 8 12:34:00 CEST 2003
|
||||
|
||||
- Made Informix decimal-ascii conversion honor Informix NULLs.
|
||||
- Informix variable handling didn't cope well with arrays.
|
||||
|
||||
Wed Jul 9 11:45:02 CEST 2003
|
||||
|
||||
- Made all Informix functions honor Informix NULLs.
|
||||
- Extended compatibility functions for INFORMIX handling of DECLARE
|
||||
statement to work with indicators.
|
||||
- Set ecpg version to 3.0.0
|
||||
- Set ecpg library to 4.0.0
|
||||
- Set pgtypes library to 1.0.0
|
||||
|
@ -55,6 +55,12 @@ deccall3(Decimal *arg1, Decimal *arg2, Decimal *result, int (*ptr)(Numeric *, Nu
|
||||
Numeric *a1, *a2, *nres;
|
||||
int i;
|
||||
|
||||
if (risnull(CDECIMALTYPE, (char *)arg1) || risnull(CDECIMALTYPE, (char *)arg2))
|
||||
{
|
||||
rsetnull(CDECIMALTYPE, (char *)result);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((a1 = PGTYPESnumeric_new()) == NULL)
|
||||
return -1211;
|
||||
|
||||
@ -191,6 +197,12 @@ deccvdbl(double dbl, Decimal *np)
|
||||
Numeric *nres = PGTYPESnumeric_new();
|
||||
int result = 1;
|
||||
|
||||
if (risnull(CDOUBLETYPE, (char *)&dbl))
|
||||
{
|
||||
rsetnull(CDECIMALTYPE, (char *)np);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (nres == NULL)
|
||||
return -1211;
|
||||
|
||||
@ -208,6 +220,12 @@ deccvint(int in, Decimal *np)
|
||||
Numeric *nres = PGTYPESnumeric_new();
|
||||
int result = 1;
|
||||
|
||||
if (risnull(CINTTYPE, (char *)&in))
|
||||
{
|
||||
rsetnull(CDECIMALTYPE, (char *)np);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (nres == NULL)
|
||||
return -1211;
|
||||
|
||||
@ -225,6 +243,12 @@ deccvlong(long lng, Decimal *np)
|
||||
Numeric *nres = PGTYPESnumeric_new();
|
||||
int result = 1;
|
||||
|
||||
if (risnull(CLONGTYPE, (char *)&lng))
|
||||
{
|
||||
rsetnull(CDECIMALTYPE, (char *)np);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (nres == NULL)
|
||||
return -1211;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user