Commit Graph

6793 Commits

Author SHA1 Message Date
Tom Lane 4f44aa04b5 Major overhaul of large-object implementation, by Denis Perchine with
kibitzing from Tom Lane.  Large objects are now all stored in a single
system relation "pg_largeobject" --- no more xinv or xinx files, no more
relkind 'l'.  This should offer substantial performance improvement for
large numbers of LOs, since there won't be directory bloat anymore.
It'll also fix problems like running out of locktable space when you
access thousands of LOs in one transaction.
Also clean up cruft in read/write routines.  LOs with "holes" in them
(never-written byte ranges) now work just like Unix files with holes do:
a hole reads as zeroes but doesn't occupy storage space.
INITDB forced!
2000-10-24 01:38:44 +00:00
Tom Lane d7186cfa9b Add some modicum of error detection... 2000-10-24 00:08:02 +00:00
Tom Lane 570ed46401 Remove testlo2.c --- there seems to be no difference between this and
testlo.c, except it's even skimpier on error checking :-(
2000-10-24 00:04:11 +00:00
Tom Lane dea7d54151 If a field is incompressible ('compressed' data is actually larger than
source, due to addition of header overhead), store it as plain data
rather than pseudo-compressed data.  This saves a few microseconds when
reading it out, but much more importantly guarantees that the toaster
won't actually expand tuples that contain incompressible data.  That's
essential to avoid 'Tuple too big' failures with large objects.
2000-10-23 23:42:04 +00:00
Peter Eisentraut 7b021ce17c Polish shared library build to reduce number of special hacks. In
particular, allow linking with arbitrary commands rather than only $(AR) or
$(LD), and treat C++ without hacks.

Add option to disable shared libraries.  This takes the place of the
BSD_SHLIB variable.  The regression test driver ignores the plpgsql test
if there are no shared libraries available.
2000-10-23 21:44:12 +00:00
Bruce Momjian 8111329b87 Back out xti.h portion of the patch. 2000-10-23 14:50:44 +00:00
Vadim B. Mikheev 4b65a2840b New relcache hash table with RelFileNode as key to be used
from bufmgr - it would be nice to have separate hash in smgr
for node <--> fd mappings, but for the moment it's easy to
add new hash to relcache.
Fixed small bug in xlog.c:ReadRecord.
2000-10-23 04:10:24 +00:00
Tom Lane 9ace03183c Some small polishing of Mark Hollomon's cleanup of DROP command: might
as well allow DROP multiple INDEX, RULE, TYPE as well.  Add missing
CommandCounterIncrement to DROP loop, which could cause trouble otherwise
with multiple DROP of items affecting same catalog entries.  Try to
bring a little consistency to various error messages using 'does not exist',
'nonexistent', etc --- I standardized on 'does not exist' since that's
what the vast majority of the existing uses seem to be.
2000-10-22 23:32:48 +00:00
Tom Lane ee28d8b3d5 plpgsql regress tests seem a tad out of date ... repair bit rot. 2000-10-22 23:25:11 +00:00
Philip Warner e91932eb5a Cleanup error messages in findLastBuiltinOid 2000-10-22 23:16:55 +00:00
Peter Eisentraut fba790ad58 Makeover for Unixware 7.1.1
* Makefile: Add more standard targets.  Improve shell redirection in GNU
make detection.
* src/backend/access/transam/rmgr.c: Fix incorrect(?) C.
* src/backend/libpq/pqcomm.c (StreamConnection): Work around accept() bug.
* src/include/port/unixware.h: ...with help from here.
* src/backend/nodes/print.c (plannode_type): Remove some "break"s after
"return"s.
* src/backend/tcop/dest.c (DestToFunction): ditto.
* src/backend/nodes/readfuncs.c: Add proper prototypes.
* src/backend/utils/adt/numutils.c (pg_atoi): Cope specially with strtol()
setting EINVAL. This saves us from creating an extra set of regression test
output for the affected systems.
* src/include/storage/s_lock.h (tas): Correct prototype.
* src/interfaces/libpq/fe-connect.c (parseServiceInfo): Don't use variable
as dimension in array definition.
* src/makefiles/Makefile.unixware: Add support for GCC.
* src/template/unixware: same here
* src/test/regress/expected/abstime-solaris-1947.out: Adjust whitespace.
* src/test/regress/expected/horology-solaris-1947.out: Part of this file
was evidently missing.
* src/test/regress/pg_regress.sh: Fix shell.  mkdir -p returns non-zero if
the directory exists.
* src/test/regress/resultmap: Add entries for Unixware.
2000-10-22 22:15:13 +00:00
Tom Lane 3c5d000749 Fix incorrect logic for clearing BufferDirtiedByMe in ReleaseRelationBuffers
and DropBuffers.  Formerly we cleared the flag for each buffer currently
belonging to the target rel or database, but that's completely wrong!
Must look at BufferTagLastDirtied to see whether the BufferDirtiedByMe
flag is relevant to target rel or not; this is *independent* of the
current contents of the buffer.  Vadim spotted this problem, but his
fix was only partially correct...
2000-10-22 20:20:49 +00:00
Tom Lane 5aeec4bbbc Patch VACUUM problem with moving chain of update tuples when source
and destination of a tuple lie on the same page.
(Previously fixed in REL7_0 branch, now apply to current.)
2000-10-22 19:49:43 +00:00
Tom Lane e51d0b3c37 datlastsysoid is an Oid, not an int4 ... 2000-10-22 18:29:58 +00:00
Philip Warner 3cf6e94844 Use new datlastsysoid field in pg_database + some cleanups & fixes 2000-10-22 18:13:09 +00:00
Philip Warner 4ac174213f Add new datlastsysoid to pg_database.
This field stores the last allocated OID after the database was created.
Used by pg_dump in deciding what is user-defined vs. system-defined.
2000-10-22 17:55:49 +00:00
Michael Meskes 7e02371e0f Fixed mixing of two enum datatypes. 2000-10-22 13:36:19 +00:00
Bruce Momjian aa23c70522 BACKED OUT.
> Regression tests opr_sanity and sanity_check are now failing.

