Commit Graph

6446 Commits

Author SHA1 Message Date
Bruce Momjian
411cf2da3f attached to this mail is a patch from a colleague that makes
PostgreSQL-7.0.2 run on Linux for the Intel-IA64 architecture. It also
fixes a bug in the configure scripts that caused configure to fail on
the fcntl(F_SETLK) test.

This fix triggered a bug in the fcntl(F_SETLK) code of the Linux
kernel when used on unix domain sockets resulting in postmaster to
segfault immediately after startup. There is a fix available and
included in the kernel that will be on SuSE Linux 7.0, but kernels <=
2.2.16 still have this bug.

Reinhard Max
2000-07-05 16:09:31 +00:00
Jan Wieck
972604ec60 Small fix for ALTER TABLE xxx* ADD COLUMN ...
Inherited child tables must not be open during creation of TOAST table

Jan
2000-07-05 13:50:59 +00:00
Jan Wieck
93e1f5de0b Automatically create toast tables on ALTER TABLE ... ADD COLUMN
and SELECT ... INTO ... too.

Jan
2000-07-05 13:22:25 +00:00
Jan Wieck
030962da26 Bugfix in ALTER TABLE CREATE TOAST TABLE
Automatically create toast table at CREATE TABLE if new table
has toastable attributes.

Jan
2000-07-05 12:45:31 +00:00
Jan Wieck
f2dfd5616c Fixed lztextlen() bug in MULTIBYTE, still thinking that lztext
does compression itself the old way.

Jan
2000-07-05 10:09:53 +00:00
Bruce Momjian
0971d894b9 New resultmap for Alpha, from Ryan Kirkpatrick 2000-07-05 04:28:19 +00:00
Peter Eisentraut
b5e2dafd39 Fix broken pg_dump makefile 2000-07-04 19:52:00 +00:00
Jan Wieck
d819f5fe83 Moving toaster out of NO ELOG area in heap_update().
Jan
2000-07-04 17:11:40 +00:00
Bruce Momjian
651e98b17f make TEMP -> TEMPORARY 2000-07-04 16:57:49 +00:00
Bruce Momjian
edbe00a720 Make pgdump_oid a temp table. Rename to pg_dump_oid. 2000-07-04 16:57:18 +00:00
Peter Eisentraut
554e56e628 Expand secondary password file feature, so that you can use these
files to restrict the set of users that can connect to a database
but can still use the pg_shadow password. (You just leave off the
password field in the secondary file.)
2000-07-04 16:32:01 +00:00
Peter Eisentraut
1c2f735aa7 Fix thinko in my last pg_dumpall change 2000-07-04 16:29:59 +00:00
Bruce Momjian
500b62b057 pg_dump patch from Philip Warner 2000-07-04 14:25:28 +00:00
Tom Lane
cdeca5f590 Make toast-table creation and deletion work somewhat reliably.
Don't go through pg_exec_query_dest(), but directly to the execution
routines.  Also, extend parameter lists so that there's no need to
change the global setting of allowSystemTableMods, a hack that was
certain to cause trouble in the event of any error.
2000-07-04 06:11:54 +00:00
Tom Lane
3b61ba6d5c DataFill() has no business resetting xact status bits
in the infomask of the provided tuple.
2000-07-04 02:40:56 +00:00
Vadim B. Mikheev
d0273c07ac misc 2000-07-04 01:49:44 +00:00
Vadim B. Mikheev
e1a118e5e6 unlock buffer before releasing in heap_insert
+unlock buffer in heap_fetch under !ItemIdIsUsed().
2000-07-04 01:39:24 +00:00
Tom Lane
13647ad6aa tuptoaster.h should surely not #include postgres.h. 2000-07-04 00:04:03 +00:00
Tom Lane
e81fe1e8a0 Add missing #include for TOAST. 2000-07-03 23:58:32 +00:00
Jan Wieck
2f12c9f182 TOAST changes to catalog
Jan
2000-07-03 23:19:04 +00:00
Jan Wieck
57d8080a40 TOAST
WARNING: This is actually broken - we have self-deadlocks
	         due to concurrent changes in buffer management.
			 Vadim and me are working on it.

