1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-10 17:42:29 +03:00
Commit Graph

1529 Commits

Author SHA1 Message Date
Marc G. Fournier
632a707fd1 From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] Small date patches (resubmitted)

Here a some small patches for the date/time code. They set the default
output format for the datetime type to the traditional Postgres
style, and fix a date debugging declaration. I submitted these
a couple of days ago, but they might have gotten lost...


NOTE: the second patch to dt.c is what I believe D'Arcy submitted as well,
      that I claimed was taken out...sorry D'Arcy, my fault :(
1997-03-28 07:18:06 +00:00
Marc G. Fournier
28454c216b From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: Re: [HACKERS] abstime "now" broken

Yes, I broke 'now' :( with an attempt at a bug fix involving
servers running in the UTC/GMT timezone. These patches fix
the problem, and have been tested in GMT (+00 hours),
PST (-08), and NZT (+12) timezones which exercized the code for
various cases including across day boundaries.  btw, this code
fixes the same type of problem for 'today', 'yesterday', 'tomorrow',
for DATETIME, ABSTIME, DATE and TIME types.

The bugfix itself is quite small, but I have accumulated other
changes in the datetime data type and include them here also.
One set of changes involves printing ISO-formatted dates and
is in response to the helpful information from Kurt Lidl regarding
ANSI SQL dates. I'll send another e-mail sometime soon discussing
more issues he has raised...
1997-03-28 07:13:21 +00:00
Marc G. Fournier
038e56c4df From: "D'Arcy J.M. Cain" <darcy@druid.net>
Some systems require limits.h to define DBL_MIN.
1997-03-28 06:54:51 +00:00
Marc G. Fournier
70a0237bed On some systems limits.h is needed to define DBL_MIN.
From: "D'Arcy J.M. Cain" <darcy@druid.net>
1997-03-28 06:53:50 +00:00
Marc G. Fournier
5b63c6b63a include float.h *after* postgres.h :( 1997-03-26 03:14:37 +00:00
Marc G. Fournier
d6b2f41c07 need float.h under FreeBSD for DBL_MIN 1997-03-26 03:02:15 +00:00
Marc G. Fournier
64c82a5016 Add checs for float.h
Remove 'unused variable' from dt.c
1997-03-25 20:02:42 +00:00
Marc G. Fournier
719a413fd2 Add float.h for DBL_{MIN,MAX} under FreeBSD 1997-03-25 20:00:52 +00:00
Marc G. Fournier
070381482f From: "D'Arcy J.M. Cain" <darcy@druid.net>
Subject: [HACKERS] backend/utils/adt/timestamp.c

Back to this timezone stuff.  The struct tm has a field (tm_gmtoff) which
is the offset from UTC (GMT is archaic BTW) in seconds.  Is this the
value you are looking for when you use timezone?  Note that this applies
to NetBSD but it does not appear to be in either ANSI C or POSIX.  This
looks like one of those things that is just going to have to be hand
coded for each platform.

Why not just store the values in UTC and use localtime instead of
gmtime when retrieving the value?

Also, you assume the time is returned as a 4 byte integer.  In fact,
there is not even any requirement that time be an integral value.  You
should use time_t here.

The input function seems unduly restrictive.  Somewhere in the sources
there is an input function that allows words for months.  Can't we do
the same here?

There is a standard function, difftime, for subtracting two times.  It
deals with cases where time_t is not integral.  There is, however, a
small performance hit since it returns a double and I don't believe
there is any system currently which uses anything but an integral for
time_t.  Still, this is technically the correct and portable thing to do.

The returns from the various comparisons should probably be a bool.
1997-03-25 09:25:33 +00:00
Marc G. Fournier
dfe0475362 From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] More patches for date/time

I have accumulated several patches to add functionality to the datetime
and timespan data types as well as to fix reported porting bugs on non-BSD
machines. These patches are:

dt.c.patch              - add datetime_part(), fix bugs
dt.h.patch              - add quarter and timezone support, add prototypes
globals.c.patch         - add time and timezone variables
miscadmin.h.patch       - add time and timezone variables
nabstime.c.patch        - add datetime conversion routine
nabstime.h.patch        - add prototypes
pg_operator.h.patch     - add datetime operators, clean up formatting
pg_proc.h.patch         - add datetime functions, reassign conflicting date OIDs
pg_type.h.patch         - add datetime and timespan data types

The dt.c and pg_proc.h patches are fairly large; the latter mostly because I tried
to get some columns for existing entries to line up.
1997-03-25 08:11:24 +00:00
Marc G. Fournier
3589f71ebb From: "D'Arcy J.M. Cain" <darcy@druid.net>
Subject: [HACKERS] backend/utils/adt/nabstime.c

There is a problem with some of the calls to strftime.  The second arg is
missing.  In all cases the buffer is CTZName which, according to the
file init/globals.c, is char CTZName[8] so I have added this value.
I know there should be a #define set up for this but I wasn't sure
which header to put it in.
1997-03-21 18:53:28 +00:00
Marc G. Fournier
b5e16b1869 Resync the source tree, commit some things that were missing (pqcomprim.c) and
bring in Thomas's updates for the date/time code...
1997-03-18 16:36:50 +00:00
Marc G. Fournier
4b4ac7c159 oracle_compat.c fixed for function overloading...
By: From: Edmund Mergl <mergl@nadia.s.bawue.de>
1997-03-16 20:40:52 +00:00
Marc G. Fournier
7cd394dc43 From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] Patches for 970316 compilation