Um, Bruce, I've said several times that I didn't think Perchine's large
object changes should be applied until someone had actually reviewed
them.
2000-10-22 05:27:23 +00:00
Bruce Momjian 4ed04855b0 Crash on NULL again in system table check. 2000-10-22 05:14:01 +00:00
Peter Eisentraut f8ff1ee5aa Move DLSUFFIX, AROPT, and CFLAGS_SL settings from template to
Makefile.port, since they are of no use to configure and much of the
library magic happens in Makefile.port anyway.

Use __alpha, not __alpha__, since the former is universally available.
Remove -DNOFIXADE from the compile command line and put it in the port
include file.
2000-10-21 22:36:14 +00:00
Bruce Momjian 0968601b1b First a core dump which can be relieved by:
Patrick Welche
2000-10-21 18:41:51 +00:00
Peter Eisentraut ec195b991f This file isn't used anywhere. 2000-10-21 17:09:18 +00:00
Bruce Momjian 02132c4a05 Remove CC and CXX. 2000-10-21 17:07:31 +00:00
Bruce Momjian 293d1e5f2c here it is as requested by Bruce.
I tested it restoring my database with > 100000 BLOBS, and dumping it out.
But unfortunatly I can not restore it back due to problems in pg_dump.

--
Sincerely Yours,
Denis Perchine
2000-10-21 15:55:29 +00:00
Bruce Momjian 33581195d5 Per my ongoing discussion with PeterE, here is the patch I applied to
src/template/unixware:

Larry Rosenman
2000-10-21 15:50:32 +00:00
Vadim B. Mikheev a7fcadd10a WAL 2000-10-21 15:43:36 +00:00
Peter Eisentraut 12e7558c76 Add check for GNU or not GNU ld, needed to pick the right export_dynamic
flags for Solaris.  The test itself is straight from libtool.
2000-10-20 23:57:34 +00:00
Peter Eisentraut 805e431a38 Add support for VPATH builds, that is, building somewhere else than in the
source directory.  This involves mostly makefiles using $(srcdir) when they
might have used ".".  (Regression tests don't work with this, yet.)

Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
in most places, to preserve necessary flags even when the user overrode the
flags.
2000-10-20 21:04:27 +00:00
Vadim B. Mikheev 27bc34be55 WAL need in overwrite mode - restored in new way
(without PageManagetSetMode -:))
Safe shuffle mode behaviour retained.
2000-10-20 11:28:39 +00:00
Vadim B. Mikheev b58c0411ba redo/undo support functions and cleanups. 2000-10-20 11:01:21 +00:00
Tom Lane e18a862d46 Remove 'override' keyword, which breaks the build on HPUX, and probably
anywhere else that Makefile.shlib needs to modify CFLAGS to produce
valid code for a shared library.  I'm not real clear on *why* the use
of override causes make to ignore the later attempt to assign
CFLAGS		+=
but it indubitably does --- at least on gmake 3.79.1.  gmake bug?
2000-10-20 03:45:35 +00:00
Tom Lane 70df64840b Clean up gcc warnings. 2000-10-20 02:53:10 +00:00
Tom Lane 8b53eaf90c Improve comments. 2000-10-19 23:06:24 +00:00
Tom Lane ee0bcb8c5e Fix missing CommandCounterIncrement in DROP USER. 2000-10-19 03:55:51 +00:00
Bruce Momjian 73677dd92f The following patch was sent to the patches list:
This patch forces the use of 'DROP VIEW' to destroy views.