Jan
2000-07-03 23:10:14 +00:00
Peter Eisentraut
ef5bea51e1 Move global internal files to PGDATA/global. 2000-07-03 20:48:46 +00:00
Peter Eisentraut
e2d3932e0e Move PGPORT envar handling to ResetAllOptions(). Improve long options
parsing to not clobber the optarg string -- so that we can bring
SetOptsFile() up to speed.
2000-07-03 20:46:10 +00:00
Peter Eisentraut
51afb9305c Have pg_dumpall write CREATE USER and CREATE GROUP commands instead of raw
COPYs of pg_shadow and pg_group.

It also turns out that pg_dumpall was all but broken for multiple servers
running at non-standard port numbers. You might get the users and groups
from one server and the databases from another. Fixed that.

A little user interface and code cleanup along with that. This also takes
care of the portability bug discussed in "[BUGS] pg_dumpall" in March 2000.
2000-07-03 16:35:39 +00:00
Bruce Momjian
efcff3da16 In the attache is new (correct) version. I add TZ (timezone) support
for
to_char() too.

Karel
2000-07-03 16:01:33 +00:00
Hiroshi Inoue
61768d8cac Add a check of HEAP_MARKED_FOR_UPDATE in HeapTupleSatisfiesDirty().
This enables unique constraint check in case of SELECT FOR UPDATEd.
2000-07-03 04:45:09 +00:00
Tom Lane
c4f9eaa608 Clean up memory-context stuff, other minor infelicities. 2000-07-03 03:57:03 +00:00
Tom Lane
6ac19b165d Remove unused variable. (Hey Peter, you use gcc, why didn't you
notice this warning?)
2000-07-03 03:27:31 +00:00
Vadim B. Mikheev
1b67fe17b8 heap' logging 2000-07-03 02:54:21 +00:00
Bruce Momjian
80c646958a Attached is a new patch which addresses this problem. (oids in
regression tests).

Chris Bitmead
2000-07-02 22:01:27 +00:00
Peter Eisentraut
6fb9d2e347 Version number now set in configure, available through Makefile.global
and config.h. Adjusted all referring code.

Scrapped pg_version and changed initdb accordingly. Integrated
src/utils/version.c into src/backend/utils/init/miscinit.c. Changed all
callers.

