Commit Graph

13816 Commits

Author SHA1 Message Date
Bruce Momjian ae1703d897 Enable static lib builds on Win32 and Cygwin. 2004-10-13 09:51:47 +00:00
Neil Conway 7069dbcc31 More minor cosmetic improvements:
- remove another senseless "extern" keyword that was applied to a
function definition
- change a foo more function signatures from "some_type foo()" to
"some_type foo(void)"
- rewrite another K&R style function definition
- make the type of the "action" function pointer in the KeyWord struct
in src/backend/utils/adt/formatting.c more precise
2004-10-13 01:25:13 +00:00
Neil Conway 1da2bccabb Unbreak regression tests (Peter's recent checkin to executor/spi.c did
not update some error message text).
2004-10-13 01:22:31 +00:00
Bruce Momjian 90542f556b Clarify pg_restore --help wording. 2004-10-13 00:42:53 +00:00
Bruce Momjian bac78bbac6 Update Cygwin build to not use DLLINIT, per Cygwin report from Reini
Urban
2004-10-12 22:20:17 +00:00
Peter Eisentraut 0fd37839d9 Message style revisions 2004-10-12 21:54:45 +00:00
Peter Eisentraut 8532a1aabe New translation 2004-10-12 18:10:16 +00:00
Peter Eisentraut 893094415b Translation updates 2004-10-12 18:01:20 +00:00
Peter Eisentraut 7656e55639 Translation update 2004-10-12 17:57:14 +00:00
Tom Lane a323bce2e7 plpgsql EXIT construct forgot to downcase or quote-strip its identifier
argument, leading to label matching failures at run-time.  Per report from
Patrick Fiche.  Also, fix it so that an unrecognized label argument draws
a more useful error message than 'syntax error'.
2004-10-12 15:44:15 +00:00
Neil Conway 0b112045b7 Fix vpath build break, induced by Bruce's recent commit. 2004-10-12 04:48:36 +00:00
Neil Conway d709964779 Fix a copy-and-paste error: give a distinct memory context a distinct
name, mainly for debugging purposes.
2004-10-12 01:50:04 +00:00
Bruce Momjian 29e7dc420a Add some pg_config_path.h dependencies for places that include
pg_config_paths.h outside of /src/port.
2004-10-12 01:04:11 +00:00
Tom Lane d10a406fe8 Use -fPIC not -fpic for BSDen on Sparc. Also switch from
$(LD) -x -Bshareable to $(CC) -shared on OpenBSD (I suspect this
should be carried over to the other two as well, but will refrain
pending suggestions from people who actually use those platforms).
Per Stefan Kaltenbrunner.
2004-10-11 23:27:23 +00:00
Tom Lane 26112850ec Fix OR-index-scan planner to recognize that a partial index is usable
for scanning one term of an OR clause if the index's predicate is implied
by that same OR clause term (possibly in conjunction with top-level WHERE
clauses).  Per recent example from Dawid Kuroczko,
http://archives.postgresql.org/pgsql-performance/2004-10/msg00095.php
Also, fix a very long-standing bug in index predicate testing, namely the
bizarre ordering of decomposition of predicate and restriction clauses.
AFAICS the correct way is to break down the predicate all the way, and
then for each component term see if you can prove it from the entire
restriction set.  The original coding had a purely-implementation-artifact
distinction between ANDing at the top level and ANDing below that, and
proceeded to get the decomposition order wrong everywhere below the top
level, with the result that even slightly complicated AND/OR predicates
could not be proven.  For instance, given
create index foop on foo(f2) where f1=42 or f1=1
    or (f1 = 11 and f2 = 55);
the old code would fail to match this index to the query
select * from foo where f1 = 11 and f2 = 55;
when it obviously ought to match.
2004-10-11 22:57:00 +00:00
Bruce Momjian c0c4883be3 Use native Cygwin symlinks so tablespaces work on Win95/98/ME which
don't support junction points.  Doesn't affect native Win32.
2004-10-11 22:50:48 +00:00
Tom Lane 669ca7af83 Another try at making plpython autoconfiguration work correctly. Use a
-L spec rather than assuming libpython is in the standard search path
(this returns to the way 7.4 did it).  But check the distutils output
to see if it looks like Python has built a shared library, and if so
link with that instead of the probably-not-shared library found in
configdir.
2004-10-11 19:32:19 +00:00
Tom Lane e5d30091e6 Fix pg_indexes view so that it shows the index's tablespace not the
parent table's tablespace, as per gripe from Michael Kleiser.  Choose
a more plausible column order for this view and pg_tables.  Update
documentation of these views, which was missed in original patch.
2004-10-11 17:24:41 +00:00
Neil Conway 5340a988c8 Fix typo in comment. 2004-10-11 02:02:41 +00:00
Neil Conway 0e72b9d440 Cosmetic improvements/code cleanup:
- replace some function signatures of the form "some_type foo()" with
"some_type foo(void)"
- replace a few instances of a literal 0 being used as a NULL pointer;
there are more instances of this in the code, but I just fixed a few
- in src/backend/utils/mb/wstrncmp.c, replace K&R style function
declarations with ANSI style, remove use of 'register' keyword
- remove an "extern" modifier that was applied to a function definition
(rather than a declaration)
2004-10-10 23:37:45 +00:00
Tom Lane 86a39d5a19 Un-break plpython build for non-Windows platforms. 2004-10-10 19:07:55 +00:00
Tom Lane ea12f8e6a3 Remove gratuitous editorialization on rpath. 2004-10-10 16:13:03 +00:00
Tom Lane 337ffcddba Adjust configuration-files GUC behavior as per my recent proposal.
The vars are renamed to data_directory, config_file, hba_file, and
ident_file, and are guaranteed to be set to accurate absolute paths
during postmaster startup.
This commit does not yet do anything about hiding path values from
non-superusers.
2004-10-09 23:13:22 +00:00
Peter Eisentraut 0d069c53c3 Translation improvement 2004-10-09 17:41:17 +00:00
Bruce Momjian 6c77feed3a Add win32 version information for pg_config Makefile. 2004-10-09 03:57:39 +00:00
Bruce Momjian 67608a393b Make getpid() use %d consistently for printing. 2004-10-09 02:46:42 +00:00
Bruce Momjian abc1d28ba7 Suppress timezone output on log_line_prefix %t on Win32, because it is
too long.
2004-10-09 01:24:47 +00:00
Tom Lane 07ccbeb360 Include schema name in pg_restore -l output, per request from Phil Endecott. 2004-10-08 15:03:26 +00:00
Neil Conway 9bf6effd8e Another minor tweak to psql startup: set the default values for the PROMPT1,
PROMPT2 and PROMPT3 variables before we read any of the settings specified
via the user on the command-line or in psqlrc, so that the latter can
override the former. Per original patch from Ingo van Lil, simpler fix
suggested by Tom Lane.
2004-10-08 11:24:19 +00:00
Tom Lane 79a831e50a Tweak HPUX shared-library build flags, per Shinji Teragaito. 2004-10-08 04:22:59 +00:00
Bruce Momjian 8a657808b0 Update CIDR regresion tests to test for network masks inside the last
byte being tested, to catch any future breakage.
2004-10-08 01:45:37 +00:00
Tom Lane 7ca3a0f3e2 Whack some sense into the configuration-file-location patch.
Refactor code into something reasonably understandable, cause
use of the feature to not fail in standalone backends or in
EXEC_BACKEND case, fix sloppy guc.c table entries, make the
documentation minimally usable.
2004-10-08 01:36:36 +00:00
Bruce Momjian f4f6caa9b0 Do proper testing of CIDR bits against network mask, e.g. don't allow:
test=# select '204.248.199.1/31'::cidr;

Previous releases erroneously accepted such addresses.

WARN IN RELEASE NOTES

