Commit Graph

12113 Commits

Author SHA1 Message Date
5e2b99db95 Avoid assuming that type key_t is 32 bits, since it reportedly isn't
on 64-bit Solaris.  Use a non-system-dependent datatype for UsedShmemSegID,
namely unsigned long (which we were already assuming could hold a shmem
key anyway, cf RecordSharedMemoryInLockFile).
2003-12-01 22:15:38 +00:00
35ddc2edee This patch reduces some unsightly #ifdefs, and fixes two typos in
comments in the psql code. This doesn't make any functional change, so
feel free to save it for 7.5

Neil Conway
2003-12-01 22:14:40 +00:00
abd5d75c4c This patch finishes off the work that I did with making view
definitions use pretty printing.

It does:

* Pretty index predicates
* Pretty rule definitions
* Uppercases PRIMARY KEY and UNIQUE to be consistent with CHECK and
FOREIGN KEY
* View rules are improved to match table rules:


Christopher Kings-Lynne
2003-12-01 22:11:06 +00:00
7ce9b7c0d8 This patch adds a new GUC var, "default_with_oids", which follows the
proposal for eventually deprecating OIDs on user tables that I posted
earlier to pgsql-hackers. pg_dump now always specifies WITH OIDS or
WITHOUT OIDS when dumping a table. The documentation has been updated.

Neil Conway
2003-12-01 22:08:02 +00:00
e7ca867485 Try to reduce confusion about what is a lock method identifier, a lock
method control structure, or a table of control structures.

. Use type LOCKMASK where an int is not a counter.

. Get rid of INVALID_TABLEID, use INVALID_LOCKMETHOD instead.

. Use INVALID_LOCKMETHOD instead of (LOCKMETHOD) NULL, because
  LOCKMETHOD is not a pointer.

. Define and use macro LockMethodIsValid.

. Rename LOCKMETHOD to LOCKMETHODID.

. Remove global variable LongTermTableId in lmgr.c, because it is
  never used.

. Make LockTableId static in lmgr.c, because it is used nowhere else.
  Why not remove it and use DEFAULT_LOCKMETHOD?

. Rename the lock method control structure from LOCKMETHODTABLE to
  LockMethodData.  Introduce a pointer type named LockMethod.

. Remove elog(FATAL) after InitLockTable() call in
  CreateSharedMemoryAndSemaphores(), because if something goes wrong,
  there is elog(FATAL) in LockMethodTableInit(), and if this doesn't
  help, an elog(ERROR) in InitLockTable() is promoted to FATAL.

. Make InitLockTable() void, because its only caller does not use its
  return value any more.

. Rename variables in lock.c to avoid statements like
        LockMethodTable[NumLockMethods] = lockMethodTable;
        lockMethodTable = LockMethodTable[lockmethod];

. Change LOCKMETHODID type to uint16 to fit into struct LOCKTAG.

. Remove static variables BITS_OFF and BITS_ON from lock.c, because
  I agree to this doubt:
 * XXX is a fetch from a static array really faster than a shift?

. Define and use macros LOCKBIT_ON/OFF.


Manfred Koizar
2003-12-01 21:59:25 +00:00
04a4821ade Attached is a patch implementing factorial(), returning numeric. Points
to note:

1) arttype is numeric. I thought this was the best way of allowing
arbitarily large factorials, even though factorial(2^63) is a large
number. Happy to change to integers if this is overkill.
2) since we're accepting numeric arguments, the patch tests for floats.
If a numeric is passed with non-zero decimal portion, an error is raised
since (from memory) they are undefined.

Gavin Sherry
2003-12-01 21:52:38 +00:00
c5336a892f netmask() and hostmask() functions should return maximum-length masklen,
per gripe from Joe Sunday.
2003-12-01 18:50:19 +00:00
0902ece5b9 Force zero_damaged_pages to be effectively ON during recovery from WAL,
since there is no need to worry about damaged pages when we are going to
overwrite them anyway from the WAL.  Per recent discussion.
2003-12-01 16:53:19 +00:00
64e5a85625 Seems there are three GUC variables that are defined as "Shows ..."
while you can actually set them with SET.