Set version number to `7.1devel'. (Non-numeric version suffixes now allowed.)
2000-07-02 15:21:27 +00:00
Tom Lane
07dfe97731 Don't run in CacheMemoryContext more than necessary. 2000-07-02 05:38:40 +00:00
Tom Lane
d003213225 Don't run in CacheMemoryContext longer than necessary. 2000-07-02 04:46:09 +00:00
Tom Lane
72164e86a6 Remove memory leak from VACUUM parsing. 2000-07-02 04:04:09 +00:00
Tom Lane
57eeb0d315 New memmgr logic in xact.c failed if AbortTransaction() is called when
there is no open transaction.
2000-07-02 02:28:38 +00:00
Bruce Momjian
e225260440 Back out Karels to_char changes. 2000-07-01 21:27:14 +00:00
Peter Eisentraut
b150906b89 We don't need config.status substituting anything into Gen_fmgrtab.sh, we
just pass in CPP and AWK via the environment from the Makefile.
2000-07-01 21:16:44 +00:00
Peter Eisentraut
191870388d A little bit of clean-up/bug fix in Tcl build. Handle gracefully cases
where someone wants to build these but hasn't configured for Tcl.
2000-07-01 15:02:31 +00:00
Bruce Momjian
99212a4847 In the attache is new to_date()/to_timestamp() version.
Now the to_timestamp() support WW,W,J,SSSS,DDD conversion from strings and
the am/pm bug is fixed, the to_char() use week-of-year (WW) full compatible
with Oracle.

 This patch update relevant regress-tests and docs too.

                                        Karel
~
~
2000-07-01 14:10:32 +00:00
Bruce Momjian
2f131ca588 Fix select '1--2'; for PEter. 2000-06-30 18:03:40 +00:00
Peter Eisentraut
385470f8c6 Fixes for Solaris/cc suggested by <pgsql-hackers@thewrittenword.com>
Don't use DISABLE_COMPLEX_MACRO on Solaris. Don't define the
replacement function in the header file. Use -KPIC, not -K PIC.
Use CC to link C++ libraries, not ld/ar.

Eliminate file not found warnings in tcl build code.
2000-06-30 16:11:02 +00:00
Tom Lane
3513f4d162 RemoveView was doing things the hard way... 2000-06-30 07:06:05 +00:00
Tom Lane
b41f4ab8c4 Use a private memory context to store rule information in each relcache
entry that has rules.  This allows us to release the rule parsetrees
on relcache flush without needing a working freeObject() routine.
Formerly, the rule trees were leaked permanently at relcache flush.
Also, clean up handling of rule creation and deletion --- there was
not sufficient locking of the relation being modified, and there was
no reliable notification of other backends that a relcache reload
was needed.  Also, clean up relcache.c code so that scans of system
tables needed to load a relcache entry are done in the caller's
memory context, not in CacheMemoryContext.  This prevents any
un-pfreed memory from those scans from becoming a permanent memory
leak.
2000-06-30 07:04:23 +00:00
Bruce Momjian
c9ec78a6b8 Fix quotes in /* */ comments in psql. 2000-06-29 16:27:57 +00:00
Tom Lane
43ba1b4420 Add test code to copy all parse/plan trees. Repair essential omissions
in copyfuncs and equalfuncs exposed by regression tests.  We still have
some work to do: these modules really ought to handle most or all of
the utility statement node types.  But it's better than it was.
2000-06-29 07:35:57 +00:00
Tom Lane
6a7b40d909 Rearrange config.h entries into a more sensible order, and add some
documentation.  Let's try to keep this file a bit neater in future,
hmm?  Also (to get back to the original point) update info about
FUNC_MAX_ARGS, and add additional config symbols for debugging
new memory management changes.
2000-06-29 05:50:29 +00:00
Tom Lane
d1080d19b1 Remove freefuncs.c, which hasn't been used in a long time and is not
worth the effort to continue to maintain.  Since freeObject() is not
capable of coping with cases like multiple links to a node, it's
unlikely that it ever will be useful again.  We now have memory
context management that offers a faster and more reliable way of
getting rid of arbitrary node trees (at the cost of having to know
in advance of building the tree that you'll want to get rid of it).
2000-06-29 02:26:23 +00:00
Tom Lane
feb48f41af Add SIGFPE to list of signals never to block. #ifdef all signals in
that list to cope with platforms that don't have them all.
2000-06-29 02:17:42 +00:00
Bruce Momjian
932d1e5f9e Add #ifdef for LC_MESSAGES, because it is not ANSI C standard, and BSDI
does not have it.
2000-06-29 01:19:36 +00:00
Peter Eisentraut
44f64dd3ea Makefile cleanup for interface tree. Now essentially with all the
standard targets and behaviour. Replaced Makefile.in's with
Makefile's and declared the respective variables in Makefile.global.

maintainer-clean target now available at top level, although it does
not work in the backend tree yet.

Cleanup pass over Makefile.shlib, renamed some targets and variables.
The shared library symlink tests are now done by make, not the shell.

ecpg: Remove one warning in sloppy flex output.

PL/Perl and Perl interface: the MakeMaker documentation is confusing,
the realclean target *does* "delete derived files", but it also
uninstalls them. Don't use that.

The submake targets in the various bin directories that update libpq
should `make all', not `make libpq.a'. That is a) unportable, and
b) doesn't build the shared library.
2000-06-28 18:30:16 +00:00
Tom Lane
5ac1eac2a6 Suppress memory leak in COPY WITH OIDS TO wherever. 2000-06-28 06:05:36 +00:00
Tom Lane
13612a97b9 Repair incorrect assumption that all versions of 'install' know
how to install multiple files in one invocation.
2000-06-28 05:09:37 +00:00
Tom Lane
1aebc3618a First phase of memory management rewrite (see backend/utils/mmgr/README
for details).  It doesn't really do that much yet, since there are no
short-term memory contexts in the executor, but the infrastructure is
in place and long-term contexts are handled reasonably.  A few long-
standing bugs have been fixed, such as 'VACUUM; anything' in a single
query string crashing.  Also, out-of-memory is now considered a
recoverable ERROR, not FATAL.
Eliminate a large amount of crufty, now-dead code in and around
memory management.
Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and
backend startup.
2000-06-28 03:33:33 +00:00
Bruce Momjian
b601c8d882 Tamotsu Nakagawa has posted a fix for this to a local mail list in
Japan. Can someone comment on this? According to him, with the patch
now only the geometry test fails.

 Tatsuo Ishii