I made a small pre-emptive change in the new datetime code to eliminate
calls to infnan(). Hopefully this will make Solaris (and probably other
non-GNUlib) systems happier. Didn't find fe-connect.h in the 970316
distribution, so made one up. Also, one of the test routines needs an
update for the geo-decls.h -> geo_decls.h name change.
Patches appear below...
1997-03-16 19:05:00 +00:00
Marc G. Fournier
a9049a4a28 Header file fixes for MINDOUBLE 1997-03-16 05:32:03 +00:00
Marc G. Fournier
cddd68eb27 Add a conditional for <values.h> vs <limits.h> 1997-03-16 05:12:08 +00:00
Marc G. Fournier
7e8ee18346 Remove extra functions temporarily while a proper fix is found... 1997-03-16 01:17:49 +00:00
Marc G. Fournier
e8466b034a Update oracle_compat.c 1997-03-15 06:00:19 +00:00
Marc G. Fournier
53d8be3bbf Date/Time updates from Thomas... 1997-03-14 23:21:12 +00:00
Marc G. Fournier
94094c0569 Missed another tar file... :( 1997-03-14 05:58:13 +00:00
Marc G. Fournier
071484c5d8 From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] timestamp type

OK, last one.  This patch adds an ANSI SQL 'timestamp' type.
1997-03-12 21:28:14 +00:00
Marc G. Fournier
5dde558ce6 From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] linux/alpha patches

These patches lay the groundwork for a Linux/Alpha port.  The port doesn't
actually work unless you tweak the linker to put all the pointers in the
first 32 bits of the address space, but it's at least a start.  It
implements the test-and-set instruction in Alpha assembly, and also fixes
a lot of pointer-to-integer conversions, which is probably good anyway.
1997-03-12 21:13:19 +00:00
Bruce Momjian
b913dd1f9e Add prototypes for oracle-compat functions. Rename geo-*.c adt to geo_*.c 1997-03-09 20:41:02 +00:00
Marc G. Fournier
83978e1ea7 This is a set of single row character functions, defined for the datatype
text, which are supposed to behave exactly as their Oracle counterparts.

From: Edmund Mergl <E.Mergl@bawue.de>
1997-03-04 05:32:26 +00:00
Bruce Momjian
3ce0236c69 Apply date patch from tiemann@cygnus.com,Michael Tiemann. 1997-03-02 02:05:33 +00:00
Bruce Momjian
162c2a6e4c Remove _PAGE_SIZE_ as recommended by Darren King. 1997-03-02 01:34:50 +00:00
Bruce Momjian
6eb0525185 Prevent under/over flow of float8 constants in parser. Small regression fix. 1997-02-19 20:11:05 +00:00
Bruce Momjian
31c8e94b34 Remove WIN32 defines. They never worked. 1997-02-14 04:19:07 +00:00
Bruce Momjian
2300ac0dc4 Add attribute optimization statistics. 1997-02-07 16:24:12 +00:00
Marc G. Fournier
8d3d5d2e2f Slight change to nabstime.c so that configure is able to handle a system
whereby timezone isn't an int, but tzset() exists...

