mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-04-06 20:31:03 +08:00
Allow varchar() to only store needed bytes. Remove PALLOC,PALLOCTYPE,PFREE. Clean up use of VARDATA.
This commit is contained in:
parent
7a2a7d436d
commit
e6c6146eb8
@ -66,7 +66,7 @@ hhmm_in(char *str)
|
||||
elog(ERROR,"Second must be limited to values 0 through < 60 in '%s'",
|
||||
str);
|
||||
|
||||
time = PALLOCTYPE(TimeADT);
|
||||
time = palloc(sizeof(TimeADT));
|
||||
|
||||
*time = ((((tm->tm_hour*60)+tm->tm_min)*60));
|
||||
|
||||
@ -99,7 +99,7 @@ hhmm_out(TimeADT *time)
|
||||
sprintf(buf, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min, tm->tm_sec);
|
||||
}
|
||||
|
||||
result = PALLOC(strlen(buf)+1);
|
||||
result = palloc(strlen(buf)+1);
|
||||
|
||||
strcpy( result, buf);
|
||||
|
||||
@ -109,7 +109,7 @@ hhmm_out(TimeADT *time)
|
||||
TimeADT *
|
||||
hhmm(TimeADT *time)
|
||||
{
|
||||
TimeADT *result = PALLOCTYPE(TimeADT);
|
||||
TimeADT *result = palloc(sizeof(TimeADT));
|
||||
|
||||
*result = (((int) *time) / 60 * 60);
|
||||
|
||||
@ -119,7 +119,7 @@ hhmm(TimeADT *time)
|
||||
TimeADT *
|
||||
time_difference(TimeADT *time1, TimeADT *time2)
|
||||
{
|
||||
TimeADT *time = PALLOCTYPE(TimeADT);
|
||||
TimeADT *time = palloc(sizeof(TimeADT));
|
||||
|
||||
*time = (*time1 - *time2);
|
||||
return(time);
|
||||
@ -188,7 +188,7 @@ date_year(DateADT val)
|
||||
TimeADT *
|
||||
currenttime()
|
||||
{
|
||||
TimeADT *result = PALLOCTYPE(TimeADT);
|
||||
TimeADT *result = palloc(sizeof(TimeADT));
|
||||
struct tm *tm;
|
||||
time_t current_time;
|
||||
|
||||
|
@ -19,8 +19,6 @@
|
||||
|
||||
#define MAXINT8LEN 25
|
||||
|
||||
#define USE_LOCAL_CODE 1
|
||||
|
||||
#if defined(__alpha) || defined(__GNUC__)
|
||||
#define HAVE_64BIT_INTS 1
|
||||
#endif
|
||||
@ -79,18 +77,6 @@ int16 int82(int64 * val);
|
||||
float64 i8tod(int64 * val);
|
||||
int64 *dtoi8(float64 val);
|
||||
|
||||
#if USE_LOCAL_CODE
|
||||
|
||||
#ifndef PALLOC
|
||||
#define PALLOC(p) palloc(p)
|
||||
#endif
|
||||
|
||||
#ifndef PALLOCTYPE
|
||||
#define PALLOCTYPE(p) palloc(sizeof(p))
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/***********************************************************************
|
||||
**
|
||||
** Routines for 64-bit integers.
|
||||
@ -106,7 +92,7 @@ int64 *dtoi8(float64 val);
|
||||
int64 *
|
||||
int8in(char *str)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
#if HAVE_64BIT_INTS
|
||||
if (!PointerIsValid(str))
|
||||
@ -141,7 +127,7 @@ int8out(int64 * val)
|
||||
if ((len = snprintf(buf, MAXINT8LEN, INT64_FORMAT, *val)) < 0)
|
||||
elog(ERROR, "Unable to format int8", NULL);
|
||||
|
||||
result = PALLOC(len + 1);
|
||||
result = palloc(len + 1);
|
||||
|
||||
strcpy(result, buf);
|
||||
|
||||
@ -245,7 +231,7 @@ int84ge(int64 * val1, int32 val2)
|
||||
int64 *
|
||||
int8um(int64 * val)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
if (!PointerIsValid(val))
|
||||
return NULL;
|
||||
@ -258,7 +244,7 @@ int8um(int64 * val)
|
||||
int64 *
|
||||
int8pl(int64 * val1, int64 * val2)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
||||
return NULL;
|
||||
@ -271,7 +257,7 @@ int8pl(int64 * val1, int64 * val2)
|
||||
int64 *
|
||||
int8mi(int64 * val1, int64 * val2)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
||||
return NULL;
|
||||
@ -284,7 +270,7 @@ int8mi(int64 * val1, int64 * val2)
|
||||
int64 *
|
||||
int8mul(int64 * val1, int64 * val2)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
||||
return NULL;
|
||||
@ -297,7 +283,7 @@ int8mul(int64 * val1, int64 * val2)
|
||||
int64 *
|
||||
int8div(int64 * val1, int64 * val2)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
if ((!PointerIsValid(val1)) || (!PointerIsValid(val2)))
|
||||
return NULL;
|
||||
@ -315,7 +301,7 @@ int8div(int64 * val1, int64 * val2)
|
||||
int64 *
|
||||
int48(int32 val)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
*result = val;
|
||||
|
||||
@ -344,7 +330,7 @@ int28 (int16 val)
|
||||
{
|
||||
int64 *result;
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(int64)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(int64))))
|
||||
elog(ERROR, "Memory allocation failed, can't convert int8 to int2", NULL);
|
||||
|
||||
*result = val;
|
||||
@ -370,7 +356,7 @@ int82(int64 * val)
|
||||
float64
|
||||
i8tod(int64 * val)
|
||||
{
|
||||
float64 result = PALLOCTYPE(float64data);
|
||||
float64 result = palloc(sizeof(float64data));
|
||||
|
||||
*result = *val;
|
||||
|
||||
@ -380,7 +366,7 @@ i8tod(int64 * val)
|
||||
int64 *
|
||||
dtoi8(float64 val)
|
||||
{
|
||||
int64 *result = PALLOCTYPE(int64);
|
||||
int64 *result = palloc(sizeof(int64));
|
||||
|
||||
if ((*val < (-pow(2, 64) + 1)) || (*val > (pow(2, 64) - 1)))
|
||||
elog(ERROR, "Floating point conversion to int64 is out of range", NULL);
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtproc.c,v 1.13 1998/01/05 03:29:59 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/access/rtree/Attic/rtproc.c,v 1.14 1998/01/07 18:46:15 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -91,7 +91,7 @@ rt_poly_union(POLYGON *a, POLYGON *b)
|
||||
{
|
||||
POLYGON *p;
|
||||
|
||||
p = (POLYGON *) PALLOCTYPE(POLYGON);
|
||||
p = (POLYGON *) palloc(sizeof(POLYGON));
|
||||
|
||||
if (!PointerIsValid(p))
|
||||
elog(ABORT, "Cannot allocate polygon for union");
|
||||
@ -133,7 +133,7 @@ rt_poly_inter(POLYGON *a, POLYGON *b)
|
||||
{
|
||||
POLYGON *p;
|
||||
|
||||
p = (POLYGON *) PALLOCTYPE(POLYGON);
|
||||
p = (POLYGON *) palloc(sizeof(POLYGON));
|
||||
|
||||
if (!PointerIsValid(p))
|
||||
elog(ABORT, "Cannot allocate polygon for intersection");
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Routines for handling of 'SET var TO',
|
||||
* 'SHOW var' and 'RESET var' statements.
|
||||
*
|
||||
* $Id: variable.c,v 1.1 1998/01/05 18:42:50 momjian Exp $
|
||||
* $Id: variable.c,v 1.2 1998/01/07 18:46:26 momjian Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
@ -73,7 +73,7 @@ get_token(char **tok, char **val, const char *str)
|
||||
len++;
|
||||
}
|
||||
|
||||
*tok = (char *) PALLOC(len + 1);
|
||||
*tok = (char *) palloc(len + 1);
|
||||
StrNCpy(*tok, start, len+1);
|
||||
|
||||
/* skip white spaces */
|
||||
@ -119,7 +119,7 @@ get_token(char **tok, char **val, const char *str)
|
||||
len++;
|
||||
}
|
||||
|
||||
*val = (char *) PALLOC(len + 1);
|
||||
*val = (char *) palloc(len + 1);
|
||||
StrNCpy(*val, start, len+1);
|
||||
|
||||
/* skip white spaces */
|
||||
@ -186,7 +186,7 @@ parse_geqo(const char *value)
|
||||
geqo_rels = pg_atoi(val, sizeof(int32), '\0');
|
||||
if (geqo_rels <= 1)
|
||||
elog(ERROR, "Bad value for # of relations (%s)", val);
|
||||
PFREE(val);
|
||||
pfree(val);
|
||||
}
|
||||
_use_geqo_ = true;
|
||||
_use_geqo_rels_ = geqo_rels;
|
||||
@ -200,7 +200,7 @@ parse_geqo(const char *value)
|
||||
else
|
||||
elog(ERROR, "Bad value for GEQO (%s)", value);
|
||||
|
||||
PFREE(tok);
|
||||
pfree(tok);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -394,7 +394,7 @@ parse_date(const char *value)
|
||||
{
|
||||
elog(ERROR, "Bad value for date style (%s)", tok);
|
||||
}
|
||||
PFREE(tok);
|
||||
pfree(tok);
|
||||
}
|
||||
|
||||
if (dcnt > 1 || ecnt > 1)
|
||||
@ -493,7 +493,7 @@ parse_timezone(const char *value)
|
||||
elog(ERROR, "Unable to set TZ environment variable to %s", tok);
|
||||
|
||||
tzset();
|
||||
PFREE(tok);
|
||||
pfree(tok);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -9,7 +9,7 @@
|
||||
* workings can be found in the book "Software Solutions in C" by
|
||||
* Dale Schumacher, Academic Press, ISBN: 0-12-632360-7.
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.20 1998/01/05 16:39:45 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.21 1998/01/07 18:46:34 momjian Exp $
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@ -158,7 +158,7 @@ printf( "cashin- precision %d; decimal %c; thousands %c; currency %c; positive %
|
||||
if (*s != '\0')
|
||||
elog(ERROR, "Bad money external representation %s", str);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't input cash '%s'", str);
|
||||
|
||||
*result = (value * sgn);
|
||||
@ -256,7 +256,7 @@ cash_out(Cash *in_value)
|
||||
/* see if we need to signify negative amount */
|
||||
if (minus)
|
||||
{
|
||||
if (!PointerIsValid(result = PALLOC(CASH_BUFSZ + 2 - count + strlen(nsymbol))))
|
||||
if (!PointerIsValid(result = palloc(CASH_BUFSZ + 2 - count + strlen(nsymbol))))
|
||||
elog(ERROR, "Memory allocation failed, can't output cash", NULL);
|
||||
|
||||
/* Position code of 0 means use parens */
|
||||
@ -269,7 +269,7 @@ cash_out(Cash *in_value)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!PointerIsValid(result = PALLOC(CASH_BUFSZ + 2 - count)))
|
||||
if (!PointerIsValid(result = palloc(CASH_BUFSZ + 2 - count)))
|
||||
elog(ERROR, "Memory allocation failed, can't output cash", NULL);
|
||||
|
||||
strcpy(result, buf + count);
|
||||
@ -345,7 +345,7 @@ cash_pl(Cash *c1, Cash *c2)
|
||||
if (!PointerIsValid(c1) || !PointerIsValid(c2))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't add cash", NULL);
|
||||
|
||||
*result = (*c1 + *c2);
|
||||
@ -365,7 +365,7 @@ cash_mi(Cash *c1, Cash *c2)
|
||||
if (!PointerIsValid(c1) || !PointerIsValid(c2))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't subtract cash", NULL);
|
||||
|
||||
*result = (*c1 - *c2);
|
||||
@ -385,7 +385,7 @@ cash_mul_flt8(Cash *c, float8 *f)
|
||||
if (!PointerIsValid(f) || !PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't multiply cash", NULL);
|
||||
|
||||
*result = ((*f) * (*c));
|
||||
@ -418,7 +418,7 @@ cash_div_flt8(Cash *c, float8 *f)
|
||||
if (!PointerIsValid(f) || !PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't divide cash", NULL);
|
||||
|
||||
if (*f == 0.0)
|
||||
@ -440,7 +440,7 @@ cash_mul_flt4(Cash *c, float4 *f)
|
||||
if (!PointerIsValid(f) || !PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't multiply cash", NULL);
|
||||
|
||||
*result = ((*f) * (*c));
|
||||
@ -473,7 +473,7 @@ cash_div_flt4(Cash *c, float4 *f)
|
||||
if (!PointerIsValid(f) || !PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't divide cash", NULL);
|
||||
|
||||
if (*f == 0.0)
|
||||
@ -496,7 +496,7 @@ cash_mul_int4(Cash *c, int4 i)
|
||||
if (!PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't multiply cash", NULL);
|
||||
|
||||
*result = ((i) * (*c));
|
||||
@ -529,7 +529,7 @@ cash_div_int4(Cash *c, int4 i)
|
||||
if (!PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't divide cash", NULL);
|
||||
|
||||
if (i == 0)
|
||||
@ -552,7 +552,7 @@ cash_mul_int2(Cash *c, int2 s)
|
||||
if (!PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't multiply cash", NULL);
|
||||
|
||||
*result = ((s) * (*c));
|
||||
@ -585,7 +585,7 @@ cash_div_int2(Cash *c, int2 s)
|
||||
if (!PointerIsValid(c))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't divide cash", NULL);
|
||||
|
||||
if (s == 0)
|
||||
@ -608,7 +608,7 @@ cashlarger(Cash *c1, Cash *c2)
|
||||
if (!PointerIsValid(c1) || !PointerIsValid(c2))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't return larger cash", NULL);
|
||||
|
||||
*result = ((*c1 > *c2) ? *c1 : *c2);
|
||||
@ -628,7 +628,7 @@ cashsmaller(Cash *c1, Cash *c2)
|
||||
if (!PointerIsValid(c1) || !PointerIsValid(c2))
|
||||
return (NULL);
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(Cash)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(Cash))))
|
||||
elog(ERROR, "Memory allocation failed, can't return smaller cash", NULL);
|
||||
|
||||
*result = ((*c1 < *c2) ? *c1 : *c2);
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.21 1998/01/05 16:39:48 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.22 1998/01/07 18:46:37 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* This code is actually (almost) unused.
|
||||
@ -180,7 +180,7 @@ reltimeout(int32 time)
|
||||
EncodeTimeSpan(tm, 0, DateStyle, buf);
|
||||
}
|
||||
|
||||
result = PALLOC(strlen(buf) + 1);
|
||||
result = palloc(strlen(buf) + 1);
|
||||
strcpy(result, buf);
|
||||
|
||||
return (result);
|
||||
@ -360,7 +360,7 @@ reltime_timespan(RelativeTime reltime)
|
||||
int year,
|
||||
month;
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(TimeSpan)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(TimeSpan))))
|
||||
elog(ERROR, "Memory allocation failed, can't convert reltime to timespan", NULL);
|
||||
|
||||
switch (reltime)
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.20 1998/01/05 16:39:50 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/datetime.c,v 1.21 1998/01/07 18:46:41 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -128,7 +128,7 @@ date_out(DateADT date)
|
||||
|
||||
EncodeDateOnly(tm, DateStyle, buf);
|
||||
|
||||
result = PALLOC(strlen(buf) + 1);
|
||||
result = palloc(strlen(buf) + 1);
|
||||
|
||||
strcpy(result, buf);
|
||||
|
||||
@ -236,7 +236,7 @@ date_datetime(DateADT dateVal)
|
||||
double fsec = 0;
|
||||
char *tzn;
|
||||
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
|
||||
if (date2tm(dateVal, &tz, tm, &fsec, &tzn) != 0)
|
||||
elog(ERROR, "Unable to convert date to datetime", NULL);
|
||||
@ -453,7 +453,7 @@ time_in(char *str)
|
||||
if ((tm->tm_sec < 0) || ((tm->tm_sec + fsec) >= 60))
|
||||
elog(ERROR, "Second must be limited to values 0 through < 60 in '%s'", str);
|
||||
|
||||
time = PALLOCTYPE(TimeADT);
|
||||
time = palloc(sizeof(TimeADT));
|
||||
|
||||
*time = ((((tm->tm_hour * 60) + tm->tm_min) * 60) + tm->tm_sec + fsec);
|
||||
|
||||
@ -482,7 +482,7 @@ time_out(TimeADT *time)
|
||||
|
||||
EncodeTimeOnly(tm, fsec, DateStyle, buf);
|
||||
|
||||
result = PALLOC(strlen(buf) + 1);
|
||||
result = palloc(strlen(buf) + 1);
|
||||
|
||||
strcpy(result, buf);
|
||||
|
||||
@ -586,7 +586,7 @@ datetime_time(DateTime *datetime)
|
||||
elog(ERROR, "Unable to convert datetime to date", NULL);
|
||||
}
|
||||
|
||||
result = PALLOCTYPE(TimeADT);
|
||||
result = palloc(sizeof(TimeADT));
|
||||
|
||||
*result = ((((tm->tm_hour * 60) + tm->tm_min) * 60) + tm->tm_sec + fsec);
|
||||
|
||||
@ -604,7 +604,7 @@ datetime_datetime(DateADT date, TimeADT *time)
|
||||
|
||||
if (!PointerIsValid(time))
|
||||
{
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
DATETIME_INVALID(*result);
|
||||
} else {
|
||||
result = date_datetime(date);
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.49 1998/01/05 16:39:55 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.50 1998/01/07 18:46:45 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -115,7 +115,7 @@ datetime_in(char *str)
|
||||
|| (DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz) != 0))
|
||||
elog(ERROR, "Bad datetime external representation '%s'", str);
|
||||
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
|
||||
switch (dtype)
|
||||
{
|
||||
@ -188,7 +188,7 @@ datetime_out(DateTime *dt)
|
||||
EncodeSpecialDateTime(DT_INVALID, buf);
|
||||
}
|
||||
|
||||
result = PALLOC(strlen(buf) + 1);
|
||||
result = palloc(strlen(buf) + 1);
|
||||
|
||||
strcpy(result, buf);
|
||||
|
||||
@ -231,7 +231,7 @@ timespan_in(char *str)
|
||||
|| (DecodeDateDelta(field, ftype, nf, &dtype, tm, &fsec) != 0))
|
||||
elog(ERROR, "Bad timespan external representation '%s'", str);
|
||||
|
||||
span = PALLOCTYPE(TimeSpan);
|
||||
span = palloc(sizeof(TimeSpan));
|
||||
|
||||
switch (dtype)
|
||||
{
|
||||
@ -274,7 +274,7 @@ timespan_out(TimeSpan *span)
|
||||
if (EncodeTimeSpan(tm, fsec, DateStyle, buf) != 0)
|
||||
elog(ERROR, "Unable to format timespan", NULL);
|
||||
|
||||
result = PALLOC(strlen(buf) + 1);
|
||||
result = palloc(strlen(buf) + 1);
|
||||
|
||||
strcpy(result, buf);
|
||||
return (result);
|
||||
@ -715,7 +715,7 @@ datetime_smaller(DateTime *datetime1, DateTime *datetime2)
|
||||
dt1 = *datetime1;
|
||||
dt2 = *datetime2;
|
||||
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
|
||||
if (DATETIME_IS_RELATIVE(dt1))
|
||||
dt1 = SetDateTime(dt1);
|
||||
@ -752,7 +752,7 @@ datetime_larger(DateTime *datetime1, DateTime *datetime2)
|
||||
dt1 = *datetime1;
|
||||
dt2 = *datetime2;
|
||||
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
|
||||
if (DATETIME_IS_RELATIVE(dt1))
|
||||
dt1 = SetDateTime(dt1);
|
||||
@ -790,7 +790,7 @@ datetime_mi(DateTime *datetime1, DateTime *datetime2)
|
||||
dt1 = *datetime1;
|
||||
dt2 = *datetime2;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
if (DATETIME_IS_RELATIVE(dt1))
|
||||
dt1 = SetDateTime(dt1);
|
||||
@ -836,7 +836,7 @@ datetime_pl_span(DateTime *datetime, TimeSpan *span)
|
||||
if ((!PointerIsValid(datetime)) || (!PointerIsValid(span)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
|
||||
#ifdef DATEDEBUG
|
||||
printf("datetime_pl_span- add %f to %d %f\n", *datetime, span->month, span->time);
|
||||
@ -945,7 +945,7 @@ timespan_um(TimeSpan *timespan)
|
||||
if (!PointerIsValid(timespan))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
result->time = -(timespan->time);
|
||||
result->month = -(timespan->month);
|
||||
@ -965,7 +965,7 @@ timespan_smaller(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1))
|
||||
{
|
||||
@ -1020,7 +1020,7 @@ timespan_larger(TimeSpan *timespan1, TimeSpan *timespan2)
|
||||
if (!PointerIsValid(timespan1) || !PointerIsValid(timespan2))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
if (TIMESPAN_IS_INVALID(*timespan1))
|
||||
{
|
||||
@ -1073,7 +1073,7 @@ timespan_pl(TimeSpan *span1, TimeSpan *span2)
|
||||
if ((!PointerIsValid(span1)) || (!PointerIsValid(span2)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
result->month = (span1->month + span2->month);
|
||||
result->time = JROUND(span1->time + span2->time);
|
||||
@ -1089,7 +1089,7 @@ timespan_mi(TimeSpan *span1, TimeSpan *span2)
|
||||
if ((!PointerIsValid(span1)) || (!PointerIsValid(span2)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
result->month = (span1->month - span2->month);
|
||||
result->time = JROUND(span1->time - span2->time);
|
||||
@ -1105,7 +1105,7 @@ timespan_div(TimeSpan *span1, float8 *arg2)
|
||||
if ((!PointerIsValid(span1)) || (!PointerIsValid(arg2)))
|
||||
return NULL;
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(TimeSpan)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(TimeSpan))))
|
||||
elog(ERROR, "Memory allocation failed, can't subtract timespans", NULL);
|
||||
|
||||
if (*arg2 == 0.0)
|
||||
@ -1143,7 +1143,7 @@ datetime_age(DateTime *datetime1, DateTime *datetime2)
|
||||
if (!PointerIsValid(datetime1) || !PointerIsValid(datetime2))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
dt1 = *datetime1;
|
||||
dt2 = *datetime2;
|
||||
@ -1287,12 +1287,12 @@ datetime_text(DateTime *datetime)
|
||||
|
||||
len = (strlen(str) + VARHDRSZ);
|
||||
|
||||
result = PALLOC(len);
|
||||
result = palloc(len);
|
||||
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), str, (len - VARHDRSZ));
|
||||
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return (result);
|
||||
} /* datetime_text() */
|
||||
@ -1347,12 +1347,12 @@ timespan_text(TimeSpan *timespan)
|
||||
|
||||
len = (strlen(str) + VARHDRSZ);
|
||||
|
||||
result = PALLOC(len);
|
||||
result = palloc(len);
|
||||
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), str, (len - VARHDRSZ));
|
||||
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return (result);
|
||||
} /* timespan_text() */
|
||||
@ -1410,7 +1410,7 @@ datetime_trunc(text *units, DateTime *datetime)
|
||||
if ((!PointerIsValid(units)) || (!PointerIsValid(datetime)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(DateTime);
|
||||
result = palloc(sizeof(DateTime));
|
||||
|
||||
up = VARDATA(units);
|
||||
lp = lowunits;
|
||||
@ -1555,7 +1555,7 @@ timespan_trunc(text *units, TimeSpan *timespan)
|
||||
if ((!PointerIsValid(units)) || (!PointerIsValid(timespan)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(TimeSpan);
|
||||
result = palloc(sizeof(TimeSpan));
|
||||
|
||||
up = VARDATA(units);
|
||||
lp = lowunits;
|
||||
@ -1684,7 +1684,7 @@ datetime_part(text *units, DateTime *datetime)
|
||||
if ((!PointerIsValid(units)) || (!PointerIsValid(datetime)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(float64data);
|
||||
result = palloc(sizeof(float64data));
|
||||
|
||||
up = VARDATA(units);
|
||||
lp = lowunits;
|
||||
@ -1841,7 +1841,7 @@ timespan_part(text *units, TimeSpan *timespan)
|
||||
if ((!PointerIsValid(units)) || (!PointerIsValid(timespan)))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(float64data);
|
||||
result = palloc(sizeof(float64data));
|
||||
|
||||
up = VARDATA(units);
|
||||
lp = lowunits;
|
||||
@ -2031,7 +2031,7 @@ datetime_zone(text *zone, DateTime *datetime)
|
||||
|
||||
len = (strlen(buf) + VARHDRSZ);
|
||||
|
||||
result = PALLOC(len);
|
||||
result = palloc(len);
|
||||
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), buf, (len - VARHDRSZ));
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.28 1998/01/05 16:40:02 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.29 1998/01/07 18:46:47 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -272,7 +272,7 @@ path_decode(int opentype, int npts, char *str, int *isopen, char **ss, Point *p)
|
||||
static char *
|
||||
path_encode(bool closed, int npts, Point *pt)
|
||||
{
|
||||
char *result = PALLOC(npts * (P_MAXLEN + 3) + 2);
|
||||
char *result = palloc(npts * (P_MAXLEN + 3) + 2);
|
||||
|
||||
char *cp;
|
||||
int i;
|
||||
@ -356,7 +356,7 @@ pair_count(char *s, char delim)
|
||||
BOX *
|
||||
box_in(char *str)
|
||||
{
|
||||
BOX *box = PALLOCTYPE(BOX);
|
||||
BOX *box = palloc(sizeof(BOX));
|
||||
|
||||
int isopen;
|
||||
char *s;
|
||||
@ -404,7 +404,7 @@ box_out(BOX *box)
|
||||
static BOX *
|
||||
box_construct(double x1, double x2, double y1, double y2)
|
||||
{
|
||||
BOX *result = PALLOCTYPE(BOX);
|
||||
BOX *result = palloc(sizeof(BOX));
|
||||
|
||||
return (box_fill(result, x1, x2, y1, y2));
|
||||
}
|
||||
@ -445,7 +445,7 @@ box_fill(BOX *result, double x1, double x2, double y1, double y2)
|
||||
static BOX *
|
||||
box_copy(BOX *box)
|
||||
{
|
||||
BOX *result = PALLOCTYPE(BOX);
|
||||
BOX *result = palloc(sizeof(BOX));
|
||||
|
||||
memmove((char *) result, (char *) box, sizeof(BOX));
|
||||
|
||||
@ -601,7 +601,7 @@ box_ge(BOX *box1, BOX *box2)
|
||||
double *
|
||||
box_area(BOX *box)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
*result = box_wd(box) * box_ht(box);
|
||||
|
||||
@ -615,7 +615,7 @@ box_area(BOX *box)
|
||||
double *
|
||||
box_width(BOX *box)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
*result = box->high.x - box->low.x;
|
||||
|
||||
@ -629,7 +629,7 @@ box_width(BOX *box)
|
||||
double *
|
||||
box_height(BOX *box)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
*result = box->high.y - box->low.y;
|
||||
|
||||
@ -643,7 +643,7 @@ box_height(BOX *box)
|
||||
double *
|
||||
box_distance(BOX *box1, BOX *box2)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
Point *a,
|
||||
*b;
|
||||
|
||||
@ -651,8 +651,8 @@ box_distance(BOX *box1, BOX *box2)
|
||||
b = box_center(box2);
|
||||
*result = HYPOT(a->x - b->x, a->y - b->y);
|
||||
|
||||
PFREE(a);
|
||||
PFREE(b);
|
||||
pfree(a);
|
||||
pfree(b);
|
||||
return (result);
|
||||
}
|
||||
|
||||
@ -662,7 +662,7 @@ box_distance(BOX *box1, BOX *box2)
|
||||
Point *
|
||||
box_center(BOX *box)
|
||||
{
|
||||
Point *result = PALLOCTYPE(Point);
|
||||
Point *result = palloc(sizeof(Point));
|
||||
|
||||
result->x = (box->high.x + box->low.x) / 2.0;
|
||||
result->y = (box->high.y + box->low.y) / 2.0;
|
||||
@ -715,8 +715,8 @@ box_dt(BOX *box1, BOX *box2)
|
||||
b = box_center(box2);
|
||||
result = HYPOT(a->x - b->x, a->y - b->y);
|
||||
|
||||
PFREE(a);
|
||||
PFREE(b);
|
||||
pfree(a);
|
||||
pfree(b);
|
||||
return (result);
|
||||
}
|
||||
|
||||
@ -738,7 +738,7 @@ box_intersect(BOX *box1, BOX *box2)
|
||||
if (!box_overlap(box1, box2))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(BOX);
|
||||
result = palloc(sizeof(BOX));
|
||||
|
||||
result->high.x = Min(box1->high.x, box2->high.x);
|
||||
result->low.x = Max(box1->low.x, box2->low.x);
|
||||
@ -785,7 +785,7 @@ box_diagonal(BOX *box)
|
||||
static LINE * /* point-slope */
|
||||
line_construct_pm(Point *pt, double m)
|
||||
{
|
||||
LINE *result = PALLOCTYPE(LINE);
|
||||
LINE *result = palloc(sizeof(LINE));
|
||||
|
||||
/* use "mx - y + yinter = 0" */
|
||||
result->A = m;
|
||||
@ -801,7 +801,7 @@ line_construct_pm(Point *pt, double m)
|
||||
static LINE * /* two points */
|
||||
line_construct_pp(Point *pt1, Point *pt2)
|
||||
{
|
||||
LINE *result = PALLOCTYPE(LINE);
|
||||
LINE *result = palloc(sizeof(LINE));
|
||||
|
||||
if (FPeq(pt1->x, pt2->x))
|
||||
{ /* vertical */
|
||||
@ -941,7 +941,7 @@ line_eq(LINE *l1, LINE *l2)
|
||||
double * /* distance between l1, l2 */
|
||||
line_distance(LINE *l1, LINE *l2)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
Point *tmp;
|
||||
|
||||
if (line_intersect(l1, l2))
|
||||
@ -955,7 +955,7 @@ line_distance(LINE *l1, LINE *l2)
|
||||
{
|
||||
tmp = point_construct(0.0, l1->C);
|
||||
result = dist_pl(tmp, l2);
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
}
|
||||
return (result);
|
||||
}
|
||||
@ -1075,7 +1075,7 @@ path_in(char *str)
|
||||
}
|
||||
|
||||
size = offsetof(PATH, p[0]) +(sizeof(path->p[0]) * npts);
|
||||
path = PALLOC(size);
|
||||
path = palloc(size);
|
||||
|
||||
path->size = size;
|
||||
path->npts = npts;
|
||||
@ -1208,7 +1208,7 @@ path_copy(PATH *path)
|
||||
int size;
|
||||
|
||||
size = offsetof(PATH, p[0]) +(sizeof(path->p[0]) * path->npts);
|
||||
result = PALLOC(size);
|
||||
result = palloc(size);
|
||||
|
||||
memmove((char *) result, (char *) path, size);
|
||||
return (result);
|
||||
@ -1295,12 +1295,12 @@ path_distance(PATH *p1, PATH *p2)
|
||||
if ((min == NULL) || (*min < *tmp))
|
||||
{
|
||||
if (min != NULL)
|
||||
PFREE(min);
|
||||
pfree(min);
|
||||
min = tmp;
|
||||
}
|
||||
else
|
||||
{
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1318,7 +1318,7 @@ path_length(PATH *path)
|
||||
double *result;
|
||||
int i;
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
|
||||
*result = 0;
|
||||
for (i = 0; i < (path->npts - 1); i++)
|
||||
@ -1372,7 +1372,7 @@ point_in(char *str)
|
||||
if (!pair_decode(str, &x, &y, &s) || (strlen(s) > 0))
|
||||
elog(ERROR, "Bad point external representation '%s'", str);
|
||||
|
||||
point = PALLOCTYPE(Point);
|
||||
point = palloc(sizeof(Point));
|
||||
|
||||
point->x = x;
|
||||
point->y = y;
|
||||
@ -1393,7 +1393,7 @@ point_out(Point *pt)
|
||||
static Point *
|
||||
point_construct(double x, double y)
|
||||
{
|
||||
Point *result = PALLOCTYPE(Point);
|
||||
Point *result = palloc(sizeof(Point));
|
||||
|
||||
result->x = x;
|
||||
result->y = y;
|
||||
@ -1409,7 +1409,7 @@ point_copy(Point *pt)
|
||||
if (!PointerIsValid(pt))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
|
||||
result->x = pt->x;
|
||||
result->y = pt->y;
|
||||
@ -1490,7 +1490,7 @@ pointdist(Point *p1, Point *p2)
|
||||
double *
|
||||
point_distance(Point *pt1, Point *pt2)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
*result = HYPOT(pt1->x - pt2->x, pt1->y - pt2->y);
|
||||
return (result);
|
||||
@ -1506,7 +1506,7 @@ point_dt(Point *pt1, Point *pt2)
|
||||
double *
|
||||
point_slope(Point *pt1, Point *pt2)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
if (point_vert(pt1, pt2))
|
||||
*result = (double) DBL_MAX;
|
||||
@ -1551,7 +1551,7 @@ lseg_in(char *str)
|
||||
if (!PointerIsValid(str))
|
||||
elog(ERROR, " Bad (null) lseg external representation", NULL);
|
||||
|
||||
lseg = PALLOCTYPE(LSEG);
|
||||
lseg = palloc(sizeof(LSEG));
|
||||
|
||||
if ((!path_decode(TRUE, 2, str, &isopen, &s, &(lseg->p[0])))
|
||||
|| (*s != '\0'))
|
||||
@ -1579,7 +1579,7 @@ lseg_out(LSEG *ls)
|
||||
LSEG *
|
||||
lseg_construct(Point *pt1, Point *pt2)
|
||||
{
|
||||
LSEG *result = PALLOCTYPE(LSEG);
|
||||
LSEG *result = palloc(sizeof(LSEG));
|
||||
|
||||
result->p[0].x = pt1->x;
|
||||
result->p[0].y = pt1->y;
|
||||
@ -1626,8 +1626,8 @@ lseg_intersect(LSEG *l1, LSEG *l2)
|
||||
else
|
||||
retval = FALSE;
|
||||
if (interpt != NULL)
|
||||
PFREE(interpt);
|
||||
PFREE(ln);
|
||||
pfree(interpt);
|
||||
pfree(ln);
|
||||
return (retval);
|
||||
}
|
||||
|
||||
@ -1692,7 +1692,7 @@ lseg_eq(LSEG *l1, LSEG *l2)
|
||||
double *
|
||||
lseg_distance(LSEG *l1, LSEG *l2)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
*result = lseg_dt(l1, l2);
|
||||
|
||||
@ -1711,20 +1711,20 @@ lseg_dt(LSEG *l1, LSEG *l2)
|
||||
|
||||
d = dist_ps(&l1->p[0], l2);
|
||||
result = *d;
|
||||
PFREE(d);
|
||||
pfree(d);
|
||||
d = dist_ps(&l1->p[1], l2);
|
||||
result = Min(result, *d);
|
||||
PFREE(d);
|
||||
pfree(d);
|
||||
#if FALSE
|
||||
/* XXX Why are we checking distances from all endpoints to the other segment?
|
||||
* One set of endpoints should be sufficient - tgl 97/07/03
|
||||
*/
|
||||
d = dist_ps(&l2->p[0], l1);
|
||||
result = Min(result, *d);
|
||||
PFREE(d);
|
||||
pfree(d);
|
||||
d = dist_ps(&l2->p[1], l1);
|
||||
result = Min(result, *d);
|
||||
PFREE(d);
|
||||
pfree(d);
|
||||
#endif
|
||||
|
||||
return (result);
|
||||
@ -1739,7 +1739,7 @@ lseg_center(LSEG *lseg)
|
||||
if (!PointerIsValid(lseg))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
|
||||
result->x = (lseg->p[0].x - lseg->p[1].x) / 2;
|
||||
result->y = (lseg->p[0].y - lseg->p[1].y) / 2;
|
||||
@ -1790,12 +1790,12 @@ lseg_interpt(LSEG *l1, LSEG *l2)
|
||||
}
|
||||
else
|
||||
{
|
||||
PFREE(result);
|
||||
pfree(result);
|
||||
result = NULL;
|
||||
}
|
||||
}
|
||||
PFREE(tmp1);
|
||||
PFREE(tmp2);
|
||||
pfree(tmp1);
|
||||
pfree(tmp2);
|
||||
|
||||
return (result);
|
||||
} /* lseg_interpt() */
|
||||
@ -1820,7 +1820,7 @@ lseg_interpt(LSEG *l1, LSEG *l2)
|
||||
double *
|
||||
dist_pl(Point *pt, LINE *line)
|
||||
{
|
||||
double *result = PALLOCTYPE(double);
|
||||
double *result = palloc(sizeof(double));
|
||||
|
||||
*result = (line->A * pt->x + line->B * pt->y + line->C) /
|
||||
HYPOT(line->A, line->B);
|
||||
@ -1886,12 +1886,12 @@ dist_ps(Point *pt, LSEG *lseg)
|
||||
tmpdist = point_distance(pt, &lseg->p[1]);
|
||||
if (*tmpdist < *result)
|
||||
*result = *tmpdist;
|
||||
PFREE(tmpdist);
|
||||
pfree(tmpdist);
|
||||
}
|
||||
|
||||
if (ip != NULL)
|
||||
PFREE(ip);
|
||||
PFREE(ln);
|
||||
pfree(ip);
|
||||
pfree(ln);
|
||||
return (result);
|
||||
}
|
||||
|
||||
@ -1925,14 +1925,14 @@ dist_ppath(Point *pt, PATH *path)
|
||||
* the distance from a point to a path is the smallest
|
||||
* distance from the point to any of its constituent segments.
|
||||
*/
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
for (i = 0; i < path->npts - 1; i++)
|
||||
{
|
||||
statlseg_construct(&lseg, &path->p[i], &path->p[i + 1]);
|
||||
tmp = dist_ps(pt, &lseg);
|
||||
if (i == 0 || *tmp < *result)
|
||||
*result = *tmp;
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1947,7 +1947,7 @@ dist_pb(Point *pt, BOX *box)
|
||||
|
||||
tmp = close_pb(pt, box);
|
||||
result = point_distance(tmp, pt);
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
|
||||
return (result);
|
||||
}
|
||||
@ -1961,7 +1961,7 @@ dist_sl(LSEG *lseg, LINE *line)
|
||||
|
||||
if (inter_sl(lseg, line))
|
||||
{
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = 0.0;
|
||||
|
||||
}
|
||||
@ -1971,12 +1971,12 @@ dist_sl(LSEG *lseg, LINE *line)
|
||||
d2 = dist_pl(&lseg->p[1], line);
|
||||
if (*d2 > *result)
|
||||
{
|
||||
PFREE(result);
|
||||
pfree(result);
|
||||
result = d2;
|
||||
}
|
||||
else
|
||||
{
|
||||
PFREE(d2);
|
||||
pfree(d2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1993,13 +1993,13 @@ dist_sb(LSEG *lseg, BOX *box)
|
||||
tmp = close_sb(lseg, box);
|
||||
if (tmp == NULL)
|
||||
{
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = dist_pb(tmp, box);
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
}
|
||||
|
||||
return (result);
|
||||
@ -2015,13 +2015,13 @@ dist_lb(LINE *line, BOX *box)
|
||||
tmp = close_lb(line, box);
|
||||
if (tmp == NULL)
|
||||
{
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = dist_pb(tmp, box);
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
}
|
||||
|
||||
return (result);
|
||||
@ -2044,7 +2044,7 @@ dist_cpoly(CIRCLE *circle, POLYGON *poly)
|
||||
#ifdef GEODEBUG
|
||||
printf("dist_cpoly- center inside of polygon\n");
|
||||
#endif
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
|
||||
*result = 0;
|
||||
return (result);
|
||||
@ -2073,7 +2073,7 @@ dist_cpoly(CIRCLE *circle, POLYGON *poly)
|
||||
#endif
|
||||
if (*d < *result)
|
||||
*result = *d;
|
||||
PFREE(d);
|
||||
pfree(d);
|
||||
}
|
||||
|
||||
*result -= circle->radius;
|
||||
@ -2119,12 +2119,12 @@ interpt_sl(LSEG *lseg, LINE *line)
|
||||
}
|
||||
else
|
||||
{
|
||||
PFREE(p);
|
||||
pfree(p);
|
||||
p = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
return (p);
|
||||
}
|
||||
|
||||
@ -2145,7 +2145,7 @@ close_pl(Point *pt, LINE *line)
|
||||
LINE *tmp;
|
||||
double invm;
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
#if FALSE
|
||||
if (FPeq(line->A, -1.0) && FPzero(line->B))
|
||||
{ /* vertical */
|
||||
@ -2264,8 +2264,8 @@ close_sl(LSEG *lseg, LINE *line)
|
||||
else
|
||||
result = point_copy(&lseg->p[1]);
|
||||
|
||||
PFREE(d1);
|
||||
PFREE(d2);
|
||||
pfree(d1);
|
||||
pfree(d2);
|
||||
return (result);
|
||||
}
|
||||
|
||||
@ -2469,7 +2469,7 @@ inter_sl(LSEG *lseg, LINE *line)
|
||||
tmp = interpt_sl(lseg, line);
|
||||
if (tmp)
|
||||
{
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
return (1);
|
||||
}
|
||||
return (0);
|
||||
@ -2559,7 +2559,7 @@ poly_in(char *str)
|
||||
elog(ERROR, "Bad polygon external representation '%s'", str);
|
||||
|
||||
size = offsetof(POLYGON, p[0]) +(sizeof(poly->p[0]) * npts);
|
||||
poly = PALLOC(size);
|
||||
poly = palloc(size);
|
||||
|
||||
MemSet((char *) poly, 0, size); /* zero any holes */
|
||||
poly->size = size;
|
||||
@ -2784,7 +2784,7 @@ poly_distance(POLYGON *polya, POLYGON *polyb)
|
||||
if (!PointerIsValid(polya) || !PointerIsValid(polyb))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
|
||||
*result = 0;
|
||||
|
||||
@ -2816,7 +2816,7 @@ point_add(Point *p1, Point *p2)
|
||||
if (!(PointerIsValid(p1) && PointerIsValid(p2)))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
|
||||
result->x = (p1->x + p2->x);
|
||||
result->y = (p1->y + p2->y);
|
||||
@ -2832,7 +2832,7 @@ point_sub(Point *p1, Point *p2)
|
||||
if (!(PointerIsValid(p1) && PointerIsValid(p2)))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
|
||||
result->x = (p1->x - p2->x);
|
||||
result->y = (p1->y - p2->y);
|
||||
@ -2848,7 +2848,7 @@ point_mul(Point *p1, Point *p2)
|
||||
if (!(PointerIsValid(p1) && PointerIsValid(p2)))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
|
||||
result->x = (p1->x * p2->x) - (p1->y * p2->y);
|
||||
result->y = (p1->x * p2->y) + (p1->y * p2->x);
|
||||
@ -2865,7 +2865,7 @@ point_div(Point *p1, Point *p2)
|
||||
if (!(PointerIsValid(p1) && PointerIsValid(p2)))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
|
||||
div = (p2->x * p2->x) + (p2->y * p2->y);
|
||||
|
||||
@ -2940,8 +2940,8 @@ box_mul(BOX *box, Point *p)
|
||||
low = point_mul(&box->low, p);
|
||||
|
||||
result = box_construct(high->x, low->x, high->y, low->y);
|
||||
PFREE(high);
|
||||
PFREE(low);
|
||||
pfree(high);
|
||||
pfree(low);
|
||||
|
||||
return (result);
|
||||
} /* box_mul() */
|
||||
@ -2960,8 +2960,8 @@ box_div(BOX *box, Point *p)
|
||||
low = point_div(&box->low, p);
|
||||
|
||||
result = box_construct(high->x, low->x, high->y, low->y);
|
||||
PFREE(high);
|
||||
PFREE(low);
|
||||
pfree(high);
|
||||
pfree(low);
|
||||
|
||||
return (result);
|
||||
} /* box_div() */
|
||||
@ -2998,7 +2998,7 @@ path_add(PATH *p1, PATH *p2)
|
||||
return (NULL);
|
||||
|
||||
size = offsetof(PATH, p[0]) +(sizeof(p1->p[0]) * (p1->npts + p2->npts));
|
||||
result = PALLOC(size);
|
||||
result = palloc(size);
|
||||
|
||||
result->size = size;
|
||||
result->npts = (p1->npts + p2->npts);
|
||||
@ -3082,7 +3082,7 @@ path_mul_pt(PATH *path, Point *point)
|
||||
p = point_mul(&path->p[i], point);
|
||||
result->p[i].x = p->x;
|
||||
result->p[i].y = p->y;
|
||||
PFREE(p);
|
||||
pfree(p);
|
||||
}
|
||||
|
||||
return (result);
|
||||
@ -3105,7 +3105,7 @@ path_div_pt(PATH *path, Point *point)
|
||||
p = point_div(&path->p[i], point);
|
||||
result->p[i].x = p->x;
|
||||
result->p[i].y = p->y;
|
||||
PFREE(p);
|
||||
pfree(p);
|
||||
}
|
||||
|
||||
return (result);
|
||||
@ -3141,7 +3141,7 @@ path_center(PATH *path)
|
||||
|
||||
elog(ERROR, "path_center not implemented", NULL);
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
result = NULL;
|
||||
|
||||
return (result);
|
||||
@ -3161,7 +3161,7 @@ path_poly(PATH *path)
|
||||
elog(ERROR, "Open path cannot be converted to polygon", NULL);
|
||||
|
||||
size = offsetof(POLYGON, p[0]) +(sizeof(poly->p[0]) * path->npts);
|
||||
poly = PALLOC(size);
|
||||
poly = palloc(size);
|
||||
|
||||
poly->size = size;
|
||||
poly->npts = path->npts;
|
||||
@ -3201,7 +3201,7 @@ upgradepath(PATH *path)
|
||||
|
||||
npts = (path->npts - 1);
|
||||
size = offsetof(PATH, p[0]) +(sizeof(path->p[0]) * npts);
|
||||
result = PALLOC(size);
|
||||
result = palloc(size);
|
||||
MemSet((char *) result, 0, size);
|
||||
|
||||
result->size = size;
|
||||
@ -3255,7 +3255,7 @@ poly_center(POLYGON *poly)
|
||||
if (PointerIsValid(circle = poly_circle(poly)))
|
||||
{
|
||||
result = circle_center(circle);
|
||||
PFREE(circle);
|
||||
pfree(circle);
|
||||
|
||||
}
|
||||
else
|
||||
@ -3295,7 +3295,7 @@ box_poly(BOX *box)
|
||||
|
||||
/* map four corners of the box to a polygon */
|
||||
size = offsetof(POLYGON, p[0]) +(sizeof(poly->p[0]) * 4);
|
||||
poly = PALLOC(size);
|
||||
poly = palloc(size);
|
||||
|
||||
poly->size = size;
|
||||
poly->npts = 4;
|
||||
@ -3326,7 +3326,7 @@ poly_path(POLYGON *poly)
|
||||
return (NULL);
|
||||
|
||||
size = offsetof(PATH, p[0]) +(sizeof(path->p[0]) * poly->npts);
|
||||
path = PALLOC(size);
|
||||
path = palloc(size);
|
||||
|
||||
path->size = size;
|
||||
path->npts = poly->npts;
|
||||
@ -3360,7 +3360,7 @@ upgradepoly(POLYGON *poly)
|
||||
return (NULL);
|
||||
|
||||
size = offsetof(POLYGON, p[0]) +(sizeof(poly->p[0]) * poly->npts);
|
||||
result = PALLOC(size);
|
||||
result = palloc(size);
|
||||
MemSet((char *) result, 0, size);
|
||||
|
||||
result->size = size;
|
||||
@ -3406,7 +3406,7 @@ revertpoly(POLYGON *poly)
|
||||
return (NULL);
|
||||
|
||||
size = offsetof(POLYGON, p[0]) +(sizeof(poly->p[0]) * poly->npts);
|
||||
result = PALLOC(size);
|
||||
result = palloc(size);
|
||||
MemSet((char *) result, 0, size);
|
||||
|
||||
result->size = size;
|
||||
@ -3465,7 +3465,7 @@ circle_in(char *str)
|
||||
if (!PointerIsValid(str))
|
||||
elog(ERROR, " Bad (null) circle external representation", NULL);
|
||||
|
||||
circle = PALLOCTYPE(CIRCLE);
|
||||
circle = palloc(sizeof(CIRCLE));
|
||||
|
||||
s = str;
|
||||
while (isspace(*s))
|
||||
@ -3526,7 +3526,7 @@ circle_out(CIRCLE *circle)
|
||||
if (!PointerIsValid(circle))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOC(3 * (P_MAXLEN + 1) + 3);
|
||||
result = palloc(3 * (P_MAXLEN + 1) + 3);
|
||||
|
||||
cp = result;
|
||||
*cp++ = LDELIM_C;
|
||||
@ -3694,7 +3694,7 @@ circle_copy(CIRCLE *circle)
|
||||
if (!PointerIsValid(circle))
|
||||
return NULL;
|
||||
|
||||
result = PALLOCTYPE(CIRCLE);
|
||||
result = palloc(sizeof(CIRCLE));
|
||||
|
||||
memmove((char *) result, (char *) circle, sizeof(CIRCLE));
|
||||
return (result);
|
||||
@ -3754,7 +3754,7 @@ circle_mul_pt(CIRCLE *circle, Point *point)
|
||||
p = point_mul(&circle->center, point);
|
||||
result->center.x = p->x;
|
||||
result->center.y = p->y;
|
||||
PFREE(p);
|
||||
pfree(p);
|
||||
result->radius *= HYPOT(point->x, point->y);
|
||||
|
||||
return (result);
|
||||
@ -3774,7 +3774,7 @@ circle_div_pt(CIRCLE *circle, Point *point)
|
||||
p = point_div(&circle->center, point);
|
||||
result->center.x = p->x;
|
||||
result->center.y = p->y;
|
||||
PFREE(p);
|
||||
pfree(p);
|
||||
result->radius /= HYPOT(point->x, point->y);
|
||||
|
||||
return (result);
|
||||
@ -3788,7 +3788,7 @@ circle_area(CIRCLE *circle)
|
||||
{
|
||||
double *result;
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = circle_ar(circle);
|
||||
|
||||
return (result);
|
||||
@ -3802,7 +3802,7 @@ circle_diameter(CIRCLE *circle)
|
||||
{
|
||||
double *result;
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = (2 * circle->radius);
|
||||
|
||||
return (result);
|
||||
@ -3816,7 +3816,7 @@ circle_radius(CIRCLE *circle)
|
||||
{
|
||||
double *result;
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = circle->radius;
|
||||
|
||||
return (result);
|
||||
@ -3831,7 +3831,7 @@ circle_distance(CIRCLE *circle1, CIRCLE *circle2)
|
||||
{
|
||||
double *result;
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = (point_dt(&circle1->center, &circle2->center)
|
||||
- (circle1->radius + circle2->radius));
|
||||
if (*result < 0)
|
||||
@ -3852,7 +3852,7 @@ circle_contain_pt(CIRCLE *circle, Point *point)
|
||||
|
||||
d = point_distance(&(circle->center), point);
|
||||
within = (*d <= circle->radius);
|
||||
PFREE(d);
|
||||
pfree(d);
|
||||
|
||||
return (within);
|
||||
} /* circle_contain_pt() */
|
||||
@ -3873,7 +3873,7 @@ dist_pc(Point *point, CIRCLE *circle)
|
||||
{
|
||||
double *result;
|
||||
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
|
||||
*result = (point_dt(point, &circle->center) - circle->radius);
|
||||
if (*result < 0)
|
||||
@ -3890,7 +3890,7 @@ circle_center(CIRCLE *circle)
|
||||
{
|
||||
Point *result;
|
||||
|
||||
result = PALLOCTYPE(Point);
|
||||
result = palloc(sizeof(Point));
|
||||
result->x = circle->center.x;
|
||||
result->y = circle->center.y;
|
||||
|
||||
@ -3935,7 +3935,7 @@ circle(Point *center, float8 *radius)
|
||||
if (!(PointerIsValid(center) && PointerIsValid(radius)))
|
||||
return (NULL);
|
||||
|
||||
result = PALLOCTYPE(CIRCLE);
|
||||
result = palloc(sizeof(CIRCLE));
|
||||
|
||||
result->center.x = center->x;
|
||||
result->center.y = center->y;
|
||||
@ -3954,7 +3954,7 @@ circle_box(CIRCLE *circle)
|
||||
if (!PointerIsValid(circle))
|
||||
return (NULL);
|
||||
|
||||
box = PALLOCTYPE(BOX);
|
||||
box = palloc(sizeof(BOX));
|
||||
|
||||
delta = circle->radius / sqrt(2.0e0);
|
||||
|
||||
@ -3977,7 +3977,7 @@ box_circle(BOX *box)
|
||||
if (!PointerIsValid(box))
|
||||
return (NULL);
|
||||
|
||||
circle = PALLOCTYPE(CIRCLE);
|
||||
circle = palloc(sizeof(CIRCLE));
|
||||
|
||||
circle->center.x = (box->high.x + box->low.x) / 2;
|
||||
circle->center.y = (box->high.y + box->low.y) / 2;
|
||||
@ -4003,7 +4003,7 @@ circle_poly(int npts, CIRCLE *circle)
|
||||
elog(ERROR, "Unable to convert circle to polygon", NULL);
|
||||
|
||||
size = offsetof(POLYGON, p[0]) +(sizeof(poly->p[0]) * npts);
|
||||
poly = PALLOC(size);
|
||||
poly = palloc(size);
|
||||
|
||||
MemSet((char *) poly, 0, size); /* zero any holes */
|
||||
poly->size = size;
|
||||
@ -4038,7 +4038,7 @@ poly_circle(POLYGON *poly)
|
||||
if (poly->npts < 2)
|
||||
elog(ERROR, "Unable to convert polygon to circle", NULL);
|
||||
|
||||
circle = PALLOCTYPE(CIRCLE);
|
||||
circle = palloc(sizeof(CIRCLE));
|
||||
|
||||
circle->center.x = 0;
|
||||
circle->center.y = 0;
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/int.c,v 1.12 1998/01/05 16:40:06 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/int.c,v 1.13 1998/01/07 18:46:49 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -250,12 +250,12 @@ int2_text(int16 arg1)
|
||||
str = int2out(arg1);
|
||||
len = (strlen(str) + VARHDRSZ);
|
||||
|
||||
result = PALLOC(len);
|
||||
result = palloc(len);
|
||||
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), str, (len - VARHDRSZ));
|
||||
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return(result);
|
||||
} /* int2_text() */
|
||||
@ -270,12 +270,12 @@ text_int2(text *string)
|
||||
|
||||
len = (VARSIZE(string) - VARHDRSZ);
|
||||
|
||||
str = PALLOC(len+1);
|
||||
str = palloc(len+1);
|
||||
memmove(str, VARDATA(string), len);
|
||||
*(str+len) = '\0';
|
||||
|
||||
result = int2in(str);
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return(result);
|
||||
} /* text_int2() */
|
||||
@ -291,12 +291,12 @@ int4_text(int32 arg1)
|
||||
str = int4out(arg1);
|
||||
len = (strlen(str) + VARHDRSZ);
|
||||
|
||||
result = PALLOC(len);
|
||||
result = palloc(len);
|
||||
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), str, (len - VARHDRSZ));
|
||||
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return(result);
|
||||
} /* int4_text() */
|
||||
@ -311,12 +311,12 @@ text_int4(text *string)
|
||||
|
||||
len = (VARSIZE(string) - VARHDRSZ);
|
||||
|
||||
str = PALLOC(len+1);
|
||||
str = palloc(len+1);
|
||||
memmove(str, VARDATA(string), len);
|
||||
*(str+len) = '\0';
|
||||
|
||||
result = int4in(str);
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return(result);
|
||||
} /* text_int4() */
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.38 1998/01/05 16:40:07 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/nabstime.c,v 1.39 1998/01/07 18:46:50 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -345,7 +345,7 @@ nabstimeout(AbsoluteTime time)
|
||||
break;
|
||||
}
|
||||
|
||||
result = PALLOC(strlen(buf) + 1);
|
||||
result = palloc(strlen(buf) + 1);
|
||||
strcpy(result, buf);
|
||||
|
||||
return (result);
|
||||
@ -546,7 +546,7 @@ abstime_datetime(AbsoluteTime abstime)
|
||||
{
|
||||
DateTime *result;
|
||||
|
||||
if (!PointerIsValid(result = PALLOCTYPE(DateTime)))
|
||||
if (!PointerIsValid(result = palloc(sizeof(DateTime))))
|
||||
elog(ERROR, "Unable to allocate space to convert abstime to datetime", NULL);
|
||||
|
||||
switch (abstime)
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.12 1997/10/25 05:21:54 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/oid.c,v 1.13 1998/01/07 18:46:50 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -150,11 +150,11 @@ oid_text(Oid oid)
|
||||
str = oidout(oid);
|
||||
len = (strlen(str) + VARHDRSZ);
|
||||
|
||||
result = PALLOC(len);
|
||||
result = palloc(len);
|
||||
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), str, (len-VARHDRSZ));
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return(result);
|
||||
} /* oid_text() */
|
||||
@ -169,12 +169,12 @@ text_oid(text *string)
|
||||
|
||||
len = (VARSIZE(string) - VARHDRSZ);
|
||||
|
||||
str = PALLOC(len+1);
|
||||
str = palloc(len+1);
|
||||
memmove(str, VARDATA(string), len);
|
||||
*(str+len) = '\0';
|
||||
|
||||
result = oidin(str);
|
||||
PFREE(str);
|
||||
pfree(str);
|
||||
|
||||
return(result);
|
||||
} /* oid_text() */
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.16 1998/01/05 16:40:18 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.17 1998/01/07 18:46:52 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -70,16 +70,14 @@ bpcharin(char *s, int dummy, int typlen)
|
||||
typlen = len + VARHDRSZ;
|
||||
}
|
||||
else
|
||||
{
|
||||
len = typlen - VARHDRSZ;
|
||||
}
|
||||
|
||||
if (len > 4096)
|
||||
elog(ERROR, "bpcharin: length of char() must be less than 4096");
|
||||
|
||||
result = (char *) palloc(typlen);
|
||||
*(int32 *) result = typlen;
|
||||
r = result + VARHDRSZ;
|
||||
VARSIZE(result) = typlen;
|
||||
r = VARDATA(result);
|
||||
for (i = 0; i < len; i++, r++, s++)
|
||||
{
|
||||
*r = *s;
|
||||
@ -108,9 +106,9 @@ bpcharout(char *s)
|
||||
}
|
||||
else
|
||||
{
|
||||
len = *(int32 *) s - VARHDRSZ;
|
||||
len = VARSIZE(s) - VARHDRSZ;
|
||||
result = (char *) palloc(len + 1);
|
||||
StrNCpy(result, s + VARHDRSZ, len+1); /* these are blank-padded */
|
||||
StrNCpy(result, VARDATA(s), len+1); /* these are blank-padded */
|
||||
}
|
||||
return (result);
|
||||
}
|
||||
@ -129,27 +127,21 @@ char *
|
||||
varcharin(char *s, int dummy, int typlen)
|
||||
{
|
||||
char *result;
|
||||
int len = typlen - VARHDRSZ;
|
||||
int len;
|
||||
|
||||
if (s == NULL)
|
||||
return ((char *) NULL);
|
||||
|
||||
if (typlen == -1)
|
||||
{
|
||||
|
||||
/*
|
||||
* this is here because some functions can't supply the typlen
|
||||
*/
|
||||
len = strlen(s);
|
||||
typlen = len + VARHDRSZ;
|
||||
}
|
||||
len = strlen(s) + VARHDRSZ;
|
||||
if (typlen != -1 && len > typlen)
|
||||
len = typlen; /* clip the string at max length */
|
||||
|
||||
if (len > 4096)
|
||||
elog(ERROR, "varcharin: length of char() must be less than 4096");
|
||||
|
||||
result = (char *) palloc(typlen);
|
||||
*(int32 *) result = typlen;
|
||||
strncpy(result + VARHDRSZ, s, len+1);
|
||||
result = (char *) palloc(len);
|
||||
VARSIZE(result) = len;
|
||||
memmove(VARDATA(result), s, len - VARHDRSZ);
|
||||
|
||||
return (result);
|
||||
}
|
||||
@ -168,9 +160,9 @@ varcharout(char *s)
|
||||
}
|
||||
else
|
||||
{
|
||||
len = *(int32 *) s - VARHDRSZ;
|
||||
len = VARSIZE(s) - VARHDRSZ;
|
||||
result = (char *) palloc(len + 1);
|
||||
StrNCpy(result, s + VARHDRSZ, len+1);
|
||||
StrNCpy(result, VARDATA(s), len+1);
|
||||
}
|
||||
return (result);
|
||||
}
|
||||
@ -182,11 +174,11 @@ varcharout(char *s)
|
||||
static int
|
||||
bcTruelen(char *arg)
|
||||
{
|
||||
char *s = arg + VARHDRSZ;
|
||||
char *s = VARDATA(arg);
|
||||
int i;
|
||||
int len;
|
||||
|
||||
len = *(int32 *) arg - VARHDRSZ;
|
||||
len = VARSIZE(arg) - VARHDRSZ;
|
||||
for (i = len - 1; i >= 0; i--)
|
||||
{
|
||||
if (s[i] != ' ')
|
||||
@ -218,7 +210,7 @@ bpchareq(char *arg1, char *arg2)
|
||||
if (len1 != len2)
|
||||
return 0;
|
||||
|
||||
return (strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, len1) == 0);
|
||||
return (strncmp(VARDATA(arg1), VARDATA(arg2), len1) == 0);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -235,7 +227,7 @@ bpcharne(char *arg1, char *arg2)
|
||||
if (len1 != len2)
|
||||
return 1;
|
||||
|
||||
return (strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, len1) != 0);
|
||||
return (strncmp(VARDATA(arg1), VARDATA(arg2), len1) != 0);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -250,7 +242,7 @@ bpcharlt(char *arg1, char *arg2)
|
||||
len1 = bcTruelen(arg1);
|
||||
len2 = bcTruelen(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (cmp == 0)
|
||||
return (len1 < len2);
|
||||
else
|
||||
@ -269,7 +261,7 @@ bpcharle(char *arg1, char *arg2)
|
||||
len1 = bcTruelen(arg1);
|
||||
len2 = bcTruelen(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (0 == cmp)
|
||||
return (bool) (len1 <= len2 ? 1 : 0);
|
||||
else
|
||||
@ -288,7 +280,7 @@ bpchargt(char *arg1, char *arg2)
|
||||
len1 = bcTruelen(arg1);
|
||||
len2 = bcTruelen(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (cmp == 0)
|
||||
return (len1 > len2);
|
||||
else
|
||||
@ -307,7 +299,7 @@ bpcharge(char *arg1, char *arg2)
|
||||
len1 = bcTruelen(arg1);
|
||||
len2 = bcTruelen(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (0 == cmp)
|
||||
return (bool) (len1 >= len2 ? 1 : 0);
|
||||
else
|
||||
@ -324,7 +316,7 @@ bpcharcmp(char *arg1, char *arg2)
|
||||
len1 = bcTruelen(arg1);
|
||||
len2 = bcTruelen(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if ((0 == cmp) && (len1 != len2))
|
||||
return (int32) (len1 < len2 ? -1 : 1);
|
||||
else
|
||||
@ -335,30 +327,14 @@ bpcharcmp(char *arg1, char *arg2)
|
||||
* Comparison Functions used for varchar
|
||||
*****************************************************************************/
|
||||
|
||||
static int
|
||||
vcTruelen(char *arg)
|
||||
{
|
||||
char *s = arg + VARHDRSZ;
|
||||
int i;
|
||||
int len;
|
||||
|
||||
len = *(int32 *) arg - VARHDRSZ;
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
if (*s++ == '\0')
|
||||
break;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
int32
|
||||
varcharlen(char *arg)
|
||||
{
|
||||
if (!PointerIsValid(arg))
|
||||
elog(ERROR, "Bad (null) varchar() external representation", NULL);
|
||||
|
||||
return(vcTruelen(arg));
|
||||
} /* vclen() */
|
||||
return VARSIZE(arg);
|
||||
}
|
||||
|
||||
bool
|
||||
varchareq(char *arg1, char *arg2)
|
||||
@ -368,13 +344,13 @@ varchareq(char *arg1, char *arg2)
|
||||
|
||||
if (arg1 == NULL || arg2 == NULL)
|
||||
return ((bool) 0);
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
|
||||
if (len1 != len2)
|
||||
return 0;
|
||||
|
||||
return (strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, len1) == 0);
|
||||
return (strncmp(VARDATA(arg1), VARDATA(arg2), len1) == 0);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -385,13 +361,13 @@ varcharne(char *arg1, char *arg2)
|
||||
|
||||
if (arg1 == NULL || arg2 == NULL)
|
||||
return ((bool) 0);
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
|
||||
if (len1 != len2)
|
||||
return 1;
|
||||
|
||||
return (strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, len1) != 0);
|
||||
return (strncmp(VARDATA(arg1), VARDATA(arg2), len1) != 0);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -403,10 +379,10 @@ varcharlt(char *arg1, char *arg2)
|
||||
|
||||
if (arg1 == NULL || arg2 == NULL)
|
||||
return ((bool) 0);
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (cmp == 0)
|
||||
return (len1 < len2);
|
||||
else
|
||||
@ -422,10 +398,10 @@ varcharle(char *arg1, char *arg2)
|
||||
|
||||
if (arg1 == NULL || arg2 == NULL)
|
||||
return ((bool) 0);
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (0 == cmp)
|
||||
return (bool) (len1 <= len2 ? 1 : 0);
|
||||
else
|
||||
@ -441,10 +417,10 @@ varchargt(char *arg1, char *arg2)
|
||||
|
||||
if (arg1 == NULL || arg2 == NULL)
|
||||
return ((bool) 0);
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (cmp == 0)
|
||||
return (len1 > len2);
|
||||
else
|
||||
@ -460,10 +436,10 @@ varcharge(char *arg1, char *arg2)
|
||||
|
||||
if (arg1 == NULL || arg2 == NULL)
|
||||
return ((bool) 0);
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
|
||||
cmp = strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2));
|
||||
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
|
||||
if (0 == cmp)
|
||||
return (bool) (len1 >= len2 ? 1 : 0);
|
||||
else
|
||||
@ -478,9 +454,9 @@ varcharcmp(char *arg1, char *arg2)
|
||||
len2;
|
||||
int cmp;
|
||||
|
||||
len1 = vcTruelen(arg1);
|
||||
len2 = vcTruelen(arg2);
|
||||
cmp = (strncmp(arg1 + VARHDRSZ, arg2 + VARHDRSZ, Min(len1, len2)));
|
||||
len1 = VARSIZE(arg1);
|
||||
len2 = VARSIZE(arg2);
|
||||
cmp = (strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)));
|
||||
if ((0 == cmp) && (len1 != len2))
|
||||
return (int32) (len1 < len2 ? -1 : 1);
|
||||
else
|
||||
@ -544,7 +520,7 @@ hashvarchar(struct varlena * key)
|
||||
int loop;
|
||||
|
||||
keydata = VARDATA(key);
|
||||
keylen = vcTruelen((char *) key);
|
||||
keylen = VARSIZE((char *) key);
|
||||
|
||||
#define HASHC n = *keydata++ + 65599 * n
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.28 1998/01/05 16:40:20 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.29 1998/01/07 18:46:54 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -236,7 +236,7 @@ textcat(text *t1, text *t2)
|
||||
while (len2 > 0 && VARDATA(t2)[len2 - 1] == '\0')
|
||||
len2--;
|
||||
|
||||
result = PALLOC(len = len1 + len2 + VARHDRSZ);
|
||||
result = palloc(len = len1 + len2 + VARHDRSZ);
|
||||
|
||||
/* Fill data field of result string... */
|
||||
ptr = VARDATA(result);
|
||||
@ -293,7 +293,7 @@ text_substr(text *string, int32 m, int32 n)
|
||||
n = (len-m);
|
||||
}
|
||||
|
||||
ret = (text *) PALLOC(VARHDRSZ + n);
|
||||
ret = (text *) palloc(VARHDRSZ + n);
|
||||
VARSIZE(ret) = VARHDRSZ + n;
|
||||
|
||||
memcpy(VARDATA(ret), VARDATA(string)+m, n);
|
||||
|
@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: geo_decls.h,v 1.15 1997/09/25 16:52:23 momjian Exp $
|
||||
* $Id: geo_decls.h,v 1.16 1998/01/07 18:46:59 momjian Exp $
|
||||
*
|
||||
* NOTE
|
||||
* These routines do *not* use the float types from adt/.
|
||||
@ -21,8 +21,6 @@
|
||||
|
||||
#include "access/attnum.h"
|
||||
|
||||
/*#ifndef FmgrIncluded -- seems like always included. (it's FMgrIncluded) AY */
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
* Useful floating point utilities and constants.
|
||||
*-------------------------------------------------------------------*/
|
||||
@ -50,16 +48,6 @@
|
||||
|
||||
#define HYPOT(A, B) sqrt((A) * (A) + (B) * (B))
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
* Memory management.
|
||||
*-------------------------------------------------------------------*/
|
||||
|
||||
#define PALLOC(SIZE) palloc(SIZE)
|
||||
#define PFREE(P) pfree(P)
|
||||
#define PALLOCTYPE(TYPE) (TYPE *) PALLOC(sizeof(TYPE))
|
||||
|
||||
/*#endif !FmgrIncluded */
|
||||
|
||||
/*---------------------------------------------------------------------
|
||||
* Point - (x,y)
|
||||
*-------------------------------------------------------------------*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Header: /cvsroot/pgsql/src/test/regress/regress.c,v 1.20 1998/01/06 19:24:52 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/test/regress/regress.c,v 1.21 1998/01/07 18:47:07 momjian Exp $
|
||||
*/
|
||||
|
||||
#include <float.h> /* faked on sunos */
|
||||
@ -43,7 +43,7 @@ PATH *path;
|
||||
switch (path->npts)
|
||||
{
|
||||
case 0:
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
*result = Abs((double) DBL_MAX); /* +infinity */
|
||||
break;
|
||||
case 1:
|
||||
@ -56,14 +56,14 @@ PATH *path;
|
||||
* distance from the point to any of its constituent segments.
|
||||
*/
|
||||
Assert(path->npts > 1);
|
||||
result = PALLOCTYPE(double);
|
||||
result = palloc(sizeof(double));
|
||||
for (i = 0; i < path->npts - 1; ++i)
|
||||
{
|
||||
regress_lseg_construct(&lseg, &path->p[i], &path->p[i + 1]);
|
||||
tmp = dist_ps(pt, &lseg);
|
||||
if (i == 0 || *tmp < *result)
|
||||
*result = *tmp;
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
|
||||
}
|
||||
break;
|
||||
@ -97,7 +97,7 @@ PATH *p2;
|
||||
|
||||
if (*min < *(tmp = lseg_distance(&seg1, &seg2)))
|
||||
*min = *tmp;
|
||||
PFREE(tmp);
|
||||
pfree(tmp);
|
||||
}
|
||||
|
||||
return (min);
|
||||
@ -108,7 +108,7 @@ poly2path(poly)
|
||||
POLYGON *poly;
|
||||
{
|
||||
int i;
|
||||
char *output = (char *) PALLOC(2 * (P_MAXDIG + 1) * poly->npts + 64);
|
||||
char *output = (char *) palloc(2 * (P_MAXDIG + 1) * poly->npts + 64);
|
||||
char buf[2 * (P_MAXDIG) + 20];
|
||||
|
||||
sprintf(output, "(1, %*d", P_MAXDIG, poly->npts);
|
||||
|
Loading…
x
Reference in New Issue
Block a user