It also changes the syntax of DROP VIEW to
DROP VIEW v1, v2, ...
to match the syntax of DROP TABLE.

Some error messages were changed so this patch also includes changes to the
appropriate expected/*.out files.

Doc changes for 'DROP TABLE" and 'DROP VIEW' are included.


--
Mark Hollomon
2000-10-18 16:16:18 +00:00
Vadim B. Mikheev 2e6358172f I had to change buffer tag: now RelFileNode is used instead of
LockRelId - ie physical information, not logical. It's required
for WAL. Regression tests passed.
2000-10-18 05:50:16 +00:00
Tom Lane 8b6b414a5e Update pltcl regress test to exercise return_null; also make use of
the fact that CREATE FUNCTION and CREATE AGGREGATE now allow array
types to be named like int4[] rather than _int4.
2000-10-17 21:23:09 +00:00
Peter Eisentraut 179b8e5722 Locate the file pg_service.conf in the directory configured as --syconfdir
(i.e., /usr/local/pgsql/etc by default).
2000-10-17 17:43:13 +00:00
Michael Meskes adeedf9047 Fixed some bugs in C language parsing. 2000-10-17 15:38:26 +00:00
Peter Eisentraut 0db3cb253d * doc/src/sgml/regress.sgml: Update for new driver script.
* doc/src/sgml/installation.sgml: ditto.

* src/test/regress/README: Regenerate.

* doc/src/sgml/docguide.sgml: Explain how it was done.  Explain how
INSTALL and HISTORY are (now) generated.

* doc/src/sgml/Makefile: Implement HISTORY generation to be analoguous
to INSTALL.
2000-10-17 15:26:40 +00:00
Peter Mount f7b89ac5d9 Some more getTimestamp() fixes 2000-10-17 14:52:01 +00:00
Michael Meskes 0a97c4a047 Simplified parsing of connect rule. 2000-10-17 06:15:29 +00:00
Bruce Momjian f2ef4df4a3 TNS:
I prepared and tested a patch vs. 7.0.2, and it works fine. I've added
another option which allows users to have their own service file in
~/.pg_service.conf, which might come handy sometimes.

Mario Weilguni
2000-10-17 01:00:58 +00:00
Bruce Momjian 1333f07ff1 I wasn't too sure where to mail this.
I have noticed that there are some identical files in
postgresql-7.0.2/src/test/regress/expected/

> diff float8-cygwin.out float8-small-is-zero.out #I recommend deleting
float8-cygwin.out
> diff geometry-cygwin-precision.out geometry-solaris-precision.out #I
recommend deleting geometry-cygwin-precision.out

below is the diff of postgresql-7.0.2/src/test/regress/resultmap
that has the above files deleted plus the addition of an alpha regression
test built with alphaev56-dec-osf4.0e/2.95.2/ . The alpha geometry
regression file is attached

11c11
< float8/i.86-pc-cygwin*=float8-cygwin
---
> float8/i.86-pc-cygwin*=float8-small-is-zero
18c18
< geometry/i.86-pc-cygwin*=geometry-cygwin-precision
---
> geometry/i.86-pc-cygwin*=geometry-solaris-precision
21a22
> geometry/alpha.*-dec-osf=geometry-alpha-precision



Ricardo Muggli
Systems Manager
Information and Technology Services
Minnesota State University, Mankato
2000-10-16 22:37:37 +00:00
Michael Meskes 3615a6a84d Fixed handling of variables in connect rule. 2000-10-16 19:53:04 +00:00
Bruce Momjian 85f1950a6f Remove NO_SECURITY define. 2000-10-16 17:08:11 +00:00
Bruce Momjian 17e3e4702d Fix typo in code. 2000-10-16 16:19:14 +00:00
Bruce Momjian 78d4ca03d4 Something changed, that now shows that there is a dependency missing in
Makefile .aix

Please apply to current, to fix shared lib build from single .o files.
Thanks
Andreas
2000-10-16 15:00:15 +00:00
Vadim B. Mikheev 2c7de17b07 New file naming. Database OID is used as "tablespace" id and
relation OID is used as file node on creation but may be changed later
if required. Regression Tests Approved (c) -:)))
2000-10-16 14:52:28 +00:00
Bruce Momjian 07a55ebf64 I submitted three patches to pgsql-patches@postgresql.org on Oct 13.
Only two have shown up on the web site.  Even the mbox is missing the
second.

The missing patch is a one-liner, so here it is.  I can resend the
whole bug report if wanted.

Pete Forman
2000-10-16 14:34:08 +00:00