This applied patch changes the wording from "Show" to "Set".
2003-12-01 03:55:21 +00:00
b8f40ced2f Make PQescapeBytea and byteaout consistent with each other, and
octal escape all octets outside the range 0x20 to 0x7e. This fixes
the problem pointed out by Sergey Yatskevich here:
http://archives.postgresql.org/pgsql-bugs/2003-11/msg00140.php
2003-11-30 20:55:09 +00:00
32abf0e781 Bump all version numbers and version stamps mentioned in RELEASE_CHANGES. 2003-11-30 06:09:54 +00:00
38887379a2 Reorder win32/bcc makefile mentions of thread.c for sanity. 2003-11-30 06:01:15 +00:00
edfccd3d32 Add thread.c to Borland CC build. 2003-11-30 05:54:33 +00:00
55b113257c make sure the $Id tags are converted to $PostgreSQL as well ... 2003-11-29 22:41:33 +00:00
4c274b4f8a Put out a more useful version indication in the welcome banner for a
standalone backend --- the CVS revision number of postgres.c is not real
useful to anyone.
2003-11-29 21:40:43 +00:00
969685ad44 $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
c9190ef074 Conditionalize variable that is only used conditionally, to avoid warning. 2003-11-27 18:12:50 +00:00
9ea738827c Second try at fixing no-room-to-move-down PANIC in compact_fsm_storage.
Ward's report that it can still happen in RC2 forces me to realize that
this is not a can't-happen condition after all, and that the compaction
code had better cope rather than panicking.
2003-11-26 20:50:11 +00:00
9a8b7c0f69 Cast field-length variables used in printf to int, because sometimes
they might be of a wider type.
2003-11-26 15:55:01 +00:00
e7a45c787e Repair subselect.c's occasional assignment of the wrong vartypmod to
Vars created to fill subplan args lists.  This is an ancient error, going
back at least to 7.0, but is more easily triggered in 7.4 than before
because we no longer compare varlevelsup when deciding whether a Param
slot can be re-used.  Fixes bug reported by Klint Gore.
2003-11-25 23:59:12 +00:00
a64846f3ad Get rid of hashkeys field of Hash plan node, since it's redundant with
the hashclauses field of the parent HashJoin.  This avoids problems with
duplicated links to SubPlans in hash clauses, as per report from
Andrew Holm-Hansen.
2003-11-25 21:00:54 +00:00
dc69cc1097 New translation 2003-11-25 19:19:21 +00:00
c95f54c5e0 More adjustment of error messages 2003-11-25 19:18:26 +00:00
083e10e167 Install all the headers files that the ones that are already installed
depend on.
2003-11-25 19:09:02 +00:00
e91e640b80 Avoid using string literal with embedded newline. 2003-11-24 17:25:14 +00:00
1c5f223e25 Overdue code review for ALTER SEQUENCE patch. Don't generate illegal Node
tree for CYCLE option; don't assume zeros are invalid values for sequence
fields other than increment_by; don't reset cache_value when not told to;
simplify code for testing whether to apply defaults.
2003-11-24 16:54:07 +00:00
c52204b224 Repair missed renamings of show_statement_stats and show_executor_stats. 2003-11-24 14:49:51 +00:00
8878cc4cd7 Rename USE_THREADS to ENABLE_THREAD_SAFETY to avoid name clash with Perl.
Fixes compilation failure with --enable-thread-safety --with-perl and Perl
5.6.1.
2003-11-24 13:16:22 +00:00
040e1cef91 Make the messages and the options parsing a bit more standard. 2003-11-23 22:17:59 +00:00
4f581e0072 Add maintainer-clean target. 2003-11-23 21:42:13 +00:00
e2d9066527 Add NLS support. 2003-11-23 21:41:30 +00:00
42ce74bf17 COMMENT ON casts, conversions, languages, operator classes, and
large objects.  Dump all these in pg_dump; also add code to pg_dump
user-defined conversions.  Make psql's large object code rely on
the backend for inserting/deleting LOB comments, instead of trying to
hack pg_description directly.  Documentation and regression tests added.

Christopher Kings-Lynne, code reviewed by Tom
2003-11-21 22:32:49 +00:00
0a97cb37fc Remove unused variable. 2003-11-21 17:41:31 +00:00
cfeca62148 Background writer process
This first part of the background writer does no syncing at all.
It's only purpose is to keep the LRU heads clean so that regular
backends seldom to never have to call write().

Jan
2003-11-19 15:55:08 +00:00
5032f83082 Fixed typo in create schema parsing. 2003-11-19 13:18:13 +00:00
25487b12d0 Add FreeBSD mention for initdb.c. 2003-11-17 20:35:28 +00:00
1a908a00b0 Fix datetime input parsing to accept YYYY-MONTHNAME-DD and related syntaxes,
which had been unintentionally broken by recent changes to tighten up the
DateStyle rules for all-numeric date input.  Add documentation and
regression tests for this, too.
2003-11-16 20:29:16 +00:00
1f45555892 Changed parameter name for shared cache status report interval to
debug_shared_buffers = <seconds>

as per previous discussion.


Jan
2003-11-16 16:41:01 +00:00
5b6b587a95 Make creation of statistics collection socket more robust, by allowing it
to try additional addresses returned from getaddrinfo() if the first one
fails at the bind() or connect() steps.  Per yesterday's discussion.
2003-11-15 17:24:07 +00:00
7397819f78 Translation updates 2003-11-14 23:59:12 +00:00
5945283599 Try to improve error handling for failures of backend subprocess. 2003-11-14 18:32:34 +00:00
e035a297a2 Add CHECK_FOR_INTERRUPTS() to bootstrap command loop, so that control-C
can terminate the bootstrap run.
2003-11-14 18:19:45 +00:00
81e51ddc14 Add fflush() before popen() calls; avoids any possible problem with
double or out-of-sequence output with child process.
2003-11-14 17:30:41 +00:00
0104fc11b9 Add missing logic to handle fixing permissions on an already-existing
data directory.  Also fix handling of error conditions associated with
data directory checking step (can't use a boolean to distinguish four
possible result states...)
2003-11-14 17:19:35 +00:00
7c360d65a8 Added documentation for the new interface between the buffer manager
and the cache replacement strategy as well as a description of the
ARC algorithm and the special tailoring of that done for PostgreSQL.

Jan
2003-11-14 04:32:11 +00:00
0a203594a9 Translation updates 2003-11-14 02:08:17 +00:00
18f58a048e Preliminary code review for C version of initdb. Re-centralize handling
of option switches for backend, fix handling of COPY from data files so
that we won't have the newline-after-\. issue back again, add back some
comments and printouts lost from the shell script, etc.  Still needs work
for error handling; in particular the shell version worked much more
nicely for the case of a postgres executable that fails on invocation.
2003-11-13 23:46:31 +00:00
01e62da191 Dunno why this got committed with DOS newlines, but fix that, and
add a header comment/copyright notice.
2003-11-13 22:13:39 +00:00
c7bfc7df0a Silly to copy sprompt.c from src/port when we're linking libpgport anyway. 2003-11-13 20:30:37 +00:00
90823299ad pgindent new initdb.c from Tom. 2003-11-13 20:12:47 +00:00