1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-23 03:21:12 +03:00
Commit Graph

37882 Commits

Author SHA1 Message Date
ad0169b1b7 CLUSTER forgot to create a TOAST table for the clustered relation. 2001-01-01 21:35:00 +00:00
9315ff5549 Ensure attcacheoff is written out as -1 when writing pg_attribute
tuples for a relation.  Needed to prevent Assert failure in CLUSTER.
2001-01-01 21:33:31 +00:00
473763e676 Update comment. 2001-01-01 21:22:54 +00:00
19e68b5096 Mark geometric 'overlaps' operators (&&) as self-commutative. 2000-12-31 22:34:04 +00:00
8972088dcb Fix typo in error message. 2000-12-31 22:24:14 +00:00
52522850fe Don't say 'export PGHOST' or 'export PGPORT' unless we actually define
those variables.  Some shells will invent an empty-string definition in
this case, which is not what we want.
2000-12-31 18:38:44 +00:00
e41b8a0fdd On further thought, we need a defense against empty PGPORT here too. 2000-12-31 18:23:21 +00:00
45f92179d9 Ignore PGPORT environment variable if it is an empty string. 2000-12-31 18:15:58 +00:00
ff6012e275 Reverse #if test to be defined(__osf__) rather than not-any-of-a-lot-
of-others.
2000-12-31 18:04:35 +00:00
3b2b7eb19e Remove incorrect use of rl_special_prefixes until further evaluation. 2000-12-31 11:57:58 +00:00
fada8ee41f NetBSD/Alpha porting fixes from tom@minnesota.com. 2000-12-31 03:34:01 +00:00
4723b2b99b Be more careful about the difference between signed and unsigned ints.
Bug is revealed by OID regress test on 64-bit platforms.
2000-12-30 19:17:47 +00:00
74e2bf95ec Remove C++ comment. 2000-12-30 16:48:49 +00:00
3e059b3802 1. WAL needs in zero-ed content of newly initialized page.
2. Log record for PageRepaireFragmentation now keeps array
   of !LP_USED offnums to redo cleanup properly.
2000-12-30 15:19:57 +00:00
874b4fd618 Remove incorrect assert. 2000-12-30 14:47:06 +00:00
c193f19a39 Fixed misprint in heap update WALoging. 2000-12-30 06:52:34 +00:00
c0f9597b31 Imporve messages. 2000-12-30 06:10:43 +00:00
ee6a91682d Apparently, special float8 comparison file for Alpha is only needed
when using vendor cc, not gcc.
2000-12-30 02:48:04 +00:00
f83b221598 Clean up spinlock assembly code slightly (just cosmetic improvements)
for Alpha gcc case.  For Alpha non-gcc case, replace use of
__INTERLOCKED_TESTBITSS_QUAD builtin with __LOCK_LONG_RETRY and
__UNLOCK_LONG.  The former does not execute an MB instruction and
therefore was guaranteed not to work on multiprocessor machines.
The LOCK_LONG builtins produce code that is the same in all essential
details as the gcc assembler code.
2000-12-30 02:34:56 +00:00
c23851bbe0 Paranoia about possible values of errno after a shmget/semget failure.
In theory we should always get EEXIST if there's a key collision, but
if the kernel code tests error conditions in a weird order, perhaps
EACCES or EIDRM could occur too.
2000-12-30 01:20:55 +00:00
2153d1c106 Remove obsolete and unportable enable_plpgsql script. createlang has
been the supported and documented way to do this for a long time...
2000-12-30 00:50:44 +00:00
ab432f204a Fix unportable use of '!' in shell commands. 2000-12-30 00:24:09 +00:00
aa44078e21 column and tuple numbers should be int not size_t. 2000-12-29 22:46:37 +00:00
7f60b81e1a Fix failure in CreateCheckPoint on some Alpha boxes --- it's not OK to
assume that TAS() will always succeed the first time, even if the lock
is known to be free.  Also, make sure that code will eventually time out
and report a stuck spinlock, rather than looping forever.  Small cleanups
in s_lock.h, too.
2000-12-29 21:31:21 +00:00
7d363c4c33 MUST update (in-memory) data page BEFORE XLogInsert to log
NEW page content if WAL will decide to backup page.
2000-12-29 20:47:17 +00:00
b05b981924 stamp-h needs to be made by config.status, not elsewhere, per recipe in
Autoconf manual.  In particular, touching it before creating config.status
is guaranteed to lose.
2000-12-29 20:39:09 +00:00
b3c4f03c9c nbtree_xlog_newroot: set meta flag in meta page opaque. 2000-12-29 08:08:59 +00:00
49740c5fb9 Attached are patches for two fixes to reduce memory usage by the JDBC
drivers.

