Commit Graph

1359 Commits

Author SHA1 Message Date
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 159f8c63ad From: Dan McGuirk <mcguirk@indirect.com>
Reply-To: hackers@hub.org, Dan McGuirk <mcguirk@indirect.com>
To: hackers@hub.org
Subject: [HACKERS] tmin writeback optimization

I was doing some profiling of the backend, and noticed that during a certain
benchmark I was running somewhere between 30% and 75% of the backend's CPU
time was being spent in calls to TransactionIdDidCommit() from
HeapTupleSatisfiesNow() or HeapTupleSatisfiesItself() to determine that
changed rows' transactions had in fact been committed even though the rows'
tmin values had not yet been set.

When a query looks at a given row, it needs to figure out whether the
transaction that changed the row has been committed and hence it should pay
attention to the row, or whether on the other hand the transaction is still
in progress or has been aborted and hence the row should be ignored.  If
a tmin value is set, it is known definitively that the row's transaction
has been committed.  However, if tmin is not set, the transaction
referred to in xmin must be looked up in pg_log, and this is what the
backend was spending a lot of time doing during my benchmark.

So, implementing a method suggested by Vadim, I created the following
patch that, the first time a query finds a committed row whose tmin value
is not set, sets it, and marks the buffer where the row is stored as
dirty.  (It works for tmax, too.)  This doesn't result in the boost in
real time performance I was hoping for, however it does decrease backend
CPU usage by up to two-thirds in certain situations, so it could be
rather beneficial in high-concurrency settings.
1997-03-28 07:06:53 +00:00
Marc G. Fournier d98f72e22f From: "D'Arcy J.M. Cain" <darcy@druid.net>
#ifdef is looking for the wrong value.
1997-03-28 06:55:58 +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
Vadim B. Mikheev b9fda39de3 Added call to heap_endscan in IndexIsUniqueNoCache - to release
our READ lock on pg_index and let others to create indices too !
1997-03-27 04:13:44 +00:00
Marc G. Fournier dd07f76658 turn GEQO code on by default 1997-03-27 01:00:41 +00:00
Marc G. Fournier e3e725a47d Remove customize in favor of 'build' 1997-03-26 07:10:03 +00:00
Marc G. Fournier 17c4321411 Add ability to change installation directory in build, prior to configure 1997-03-26 06:54:01 +00:00
Marc G. Fournier 7cbe19384f Add string.h for strerror() prototype 1997-03-26 03:27:04 +00:00
Marc G. Fournier 5b63c6b63a include float.h *after* postgres.h :( 1997-03-26 03:14:37 +00:00
Vadim B. Mikheev 3be7ecb2e4 Disallow to create multi-column indices using non-btree. 1997-03-26 03:05:28 +00:00
Marc G. Fournier d6b2f41c07 need float.h under FreeBSD for DBL_MIN 1997-03-26 03:02:15 +00:00
Vadim B. Mikheev 87bc5db412 '\h create index' shows that multi-column indices are available now. 1997-03-26 03:01:29 +00:00
Vadim B. Mikheev 7d336625c0 Added syntax for multi-column indices. 1997-03-26 02:52:49 +00:00
Vadim B. Mikheev 14ed5b3ecd Someone forgot about 'case sizeof(int32)' for
tupleDesc->attrs[i]->attlen in fastgetiattr.
1997-03-26 02:24:38 +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 0ccaaac169 another one missed 1997-03-25 09:44:33 +00:00
Marc G. Fournier 884d70edf0 MIssed adding a file to the repository 1997-03-25 09:44:00 +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 c2e73db87a Various patches for shared libraries under i386-solaris by:
Christoph Kaesling <ck@dog.pfalz.sub.de>
1997-03-25 09:21:59 +00:00
Marc G. Fournier 6304e2c273 Here's two more diffs...
The first fixes a warning from gcc about the assignment within the condition.
The extra set of parens should not make a difference, but with -Werror, they
are necessary.

The second fixes an "ln -s" invocation that assumes the current directory is
implicitly the target if not specified.  Not true in all cases, and again, it
should not make a difference except to those implementation that it does.

From: "Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
1997-03-25 09:08:06 +00:00
Marc G. Fournier ea2fa32eff Rather than make this a Linux test, we should just test for the existence
of endian.h.  I figure that if it exists it's pretty sure that it has
the byte order information and we may catch some other ports without
any further testing.

From: "D'Arcy J.M. Cain" <darcy@druid.net>
1997-03-25 08:25:47 +00:00
Marc G. Fournier fcd65952fd Use $(LD_ADD) from Makefile.global instead of $(LDADD), which doesn't exist...
Pointed out indirectly by D'Arcy
1997-03-25 08:14:25 +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 d2a386d6e3 MOre univel port patches/files from:
"Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
1997-03-25 07:54:53 +00:00
Marc G. Fournier 52ab6525fb Start of a univel port by "Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com> 1997-03-25 07:16:36 +00:00
Vadim B. Mikheev 1a63f48b28 Free memory allocated by command in the BlankPortal' HeapMemory context
(#ifdef-ed).
1997-03-25 04:10:21 +00:00
Marc G. Fournier ef56e51cd3 - Renamed the variable names to something shorter, and I hope
nicer. Also, I grabbed my copy of the Informix manual, and
    added a couple of variables that make sense (formats for
    money, time, a language setting, a timezone).

  - New functions SetPGVariable() and GetPGVariable() in tcop/*.
    These don't actually do anything for the moment, but should
    be enough to implement the SET var_name TO var_val in the
    parser?

    SetPGVariable() expects just two strings, the var_name and
    the var_value from above, and is expected to do the right thing.
    Returns TRUE if  everything okay.


From: "Martin J. Laubach" <mjl@wwx.vip.at>
1997-03-25 02:37:21 +00:00
Marc G. Fournier e16b43e2dc Add in alpha port 1997-03-25 02:29:08 +00:00
Marc G. Fournier 424e43326b I don't know whether this breaks what the previous person tried to
fix, but figure I"ll know soon enough, eh?

Patch submitted by Dan McGuirk
1997-03-25 00:54:15 +00:00
Marc G. Fournier 7fae43654b Needs USE_POSIX_SIGNALS
Pointed out by Dan McGuirk
1997-03-25 00:52:12 +00:00
Vadim B. Mikheev 14f6b387b1 + NULLs handling
Actually required by multi-column indices support.
	We still don't use btree for 'A is (not) null', but
	now btree keep items with NULL attrs using single rule
	for placing/finding items on pages:
	NULLs greater NOT_NULLs and NULL = NULL.
+ Bulkload code (nbtsort.c) support for multi-column indices
	building and NULLs.
+ Fix for btendscan()->pfree(scanopaque) from Chris Dunlop.
1997-03-24 08:48:16 +00:00
Vadim B. Mikheev 427a87911d New func _bt_checkkeys() added to let caller know number of keys
for which checking was TRUE.
1997-03-24 08:04:51 +00:00
Vadim B. Mikheev bdae359acc Setting index' attributes attcacheoff to -1 in index_create(). 1997-03-24 07:39:47 +00:00
Vadim B. Mikheev 5d4e3a7511 Added #define NullValueRegProcedure and #define NonNullValueRegProcedure -
is in use by btree now.
1997-03-24 07:32:38 +00:00
Marc G. Fournier ae93ad8511 Forgot to add an AC_SUBST(STRERROR) to configure.in for the strerror() test
Thanks to D'Arcy for pointing this one out
1997-03-21 18:58:23 +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 69c2c66196 change strtok(0.. to strtok(NULL..
From: Keith Parks <emkxp01@mtcc.demon.co.uk>
1997-03-20 18:31:49 +00:00
Marc G. Fournier bf872f0aff From: "D'Arcy J.M. Cain" <darcy@druid.net>
Subject: [HACKERS] libpq/pqcomm stuff and Solaris byte order

I decided to go ahead with the required changes since no one else seems
to.  I don't guarantee that it is perfect but with these changes the
package actually compiles.  While I was at it I added to the Sparc
Solaris header to define the byte order.  Note that NetBSD sets this
in the system headers so it wasn't required there.

In particular, someone may want to check whether I removed the correct
84 lines from backend/libpq/pqcomprim.c.
1997-03-20 18:23:33 +00:00
Marc G. Fournier 7d5770eaf2 Check for and set HAVE_CRYPT_H if <crypt.h> exists
include crypt.h in password.c if crypt.h does exist
1997-03-20 18:04:32 +00:00
Marc G. Fournier 419b4304ba use autoconf 2.12 instead of 2.10 to gernate configure script...
*hopefully* will fix the linux configuration problem..?
1997-03-20 07:30:26 +00:00
Vadim B. Mikheev aa1a887185 Fix call to index_create in DefineIndex. 1997-03-19 07:52:03 +00:00
Vadim B. Mikheev d656e023a1 Fix index_create for multi-column indices 1997-03-19 07:44:45 +00:00
Vadim B. Mikheev 8157c833aa Fix index_create for multi-column indices 1997-03-19 07:36:35 +00:00
Marc G. Fournier 7acd9a3609 remove a double declaration/prototype 1997-03-19 03:56:50 +00:00
Marc G. Fournier 861cfd686d Remove port.c since it is redundant (well, empty, at least)
Change Makefile to refl removal of portc

Change dynloader.c so that its only used if PRE_BSDI_2_1 is defined
1997-03-19 03:01:32 +00:00
Marc G. Fournier 6ffd26d8eb Add a check for strerr, and add in D'Arcy's strerror() code in case not
found
1997-03-19 02:37:42 +00:00
Marc G. Fournier da9dcf826b there, that's fixed 1997-03-19 02:13:27 +00:00
Marc G. Fournier 8411931a59 Fixing a screw up 1997-03-19 02:12:15 +00:00
Marc G. Fournier 678cd5c6b6 From: Jun Kuwamura <juk@rccm.co.jp>
Subject: [HACKERS] auth.c for kerberos.

  I made pgsql with eBones(international version of Kerberos4).  The
following modification was needed.  And I added read permition for
group to srvtab instead of running postmaster as root.
1997-03-18 21:46:31 +00:00
Marc G. Fournier 3bc07104ae Replace strsep() by strtok()
By: Dan McGuirk <mcguirk@indirect.com>
1997-03-18 21:43:06 +00:00
Marc G. Fournier d611b07dd7 This is an attempt to get rid of some cruft...
According to man page under FreeBSD for sys_errlist[], strerror() should be
used instead...not sure if this will break other systems, so only changing
two files for now, and we'll see what "errors" it turns up
1997-03-18 21:40:41 +00:00
Marc G. Fournier dcd2332a4d Patch from Sven Verdoolaege <skimo@breughel.ufsia.ac.be> for large_objects 1997-03-18 21:30:41 +00:00
Marc G. Fournier 812a6c2b54 - Move most of the I/O in both libpq and the backend to a set
of common routines in pqcomprim.c (pq communication primitives).
    Not all adapted to it yet, but it's a start.

  - Rewritten some of those routines, to write/read bigger chunks of
    data, precomputing stuff in buffers instead of sending out byte
    by byte.

  - As a consequence, I need to know the endianness of the machine.
    Currently I rely on getting it from machine/endian.h, but this
    may not be available everywhere? (Who the hell thought it was
    a good idea to pass integers to the backend the other way around
    than the normal network byte order? *argl*)

  - Libpq looks in the environment for magic variables, and upon
    establishing a connection to the backend, sends it queries
    of the form "SET var_name TO 'var_value'". This needs a change
    in the backend parser (Mr. Parser, are you there? :)

  - Currently it looks for two Env-Vars, namely PG_DATEFORMAT
    and PG_FLOATFORMAT. What else makes sense? PG_TIMEFORMAT?
    PG_TIMEZONE?

From: "Martin J. Laubach" <mjl@wwx.vip.at>
1997-03-18 20:15:39 +00:00
Marc G. Fournier d146305065 Patches for Vadim's multikey indexing... 1997-03-18 18:41:37 +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 7d02575ad1 Fixes for libpgtcl from Massimo 1997-03-17 22:05:08 +00:00
Marc G. Fournier c9ba25eb6d Add in a check for libcrypt.a
Pointed out by Martin
1997-03-17 19:03:05 +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 5ea01d62ef Don't forget the fe-connect.h include file 1997-03-16 19:06:04 +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 ea58f28ee8 om: "Martin J. Laubach" <mjl@CSlab.tuwien.ac.at>
Subject: [HACKERS] Patch for io routines

  I am currently trying to improve on the front-backend communication
routines; and noticed that lots of code are duplicated for libpq and
the backend. This is a first patch that tries to share code between
the two, more to follow.

        mjl
1997-03-16 18:51:29 +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 bd2c53c2a9 Remove overloaded functions until we can figure out how to get them to work
properly...
1997-03-16 01:16:31 +00:00
Marc G. Fournier 3031ec7c72 NetBSD Shared Library Patch from Martin J. Laubach 1997-03-15 19:17:03 +00:00
Marc G. Fournier 078633e729 Re-oid the oracle_compat functions
Add new "overloaded" oracle_compat functions (see man oracle_compat)
1997-03-15 06:13:12 +00:00
Marc G. Fournier 9e4798ea0d A couple of development scripts by Dan to detect unused and duplicate
oids
1997-03-15 06:03:08 +00:00
Marc G. Fournier e8466b034a Update oracle_compat.c 1997-03-15 06:00:19 +00:00
Marc G. Fournier 064466ad55 From: Massimo Dal Zotto <dz@cs.unitn.it>
Subject: [HACKERS] lock debug trace

This is an update to my previous patches for lock debugging, already applied
to the current sources. It adds some improvements in the output messages and
some more output in WaitOnLock(). I have used with success to trace a nasty
deadlock condition on pg_listener.
1997-03-15 01:23:58 +00:00
Marc G. Fournier c4bf011e45 From: Andrew Martin <martin@biochemistry.ucl.ac.uk>
Just noticed that the psql man page is missing the -T option for specifying
HTML table options.
1997-03-15 01:11:54 +00:00
Marc G. Fournier 791c075852 Date/Time updates from Thomas... 1997-03-14 23:34:16 +00:00
Marc G. Fournier 53d8be3bbf Date/Time updates from Thomas... 1997-03-14 23:21:12 +00:00
Marc G. Fournier 71fd8d4a4b > There are some minor fixes to the GEQO.
> Please apply them to the direcory "backend/optimizer/geqo".
> Two new files with different crossover techniques are included.
> Standard procedure is optimization by means of "geqo_erx.c"
> (Edge Recombination Crossover).

From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
1997-03-14 16:03:02 +00:00
Marc G. Fournier f749fe4934 Last of Dan's hidden tar balls :) 1997-03-14 06:01:40 +00:00
Marc G. Fournier 94094c0569 Missed another tar file... :( 1997-03-14 05:58:13 +00:00
Marc G. Fournier 0889b17444 Missing bits from Dan's patches...sorry :( 1997-03-14 05:56:27 +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 3a7c93e7f3 From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] password authentication

This patch adds support for plaintext password authentication.  To use
it, you add a line like

host         all         0.0.0.0       0.0.0.0           password  pg_pwd.conf


to your pg_hba.conf, where 'pg_pwd.conf' is the name of a file containing
the usernames and password hashes in the format of the first two fields
of a Unix /etc/passwd file.  (Of course, you can use a specific database
name or IP instead.)

Then, to connect with a password through libpq, you use the PQconnectdb()
function, specifying the "password=" tag in the connect string and also
adding the tag "authtype=password".

I also added a command-line switch '-u' to psql that tells it to prompt
for a username and password and use password authentication.
1997-03-12 21:23:16 +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
Marc G. Fournier b66569e41f 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:00:17 +00:00
Marc G. Fournier 127826978a From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] equal column and table name patch

This fixes a bug where selects fail when there is a column with the same
name as the table it's a part of.
1997-03-12 20:51:33 +00:00
Marc G. Fournier e4949f9fe5 From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] better access control error messages

This patch replaces the 'no such class or insufficient privilege' with
distinct error messages that tell you whether the table really doesn't
exist or whether access was denied.
1997-03-12 20:48:48 +00:00
Marc G. Fournier c00c511b7b From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] backend Makefile patch

This patch cleans up backend/Makefile a little bit, and prevents it from
relinking the backend binary when no changes have been made.
1997-03-12 20:44:57 +00:00
Marc G. Fournier 51844146e5 From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] abort failed transaction patch

This patch allows you to end a transaction that has failed on an error
using the 'ABORT' statement without generating another error message.
(By default you get an error unless you use 'END' to terminate the
transaction, which has already been aborted anyway.)
1997-03-12 20:41:14 +00:00
Marc G. Fournier 336eb7056d Add in the sunos4 portname to configure detection 1997-03-11 02:12:17 +00:00
Bruce Momjian ea36b0d3cd Add missing paren. 1997-03-10 15:08:57 +00:00
Marc G. Fournier 977654d55b Massimo's Deadlock patches w/o the #ifdefs 1997-03-10 00:18:09 +00:00
Bruce Momjian 766bdd2bb5 Vacuum cleanups from Massimo. 1997-03-09 23:29:15 +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
Bruce Momjian d8023a00bd Fix vacuum crash Vadim found. 1997-03-09 07:12:36 +00:00
Bruce Momjian 22cabc5514 Reverse patch for Vadims problem. 1997-03-07 00:59:05 +00:00
Marc G. Fournier e67e399fd9 Add man page for oracle compatibility functions
By Edmund
1997-03-07 00:47:41 +00:00
Bruce Momjian e2ab435e99 Move nextstep into problem/bug section. 1997-03-06 22:59:47 +00:00
Bruce Momjian da90363c12 Fix vacuum bug Vadim found with text fields. 1997-03-06 18:38:35 +00:00
Vadim B. Mikheev 74bd93d597 Not understandable fix of strange bug in vacuum statistic functions. 1997-03-06 11:41:09 +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
Marc G. Fournier 497e3c9b5e Fix the prototype for on_exitpg() 1997-03-03 23:34:27 +00:00
Marc G. Fournier ed8b7bdff9 Patch from Martin due to changes in joinrels.c 1997-03-03 23:26:45 +00:00
Bruce Momjian 26eb44f202 Prevent SIGPIPE from crashing server, by Dan McGuirk. 1997-03-02 02:17:32 +00:00
Bruce Momjian 688aff37f9 Change debug to pretty-print tree, recommended by Darren King. 1997-03-02 02:12:49 +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 34fd62c512 Remove case-sensitive identifiers. Thanks for Dan McGuirk for a reversal patch. 1997-03-02 01:03:44 +00:00
Bruce Momjian a3a956bfe5 Change machine/limits.h to limits.h. 1997-03-01 22:22:21 +00:00
Bruce Momjian 872c708f8f Small regress cleanup. 1997-03-01 16:44:43 +00:00
Bruce Momjian 799755b30d Fix example so it works. 1997-03-01 15:26:42 +00:00
Bruce Momjian 7e6aeb5074 Substitute defines for numeric constants in type ids.
Use INT4OID instead of 23.
1997-03-01 15:24:51 +00:00
Marc G. Fournier a4c18f553c Make sure anything configure related is removed on a distclean 1997-02-28 18:45:17 +00:00
Marc G. Fournier 9b4b8e92eb Create a distclean make directive to handle cleaning out configure
generated files, that shouldn't be removed on a make clean

Pointed out by half the hackers mailing list :)
1997-02-28 18:34:58 +00:00
Marc G. Fournier 3ebe69c4c5 Remove second 'all' directive
Pointed out by Bruce
1997-02-28 15:35:50 +00:00
Bruce Momjian 38f4f67830 Allow update x =-3, not just x = -3. 1997-02-28 13:25:16 +00:00
Bruce Momjian 326d1568fd Remove old READMEs. 1997-02-28 11:58:04 +00:00
Bruce Momjian fc87230507 Remove SUBSYS.o in port/ on clean. 1997-02-28 10:57:47 +00:00
Bruce Momjian 317ea8bf39 Remove win32 port directory. Forgot to do it earlier. 1997-02-28 10:30:29 +00:00
Marc G. Fournier bb21784caa Fix, I think, the stdup.o problem reported on those systems without
it.
1997-02-25 18:14:43 +00:00
Marc G. Fournier 00bcb8a0ed Change "WARN" message generated if a unique index is attempted on a table/key
containing non-unique data
1997-02-25 03:38:23 +00:00
Vadim B. Mikheev 36058981a4 Added: UNIQUE feature to bulkload code. 1997-02-22 10:08:27 +00:00
Marc G. Fournier 2280e62d39 Make the error message output by AllocateFile() if failes to
open Nulldev a *bit* more user friendly...or, at least, admin
friendly...have it print strerror(errno) as well
1997-02-20 22:54:18 +00:00
Marc G. Fournier 069b71d721 Add in port hpux to configure
Pointed out by: Mark Hollomon <mhh@nortel.ca>
1997-02-20 18:29:45 +00:00
Vadim B. Mikheev 4de2f24895 Fix for queries with 3 or more relations participating in
one clause.
1997-02-20 02:54:09 +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
Marc G. Fournier 5b5bbdb161 Disable GEQO...it seems to be broken as shown by the message to
bugs@postgresql.org concerning updates
1997-02-19 19:25:42 +00:00
Marc G. Fournier ee6d3a7326 Various cleanups to satisfy -Werror, but there are some errors that I'm
not certain how to fix, so left them there and enabled -Wno-error for
this directory for now
1997-02-19 14:52:06 +00:00
Marc G. Fournier 950c57600e rearrange ordering of headers os that postgres.h is first 1997-02-19 14:29:22 +00:00
Marc G. Fournier 517c8db869 Remove WIN32 stuff, and improve conformance to configure 1997-02-19 14:26:42 +00:00
Marc G. Fournier f6c4d9142a Didn't *quite* work the way I thought it would...default'd to clean,
not make all :(  Fixed...
1997-02-19 14:14:40 +00:00
Marc G. Fournier d250ead654 Add a clean target so that the root directory gets cleared of all
the "configure" related files on a make clean
1997-02-19 14:03:28 +00:00
Marc G. Fournier 2407a0473a Removed a ',' that didn't belong in the timezone test case
Pointed out by: afc@teri.superlink.net
1997-02-19 13:55:13 +00:00
Marc G. Fournier ebdd6aa78b And, make sure that initdb.sh copies the pg_geqo.sample file to
${DATADIR}.  The file is left as pg_geqo.sample, since, unlike
pg_hba.conf, it isn't a required file...but this way ppl know that
its there, and that its where it is required, if they choose to
use it
1997-02-19 13:11:58 +00:00
Marc G. Fournier 23513b47b9 Add and install the pg_geqo.sample file 1997-02-19 13:09:34 +00:00
Marc G. Fournier 29138eeb3c Merge in GEQO Optimizer
From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
1997-02-19 12:59:07 +00:00
Bruce Momjian 34f35a4c19 Delete -e option to postmaster, keep postgres -e option. 1997-02-19 01:31:30 +00:00
Bruce Momjian a17b01f320 Update btree patches that were missed. 1997-02-18 17:14:25 +00:00
Bruce Momjian e230c0b672 Clarify clearing of attribute stats memory. 1997-02-18 04:13:57 +00:00
Bruce Momjian b8518449a3 Oper_right added, broken with const. conversion. 1997-02-14 23:02:29 +00:00
Bruce Momjian d38767fcb5 Add prototypes and remove unused variables from btree Fastbuild patch. 1997-02-14 22:47:36 +00:00
Bruce Momjian 3eba7651f3 Remove hardcoded 20000 and change to BootstrapObjectIdData. 1997-02-14 04:52:59 +00:00
Bruce Momjian 31c8e94b34 Remove WIN32 defines. They never worked. 1997-02-14 04:19:07 +00:00
Bruce Momjian aaaba5a048 Fix naming from proc to prio to fix previous patch. 1997-02-13 15:55:01 +00:00
Bruce Momjian cf2403896d Only allow NULL in the prpoer places. 1997-02-13 15:40:03 +00:00
Marc G. Fournier eacd0fd938 Bring in Leo's <lsh@lubrizol.com> massive changes to libpq++ 1997-02-13 10:01:05 +00:00
Marc G. Fournier d62267c707 Improvements to the ultrix port, in particular a bunch of compiler
quieting prototyping in port/ultrix4.h

Submitted by: Erik Bertelsen <erik@sockdev.uni-c.dk>
1997-02-13 09:54:14 +00:00
Marc G. Fournier aa7dbd0b95 Had configure check for strdup, but didn't have it set HAVE_STRDUP
Fixed
1997-02-13 08:33:28 +00:00
Marc G. Fournier a5494a2d92 Various patches for nextstep by GregorHoffleit
Replaced NEED_STRDUP by !HAVE_STRDUP
1997-02-13 08:32:20 +00:00
Marc G. Fournier 809ae06ab2 Patch for:
The following patch to src/backend/libpq/pqpacket.c provides additional
checking for bad packet length data. It was tested with the Linux telnet
client, with netcat using the numbers.txt and by dumping random numbers
into the port.

Patch by: Alvaro Martinez Echevarria <alvaro@lander.es>
1997-02-13 08:06:36 +00:00
Marc G. Fournier d937b4efdb Removed a reference to DATADIR that still existed 1997-02-12 11:05:10 +00:00
Marc G. Fournier fb70587c1d Patch from Massimo Dal Zotto <dz@cs.unitn.it>
The following patches add to the backend a new debugging flag -K which prints
a debug trace of all locking operations on user relations (those with oid
greater than 20000). The code is compiled only if LOCK_MGR_DEBUG is defined,
so the patch should be harmless if not explicitly enabled.
I'm using the code to trace deadlock conditions caused by application queries
using the command "$POSTMASTER -D $PGDATA -o '-d 1 -K 1'.
The patches are for version 6.0 dated 970126.
1997-02-12 05:25:13 +00:00
Marc G. Fournier ba82bb3eac Make sure we have an irix port
Pointed out by: Dave Morrison  (mirrison@mail.phy.ornl.gov)
1997-02-12 05:17:19 +00:00
Marc G. Fournier 5d9f146c64 What looks like some *major* improvements to btree indexing...
Patches from: aoki@CS.Berkeley.EDU (Paul M. Aoki)

i gave jolly my btree bulkload code a long, long time ago but never
gave him a bunch of my bugfixes.  here's a diff against the 6.0
baseline.

for some reason, this code has slowed down somewhat relative to the
insertion-build code on very small tables.  don't know why -- it used
to be within about 10%.  anyway, here are some (highly unscientific!)
timings on a dec 3000/300 for synthetic tables with 10k, 100k and
1000k tuples (basically, 1mb, 10mb and 100mb heaps).  'c' means
clustered (pre-sorted) inputs and 'u' means unclustered (randomly
ordered) inputs.  the 10k table basically fits in the buffer pool, but
the 100k and 1000k tables don't.  as you can see, insertion build is
fine if you've sorted your heaps on your index key or if your heap
fits in core, but is absolutely horrible on unordered data (yes,
that's 7.5 hours to index 100mb of data...) because of the zillions of
random i/os.

if it doesn't work for you for whatever reason, you can always turn it
back off by flipping the FastBuild flag in nbtree.c.  i don't have
time to maintain it.

good luck!

baseline code:

time psql -c 'create index c10 on k10 using btree (c int4_ops)' bttest
real   8.6
time psql -c 'create index u10 on k10 using btree (b int4_ops)' bttest
real   9.1
time psql -c 'create index c100 on k100 using btree (c int4_ops)' bttest
real   59.2
time psql -c 'create index u100 on k100 using btree (b int4_ops)' bttest
real   652.4
time psql -c 'create index c1000 on k1000 using btree (c int4_ops)' bttest
real   636.1
time psql -c 'create index u1000 on k1000 using btree (b int4_ops)' bttest
real   26772.9

bulkloading code:

time psql -c 'create index c10 on k10 using btree (c int4_ops)' bttest
real   11.3
time psql -c 'create index u10 on k10 using btree (b int4_ops)' bttest
real   10.4
time psql -c 'create index c100 on k100 using btree (c int4_ops)' bttest
real   59.5
time psql -c 'create index u100 on k100 using btree (b int4_ops)' bttest
real   63.5
time psql -c 'create index c1000 on k1000 using btree (c int4_ops)' bttest
real   636.9
time psql -c 'create index u1000 on k1000 using btree (b int4_ops)' bttest
real   701.0
1997-02-12 05:04:52 +00:00
Bruce Momjian d5a3f52d62 Assign priorities when creating jobs in lock queue. 1997-02-11 23:05:38 +00:00
Bruce Momjian 4331b16320 Add comment for questionable 5 padding. 1997-02-11 15:37:18 +00:00
Bruce Momjian ec4ca05c12 Fix \? syntax for copy command. 1997-02-11 03:11:33 +00:00
Marc G. Fournier 86c28441b4 Remove machine.h, since it wasn't doing anything that config.h wasn't
already doing

Removed only reference to a machine.h I could find in c.h, to win32/machine.h
1997-02-09 04:50:25 +00:00
Marc G. Fournier e7c767b477 Try to further reduce the PORT dependencies.
Essentially, config.h now includes an 'os.h', which is created via
configure by linking a "port.h" file from the port directory to the
include directory.

Going to try to merge backend/port in similar ways
1997-02-09 04:34:07 +00:00
Marc G. Fournier d557375d61 Remove NO_{SIGPROCMASK,SETSID,WAITPID} from nextstep port, since they
aren't doing anything anyway
1997-02-09 03:36:08 +00:00
Marc G. Fournier 171e0c27e4 Changes to configure/config.h.in to check for:
sigprocmask, setsid and waitpid

Especially for nextstep systems

Awaiting for a context diff from Gregor to complete changes for the nextstep
port
1997-02-09 03:33:38 +00:00
Marc G. Fournier ad6bfe67bd Various fixes suggested by Gregor Hoffleit
Add a check to configure for strdup
Remove all the '-ltermcap' checks from psql/Makefile
Have {psql,pg_dump}/Makefile modified if strdup doesn't exist on the system
1997-02-09 03:23:52 +00:00
Marc G. Fournier fd84cafb69 |I took a look at this and I think pg_dump mishandles arrays of ints and floats
|by neglecting to quote them.
|
|I have made a minor change to pg_dump.c that will fix this.
|
|Dates are dumped and restored OK with pg_dump in V6
|
|We'll still need to fix the dump in both cases if the original dump is from V1.09.

From Keith Parks
1997-02-09 03:00:09 +00:00
Bruce Momjian e2292e0c0c Add missing paren for hpux. 1997-02-08 20:39:50 +00:00
Marc G. Fournier f3ceb0a144 Oops, the port is ultrix4, not ultrix
Pointed out by: Erik Bertelsen
1997-02-08 03:29:31 +00:00
Marc G. Fournier 37e7e77c33 Add in netbsd*) to configure
Pointed out by D'Arcy
1997-02-07 17:49:50 +00:00
Bruce Momjian 2300ac0dc4 Add attribute optimization statistics. 1997-02-07 16:24:12 +00:00
Marc G. Fournier 4c0faba0fe Add ultrix to configure 1997-02-07 11:07:43 +00:00
Marc G. Fournier cfd9f6e7a9 Add in the nextstep port so that configure will (should?) run on it 1997-02-07 10:18:35 +00:00
Marc G. Fournier 1ce7b0c808 The test for union semun requires <sys/ipc.h>
Pointed out by Bruce
1997-02-06 20:55:03 +00:00
Bruce Momjian 89868af425 Remove extra paren in ifdef. 1997-02-06 19:27:22 +00:00
Marc G. Fournier 2c9dbc57e5 Various changes to improve/support Mklinux
Submitted by: Tatsuo Ishii
1997-02-06 08:40:16 +00:00
Marc G. Fournier 9b9141245c Make sure all changes are committed... 1997-02-06 06:33:58 +00:00
Marc G. Fournier a7257ff41f autoconf test for and set HAVE_VFORK 1997-02-06 06:15:49 +00:00
Marc G. Fournier e72b1ccd30 Add test for union semun to configure
Remove references to NEED_UNION_SEMUN from include/config.h.in and
from include/storage/ipc.h, replacing it with a single HAVE_UNION_SEMUN
1997-02-06 05:30:50 +00:00
Marc G. Fournier 321d42c6d0 Change ordering of libraries 1997-02-06 05:05:04 +00:00
Bruce Momjian e9e86aa59d Include main Makefile.global first so variables are not over-written. 1997-02-06 02:31:52 +00:00
Marc G. Fournier d04500743b Oops, just about forgot to commit this one too :( 1997-02-05 21:28:22 +00:00
Marc G. Fournier b78a3de9a1 Get in there... 1997-02-05 21:27:04 +00:00
Marc G. Fournier 4001a8c7d3 Add Makefile.in so that configure can determine if inet_aton.o is required
Add CFLAGS= @CPPFLAGS@ to Makefile.global and configure so that build is
	useful for finding extra header files

Split header files from libraries in build.  Doesn't make much sense to
	look for a header file in /usr/local/lib, nor to look for a library
	in /usr/local/include :)
1997-02-05 21:22:07 +00:00
Bruce Momjian 0d5f773b72 Update to handle include search paths. 1997-02-05 04:47:20 +00:00
Marc G. Fournier 4506116db8 Add in appropriate checks for inet_aton, and modifications to backend/port/Makefile
to include inet_aton.c if required
1997-02-04 22:39:56 +00:00
Marc G. Fournier 50b618a049 Test for existence of inet_aton on the system, and only include inet_aton.c if
required

Pointed out by Brian E. Gallew
1997-02-04 22:36:30 +00:00
Marc G. Fournier 5c117403e0 Add in a check for AIX port and set PORTNAME accordingly
Pointed out by: Darren King
1997-02-04 22:24:40 +00:00
Marc G. Fournier 20c20b8018 Remove a library check that isn't used right now 1997-02-04 22:17:23 +00:00
Marc G. Fournier b17a92f5e6 Add a 'build' script. All it currently does is prompts the user for additional 'lib'
directories to search to find libraries, and then runs ./configure directly
1997-02-04 22:14:24 +00:00
Marc G. Fournier b8ddf4425d Add conditional for port to bsdi 1997-02-04 21:40:54 +00:00
Marc G. Fournier 4aff83181a Fix for echo newline suppression detection
Submitted by: Keith Parks
1997-02-04 09:16:08 +00:00
Marc G. Fournier 14be8d35b5 Remove default GNUmakefile and Makefile.global
Change reference to Postgres95 to PostgreSQL in GNUmakefile
1997-02-04 09:13:59 +00:00
Marc G. Fournier 63c28920ab remove old non-autoconf config.h
clean up some of the readline code in config.h.in
1997-02-04 09:08:56 +00:00
Marc G. Fournier a20440b210 Final file required for autoconf, so far... 1997-02-04 08:54:47 +00:00
Marc G. Fournier bc564084a3 Bring back in the autoconf files - work in progress 1997-02-04 08:53:45 +00:00
Marc G. Fournier 9cabea224c Change references to NEED_RUSAGE to HAVE_RUSAGE
Pointed out by:" Tatsuo Ishii <t-ishii@sra.co.jp>
1997-02-03 04:43:31 +00:00
Marc G. Fournier a1019b6ca7 AIX *does* have <sys/select.h>
Pointed out by Darren King
1997-01-30 16:02:38 +00:00
Marc G. Fournier 3facbfc28e Revisions to customize for READLINE support
From Andrew Martin
1997-01-30 03:56:53 +00:00
Marc G. Fournier 6791355823 aix does have <termios.h>
pointed out by Darren King
1997-01-30 03:54:13 +00:00
Marc G. Fournier abd38d8b22 Linux doesn't have sys/select.h... 1997-01-29 04:49:14 +00:00
Vadim B. Mikheev daf75276d4 New func _vc_scanoneind: scan one index relation to update statistic
in pg_class if no one page was reapped by vacuum.
1997-01-29 02:59:03 +00:00
Bruce Momjian 35e2d29c2b Added comment to readline defines. 1997-01-28 13:53:50 +00:00
Bruce Momjian 9c931e08ba Moved readline stuff into Makefile.global. 1997-01-28 03:47:01 +00:00
Marc G. Fournier 6ab9db7b78 Apply usage patches for European Dates patch from Keith 1997-01-27 22:37:52 +00:00