2000-06-27 18:08:49 +00:00
Peter Eisentraut
5bb8b62983 Makefile cleanup for bin and pl subtrees. They should now support
all the standard semantics. Also get rid of Makefile.in's on the
way and instead declare all variables in Makefile.global.
2000-06-27 00:32:06 +00:00
Bruce Momjian
ecef326850 Fix \pset null to use ', not ". 2000-06-26 14:16:34 +00:00
Peter Eisentraut
c4e63f70fa Added new commands and intelligence to psql tab completion. 2000-06-25 14:25:51 +00:00
Peter Eisentraut
c7558b3bae Relaxed pickiness about user and group commands in transaction blocks. 2000-06-25 14:24:59 +00:00
Peter Eisentraut
c446509565 Second pass over run-time configuration system. Adjust priorities on some
option settings. Sort out SIGHUP vs BACKEND -- there is no total ordering
here, so make explicit checks. Add comments explaining all of this.
Removed permissions check on SHOW command.

Add examine_subclass to the game, rename to SQL_inheritance to fit the
official data model better. Adjust documentation.

Standalone backend needs to reset all options before it starts. To
facilitate that, have IsUnderPostmaster be set by the postmaster itself,
don't wait for the magic -p switch.

Also make sure that all environment variables and argv's survive
init_ps_display(). Use strdup where necessary.