The first fix fixes the PreparedStatement object to not allocate
unnecessary objects when converting native types to Stings.  The old
code used the following format:
        (new Integer(x)).toString()
whereas this can more efficiently be occompilshed by:
        Integer.toString(x);
avoiding the unnecessary object creation.

The second fix is to release some resources on the close() of a
ResultSet.  Currently the close() method on ResultSet is a noop.  The
purpose of the close() method is to release resources when the ResultSet
is no longer needed.  The fix is to free the tuples cached by the
ResultSet when it is closed (by clearing out the Vector object that
stores the tuples).  This is important for my application, as I have a
cache of Statement objects that I reuse.  Since the Statement object
maintains a reference to the ResultSet and the ResultSet kept references
to the old tuples, my cache was holding on to a lot of memory.

Barry Lind
2000-12-28 23:56:46 +00:00
7ceeeb662f New WAL version - CRC and data blocks backup. 2000-12-28 13:00:29 +00:00
c996c7f573 Let's try this again on accepting the correct range of Oid input values
for 64-bit platforms ...
2000-12-28 01:51:15 +00:00
8609d4abf2 Fix portability problems recently exposed by regression tests on Alphas.
1. Distinguish cases where a Datum representing a tuple datatype is an OID
from cases where it is a pointer to TupleTableSlot, and make sure we use
the right typlen in each case.
2. Make fetchatt() and related code support 8-byte by-value datatypes on
machines where Datum is 8 bytes.  Centralize knowledge of the available
by-value datatype sizes in two macros in tupmacs.h, so that this will be
easier if we ever have to do it again.
2000-12-27 23:59:14 +00:00
e58badfbe7 Improve comments. 2000-12-23 19:55:16 +00:00
7df721af0e Compute reasonable cost and output-row-count estimates for LIMIT plan
nodes.
2000-12-23 18:49:41 +00:00
a412749812 Replace overly-cute coding with code that (a) has defined behavior
according to the ANSI C spec, (b) gets the boundary conditions right,
and (c) is about a third as long and three times more intelligible.
2000-12-23 04:05:31 +00:00
90f42847b5 Small cleanup of temp-table handling. Disallow creation of a non-temp
table that inherits from a temp table.  Make sure the right things happen
if one creates a temp table, creates another temp that inherits from it,
then renames the first one.  (Previously, system would end up trying to
delete the temp tables in the wrong order.)
2000-12-22 23:12:07 +00:00
0db1a951d5 Repair not-too-well-thought-out code to do rangechecking of OIDs on
64-bit machines.  Also, make oidvectorin use the same code as oidin.
2000-12-22 21:36:09 +00:00
369aace5f3 Avoid XLogFlush for clean buffers in BufferSync. 2000-12-22 20:04:43 +00:00
046848c272 Improve error message for case where DROP TABLE is rejected because
table has a child table.
2000-12-22 19:21:37 +00:00
04b31609b6 Add 'ONLY' to queries generated by RI triggers, so as to preserve pre-7.1
semantics of RI operations.  Eventually we ought to look at making RI
work properly across inheritance trees, but not for 7.1 ...
2000-12-22 18:35:09 +00:00
61784c54b5 Change default output formatting for CIDR to be unabbreviated, per
recommendation from Paul Vixie.  Add a new abbrev() function to produce
abbreviated format as text.  No forced initdb, but new function is not
available unless you do an initdb or add the pg_proc row manually.
2000-12-22 18:00:24 +00:00
13b78a2400 - Fixed bug in a connect statement using varchars.
- Synced parser.
2000-12-22 12:43:14 +00:00
1deb6e7d41 Fix PQsetdbLogin() backward compatibility problem.
If pghost == "" and pgport == "" then PQsetdbLogin() fails with a
error message:

 Is the postmaster running locally
        and accepting connections on Unix socket '/tmp/.s.PGSQL.0'?

