diff options
| author | Thomas G. Lockhart <lockhart@fourpalms.org> | 2000-04-07 13:40:45 +0000 |
|---|---|---|
| committer | Thomas G. Lockhart <lockhart@fourpalms.org> | 2000-04-07 13:40:45 +0000 |
| commit | a349733bbbeaca5aa5b0b3520963b01a455c9ff8 (patch) | |
| tree | 75b3222de81890c5fafb91eee0b0f920716d6df4 /src/include | |
| parent | 1b992b468bc5fef62f5a1470f382c70311e9d162 (diff) | |
| download | postgresql-a349733bbbeaca5aa5b0b3520963b01a455c9ff8.tar.gz | |
Add transcendental math functions (sine, cosine, etc)
Add a random number generator and seed setter (random(), SET SEED)
Fix up the interval*float8 math to carry partial months
into the time field.
Add float8*interval so we have symmetry in the available math.
Fix the parser and define.c to accept SQL92 types as field arguments.
Fix the parser to accept SQL92 types for CREATE TYPE, etc. This is
necessary to allow...
Bit/varbit support in contrib/bit cleaned up to compile and load
cleanly. Still needs some work before final release.
Implement the "SOME" keyword as a synonym for "ANY" per SQL92.
Implement ascii(text), ichar(int4), repeat(text,int4) to help
support the ODBC driver.
Enable the TRUNCATE() function mapping in the ODBC driver.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/catalog/catversion.h | 4 | ||||
| -rw-r--r-- | src/include/catalog/pg_operator.h | 4 | ||||
| -rw-r--r-- | src/include/catalog/pg_proc.h | 54 | ||||
| -rw-r--r-- | src/include/utils/builtins.h | 20 | ||||
| -rw-r--r-- | src/include/utils/timestamp.h | 6 |
5 files changed, 74 insertions, 14 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 3d302be9d7..5af11daa5b 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -37,7 +37,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: catversion.h,v 1.18 2000/03/14 23:06:42 thomas Exp $ + * $Id: catversion.h,v 1.19 2000/04/07 13:39:49 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 200003141 +#define CATALOG_VERSION_NO 200004051 #endif diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h index 571f480ce2..0189184cfc 100644 --- a/src/include/catalog/pg_operator.h +++ b/src/include/catalog/pg_operator.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pg_operator.h,v 1.72 2000/03/14 23:06:43 thomas Exp $ + * $Id: pg_operator.h,v 1.73 2000/04/07 13:39:49 thomas Exp $ * * NOTES * the genbki.sh script reads this file and generates .bki @@ -641,6 +641,8 @@ DATA(insert OID = 1567 ( "##" PGUID 0 b t f 601 603 600 0 0 0 0 close_s DATA(insert OID = 1568 ( "##" PGUID 0 b t f 628 603 600 0 0 0 0 close_lb - - )); DATA(insert OID = 1577 ( "##" PGUID 0 b t f 628 601 600 0 0 0 0 close_ls - - )); DATA(insert OID = 1578 ( "##" PGUID 0 b t f 601 601 600 0 0 0 0 close_lseg - - )); +DATA(insert OID = 1583 ( "*" PGUID 0 b t f 1186 701 1186 0 0 0 0 interval_mul - - )); +DATA(insert OID = 1584 ( "*" PGUID 0 b t f 701 1186 1186 0 0 0 0 mul_d_interval - - )); DATA(insert OID = 1585 ( "/" PGUID 0 b t f 1186 701 1186 0 0 0 0 interval_div - - )); DATA(insert OID = 1586 ( "<>" PGUID 0 b t f 601 601 16 1586 1535 0 0 lseg_ne neqsel neqjoinsel )); diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h index be1e38f594..24fa3f7325 100644 --- a/src/include/catalog/pg_proc.h +++ b/src/include/catalog/pg_proc.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: pg_proc.h,v 1.129 2000/03/24 02:41:44 tgl Exp $ + * $Id: pg_proc.h,v 1.130 2000/04/07 13:39:49 thomas Exp $ * * NOTES * The script catalog/genbki.sh reads this file and generates .bki @@ -489,7 +489,6 @@ DATA(insert OID = 233 ( dexp PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dex DESCR("natural exponential (e^x)"); DATA(insert OID = 234 ( dlog1 PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dlog1 - )); DESCR("natural logarithm"); - DATA(insert OID = 235 ( float8 PGUID 11 f t t 1 f 701 "21" 100 0 0 100 i2tod - )); DESCR("convert int2 to float8"); DATA(insert OID = 236 ( float4 PGUID 11 f t t 1 f 700 "21" 100 0 0 100 i2tof - )); @@ -1993,19 +1992,58 @@ DATA(insert OID = 1572 ( notlike PGUID 11 f t t 2 f 16 "19 25" 100 0 0 100 n DESCR("does not match LIKE expression"); /* SEQUENCEs nextval & currval functions */ -DATA(insert OID = 1574 ( nextval PGUID 11 f t f 1 f 23 "25" 100 0 0 100 nextval - )); +DATA(insert OID = 1574 ( nextval PGUID 11 f t f 1 f 23 "25" 100 0 0 100 nextval - )); DESCR("sequence next value"); -DATA(insert OID = 1575 ( currval PGUID 11 f t f 1 f 23 "25" 100 0 0 100 currval - )); +DATA(insert OID = 1575 ( currval PGUID 11 f t f 1 f 23 "25" 100 0 0 100 currval - )); DESCR("sequence current value"); -DATA(insert OID = 1576 ( setval PGUID 11 f t f 2 f 23 "25 23" 100 0 0 100 setval - )); +DATA(insert OID = 1576 ( setval PGUID 11 f t f 2 f 23 "25 23" 100 0 0 100 setval - )); DESCR("sequence set value"); +DATA(insert OID = 1598 ( random PGUID 11 f t f 0 f 701 "0" 100 0 0 100 drandom - )); +DESCR("radians to degrees"); +DATA(insert OID = 1599 ( setseed PGUID 11 f t t 1 f 23 "701" 100 0 0 100 setseed - )); +DESCR("radians to degrees"); + /* OIDS 1600 - 1699 */ -DATA(insert OID = 1619 ( varchar PGUID 11 f t t 1 f 1043 "23" 100 0 0 100 int4_text - )); +DATA(insert OID = 1600 ( asin PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dasin - )); +DESCR("arcsine"); +DATA(insert OID = 1601 ( acos PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dacos - )); +DESCR("arcsine"); +DATA(insert OID = 1602 ( atan PGUID 11 f t t 1 f 701 "701" 100 0 0 100 datan - )); +DESCR("arctangent"); +DATA(insert OID = 1603 ( atan2 PGUID 11 f t t 2 f 701 "701 701" 100 0 0 100 datan2 - )); +DESCR("arctangent, two arguments"); +DATA(insert OID = 1604 ( sin PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dsin - )); +DESCR("sine"); +DATA(insert OID = 1605 ( cos PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dcos - )); +DESCR("cosine"); +DATA(insert OID = 1606 ( tan PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dtan - )); +DESCR("tangent"); +DATA(insert OID = 1607 ( cot PGUID 11 f t t 1 f 701 "701" 100 0 0 100 dcot - )); +DESCR("cotangent"); +DATA(insert OID = 1608 ( degrees PGUID 11 f t t 1 f 701 "701" 100 0 0 100 degrees - )); +DESCR("radians to degrees"); +DATA(insert OID = 1609 ( radians PGUID 11 f t t 1 f 701 "701" 100 0 0 100 radians - )); +DESCR("radians to degrees"); +DATA(insert OID = 1610 ( pi PGUID 11 f t t 0 f 701 "0" 100 0 0 100 dpi - )); +DESCR("PI"); + +DATA(insert OID = 1618 ( interval_mul PGUID 11 f t t 2 f 1186 "1186 701" 100 0 0 100 interval_mul - )); +DESCR("multiply interval"); +DATA(insert OID = 1619 ( varchar PGUID 11 f t t 1 f 1043 "23" 100 0 0 100 int4_text - )); DESCR("convert int4 to varchar"); -DATA(insert OID = 1623 ( varchar PGUID 11 f t t 1 f 1043 "20" 100 0 0 100 int8_text - )); + +DATA(insert OID = 1620 ( ascii PGUID 11 f t t 1 f 23 "25" 100 0 0 100 ascii - )); +DESCR("convert first char to int4"); +DATA(insert OID = 1621 ( ichar PGUID 11 f t t 1 f 25 "23" 100 0 0 100 ichar - )); +DESCR("convert int4 to char"); +DATA(insert OID = 1622 ( repeat PGUID 11 f t t 2 f 25 "25 23" 100 0 0 100 repeat - )); +DESCR("replicate string int4 times"); + +DATA(insert OID = 1623 ( varchar PGUID 11 f t t 1 f 1043 "20" 100 0 0 100 int8_text - )); DESCR("convert int8 to varchar"); +DATA(insert OID = 1624 ( mul_d_interval PGUID 11 f t t 2 f 1186 "701 1186" 100 0 0 100 mul_d_interval - )); /* OID's 1625 - 1639 LZTEXT data type */ DATA(insert OID = 1626 ( lztextin PGUID 11 f t t 1 f 1625 "0" 100 0 0 100 lztextin - )); @@ -2218,7 +2256,7 @@ DATA(insert OID = 1708 ( round PGUID 14 f t t 1 f 1700 "1700" 100 0 0 100 "s DESCR("value rounded to 'scale' of zero"); DATA(insert OID = 1709 ( trunc PGUID 11 f t t 2 f 1700 "1700 23" 100 0 0 100 numeric_trunc - )); DESCR("value truncated to 'scale'"); -DATA(insert OID = 1710 ( trunc PGUID 14 f t t 1 f 1700 "1700" 100 0 0 100 "select numeric_trunc($1,0)" - )); +DATA(insert OID = 1710 ( trunc PGUID 14 f t t 1 f 1700 "1700" 100 0 0 100 "select trunc($1,0)" - )); DESCR("value truncated to 'scale' of zero"); DATA(insert OID = 1711 ( ceil PGUID 11 f t t 1 f 1700 "1700" 100 0 0 100 numeric_ceil - )); DESCR("smallest integer >= value"); diff --git a/src/include/utils/builtins.h b/src/include/utils/builtins.h index 008d3a7f20..4e6cbaaace 100644 --- a/src/include/utils/builtins.h +++ b/src/include/utils/builtins.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: builtins.h,v 1.107 2000/03/24 02:41:45 tgl Exp $ + * $Id: builtins.h,v 1.108 2000/04/07 13:40:12 thomas Exp $ * * NOTES * This should normally only be included by fmgr.h. @@ -271,6 +271,21 @@ extern float64 dpow(float64 arg1, float64 arg2); extern float64 dexp(float64 arg1); extern float64 dlog1(float64 arg1); extern float64 dlog10(float64 arg1); +extern float64 dacos(float64 arg1); +extern float64 dasin(float64 arg1); +extern float64 datan(float64 arg1); +extern float64 datan2(float64 arg1, float64 arg2); +extern float64 dcos(float64 arg1); +extern float64 dcot(float64 arg1); +extern float64 dsin(float64 arg1); +extern float64 dtan(float64 arg1); +extern float64 degrees(float64 arg1); +extern float64 dpi(void); +extern float64 radians(float64 arg1); +extern float64 dtan(float64 arg1); +extern float64 drandom(void); +extern int32 setseed(float64 seed); + extern float64 float48pl(float32 arg1, float64 arg2); extern float64 float48mi(float32 arg1, float64 arg2); extern float64 float48mul(float32 arg1, float64 arg2); @@ -476,6 +491,9 @@ extern text *ltrim(text *string, text *set); extern text *rtrim(text *string, text *set); extern text *substr(text *string, int4 m, int4 n); extern text *translate(text *string, text *from, text *to); +extern text *ichar(int4 arg1); +extern text *repeat(text *string, int4 count); +extern int4 ascii(text *string); /* acl.c */ diff --git a/src/include/utils/timestamp.h b/src/include/utils/timestamp.h index 22f304dff2..cea772afb7 100644 --- a/src/include/utils/timestamp.h +++ b/src/include/utils/timestamp.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: timestamp.h,v 1.2 2000/03/14 23:06:51 thomas Exp $ + * $Id: timestamp.h,v 1.3 2000/04/07 13:40:12 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -142,7 +142,9 @@ extern text *timestamp_zone(text *zone, Timestamp *timestamp); extern Interval *interval_um(Interval *span); extern Interval *interval_pl(Interval *span1, Interval *span2); extern Interval *interval_mi(Interval *span1, Interval *span2); -extern Interval *interval_div(Interval *span1, float8 *arg2); +extern Interval *interval_mul(Interval *span1, float8 *factor); +extern Interval *mul_d_interval(float8 *factor, Interval *span1); +extern Interval *interval_div(Interval *span1, float8 *factor); extern Interval *timestamp_mi(Timestamp *dt1, Timestamp *dt2); extern Timestamp *timestamp_pl_span(Timestamp *dt, Interval *span); |