This isn't a definitive fix, as there is probably an easier way of
fixing the bug...
1997-01-27 01:51:26 +00:00
Marc G. Fournier
632c44d829 Bring in a patch from Keith Parks to move the use of European dates
from a #define to a run-time option '-e'

Man page was updated to reflect new option
1997-01-26 15:32:28 +00:00
Marc G. Fournier
0a16069901 Convert NEED_{RINT,CBRT,ISINF} to HAVE_* in prepration for configure... 1997-01-24 18:17:37 +00:00
Bruce Momjian
6ffae202a9 Add missing #. 1997-01-18 17:36:02 +00:00
Vadim B. Mikheev
3677e86f7f textin fixed: no more zero-byte (thanks, Erich) 1997-01-16 03:53:51 +00:00
Bruce Momjian
a5dd06f763 include sem.h added, include string.h neede, from Erik Bertelsen for Ultrix 1997-01-10 20:19:49 +00:00
Bruce Momjian
37c168f6ba timeb.h only used when not using POSIX_TIME 1997-01-10 18:22:41 +00:00
Bryan Henderson
3c4b21493d Use proper types so it compiles on DEC C89. Thanks Erik Bertelson. 1997-01-08 08:39:10 +00:00
Marc G. Fournier
151d484ca5 Minor changes for NeXT compile
Submitted by: Ovidiu Predescu <ovidiu@bx.logicnet.ro>
1997-01-06 00:20:13 +00:00
Bruce Momjian
cb6cb7745d Here's the final set of patches to 6.0 (sup'd on 27/12/96) that allow a full
gmake of the code without interruption.

There's also some tidy-up of the MAXPATHLEN stuff based on the assumption that
all supported platforms have MAXPATHLEN defined in <sys/param.h>.

(The only unknowns for the above are AIX and IRIX5.)
1996-12-28 02:13:05 +00:00
Bryan Henderson
ec105b6026 Put sys/types.h before sys/timeb.h so Ultrix compiles. 1996-12-16 03:34:52 +00:00
Bryan Henderson
9fc7250d3a Make compile on AIX, Alpha OSF. Thanks Darren King, Igor Notanzon. 1996-12-15 09:05:53 +00:00
Vadim B. Mikheev
4556a50cf8 Avoiding:
cc1: warnings being treated as errors
datum.c: In function `DatumGetSize':
datum.c:57: warning: unsigned value >= 0 is always 1
gmake[3]: *** [datum.o] Error 1

There was:
    if (byVal) {
        if (len >= 0 && len <= sizeof(Datum)) {

but len has type Size (unsigned int) and so now there is:
    if (byVal) {
        if (len <= sizeof(Datum)) {
1996-12-14 07:56:05 +00:00
Bryan Henderson
9c0afeabb7 More stuff to make it compile on various ports. 1996-11-27 08:16:44 +00:00
Bruce Momjian
c4d6bda2c5 There is a bug in aclinsert3 in the code which update the acl arrays.
When an acl item is added or updated the new entry is deleted if it has no
permissions and the acl array is shrinked. This is is done by decrementing
the number of items without updating the corresponding array size.
The array with the incorrect size is later read by pg_aclcheck and the entry
count is used to allocate a new array while the array size is used to copy
the old one. This causes a memory corruption and a backend crash.
This happens only to normal user as the administrator bypasses acl checks.
Massimo Dal Zotto
1996-11-20 22:53:10 +00:00
Bruce Momjian
003b76f9ac Fix for error when viewing group access privs. 1996-11-17 04:26:59 +00:00
Marc G. Fournier
8abc490181 Features added:
* Wrote max(date) and min(date) aggregates
* Wrote operator "-" for date; date - date yields number of days
  difference
* Wrote operator+(date,int) and operator-(date,int); the int is the
  number of days.  Each operator returns a new date.


By: Tom Tromey <tromey@creche.cygnus.com>
1996-11-14 21:39:14 +00:00
Bryan Henderson
6b135c9391 Use port-protos.h instead of trying to declare random() and srandom()
explicitly.
1996-11-14 08:23:31 +00:00
Bruce Momjian
aaeef4d17d All external function definitions now have prototypes that are checked. 1996-11-10 03:06:38 +00:00
Bryan Henderson
0e5ab3655c Remove #include <regex.h> so it compiles on systems with GNU regex library. 1996-11-10 01:20:44 +00:00
Bruce Momjian
4b2b8592a0 Compile and warning cleanup 1996-11-08 06:02:30 +00:00