Kevin Brintnall
2004-10-08 01:10:31 +00:00
Bruce Momjian b577fe1d56 Remove benchmark comment. 2004-10-07 22:51:13 +00:00
Tom Lane 4b10271037 Change get_rule_expr so that when the input is a List, it displays the
list elements comma-separated instead of barfing.  This allows elimination
of half a dozen redundant copies of that behavior, and also makes the
world safe again for pg_get_expr() applied to pg_index.indexprs, per gripe
from Alexander Zhiltsov.
2004-10-07 20:36:52 +00:00
Bruce Momjian 05c561eec8 Remove mention of -Q option for bench. 2004-10-07 19:37:16 +00:00
Bruce Momjian 59bf879f12 Move -DPLPERL_HAVE_UID_GID to the plperl Makefile, for Win32 only. 2004-10-07 19:01:09 +00:00
Tom Lane 6a640d1e02 Add missing null terminator to escaped string; clean up unnecessarily
obscurantist coding conventions.
2004-10-07 18:57:26 +00:00
Bruce Momjian 0c657baa7f Add PLperl workaround for Win32 to the *.xs file. 2004-10-07 18:57:18 +00:00
Tom Lane a8487e15ed Fix problems with SQL functions returning rowtypes that have dropped
columns.  The returned tuple needs to have appropriate NULL columns
inserted so that it actually matches the declared rowtype.  It seemed
convenient to use a JunkFilter for this, so I made some cleanups and
simplifications in the JunkFilter code to allow it to support this
additional functionality.  (That in turn exposed a latent bug in
nodeAppend.c, which is that it was returning a tuple slot whose
descriptor didn't match its data.)  Also, move check_sql_fn_retval
out of pg_proc.c and into functions.c, where it seems to more naturally
belong.
2004-10-07 18:38:51 +00:00
Bruce Momjian 6d46ea25f2 Add one more byte to malloc for null storage. 2004-10-07 17:29:12 +00:00
Bruce Momjian 9fb5c757b8 Remove unneeded dash. 2004-10-07 17:04:54 +00:00
Bruce Momjian 00f184a83f Update comment to fix nibble mention:
* We are not sure how much precision is in tv_usec, so we
	 * swap the high and low 16 bits of 'later' and XOR them with
	 * 'earlier'. On the off chance that the result is 0, we
	 * loop until it isn't.

Greg Stark
2004-10-07 17:03:50 +00:00
Bruce Momjian d1cee5495a Escape single quotes and backslashes used in locales placed in
postgresql.conf.

Zhong Xubin
2004-10-07 16:53:25 +00:00
Bruce Momjian 2b8fab842b Prevent install error message when doing cmp on empty tree. 2004-10-07 16:23:28 +00:00
Bruce Momjian a5d7ba773d Adjust comments previously moved to column 1 by pgident. 2004-10-07 15:21:58 +00:00
Bruce Momjian 9da50e1f53 Back out unindented modification to file. 2004-10-07 14:19:58 +00:00
Bruce Momjian cdc84adbdb Indent comment pushed to new line by else so it is indented by BSD
indent.
2004-10-07 14:15:50 +00:00
Bruce Momjian 914ff1ea3c Add as binary mode 2004-10-07 13:59:45 +00:00
Bruce Momjian 70d344d61d re-add as binary 2004-10-07 13:59:20 +00:00
Bruce Momjian 8a28f50f8a Improve pgindent processing of comment after 'else'.
Improve comment of pg_dump Win32 link workaround.
2004-10-07 13:45:51 +00:00
Bruce Momjian 4e28b08e53 Improve comment after 'else' handling of pgindent. 2004-10-07 02:32:06 +00:00
Neil Conway 0683a47556 Allow the spinlock test to be compiled successfully in a vpath build. 2004-10-07 00:08:04 +00:00
Tom Lane 52a45818a1 XOR process PID into a backend's initial random seed, to ensure that
different backends get a reasonably wide set of initial seeds even if
gettimeofday returns tv_usec values with only a few bits of precision.
Per recent discussion.
2004-10-07 00:03:15 +00:00
Neil Conway f629583f94 Document what the "rep; nop" x86 assembler sequence is actually equivalent
to, and what it is intended to do.
2004-10-06 23:41:59 +00:00
Neil Conway 3ba0fc760c Capitalize some SQL keywords the previous commit missed, for consistency. 2004-10-06 23:31:45 +00:00
Bruce Momjian d7e0ebdf8e Say "history is not supported" and remove "on this platform" for lack of
readline.
2004-10-06 19:04:10 +00:00
Bruce Momjian c62a5465fb Suppress psql \s help display for platforms like Win32 that don't
typically install witn readline, and throw an error if they try to
access it.
2004-10-06 18:39:16 +00:00
Bruce Momjian 94954c7f6a Add mention of win32ver.rc for update for minor release. 2004-10-06 18:15:24 +00:00
Bruce Momjian aa20badeaf Fix improper defines for uid_t and gid_t. Had them backwards. 2004-10-06 17:47:53 +00:00
Bruce Momjian a95a82e7f0 Uppercase SQL keywords in query for clarity. 2004-10-06 17:43:07 +00:00
Bruce Momjian d7b7a4a648 This simple patch fixes a typo, ensure pg_config is removed in win32
and correct some splitted message mistake.

Euler Taveira de Oliveira
2004-10-06 17:21:45 +00:00
Bruce Momjian dedb53f29c Fix pg_dumpall to use double-quote for Win32 arguments.
Luiz K. Matsumura
2004-10-06 17:02:02 +00:00
Bruce Momjian 48018da7ce The Win32 (mingw) build of libpq seems to have lost it's SSL libs from
the link step resulting in a build failure. The attached patch fixes
that.

Dave Page
2004-10-06 16:42:01 +00:00
Bruce Momjian 87ea6f0dbe Use #define instead of typedef for plperl because perl defines
uid_t/gid_t too.
2004-10-06 16:36:02 +00:00
Bruce Momjian afa66ff3d3 Update win32ver.rc to 8,0,000,000. Mention it needs updating in
RELEASE_CHANGES.
2004-10-06 15:23:27 +00:00
Bruce Momjian 7d3d5affda Improve consistency of win32 version sed script. 2004-10-06 15:14:13 +00:00
Bruce Momjian e6470a22b7 Fix for Win32 file version sed macro, per report from Dave Page. 2004-10-06 15:12:32 +00:00
Bruce Momjian 902ca3e225 Here is a patch to fix win32 ssl builds. Summary of changes:
* Links with -leay32 and -lssleay32 instead of crypto and ssl. On win32,
"crypto and ssl" is only used for static linking.

* Initializes SSL in the backend and not just in the postmaster. We
cannot pass the SSL context from the postmaster through the parameter
file, because it contains function pointers.

* Split one error check in be-secure.c. Previously we could not tell
which of three calls actually failed. The previous code also returned
incorrect error messages if SSL_accept() failed - that function needs to
use SSL_get_error() on the return value, can't just use the error queue.

* Since the win32 implementation uses non-blocking sockets "behind the
scenes" in order to deliver signals correctly, implements a version of
SSL_accept() that can handle this. Also, add a wait function in case
SSL_read or SSL_write() needs more data.

Magnus Hagander
2004-10-06 09:35:23 +00:00
Bruce Momjian 5431393274 Allow plpython to build on Win32.
Magnus Hagander
2004-10-06 09:20:41 +00:00
Bruce Momjian 4542581bf1 Adjustment to test on unix domain socket variable for pg_hba.conf
default settings, rather than just Win32.
2004-10-06 09:13:10 +00:00
Bruce Momjian c93872d891 Remove pg_hba.conf 'local' line for Win32 because it doesn't support unix domain
connections.

Andrew Dunstan
2004-10-06 09:01:18 +00:00
Bruce Momjian 513e89b44b please find attached an alternate submission which addresses open item
"make pgxs install by default". It is up to the committers to chose.

(1) there is only one "install" target. no more "install-all-headers".
    it simplifies/changes several makefiles.

(2) the documentation reflects the change.

(3) a minor fix on pgxs to use a nicer patch without a double slash.

Fabien Coelho
2004-10-06 08:50:02 +00:00
Neil Conway d42d427252 Slightly rearrange psql startup code so that we read psqlrc before printing
the startup banner. This allows "\set QUIET on" in psqlrc to do what the
user probably intended. Patch from Sean Chittenden, editorializing from
Neil Conway.
2004-10-06 08:20:58 +00:00
Bruce Momjian da67c919d9 Add Win32 version info to client binaries.
Magnus Hagander
2004-10-05 19:30:25 +00:00
Bruce Momjian abef6b5162 Add distclean target to pgevent. 2004-10-05 17:26:39 +00:00
Bruce Momjian a992bd8c6d Another tightening of Win32 typedefs. 2004-10-05 15:09:41 +00:00
Bruce Momjian 4d47db363b Fix typo in recent Win32 typedef change. 2004-10-05 14:27:07 +00:00
Bruce Momjian 2def476de3 Remove unused Win32 defines, convert them to typdefs, per suggestion
from Peter.
2004-10-05 13:48:35 +00:00
Michael Meskes a79f8195de '::' is no longer interpreted as a variable in a prepare statement. 2004-10-05 10:48:37 +00:00
Neil Conway af7849f184 License cleanup: crypt.c and qsort.c to latest NetBSD CVS sources, to
pickup license clarification (3-clause BSD is now used). Add license
terms to memcmp.c (also from NetBSD), which previously had none.
Finally, pickup an upstream fix to crypt.c (const-ify some arrays).
2004-10-05 00:12:49 +00:00
Tom Lane 6c61af6654 Remove arithmetic operators on the 1-byte-char datatype, as per proposals
made several times in the past.  Add coercion functions between "char"
and integer so that a workaround is possible if needed.

Initdb forced.
2004-10-04 22:49:59 +00:00
Tom Lane 1ab415596d Correct the volatility labeling of ten timestamp-related functions,
per discussion from Friday.  initdb not forced in this commit but I intend
to do that later.
2004-10-04 22:13:14 +00:00
Tom Lane 4c77cbb272 PortalRun must guard against the possibility that the portal it's
running contains VACUUM or a similar command that will internally start
and commit transactions.  In such a case, the original caller values of
CurrentMemoryContext and CurrentResourceOwner will point to objects that
will be destroyed by the internal commit.  We must restore these pointers
to point to the newly-manufactured transaction context and resource owner,
rather than possibly pointing to deleted memory.
Also tweak xact.c so that AbortTransaction and AbortSubTransaction
forcibly restore a sane value for CurrentResourceOwner, much as they
have always done for CurrentMemoryContext.  I'm not certain this is
necessary but I'm feeling paranoid today.
Responds to Sean Chittenden's bug report of 4-Oct.
2004-10-04 21:52:15 +00:00
Bruce Momjian ee7de3d662 Make sure no libs use libpgport by removing it from the link line. 2004-10-04 20:36:12 +00:00
Bruce Momjian 2e8252d67a Fix MinGW link failure with new libpgport processing. 2004-10-04 20:32:58 +00:00
Bruce Momjian b5ddfb4bd0 Readd -DFRONTEND to client makefiles because it still affects win32.h
defines.
2004-10-04 18:05:55 +00:00
Bruce Momjian 63dabb39cd Fix warnings from crypt.c compile. 2004-10-04 15:17:17 +00:00
Bruce Momjian f95ff4b978 Comment out unused variable. 2004-10-04 15:09:27 +00:00
Tom Lane 9a31c9b7b8 Suppress getppid test on WIN32, per Dave Page. 2004-10-04 14:55:17 +00:00
Tom Lane 4171bb869f Detect overflow in integer arithmetic operators (integer, smallint, and
bigint variants).  Clean up some inconsistencies in error message wording.
Fix scanint8 to allow trailing whitespace in INT64_MIN case.  Update
int8-exp-three-digits.out, which seems to have been ignored by the last
couple of people to modify the int8 regression test, and remove
int8-exp-three-digits-win32.out which is thereby exposed as redundant.
2004-10-04 14:42:48 +00:00
Bruce Momjian 24201b4bc6 Make libpgport be front-end only and make libpgport_srv be a backend
library that uses palloc, ereport, etc.  This simplifies the makefiles
for client applications.
2004-10-04 13:43:59 +00:00
Peter Eisentraut 8d5ff6bad1 Translation update 2004-10-03 20:29:24 +00:00
Peter Eisentraut 0654f0f669 Translation updates 2004-10-03 20:24:26 +00:00
Tom Lane b3c4d69852 Add regression test inspired by Sebastian Böck. 2004-10-03 00:13:29 +00:00
Tom Lane 47aa95e951 Clean up handling of inherited-table update queries, per bug report
from Sebastian Böck.  The fix involves being more consistent about
when rangetable entries are copied or modified.  Someday we really
need to fix this stuff to not scribble on its input data structures
in the first place...
2004-10-02 22:39:49 +00:00
Bruce Momjian b3f2b19218 Update length from 75 to 79. 2004-10-02 01:10:58 +00:00
Tom Lane 125bf342fd Convert pg_stat_get_backend_idset to use the existing SRF support.
This seems the cleanest way of fixing its lack of a shutdown callback,
which was preventing it from working correctly in a query that didn't
run it to completion.  Per bug report from Szima GÄbor.
2004-10-01 21:03:42 +00:00
Tom Lane b62aa83f0e fmgr_security_definer had better do a PG_TRY to ensure the outer userid
is restored on error exit.
2004-10-01 20:39:54 +00:00
Tom Lane c8196c87a7 Adjust postmaster to recognize that a lockfile containing its parent's PID
must be stale.  Tweak example startup scripts to not use pg_ctl but launch
the postmaster directly, thereby ensuring that only the postmaster's direct
parent shell will be a postgres-owned process.  In combination these should
fix the longstanding problem of the postmaster sometimes refusing to start
during reboot because it thinks the old lockfile is not stale.
2004-10-01 18:30:25 +00:00
Tom Lane 8bbfa16624 Don't assume PQdb() will return a valid result from a failed connection. 2004-10-01 17:34:19 +00:00
Tom Lane bbd1e1cc68 Don't assume PQdb() will return a valid result from a failed connection. 2004-10-01 17:25:55 +00:00
Tom Lane b1f8a37aa7 Fallout from changing index locking rules: we can reduce the strength
of locking used by REINDEX.  REINDEX needs only ShareLock on the parent
table, same as CREATE INDEX, plus an exclusive lock on the specific index
being processed.
2004-10-01 17:11:50 +00:00
Tom Lane 4c5e810fcd Code review for NOWAIT patch: downgrade NOWAIT from fully reserved keyword
to unreserved keyword, use ereport not elog, assign a separate error code
for 'could not obtain lock' so that applications will be able to detect
that case cleanly.
2004-10-01 16:40:05 +00:00
Neil Conway b3f2f6ebec Use 'override' when appending text to LDFLAGS, so the build doesn't break
if the user has defined LDFLAGS themselves.
2004-10-01 02:06:52 +00:00
Tom Lane d2af5f8a3e Adjust index locking rules as per my proposal of earlier today. You
now are supposed to take some kind of lock on an index whenever you
are going to access the index contents, rather than relying only on a
lock on the parent table.
2004-09-30 23:21:26 +00:00
Tom Lane abc6441d60 Remove unnecessary use of index_open just to get the index name. 2004-09-30 17:42:42 +00:00
Tom Lane bb6a78829e isinf.c needs <float.h> on some platforms, per Darcy Buskermolen. 2004-09-30 16:38:39 +00:00
Tom Lane f065957062 Come to think of it, functions in FROM have the same syntactic restriction
as CREATE INDEX did, and can be fixed the same way, for another small
improvement in usability and reduction in grammar size.
2004-09-30 00:24:27 +00:00
Tom Lane 912c27f9c2 Split out everything that looks like a function call from c_expr into
a separate production func_expr.  This allows us to accept all these
variants in the backwards-compatible syntax for creating a functional
index; which beats documenting exactly which things work and which don't.
Interestingly, it also seems to make the generated state machine a little
bit smaller.
2004-09-29 23:39:20 +00:00
Tom Lane 0fb3152ea9 Minor adjustments to improve the accuracy of our computation of required
shared memory size.
2004-09-29 15:15:56 +00:00
Tom Lane e7cb681618 Adjust obsolete comment about memory needs for lock table. 2004-09-28 21:19:30 +00:00
Tom Lane 3a246cc285 Arrange to preallocate all required space for the buffer and FSM hash
tables in shared memory.  This ensures that overflow of the lock table
creates no long-lasting problems.  Per discussion with Merlin Moncure.
2004-09-28 20:46:37 +00:00
Bruce Momjian 70c8fcb287 An include path got missed out of the patch - see the attached fix.
This also adds debug build support to src/bin/psql/win32.mak.

Dave Page
2004-09-28 16:17:26 +00:00
Bruce Momjian 1ad6878276 Revert patch that removed BUFSIZ usage. The memory has to hold the
structures plus pointers used by the structure.
2004-09-28 00:07:01 +00:00
Bruce Momjian dd67707a64 Small WIN32_CLIENT_ONLY cleanup for new build patch. 2004-09-27 23:58:09 +00:00
Bruce Momjian b534a5605f Remove use of large BUFSIZ for buffers and use the proper struct sizes.
This greatly helps threaded libpq programs.
2004-09-27 23:39:14 +00:00
Bruce Momjian e1c8b37afb Add new macro as shorthand for MS VC and Borland C++:
+ #if   defined(_MSC_VER) || defined(__BORLANDC__)
+ #define       WIN32_CLIENT_ONLY
+ #endif
2004-09-27 23:24:45 +00:00
Bruce Momjian e017051006 More MS VC and BCC psql compile cleanups. 2004-09-27 22:20:40 +00:00
Bruce Momjian 8efe926bfe More Win32 cleanups for Dave Page. 2004-09-27 22:11:23 +00:00
Bruce Momjian 866627f84d Make adjustment for MS VC and BCC compile of psql, from Dave Page. 2004-09-27 22:06:41 +00:00
Bruce Momjian f6b896b17a Improve MS VC builds for psql by handlling flex properly and prevent
rename prototype conflict.
2004-09-27 20:37:20 +00:00
Peter Eisentraut a6cb7fd60a Translation update 2004-09-27 20:28:15 +00:00
Peter Eisentraut 353b70aef3 Translation updates 2004-09-27 20:26:03 +00:00
Peter Eisentraut 9216b152e3 Translation update 2004-09-27 20:23:07 +00:00
Peter Eisentraut ad6a6170e5 New translations 2004-09-27 20:21:24 +00:00
Bruce Momjian 32b24bfa97 Remove inclusion of windows.h now that it is included in c.h, per idea
from Peter.
2004-09-27 19:16:03 +00:00
Michael Meskes d56b9fdaa8 Synced parser.
Removed Oracle transaction syntax to fix shift/reduce error.
2004-09-27 09:59:17 +00:00
Neil Conway cb7fc63d3e Remove references to the ODBC driver from the main source tree. From Kris
Jurka.
2004-09-27 04:18:28 +00:00
Neil Conway 64a60590ba A few minor list-related cleanups:
(1) Replace while loop with the new forboth() construct in
parser/analyze.c

(2) Replace lcons() with lappend() in SearchCatCacheList(). Since these
now have the same performance, there is no reason to prefer lcons() in
this case, and using lappend() leads to cleaner code.

(3) Improve the name of the second parameter to for_each_cell()
2004-09-27 04:12:03 +00:00
Neil Conway 0ed07d49d5 Code cleanup: don't bother casting the argument to pfree() to void *
from another pointer type. Per C89, this is unnecessary, and it is common
practice throughout the rest of the tree anyway.
2004-09-27 04:01:23 +00:00
Tom Lane ae8f7313ab Rewrite ReadArrayStr() to avoid O(N^2) behavior on large strings,
and hopefully improve code clarity while at it.  One intentional
semantics change: a backslashed space will not be treated as removable
trailing whitespace, as the prior coding would do.  ISTM that if it
wouldn't be considered removable leading whitespace, it shouldn't be
stripped at the end either.
2004-09-27 01:39:02 +00:00
Tom Lane 7ac258c2f3 Fix multiple breakages in our support for SSL certificates. 2004-09-26 22:51:49 +00:00
Tom Lane 9236c79c8e Use ULL not LL in UINT64CONST. 2004-09-26 15:13:42 +00:00
Bruce Momjian 786f3d147d Here is a patch that adds the version info from libpq.rc to the DLL
build in mingw. The MSVC build already did this, but it was not linked
into the mingw one.

This is not the same as the versioninfo patch that's in the queue.
Please apply this one before beta-3 if at all possible.

Magnus Hagander
2004-09-26 02:14:47 +00:00
Bruce Momjian e9ec10494e Use <> not "" for include of pthread.h. 2004-09-26 01:40:55 +00:00
Tom Lane 09a893117a Repair bug that would allow libpq to think a command had succeeded when
it really hadn't, due to double output of previous command's response.
Fix prevents recursive entry to libpq routines.  Found by Jan Wieck.
2004-09-26 00:26:28 +00:00
Tom Lane 26b5d5317b Persuade plpython to build on OS X. 2004-09-24 20:08:42 +00:00
Tom Lane b120485f9c GUC assign hooks that look at external state in deciding whether a
setting is valid must ignore that state and permit the assignment anyway
when source is PGC_S_OVERRIDE.  Otherwise they may disallow a rollback
at transaction abort, which is The Wrong Thing.  Per example from
Michael Fuhr 12-Sep-04.
2004-09-24 19:43:03 +00:00
Neil Conway ae72283816 Cleanup some ancient Ultrix / Alpha code in main() that is intended to
modify how unaligned memory accesses are dealt with. Document that this
is really what is going on, and merge the NOFIXADE and NOPRINTADE code
paths.
2004-09-24 06:29:07 +00:00
Tom Lane 3331180bb4 shmdt takes a void* parameter, per Kris Jurka. 2004-09-24 05:27:35 +00:00
Tom Lane 00b821a11b Fix gratuitous weirdness in function prototype, per Kris Jurka. 2004-09-24 05:16:35 +00:00
Tom Lane 2f132ebff7 Okay, I'm tired of reading gripes from OS X users ... add a regression
variant file to cover OS X 10.3's bizarre minus-zero behavior.
2004-09-24 04:58:46 +00:00
Tom Lane 682598139e Get rid of /*-inside-comment warning. My fault. 2004-09-24 01:48:43 +00:00
Neil Conway be8eafa09d ExecProcAppend() wasn't called ExecAppend() because the latter name was
formerly used in execMain. Since that is no longer the case, this patch
renames ExecProcAppend() to ExecAppend() for the sake of consistency.
2004-09-24 01:36:37 +00:00
Tom Lane 409b38f514 Fix TAS assembly stuff for Solaris/386. (I'm not in a position to
actually test this, but it couldn't be broken any worse than it was...)
2004-09-24 00:21:32 +00:00
Tom Lane 688f0c56dc Fix ALTER TABLE OWNER to adjust the ownership of dependent sequences,
not only indexes.  Alvaro Herrera, with some kibitzing by Tom Lane.
2004-09-23 23:20:24 +00:00
Tom Lane fb147dc30e If we're going to print unrecognized result codes from SSL_get_error
in open_client_SSL, surely we should do it everywhere.  Also make
message formatting conform to style guide.
2004-09-23 20:27:50 +00:00
Bruce Momjian fb755b6dd4 This patch logs the error code in the default case, so that the user
stands a chance of looking it up.  "Unrecognised error" is always
disheartening.  :-)

Dominic Mitchell
2004-09-23 13:20:45 +00:00
Bruce Momjian 31ae87c332 This patch attempts to note the use of the root.crt file in the server.
Given that PostgreSQL will output a message complaining about it's
absence if you're using SSL mode, I feel it's important that it gets a
mention in the documentation at some point.

Dominic Mitchell
2004-09-23 13:16:02 +00:00
Neil Conway 6a84723d7d Minor tweak to pg_controldata usage information, per suggestion from
Dennis Björklund. Also, remove some redundant #include directives.
2004-09-23 00:47:44 +00:00
Tom Lane 9fcbe2af11 Arrange for hash join to skip scanning the outer relation if it detects
that the inner one is completely empty.  Per recent discussion.  Also some
cosmetic cleanups in nearby code.
2004-09-22 19:13:52 +00:00
Tom Lane 5d9f5c20dd Issue a CHECKPOINT just after creating the regression database. Without
this, it's hard to debug core-dump test failures, because WAL replay will
enthusiastically remove the core file (along with the rest of the
regression database directory).  Per recent discussion, not to mention
bitter experience.
2004-09-22 19:11:19 +00:00
Tom Lane bebaf70613 Adjust ExecMakeTableFunctionResult to produce a single all-nulls row
when a function that returns a single tuple (not a setof tuple) returns
NULL.  This seems to be the most consistent behavior.  It would have
taken a bit less code to make it return an empty table (zero rows) but
ISTM a non-SETOF function ought always return exactly one row.  Per
bug report from Ivan-Sun1.
2004-09-22 17:41:51 +00:00
Neil Conway b84788debc Minor cleanup of libpq/LO examples: fix some memory leaks, update a comment
or two.
2004-09-22 05:12:45 +00:00
Neil Conway a94edb4c7b Some improvements for the tab-completion of psql. This should
address all of the items in the todo list and adds some new
things as well. Specifically:

* Add support for ALTER SEQUENCE ...
* Add "RENAME TO" for ALTER TRIGGER xx ON yy
* Pick proper table for ALTER TRIGGER xx ON ...
* Support for ALTER USER xxx ...
* Fix ALTER GROUP xxx DROP ...
* Fix ALTER DOMAIN xxx DROP ...
* Remove "OWNER TO" from ALTER DOMAIN xx DROP ...
* Fix ALTER DOMAIN xx SET DEFAULT ..
* Prevent ALTER INDEX xxx SET TABLESPACE from using "TO"
* Support for ALTER LANGUAGE xxx (RENAME TO)
* More support for ALTER TABLE xxx ALTER COLUMN xxx ...
* More support for COPY

Greg Sabino Mullane
2004-09-22 04:25:16 +00:00
Neil Conway a3c53c834f This patch from Alvaro Herrera adds transaction ID to the list of
log_line_prefix escapes. The escape sequence used for this is %x.
%x previously meant "postmaster et al. stop here" -- this has been
renamed to %q.
2004-09-22 03:55:27 +00:00
Tom Lane 95f20b96d4 Rotate on time boundaries that are sensible per local time rather than GMT.
Also, avoid truncating the file we just wrote into, which might otherwise
easily happen at DST boundaries.  Ed L. and Tom Lane.
2004-09-21 00:21:25 +00:00
Tom Lane 6da0c439ee Change some of the existing plpgsql regression test cases so that they
exercise dollar quoting and named function parameters.  AFAICS we had
no tests of either feature before.
2004-09-20 23:00:12 +00:00
Tom Lane 5b564e5307 Fix some shortcomings in psql's autocommit-off mode concerning detection
of commands for which a transaction block should not be forced.  Recognize
VACUUM and other PreventTransactionChain commands; handle nested /* .. */
comments correctly; handle multibyte encodings correctly.
Michael Paesold with some kibitzing from Tom Lane.
2004-09-20 18:51:19 +00:00
Tom Lane 9332d0baba Documentation improvements, per Josh Berkus. 2004-09-20 17:53:59 +00:00
Peter Eisentraut fbbdfa413e Translation update 2004-09-20 08:15:29 +00:00
Peter Eisentraut 398d4822a4 Translation updates 2004-09-20 07:57:14 +00:00
Peter Eisentraut cb2a8a9e00 Translation updates 2004-09-20 07:49:54 +00:00
Peter Eisentraut fa942e8010 Translation updates 2004-09-20 07:44:42 +00:00
Tom Lane fa8eb8a726 Add defenses against plpython functions being declared to take or return
pseudotypes.  Not sure why I neglected to add these checks at the same
time I added them to the other PLs, but it seems I did.
2004-09-19 23:38:21 +00:00
Tom Lane 84c7cef5eb Fix estimate_num_groups to be able to use expression-index statistics
when there is an expressional index matching a GROUP BY item.
2004-09-18 19:39:50 +00:00
Peter Eisentraut 122016379d Move comment at end of line to a separate line so trailing tabs don't
become part of the make variable value.
2004-09-18 13:28:54 +00:00
Tom Lane 4b9d84d450 Fix memory leak in tokenize_file, per report from Vadim Passynkov. 2004-09-18 01:22:58 +00:00
Peter Eisentraut 152a101f2b Allow WIN1250 as server encoding. 2004-09-17 21:59:57 +00:00
Tom Lane a5713ec427 Hashed LEFT JOIN would miss outer tuples with no inner match if the join
was large enough to be batched and the tuples fell into a batch where
there were no inner tuples at all.  Thanks to Xiaoyu Wang for finding a
test case that exposed this long-standing bug.
2004-09-17 18:28:53 +00:00
Tom Lane 054b78ba38 Now that xmax and cmin are distinct fields again, we should zero xmax when
creating a new tuple.  This is just for debugging sanity, though, since
nothing should be paying any attention to xmax when the HEAP_XMAX_INVALID
bit is set.
2004-09-17 18:09:55 +00:00
Tom Lane 9f6df6c4a6 Fix oversight: there's no reason for PG_TRY to use sigsetjmp(buf,1)
since we don't change the signal mask during normal backend operations.
Use sigsetjmp(buf,0) to avoid many unnecessary kernel calls.
2004-09-16 21:59:17 +00:00
Tom Lane 1cfd2012a6 Remove erroneous Assert, per example from Kris Jurka. 2004-09-16 21:08:12 +00:00
Tom Lane 257cccbe5e Add some marginal tweaks to eliminate memory leakages associated with
subtransactions.  Trivial subxacts (such as a plpgsql exception block
containing no database access) now demonstrably leak zero bytes.
2004-09-16 20:17:49 +00:00
Tom Lane 86fff990b2 RecentXmin is too recent to use as the cutoff point for accessing
pg_subtrans --- what we need is the oldest xmin of any snapshot in use
in the current top transaction.  Introduce a new variable TransactionXmin
to play this role.  Fixes intermittent regression failure reported by
Neil Conway.
2004-09-16 18:35:23 +00:00
Tom Lane 8f9f198603 Restructure subtransaction handling to reduce resource consumption,
as per recent discussions.  Invent SubTransactionIds that are managed like
CommandIds (ie, counter is reset at start of each top transaction), and
use these instead of TransactionIds to keep track of subtransaction status
in those modules that need it.  This means that a subtransaction does not
need an XID unless it actually inserts/modifies rows in the database.
Accordingly, don't assign it an XID nor take a lock on the XID until it
tries to do that.  This saves a lot of overhead for subtransactions that
are only used for error recovery (eg plpgsql exceptions).  Also, arrange
to release a subtransaction's XID lock as soon as the subtransaction
exits, in both the commit and abort cases.  This avoids holding many
unique locks after a long series of subtransactions.  The price is some
additional overhead in XactLockTableWait, but that seems acceptable.
Finally, restructure the state machine in xact.c to have a more orthogonal
set of states for subtransactions.
2004-09-16 16:58:44 +00:00
Neil Conway 6a2869f64e Fix a read of uninitialized memory in array_out(). Perform some minor
cosmetic code cleanup at the same time.
2004-09-16 03:15:54 +00:00
Neil Conway d1b0d965b1 Cosmetic PL/PgSQL fix: declare the second parameter plpgsql_dstring_append
as a const char *, so that we don't need to cast away a const in gram.y
2004-09-14 23:46:46 +00:00
Peter Eisentraut cb66748bdf New translation 2004-09-14 05:50:33 +00:00
Peter Eisentraut e992444faa Translation update 2004-09-14 05:44:40 +00:00
Tom Lane 4f7d3e0faf Win32 compile fix for misc_utils.
Claudio Natoli
2004-09-14 03:50:17 +00:00
Tom Lane 296fb57b20 Make pltcl work on Win32. Magnus Hagander 2004-09-14 03:21:27 +00:00
Neil Conway 65ff0ed455 Fix small memory leak in psql. 2004-09-13 23:07:12 +00:00
Peter Eisentraut adf9a28bb8 Translation update 2004-09-13 20:53:10 +00:00
Tom Lane b2c4071299 Redesign query-snapshot timing so that volatile functions in READ COMMITTED
mode see a fresh snapshot for each command in the function, rather than
using the latest interactive command's snapshot.  Also, suppress fresh
snapshots as well as CommandCounterIncrement inside STABLE and IMMUTABLE
functions, instead using the snapshot taken for the most closely nested
regular query.  (This behavior is only sane for read-only functions, so
the patch also enforces that such functions contain only SELECT commands.)
As per my proposal of 6-Sep-2004; I note that I floated essentially the
same proposal on 19-Jun-2002, but that discussion tailed off without any
action.  Since 8.0 seems like the right place to be taking possibly
nontrivial backwards compatibility hits, let's get it done now.
2004-09-13 20:10:13 +00:00
Peter Eisentraut d69528881a Translation updates 2004-09-13 12:43:27 +00:00
Peter Eisentraut 95c034e311 Translation updates 2004-09-13 12:35:18 +00:00
Peter Eisentraut 77697dcaa3 New translations 2004-09-13 12:20:24 +00:00
Peter Eisentraut b972ab7178 New translation 2004-09-13 12:14:50 +00:00
Peter Eisentraut a67b5bd3b9 Translation updates 2004-09-13 12:11:22 +00:00
Neil Conway 9ffeab55c9 Fix two typos in comments. 2004-09-13 01:45:32 +00:00
Bruce Momjian 409de6be6c Re-add brace removal code but comment it out so we know why we removed
it and have it in case we need it for some special case.
2004-09-12 22:21:30 +00:00
Bruce Momjian 47402a9b00 Remove code that delete braces around single statements. 2004-09-12 22:11:27 +00:00
Tom Lane abc98dcc15 When LockAcquire fails at the stage of creating a proclock object, be
sure to clean up the already-created lock object, if it has no other
references.  Avoids possibly-permanent leak of shared memory.
2004-09-12 18:30:50 +00:00
Tom Lane 493f72606b Renumber SnapshotNow and the other special snapshot codes so that
((Snapshot) NULL) can no longer be confused with a valid snapshot,
as per my recent suggestion.  Define a macro InvalidSnapshot for 0.
Use InvalidSnapshot instead of SnapshotAny as the do-nothing special
case for heap_update and heap_delete crosschecks; this seems a little
cleaner even though the behavior is really the same.
2004-09-11 18:28:34 +00:00
Tom Lane 9835944e54 Ensure that pg_largeobject references opened by lo_import() or lo_export()
will be cleaned up at end of transaction, even when there is no other LO
operation in the transaction.  Per bug report from Daniel Schuchardt.
2004-09-11 15:56:46 +00:00
Tom Lane 1d681d6cee Fix some problems with restoring databases owned by non-superusers,
as per bug #1249; and remove the last vestiges of using \connect to
change authorization.
2004-09-10 20:05:18 +00:00
Tom Lane b339d1fff6 Fire non-deferred AFTER triggers immediately upon query completion,
rather than when returning to the idle loop.  This makes no particular
difference for interactively-issued queries, but it makes a big difference
for queries issued within functions: trigger execution now occurs before
the calling function is allowed to proceed.  This responds to numerous
complaints about nonintuitive behavior of foreign key checking, such as
http://archives.postgresql.org/pgsql-bugs/2004-09/msg00020.php, and
appears to be required by the SQL99 spec.
Also take the opportunity to simplify the data structures used for the
pending-trigger list, rename them for more clarity, and squeeze out a
bit of space.
2004-09-10 18:40:09 +00:00
Bruce Momjian af7f6c0a6e Fix #if define 2004-09-10 15:51:47 +00:00
Bruce Momjian 487466a601 Fix palloc call from /port for Cygwin. 2004-09-10 15:23:51 +00:00
Bruce Momjian e515c3b13e Properly include port file for Cygwin. 2004-09-10 15:20:19 +00:00
Bruce Momjian 74248ad673 Minor cleanup. 2004-09-10 14:27:37 +00:00
Bruce Momjian 390c148557 More cleanup. 2004-09-10 14:24:25 +00:00
Bruce Momjian 777687c6de Add mention loops over unlink/rename might not be needed. 2004-09-10 09:58:21 +00:00
Bruce Momjian e2e1a0cc71 Move undef of rename/unlink so system declarations are unmodified. 2004-09-10 09:53:08 +00:00
Bruce Momjian 3036b84b77 Adjust quotes for win32 build of psql. 2004-09-10 09:45:21 +00:00
Neil Conway ae7ea1395c psql consistency fixes from Greg Sabino Mullane: have \df show schema and
name first, make sure \di+ shows description last, and make \dl SQL look
a little more standard.
2004-09-10 04:10:53 +00:00
Bruce Momjian 35e88b512e Create pg_config_paths in port/ for win32 builds of psql. 2004-09-10 03:48:54 +00:00
Bruce Momjian 8975dcfcbb Clean up Cygwin test. 2004-09-10 02:49:37 +00:00
Bruce Momjian b493b39004 Move TIMEZONE_GLOBAL out into the proper place. 2004-09-09 14:18:20 +00:00
Bruce Momjian cec5d26d34 We don't use java in our compiles anymore so remove the filter test from
pgtest.
2004-09-09 09:57:23 +00:00
Dennis Bjorklund dbff17a8c8 Added a call to gettext() to fix broken translated error messages. 2004-09-09 06:56:48 +00:00
Dennis Bjorklund 877aa19211 Translation updates 2004-09-09 06:46:57 +00:00
Dennis Bjorklund 65f35065f4 Some source files was not scanned for translatable strings. 2004-09-09 06:32:13 +00:00
Dennis Bjorklund 00eb901d92 Translation updates 2004-09-09 06:02:39 +00:00
Bruce Momjian f1d1116178 Fix Cygwin defines to be consistent. 2004-09-09 00:59:49 +00:00
Bruce Momjian b70999d0fd Make TZNAME_GLOBAL for reference to tzname global variable. 2004-09-09 00:24:12 +00:00
Tom Lane f62901ca81 Minor efficiency improvements in keeping track of trigger deferred
status.  In particular, I see no reason for deferredTriggerCheckState
to make an explicit entry to note that a particular trigger has its
default state --- that just clutters a list that should normally be
empty or very short.  I have plans to revise this module much more
heavily, but this is a simple separable improvement.
2004-09-08 23:47:58 +00:00
Bruce Momjian e97c817092 Use _timezone global on Cygwin instead of timezone. 2004-09-08 19:43:12 +00:00
Tom Lane 6bb0d54eb8 Fix a couple of small errors in trigger-list management, as per recent
discussion.
2004-09-07 21:48:30 +00:00
Tom Lane 2750b11e18 Fix places where WaitForxxx can block, to eliminate failure to detect
deadlock on Win32.  Magnus Hagander
2004-09-07 14:31:42 +00:00
Tom Lane a1f7fb0975 Fix error in Windows version of CHECK_FOR_INTERRUPTS macro.
This prevented statement_timeout from working.
Magnus Hagander
2004-09-06 23:55:34 +00:00
Tom Lane 083258e535 Fix a number of places where brittle data structures or overly strong
Asserts would lead to a server core dump if an error occurred while
trying to abort a failed subtransaction (thereby leading to re-execution
of whatever parts of AbortSubTransaction had already run).  This of course
does not prevent such an error from creating an infinite loop, but at
least we don't make the situation worse.  Responds to an open item on
the subtransactions to-do list.
2004-09-06 23:33:48 +00:00
Tom Lane d55588ea7a Guard against transaction control statements in SQL functions. This
never worked, but it particularly doesn't work now.
2004-09-06 18:10:38 +00:00
Tom Lane 23645f0582 Fix incorrect ordering of smgr cleanup relative to buffer pin cleanup
during transaction abort.  Add a regression test case to catch related
mistakes in future.  Alvaro Herrera and Tom Lane.
2004-09-06 17:56:33 +00:00
Tom Lane eb917c1a21 I can't see any good reason for DropRelFileNodeBuffers to be issuing
FATAL when it detects a nonzero reference count.  Reduce to ERROR.
2004-09-06 17:31:32 +00:00
Michael Meskes 2a8b626d48 Fixed segfault in Informix mode. 2004-09-06 11:23:07 +00:00
Tom Lane e32bba202d Downgrade LOG messages to DEBUG1 for normal recycling of xlog, clog,
subtrans segments.  Per Greg Mullane and Chris K-L.
2004-09-06 03:04:27 +00:00
Tom Lane 7488929c96 Simplify IsXactIsoLevelSerializable test. A cycle saved is a cycle
earned ...
2004-09-05 23:01:26 +00:00
Tom Lane 1a86e6eabf On further consideration, there's another problem here: the existing
elog() emulation code always calls errstart with ERROR error level.
This means that a recursive error call triggered by elog would do
MemoryContextReset(ErrorContext), whether or not this was actually
appropriate.  I'm surprised we haven't seen this in the field...
2004-09-05 03:42:13 +00:00
Tom Lane cefb4b141b Tweak elog.c's logic for promoting errors into more severe errors.
Messages of less than ERROR severity should never be promoted (this
fixes Gaetano Mendola's problem with a COMMERROR becoming a PANIC,
and is obvious in hindsight anyway).  Do all promotion in errstart
not errfinish, to ensure that output decisions are made correctly;
the former coding could suppress logging of promoted errors, which
doesn't seem like a good idea.  Eliminate some redundant code too.
2004-09-05 02:01:41 +00:00
Tom Lane 346900e83b Fix shared library linking operations to work properly on all (or at
least more) combinations of HP-UX hardware, compiler, and linker.
Shinji Teragaito and Tom Lane.
2004-09-02 23:06:43 +00:00
Tom Lane cb79234307 Apparently HPUX runs the IA64 in big-endian mode. 2004-09-02 21:03:30 +00:00
Tom Lane 6ad853b975 Yet another place where someone was being careless about the arguments
of <ctype.h> macros.
2004-09-02 20:07:50 +00:00
Tom Lane a28961d5e0 Spelling correction, per Greg Mullane. 2004-09-02 17:58:41 +00:00
Tom Lane 1e4c33b1e8 Fix getrusage() emulation on Windows. Magnus Hagander 2004-09-02 17:55:16 +00:00
Tom Lane 3cd16475db Cope with recent HPUX versions providing isfinite() instead of finite(). 2004-09-02 17:12:50 +00:00
Tom Lane 5042985fb4 Add s_lock support for HPUX on IA64, per Shinji Teragaito. 2004-09-02 17:10:58 +00:00
Tom Lane e00896f3c6 Remove useless variable. 2004-09-02 16:42:00 +00:00
Bruce Momjian 8cef6ae522 Remove pg_config_paths.h from libpq *.mak builds so later MinGW builds
will succeed.
2004-09-02 02:02:02 +00:00
Bruce Momjian bf831f6e9f Back out timezone detection patch. Tom already applied it. 2004-09-02 01:15:06 +00:00
Bruce Momjian 525449be27 This patch attempts to fix the issue with localized timezones on
Windows.

Recap: When running on a localized windows version, the timezone name
returned is also localized, and therefor does not match our lookup
table.

Solution: The registry contains both the name of the timezone in english
and the localized name. The patch adds code to scan the registry for the
localized name and gets the english name from that, and then rescans the
table.

I have tested this on a Swedish WinXP, and it works without problems.
The registry layout is the same in Win2k, but I haven't specifically
tested it. It's also the same on different languages but again only
Swedish is tested.

Magnus Hagander
2004-09-02 01:03:59 +00:00
Tom Lane e814e4bfe5 Remove obsolete comment. 2004-09-02 00:22:16 +00:00
Tom Lane e41acf4029 Tweak prettyprinting rules for saner indenting of UNION, INTERSECT,
EXCEPT constructs.
2004-09-01 23:58:38 +00:00
Bruce Momjian 453c670b61 Fix bcc to compile libpq by creating include file for path.c. 2004-09-01 23:45:16 +00:00
Bruce Momjian 4fa8b44749 Realign libpq and psql for need for path.c under Win32 VC and BCC. 2004-09-01 23:35:16 +00:00
Bruce Momjian bd9b951191 Back out Cygwin timezone change until we have a more global solution. 2004-09-01 18:59:35 +00:00
Tom Lane 93dc1d4685 Fix mistaken comment. 2004-09-01 18:04:32 +00:00
Tom Lane 272cc8e265 Whack Wisconsin benchmark around until it actually works again.
It's still useless because it tests a standalone backend, but at least
the bit rot is repaired.
2004-09-01 17:25:40 +00:00
Tom Lane d1b2260cdc Add code to be able to match the timezone name on localized Windows
systems.  Magnus Hagander.
2004-09-01 16:21:50 +00:00
Dennis Bjorklund b3d3e27bb8 Translation updates 2004-09-01 10:11:08 +00:00
Bruce Momjian 33f395eada Cast _timezone to int from time_t for Cygwin. 2004-09-01 04:02:06 +00:00
Bruce Momjian 2a5f83c17c src/bin/psql/tab-complete.c =~ s/CONVERSATION/CONVERSION/;
Greg Sabino Mullane
2004-09-01 00:10:01 +00:00
Tom Lane e19f6bcf64 needs_toast_table() should ignore dropped columns. 2004-08-31 23:27:05 +00:00
Tom Lane 1239a01a72 Code review for recent changes in guc-file.l. Avoid multiple frees,
use of already-freed strings, other silliness.  Also fix reporting of
config file syntax errors so that it actually works reasonably well
(eg, points at the correct line).  Use palloc instead of malloc for
temporary storage to reduce code clutter.
2004-08-31 22:43:58 +00:00
Tom Lane c32416ebb7 Code review for various recent GUC hacking. Don't elog(ERROR) when
not supposed to (fixes problem with postmaster aborting due to mistaken
postgresql.conf change); don't call superuser() when not inside a
transaction (fixes coredump when, eg, try to set log_statement from
PGOPTIONS); some message style guidelines enforcement.
2004-08-31 19:28:51 +00:00
Tom Lane 617d6ea7df Fix unintended assignment of sequences to the containing schema's
default tablespace --- they should always go in the database's default
tablespace.  Adjust heap_create() API so that it is passed the relkind
to make this easier; should simplify any further tweaking of the same
sort.
2004-08-31 17:10:36 +00:00
Tom Lane a421b4e850 FlushRelationBuffers was also being a bit cavalier about whether the
relation is already opened by smgr.
2004-08-31 16:13:06 +00:00
Tom Lane 556110f4e0 copy_relation_data was mistakenly assuming that the source relation
would always be already open at the smgr level.  Per bug report from
Fabien Coelho.
2004-08-31 15:56:39 +00:00
Bruce Momjian b4456e6d6a Define lstat with parameters, rather than just redefining the symbol. 2004-08-31 11:29:56 +00:00
Bruce Momjian 2e88d29f88 Fix typo in lstat() macro exposed by new tablespace code. 2004-08-31 11:25:33 +00:00
Tom Lane 8c603f2c95 Replace log_filename_prefix with more general log_filename parameter,
to allow DBA to choose the form in which log filenames reflect the
current time.  Also allow for truncating instead of appending to
pre-existing files --- this is convenient when the log filename pattern
rewrites the same names cyclically.  Per Ed L.
2004-08-31 04:53:44 +00:00
Tom Lane 332ee2dc41 Improve spinlock selftest to make it able to detect misdeclaration of
the slock_t datatype (ie, declared type smaller than what the hardware
TAS instruction needs).
2004-08-30 23:47:20 +00:00
Tom Lane 17364edce6 slock_t must be int not char for MIPS. 7.4 got this right, but the
info was apparently mistranscribed in s_lock code rearrangement.
2004-08-30 22:49:07 +00:00
Tom Lane c7040429e7 Fix obviously-utterly-untested noTocComments code. 2004-08-30 19:44:14 +00:00
Tom Lane 64cb889106 Ensure that the remainder of the current pg_clog page is zeroed during
startup, just to be sure that there's no leftover junk there.
2004-08-30 19:00:42 +00:00
Tom Lane 9cf4eaa00b Fix failure to advance nextXID beyond subtransactions whose XIDs appear
only within COMMIT or ABORT records.
2004-08-30 19:00:03 +00:00
Tom Lane 303e46ea93 Tweak md.c logic to cope with the situation where WAL replay tries to
write into a high-numbered segment of a relation that was later deleted.
We need to temporarily recreate missing segment files, instead of
failing.
2004-08-30 03:52:43 +00:00
Tom Lane 09c6ac9513 Dept. of second thoughts: it'd be a good idea to flush buffers
during replay of CREATE DATABASE as well as the first time around.
Else it's possible that the copy operation will copy obsolete blocks.
We are still a long way from guaranteeing anything about using a
recently-written database as a CREATE template, but this seems needed
to ensure the existing behavior holds up during replay.
2004-08-30 03:50:24 +00:00
Bruce Momjian 15d3f9f6b7 Another pgindent run with lib typedefs added. 2004-08-30 02:54:42 +00:00
Tom Lane 50742aed68 Add WAL logging for CREATE/DROP DATABASE and CREATE/DROP TABLESPACE.
Fix TablespaceCreateDbspace() to be able to create a dummy directory
in place of a dropped tablespace's symlink.  This eliminates the open
problem of a PANIC during WAL replay when a replayed action attempts
to touch a file in a since-deleted tablespace.  It also makes for a
significant improvement in the usability of PITR replay.
2004-08-29 21:08:48 +00:00
Bruce Momjian ee66401f31 Update typedefs with /lib info. 2004-08-29 17:31:42 +00:00
Tom Lane 0ffe11abd3 Widen xl_len field of XLogRecord header to 32 bits, so that we'll have
a more tolerable limit on the number of subtransactions or deleted files
in COMMIT and ABORT records.  Buy back the extra space by eliminating the
xl_xact_prev field, which isn't being used for anything and is rather
unlikely ever to be used for anything.
This does not force initdb, but you do need to do pg_resetxlog if you
want to upgrade an existing 8.0 installation without initdb.
2004-08-29 16:34:48 +00:00
Bruce Momjian b6b71b85bc Pgindent run for 8.0. 2004-08-29 05:07:03 +00:00
Bruce Momjian 90cb9c3051 Update with new typedefs. Remove java and c++ parts of readme. 2004-08-29 04:49:45 +00:00
Bruce Momjian da9a8649d8 Update copyright to 2004. 2004-08-29 04:13:13 +00:00
Bruce Momjian 466c1290df Fix for postmaster.c function win32_waitpid(int *exitstatus) call to
Win32 WaitForMultipleObjects:

	ret = WaitForMultipleObjects(win32_numChildren, win32_childHNDArray,
	FALSE, 0);

Problem is 'win32_numChildren' could be more then 64 ( function supports
), problem basically arise ( kills postgres ) when you create more then
64 connections and terminate some of them sill leaving more then 64.

Claudio Natoli
2004-08-29 03:16:30 +00:00
Bruce Momjian 71fce6ce1b Adjust regression expected file for new grant language hint. 2004-08-29 03:14:07 +00:00
Bruce Momjian 61384de6f9 Add hint about using GRANT with non-trusted languages.
James William Pye
2004-08-29 03:04:15 +00:00
Bruce Momjian 0476bbbc9b Several Cygwin fixes pointed out by Reini Urban. 2004-08-29 02:58:50 +00:00
Bruce Momjian f94aea9c10 Add comment on palloc use and DLLIMPORT> 2004-08-29 01:44:02 +00:00
Bruce Momjian 704ff0b2f2 >>> I understand your disliking of non-posix stuff. OTOH,
>>GetLastError will
>>> give much more details than errno.
>>
>>How much more, really?  That mapping table gave me the impression that
>>the win32 error codes aren't all that much more detailed than errno...
>
>The mapping table is not complete. My winerror.h from the SDK
>lists 2209
>error codes, whereas errno.h lists 42...
>
>I still don't think we'll get that much more stuff. Right now,
>the Win32
>code paths that actually use the more advanced functions already write
>out the error number in case something happens. We can keep doing that
>for the other paths (ereport the error *number* when the mapping does
>not have a match). The map to errno will catch almost all cases, I
>think. And in the corner cases we can do with just the number, and use
>"net helpmsg" to get the actual message when checking...

Here's an attempt on this. new file goes in backend/port/win32.

Magnus Hagander
2004-08-29 00:38:03 +00:00
Bruce Momjian fe90fb4d37 The attached patch improves pg_ctl's win32 service code to eliminate
some possible causes of the stale postmaster.pid problem that some users
have reported.

- The service did not properly report that it accepts
SERVICE_CONTROL_SHUTDOWN events, thus it's possible the SCM simply
killed the postmaster on shutdown.

- 'WaitHints' are now given to the SCM to prevent it timing out if
pg_ctl doesn't respond to a control event quickly enough.

- During shutdown, the service checkpoint counter is incremented every
five seconds for up to a minute to prevent the SCM timing out and
assuming the service is not responding.

Dave Page
2004-08-28 23:26:37 +00:00
Bruce Momjian f7587aeba8 > Am Dienstag, 17. August 2004 14:26 schrieb Fabien COELHO:
> > The patch adds missing the "libpgport.a" file to the installation under
> > "install-all-headers". It is needed by some contribs. I install the
> > library in "pkglibdir", but I was wondering whether it should be "libdir"?

Please find attached a small patch against current CVS head that fixes
pgport library installation so that it goes to libdir instead of
pkglibdir. It works for me.

Fabien Coelho
2004-08-28 22:55:06 +00:00
Bruce Momjian 922599464f Fix high-bit comparison compiler warning in pg_dump.
Philip Warner
2004-08-28 22:52:50 +00:00
Bruce Momjian 5395aed9d5 Add regression tests for ALTER INDEX.
Gavin Sherry
2004-08-28 22:06:04 +00:00
Tom Lane f78ecbf20e Now that TransactionIdDidAbort doesn't think it should try to modify
pg_clog, there's no reason to do abort marking of subtransactions in a
nonintuitive order.
2004-08-28 22:04:12 +00:00
Bruce Momjian c8702dcb8e Propogate pg_ctl -D to the postmaster for command-line identification. 2004-08-28 22:04:01 +00:00
Tom Lane 7531d2fd85 Add missing Assert to make TransactionIdDidAbort more consistent with
TransactionIdDidCommit.
2004-08-28 21:58:59 +00:00
Tom Lane 448eb0837f Rearrange order of operations in heap_drop_with_catalog and index_drop
so that we close and flush the doomed relation's relcache entry before
we start to delete the underlying catalog rows, rather than afterwards.
For awhile yesterday I thought that an unexpected relcache entry rebuild
partway through this sequence might explain the infrequent parallel
regression failures we were chasing.  It doesn't, mainly because there's
no CommandCounterIncrement in the sequence and so the deletions aren't
"really" done yet.  But it sure seems like trouble waiting to happen.
2004-08-28 21:05:26 +00:00
Bruce Momjian a0a61f494d > > Another issue is that when installing the Postgres service with
> > "pg_ctl register -w ...." the "-w" parameter was not put in
> the registry "ImagePath"
> > value for the Postgres service. (I added it manually to test.) So I
> > suspect that "pg_ctl register" will need to be enhanced to add the
> > "-w" parameter to the registry settings.

Dave Page
2004-08-28 21:01:38 +00:00
Bruce Momjian cc28a275cb Use dynamic buffer for token buffer in win32 admin check
Magnus Hagander
2004-08-28 21:00:35 +00:00
Tom Lane 1c72d0dec1 Fix relcache to account properly for subtransaction status of 'new'
relcache entries.  Also, change TransactionIdIsCurrentTransactionId()
so that if consulted during transaction abort, it will not say that
the aborted xact is still current.  (It would be better to ensure that
it's never called at all during abort, but I'm not sure we can easily
guarantee that.)  In combination, these fix a crash we have seen
occasionally during parallel regression tests of 8.0.
2004-08-28 20:31:44 +00:00
Joe Conway f900af7961 Further tightening of the array literal parser. Prevent junk
from being accepted after the outer right brace. Per report from
Markus Bertheau.

Also add regression test cases for this change, and for previous
recent array literal parser changes.
2004-08-28 19:31:29 +00:00
Tom Lane f444dafab0 Can't truncate pg_subtrans during a recovery checkpoint --- subtrans
module isn't fully initialized yet.
2004-08-28 18:18:03 +00:00
Tom Lane 7ff1c9d974 Add missing semicolon; some bison versions warn of this. 2004-08-28 18:04:51 +00:00
Tom Lane 3e3f70a28a Fix Windows emulation of kill(pid, 0). This will now succeed, but only
if the target PID is a PG postmaster or backend --- for our purposes that
is actually better than the Unix behavior.  Per Dave Page and Andrew Dunstan.
2004-08-27 18:31:48 +00:00
Tom Lane 1785acebf2 Introduce local hash table for lock state, as per recent proposal.
PROCLOCK structs in shared memory now have only a bitmask for held
locks, rather than counts (making them 40 bytes smaller, which is a
good thing).  Multiple locks within a transaction are counted in the
local hash table instead, and we have provision for tracking which
ResourceOwner each count belongs to.  Solves recently reported problem
with memory leakage within long transactions.
2004-08-27 17:07:42 +00:00
Tom Lane 337b513e07 Fix user locks. Broken some time ago for all platforms by Windows-related
changes.
2004-08-26 17:23:30 +00:00