Skip to content

Commit 407cd4e

Browse files
author
Thomas G. Lockhart
committed
Add a few type conversion functions.
Pass an additional argument for date/time formatting to better handle timezones.
1 parent 64d9b50 commit 407cd4e

File tree

2 files changed

+37
-29
lines changed

2 files changed

+37
-29
lines changed

src/include/utils/builtins.h

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*
77
* Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Id: builtins.h,v 1.16 1997/04/27 19:24:13 thomas Exp $
9+
* $Id: builtins.h,v 1.17 1997/05/11 15:13:47 thomas Exp $
1010
*
1111
* NOTES
1212
* This should normally only be included by fmgr.h.
@@ -290,20 +290,28 @@ extern float64 float8mi(float64 arg1, float64 arg2);
290290
extern float64 float8mul(float64 arg1, float64 arg2);
291291
extern float64 float8div(float64 arg1, float64 arg2);
292292
extern float64 float8inc(float64 arg1);
293-
extern long float4eq(float32 arg1, float32 arg2);
294-
extern long float4ne(float32 arg1, float32 arg2);
295-
extern long float4lt(float32 arg1, float32 arg2);
296-
extern long float4le(float32 arg1, float32 arg2);
297-
extern long float4gt(float32 arg1, float32 arg2);
298-
extern long float4ge(float32 arg1, float32 arg2);
299-
extern long float8eq(float64 arg1, float64 arg2);
300-
extern long float8ne(float64 arg1, float64 arg2);
301-
extern long float8lt(float64 arg1, float64 arg2);
302-
extern long float8le(float64 arg1, float64 arg2);
303-
extern long float8gt(float64 arg1, float64 arg2);
304-
extern long float8ge(float64 arg1, float64 arg2);
293+
extern bool float4eq(float32 arg1, float32 arg2);
294+
extern bool float4ne(float32 arg1, float32 arg2);
295+
extern bool float4lt(float32 arg1, float32 arg2);
296+
extern bool float4le(float32 arg1, float32 arg2);
297+
extern bool float4gt(float32 arg1, float32 arg2);
298+
extern bool float4ge(float32 arg1, float32 arg2);
299+
extern bool float8eq(float64 arg1, float64 arg2);
300+
extern bool float8ne(float64 arg1, float64 arg2);
301+
extern bool float8lt(float64 arg1, float64 arg2);
302+
extern bool float8le(float64 arg1, float64 arg2);
303+
extern bool float8gt(float64 arg1, float64 arg2);
304+
extern bool float8ge(float64 arg1, float64 arg2);
305305
extern float64 ftod(float32 num);
306+
extern float64 itod(int32 num);
307+
extern float64 i2tod(int16 num);
306308
extern float32 dtof(float64 num);
309+
extern int32 dtoi(float64 num);
310+
extern int16 dtoi2(float64 num);
311+
extern float32 itof(int32 num);
312+
extern float32 i2tof(int16 num);
313+
extern int32 ftoi(float32 num);
314+
extern int16 ftoi2(float32 num);
307315
extern float64 dround(float64 arg1);
308316
extern float64 dtrunc(float64 arg1);
309317
extern float64 dsqrt(float64 arg1);
@@ -319,18 +327,18 @@ extern float64 float84pl(float64 arg1, float32 arg2);
319327
extern float64 float84mi(float64 arg1, float32 arg2);
320328
extern float64 float84mul(float64 arg1, float32 arg2);
321329
extern float64 float84div(float64 arg1, float32 arg2);
322-
extern long float48eq(float32 arg1, float64 arg2);
323-
extern long float48ne(float32 arg1, float64 arg2);
324-
extern long float48lt(float32 arg1, float64 arg2);
325-
extern long float48le(float32 arg1, float64 arg2);
326-
extern long float48gt(float32 arg1, float64 arg2);
327-
extern long float48ge(float32 arg1, float64 arg2);
328-
extern long float84eq(float64 arg1, float32 arg2);
329-
extern long float84ne(float64 arg1, float32 arg2);
330-
extern long float84lt(float64 arg1, float32 arg2);
331-
extern long float84le(float64 arg1, float32 arg2);
332-
extern long float84gt(float64 arg1, float32 arg2);
333-
extern long float84ge(float64 arg1, float32 arg2);
330+
extern bool float48eq(float32 arg1, float64 arg2);
331+
extern bool float48ne(float32 arg1, float64 arg2);
332+
extern bool float48lt(float32 arg1, float64 arg2);
333+
extern bool float48le(float32 arg1, float64 arg2);
334+
extern bool float48gt(float32 arg1, float64 arg2);
335+
extern bool float48ge(float32 arg1, float64 arg2);
336+
extern bool float84eq(float64 arg1, float32 arg2);
337+
extern bool float84ne(float64 arg1, float32 arg2);
338+
extern bool float84lt(float64 arg1, float32 arg2);
339+
extern bool float84le(float64 arg1, float32 arg2);
340+
extern bool float84gt(float64 arg1, float32 arg2);
341+
extern bool float84ge(float64 arg1, float32 arg2);
334342

335343
/* geo_ops.c, geo_selfuncs.c */
336344

src/include/utils/dt.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
* Copyright (c) 1994, Regents of the University of California
1010
*
11-
* $Id: dt.h,v 1.7 1997/04/27 19:24:16 thomas Exp $
11+
* $Id: dt.h,v 1.8 1997/05/11 15:13:49 thomas Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -287,8 +287,8 @@ extern DateTime *datetime_sub_span(DateTime *dt, TimeSpan *span);
287287

288288
extern void GetCurrentTime(struct tm *tm);
289289
extern DateTime SetDateTime(DateTime datetime);
290-
extern DateTime tm2datetime(struct tm *tm, double fsec, int *tzp);
291-
extern int datetime2tm( DateTime dt, int *tzp, struct tm *tm, double *fsec);
290+
extern int tm2datetime(struct tm *tm, double fsec, int *tzp, DateTime *dt);
291+
extern int datetime2tm( DateTime dt, int *tzp, struct tm *tm, double *fsec, char **tzn);
292292

293293
extern int timespan2tm(TimeSpan span, struct tm *tm, float8 *fsec);
294294
extern int tm2timespan(struct tm *tm, double fsec, TimeSpan *span);
@@ -323,7 +323,7 @@ extern int DecodeDateDelta( char *field[], int ftype[],
323323
extern int DecodeUnits(int field, char *lowtoken, int *val);
324324

325325
extern int EncodeSpecialDateTime(DateTime dt, char *str);
326-
extern int EncodeDateTime(struct tm *tm, double fsec, int *tzp, int style, char *str);
326+
extern int EncodeDateTime(struct tm *tm, double fsec, int *tzp, char **tzn, int style, char *str);
327327
extern int EncodeTimeSpan(struct tm *tm, double fsec, int style, char *str);
328328

329329
extern datetkn *datebsearch(char *key, datetkn *base, unsigned int nel);

0 commit comments

Comments
 (0)