Have initdb make configuration files (postgresql.conf, pg_hba.conf) mode
0600 -- having configuration files is no fun if you can't edit them.
2000-06-22 22:31:24 +00:00
Peter Eisentraut
bfdb695b85 Cleaned up PL/pgSQL build. Fixed a couple of copyandpaste'os in the
interfaces and interfaces/odbc make files. Adjusted regression test
driver to start building and installing in the top level directory.
2000-06-20 16:40:19 +00:00
Tom Lane
9f1a223046 Make renaming a temp table behave sensibly. We don't need to touch
the underlying table at all, just change the mapping entry ... but
that logic was missing.
2000-06-20 06:41:13 +00:00
Tom Lane
38db5fab29 Make inheritance planning logic a little simpler and clearer,
hopefully even a little faster.
2000-06-20 04:22:21 +00:00
Tom Lane
996659f255 Fix handling of type tuple associated with a temp relation. We have
to apply the tempname->realname mapping to type name lookup as well
as relation name lookup, else the type tuple will not be found when
wanted.  This fixes bugs like this one:
create temp table foo (f1 int);
select foo.f2 from foo;
ERROR:  Unable to locate type name 'foo' in catalog
2000-06-20 01:41:22 +00:00
Tom Lane
a1dfaef6c6 Modify index-opening code to guarantee that the indexes of a relation
are opened in a consistent order by different backends (I ordered them
by index OID because that's easy, but any other consistent order would
do as well).  This avoids potential deadlock for index types that we
acquire exclusive locks on ... ie, rtree.
2000-06-19 23:40:48 +00:00
Tom Lane
1f75cdd5ed Ensure that kernel error code is included in smgr-level error reports.
Tweak mdcreate a little bit so that it returns the right errno.
2000-06-19 23:37:08 +00:00
Peter Eisentraut
81b30f2cb4 Integrated ODBC driver into regular build. No more standalone business,
which didn't work anyway. Had to back out unixodbc related patch which
broke the regular ODBC build.
2000-06-19 16:58:48 +00:00
Bruce Momjian
b5d4d234cb Rename HAVE_SQLGETPRIVATEPROFILESTRING to something resonable in length
and readability.
2000-06-19 13:39:03 +00:00
Bruce Momjian
14f6587650 fix HAVE_SQLGETPRIVATEPROFILESTRING define 2000-06-19 13:35:30 +00:00
Tom Lane
c590273fef Clean up bogosities in pg_opclass, pg_amop, pg_amproc. There are amproc
entries now for int8 and network hash indexes.  int24_ops and int42_ops
are gone.  pg_opclass no longer contains multiple entries claiming to be
the default opclass for the same datatype.  opr_sanity regress test
extended to catch errors like these in the future.
2000-06-19 03:55:01 +00:00
Bruce Momjian
a53dc5ee61 Linux/alpha patch. 2000-06-19 00:51:23 +00:00
Tom Lane
1ee26b7764 Reimplement nodeMaterial to use a temporary BufFile (or even memory, if the
materialized tupleset is small enough) instead of a temporary relation.
This was something I was thinking of doing anyway for performance, and Jan
says he needs it for TOAST because he doesn't want to cope with toasting
noname relations.  With this change, the 'noname table' support in heap.c
is dead code, and I have accordingly removed it.  Also clean up 'noname'
plan handling in planner --- nonames are either sort or materialize plans,
and it seems less confusing to handle them separately under those names.
2000-06-18 22:44:35 +00:00
Tom Lane
b4e906f191 Reinstate BufFileTell(). 2000-06-18 03:11:40 +00:00
Tom Lane
edf0b5f0db Get rid of IndexIsUniqueNoCache() kluge by the simple expedient of
passing the index-is-unique flag to index build routines (duh! ...
why wasn't it done this way to begin with?).  Aside from eliminating
an eyesore, this should save a few milliseconds in btree index creation
because a full scan of pg_index is not needed any more.
2000-06-17 23:41:51 +00:00
Tom Lane
d03a933ec5 Fix performance problems with pg_index lookups (see, for example,
discussion of 5/19/00).  pg_index is now searched for indexes of a
relation using an indexscan.  Moreover, this is done once and cached
in the relcache entry for the relation, in the form of a list of OIDs
for the indexes.  This list is used by the parser and executor to drive
lookups in the pg_index syscache when they want to know the properties
of the indexes.  Net result: index information will be fully cached
for repetitive operations such as inserts.
2000-06-17 21:49:04 +00:00
Tom Lane
9cf80f2f55 Clean out another pocket of functions called via nonspecific function
pointers, namely the catcache tuple fetch routines.  Also get rid of
the unused and possibly confusing 'size' field in struct cachedesc.
Since it doesn't allow for variable-length fields, anyone who
actually trusted it would likely be making a mistake...
2000-06-17 04:56:39 +00:00
Peter Eisentraut
1652d43358 Remove fmgrstamp-h business -- not needed and confusing
Add options to configure to automatically build for Kerberos
support; no more editing of make files.
2000-06-17 00:10:40 +00:00
Tom Lane
648029ec2e Repair unforgivably brain-dead representation of CaseExpr nodes in
stored rules.  Bump catversion to reflect incompatibility.
2000-06-16 05:27:03 +00:00
Bruce Momjian
f7f177d372 /contrib patch from Karel. 2000-06-15 18:55:34 +00:00
Tom Lane
a62d8393ef Repair Large Object bugs demonstrated by Ian Grant's example. inv_write
was inappropriately relying on rel->rd_nblocks to tell if the LO is
empty (apparently a hack to get around a long-dead index bug), causing
misbehavior on a written-but-never-vacuumed LO.  Also, inv_read failed
to cope gracefully with 'holes' (unwritten regions) in the object.
2000-06-15 06:07:34 +00:00
Bruce Momjian
946e80c435 Final #include cleanup. 2000-06-15 04:10:30 +00:00
Bruce Momjian
df43800fc8 Clean up #include's. 2000-06-15 03:33:12 +00:00
Bruce Momjian
e362d4e1ea #include cleanups 2000-06-15 00:52:26 +00:00
Bruce Momjian
d540a9a6bd Update include cleaning scripts. 2000-06-14 22:33:06 +00:00
Bruce Momjian
8e6697fcd9 Update include scripts 2000-06-14 22:28:16 +00:00
Bruce Momjian
7fe8722295 Add () around define -1. 2000-06-14 18:59:42 +00:00
Peter Eisentraut
44d1abebb4 Big warnings cleanup for Solaris/GCC. Down to about 40 now, but
we'll get there one day.

Use `cat' to create aclocal.m4, not `aclocal'. Some people don't
have automake installed.

Only run the autoconf rule in the top-level GNUmakefile if the
invoker specified `make configure', don't run it automatically
because of CVS timestamp skew.
2000-06-14 18:18:01 +00:00
Bruce Momjian
e9ca59fdbc Back out libpgtcl tcl/tksh includes. 2000-06-14 17:07:31 +00:00
Bruce Momjian
2635bef524 Remove -O0 linux ppc flag 2000-06-14 17:01:35 +00:00
Tom Lane
ff7b9f5541 I had overlooked the fact that some fmgr-callable functions return void
--- ie, they're only called for side-effects.  Add a PG_RETURN_VOID()
macro and use it where appropriate.  This probably doesn't change the
machine code by a single bit ... it's just for documentation.
2000-06-14 05:24:50 +00:00
Bruce Momjian
69cd08d9f7 Fix for memory leak from Denis Perchine 2000-06-14 04:53:44 +00:00
Bruce Momjian
a194574dde > If read or write fails. Position will left the same. This
> situation is already tracked in File routines, but a little bit
> incorrectly.

> After small survey in Linux kernel code, I am not sure about
> it.  New patch set pos to unknown in the case of read/write
> fails. And do lseek again.

> Here is the full patch for this. This patch reduce amount of
> lseek call ten ti mes for update statement and twenty times for
> select statement. I tested joined up date and count(*) select
> for table with rows > 170000 and 10 indices.  I think this is
> worse of trying. Before lseek calls account for more than 5% o
> f time.  Now they are 0.89 and 0.15 respectevly.
>
> Due to only one file modification patch should be applied in
> src/backedn/stora ge/file/ dir.

-- Sincerely Yours,
Denis Perchine
2000-06-14 03:19:24 +00:00
Bruce Momjian
d1b90bfd45 OK, I have tidied up todays (13th) snapshot with the attached patch, I
have'nt r un autoconf to create a new configure, I guess that's done by
the smapshot process, I had to remove a line from interface/odbc/
GNUMakefile to get it to build, it was a autoconf variable that looks to
not be used anymore, I am assuming that this is  ok.

Nick Gorham
Easysoft Ltd
2000-06-14 02:43:46 +00:00
Bruce Momjian
a13b3f8cb6 add missing files 2000-06-13 12:49:33 +00:00
Bruce Momjian
81fa9e0e56 in the Directory src/bin/pgtclsh there is a good mechanism to integrate
the
tcl-spec in the Makefile.
The patch in the attachemant does this in the src/interfaces/libpgtcl
too

Thank you
 Rudolf Weber
2000-06-13 09:16:39 +00:00
Tom Lane
f2d1205322 Another batch of fmgr updates. I think I have gotten all old-style
functions that take pass-by-value datatypes.  Should be ready for
port testing ...
2000-06-13 07:35:40 +00:00
Bruce Momjian
6cb6d05456 Brand 7.1 release. Also update jdbc version in release branch. 2000-06-12 22:36:19 +00:00
Bruce Momjian
332f0f5fc0 Rename rule CURRENT to OLD in source tree. Add mapping for backward
compatiblity with old rules.
2000-06-12 19:40:58 +00:00
Bruce Momjian
b45ea42234 Back out old unixodbc patches and apply new ones. Nick Gorham 2000-06-12 17:58:20 +00:00
Bruce Momjian
b0929c82ac Put back old Makefiles, in pgsql and pgsql/src. 2000-06-12 16:37:22 +00:00
Bruce Momjian
36c926875a Add makefile to warn about not using gmake. 2000-06-12 03:54:03 +00:00