Add routines to convert between int8 and text/varchar types.
Change #if FALSE to #if NOT_USED to avoid port problems. Fix up pg_indent weirdness with function argument declarations.
This commit is contained in:
parent
02e85e7e5f
commit
910fe5891e
@ -228,7 +228,7 @@ int8um(int64 * val)
|
|||||||
if (!PointerIsValid(val))
|
if (!PointerIsValid(val))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
*result = temp - (*val);
|
*result = temp - (*val);
|
||||||
#else
|
#else
|
||||||
result = int8mi(&temp, val);
|
result = int8mi(&temp, val);
|
||||||
@ -293,7 +293,7 @@ int8div(int64 * val1, int64 * val2)
|
|||||||
int64 *
|
int64 *
|
||||||
int8larger(int64 *val1, int64 *val2)
|
int8larger(int64 *val1, int64 *val2)
|
||||||
{
|
{
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
int64 *result = palloc(sizeof(int64));
|
int64 *result = palloc(sizeof(int64));
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -301,7 +301,7 @@ int8larger(int64 * val1, int64 * val2)
|
|||||||
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
*result = ((*val1 > *val2) ? *val1 : *val2);
|
*result = ((*val1 > *val2) ? *val1 : *val2);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -312,7 +312,7 @@ int8larger(int64 * val1, int64 * val2)
|
|||||||
int64 *
|
int64 *
|
||||||
int8smaller(int64 *val1, int64 *val2)
|
int8smaller(int64 *val1, int64 *val2)
|
||||||
{
|
{
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
int64 *result = palloc(sizeof(int64));
|
int64 *result = palloc(sizeof(int64));
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -320,7 +320,7 @@ int8smaller(int64 * val1, int64 * val2)
|
|||||||
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
*result = ((*val1 < *val2) ? *val1 : *val2);
|
*result = ((*val1 < *val2) ? *val1 : *val2);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -457,7 +457,7 @@ int84(int64 * val)
|
|||||||
if (!PointerIsValid(val))
|
if (!PointerIsValid(val))
|
||||||
elog(ERROR, "Invalid (null) int64, can't convert int8 to int4", NULL);
|
elog(ERROR, "Invalid (null) int64, can't convert int8 to int4", NULL);
|
||||||
|
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hmm. This conditional always tests true on my i686/linux box. It's
|
* Hmm. This conditional always tests true on my i686/linux box. It's
|
||||||
@ -474,7 +474,7 @@ int84(int64 * val)
|
|||||||
return result;
|
return result;
|
||||||
} /* int84() */
|
} /* int84() */
|
||||||
|
|
||||||
#if FALSE
|
#if NOT_USED
|
||||||
int64 *
|
int64 *
|
||||||
int28 (int16 val)
|
int28 (int16 val)
|
||||||
{
|
{
|
||||||
@ -537,3 +537,48 @@ dtoi8(float64 val)
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
} /* dtoi8() */
|
} /* dtoi8() */
|
||||||
|
|
||||||
|
/* text_int8()
|
||||||
|
*/
|
||||||
|
int64 *
|
||||||
|
text_int8(text *str)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
char *s;
|
||||||
|
|
||||||
|
if (!PointerIsValid(str))
|
||||||
|
elog(ERROR, "Bad (null) int8 external representation", NULL);
|
||||||
|
|
||||||
|
len = (VARSIZE(str) - VARHDRSZ);
|
||||||
|
s = palloc(len+1);
|
||||||
|
memmove(s, VARDATA(str), len);
|
||||||
|
*(s+len) = '\0';
|
||||||
|
|
||||||
|
return int8in(s);
|
||||||
|
} /* text_int8() */
|
||||||
|
|
||||||
|
|
||||||
|
/* int8_text()
|
||||||
|
*/
|
||||||
|
text *
|
||||||
|
int8_text(int64 *val)
|
||||||
|
{
|
||||||
|
text *result;
|
||||||
|
|
||||||
|
int len;
|
||||||
|
char *s;
|
||||||
|
|
||||||
|
if (!PointerIsValid(val))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
s = int8out(val);
|
||||||
|
len = strlen(s);
|
||||||
|
|
||||||
|
result = palloc(VARHDRSZ + len);
|
||||||
|
|
||||||
|
VARSIZE(result) = len + VARHDRSZ;
|
||||||
|
memmove(VARDATA(result), s, len);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
} /* int8out() */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user