I see many applications such as PHP fails due to this behavior.
Now if pgport == "", then it is assumed to be a DEF_PGPORT_STR. This
is the same behavior as the version prior 7.1.
2000-12-22 07:59:32 +00:00
317215fc55 Clean up CREATE TYPE/OPERATOR/AGGREGATE productions, so that parser
will not accept types named with operator names or vice versa.
2000-12-22 07:07:58 +00:00
4ce226eeb7 In looking at the 7.1beta1 code for JDBC, I noticed that support was
added to support character set encodings.  However I noticed that the
encoding that is used isn't obtained from the DB.  Since Java uses
unicode UCS2 internally the character set encoding is used to translate
strings from/to the DB encoding.  So it seems logical that the code
would get the encoding from the DB instead of the current method of
requiring the user pass it as a parameter.

Attached is a patch that gets the DB encoding from the DB in the same
manner as is done in libpq/fe-connect.c.  The patch is created off of
the latest CVS sources (Connection.java version 1.10).

Barry Lind
2000-12-22 03:08:52 +00:00
6cc842abd3 Revise lock manager to support "session level" locks as well as "transaction
level" locks.  A session lock is not released at transaction commit (but it
is released on transaction abort, to ensure recovery after an elog(ERROR)).
In VACUUM, use a session lock to protect the master table while vacuuming a
TOAST table, so that the TOAST table can be done in an independent
transaction.

I also took this opportunity to do some cleanup and renaming in the lock
code.  The previously noted bug in ProcLockWakeup, that it couldn't wake up
any waiters beyond the first non-wakeable waiter, is now fixed.  Also found
a previously unknown bug of the same kind (failure to scan all members of
a lock queue in some cases) in DeadLockCheck.  This might have led to failure
to detect a deadlock condition, resulting in indefinite waits, but it's
difficult to characterize the conditions required to trigger a failure.
2000-12-22 00:51:54 +00:00
d7b161031d Repair round(numeric) function. An initdb would be required to get the
fixed version, otherwise you'll continue to encounter breakage.
2000-12-21 20:48:16 +00:00
0e952cdb90 Fix longstanding bug with VIEW using BETWEEN: OffsetVarNodes would get
applied to the duplicated subtree twice.  Probably someday we should
fix the parser not to generate multiple links to the same subtree,
but for now a quick copyObject() is the path of least resistance.
2000-12-21 17:36:15 +00:00
e6e9e18e9e Remove multi.c and single.c, which have been dead code for
over two years.
2000-12-20 22:54:02 +00:00
39b547f430 Prevent freshly-started backend from ignoring SIGUSR1, per race condition
observed by Inoue.  Also, don't call ProcRemove() from postmaster if we
have detected a backend crash --- too risky if shared memory is corrupted.
It's not needed anyway, considering we are going to reinitialize shared
memory and semaphores as soon as the last child is dead.
2000-12-20 21:51:52 +00:00
751959436c Finished build.xml and updated Driver.java.in and buildDriver to match how Makefile and ANT operate. 2000-12-20 16:22:49 +00:00