Commit Graph

13589 Commits

Author SHA1 Message Date
Tom Lane fae7ce83fe Make locale_messages_assign() really work on Windows; the prior hack
only covered the case of assigning "", and failed to recognize that
actually setlocale(LC_MESSAGES,...) does not work at all on this platform.
Magnus Hagander, some code prettification by Tom Lane.
2004-10-17 20:02:26 +00:00
Tom Lane cc6a90e4af Remove dllist.c from libpq. It's overkill for what libpq needs; we can
just stick a list-link into struct PGnotify instead.  Result is a smaller
faster and more robust library (mainly because we reduce the number of
malloc's and free's involved in notify processing), plus less pollution
of application link-symbol namespace.
2004-10-16 22:52:55 +00:00
Tom Lane dc19aaa12f Give a more user-friendly error message in case where a table is created
in a schema whose default tablespace has been dropped.
2004-10-16 21:16:36 +00:00
Tom Lane 2a63c1602d Generate the various .def files for libpq DLLs from a single list of
exportable functions.  The .def files are removed from CVS, but will
still be present in distribution tarballs, since we can't assume that
Windows boxes will have sed.
2004-10-16 20:10:57 +00:00
Tom Lane f68d05d5ec Limit NBuffers and some related values to INT_MAX / BLCKSZ, to prevent
arithmetic overflow during initial sizing calculations.  This is not
water-tight but it should avoid the grossest sorts of failures.
2004-10-16 19:08:38 +00:00
Tom Lane fdd13f1568 Give the ResourceOwner mechanism full responsibility for releasing buffer
pins at end of transaction, and reduce AtEOXact_Buffers to an Assert
cross-check that this was done correctly.  When not USE_ASSERT_CHECKING,
AtEOXact_Buffers is a complete no-op.  This gets rid of an O(NBuffers)
bottleneck during transaction commit/abort, which recent testing has shown
becomes significant above a few tens of thousands of shared buffers.
2004-10-16 18:57:26 +00:00
Tom Lane 1c2de47746 Remove BufferLocks[] array in favor of a single pointer to the buffer
(if any) currently waited for by LockBufferForCleanup(), which is all
that we were using it for anymore.  Saves some space and eliminates
proportional-to-NBuffers slowdown in UnlockBuffers().
2004-10-16 18:05:07 +00:00
Bruce Momjian 72f9013741 Fix Cygwin using of pg_ctl by not usig START.
Reini Urban
2004-10-16 03:32:08 +00:00
Bruce Momjian c7add816f5 Export only required symbols in libpq on Win32.
Magnus Hagander
2004-10-16 03:26:43 +00:00
Bruce Momjian 88fd162ef6 Allow pg_ctl to determine the server is up when getting a request for a
password.

Make password error message a #define and use it consistently.

Sean Chittenden
2004-10-16 03:10:17 +00:00
Tom Lane 9ffc8ed58b Repair possible failure to update hint bits back to disk, per
http://archives.postgresql.org/pgsql-hackers/2004-10/msg00464.php.
This fix is intended to be permanent: it moves the responsibility for
calling SetBufferCommitInfoNeedsSave() into the tqual.c routines,
eliminating the requirement for callers to test whether t_infomask changed.
Also, tighten validity checking on buffer IDs in bufmgr.c --- several
routines were paranoid about out-of-range shared buffer numbers but not
about out-of-range local ones, which seems a tad pointless.
2004-10-15 22:40:29 +00:00
Bruce Momjian db9e2fd0a9 The previous build rules caused each binary to be re-linked on every
"make", even if nothing had changed. With this patch, it's only relinked
if it's actually updated.

//Magnus

PS. Yes, the old buildrule for the .rc file is still needed, as it's
used by pgevent.rc (or any other binary in the future that would need
it's own .rc file)

Magnus Hagander
2004-10-15 17:10:58 +00:00
Bruce Momjian ce1c20248d I have attached 5 patches (split up for ease of review) to plperl.c.
1. Two minor cleanups:

    - We don't need to call hv_exists+hv_fetch; we should just check the
      return value of hv_fetch.
    - newSVpv("undef",0) is the string "undef", not a real undef.

2. This should fix the bug Andrew Dunstan described in a recent -hackers
   post. It replaces three bogus "eval_pv(key, 0)" calls with newSVpv,
   and eliminates another redundant hv_exists+hv_fetch pair.

3. plperl_build_tuple_argument builds up a string of Perl code to create
   a hash representing the tuple. This patch creates the hash directly.

4. Another minor cleanup: replace a couple of av_store()s with av_push.

5. Analogous to #3 for plperl_trigger_build_args. This patch removes the
   static sv_add_tuple_value function, which does much the same as two
   other utility functions defined later, and merges the functionality
   into plperl_hash_from_tuple.

I have tested the patches to the best of my limited ability, but I would
appreciate it very much if someone else could review and test them too.

(Thanks to Andrew and David Fetter for their help with some testing.)

Abhijit Menon-Sen
2004-10-15 17:08:26 +00:00
Bruce Momjian a1ce88a59c Have log_duration only output when log_statement has printed the query.
This handles the new multiple log_statement values.

Ed L.
2004-10-15 16:50:31 +00:00
Bruce Momjian 4d94e99b90 > This lets you do something like:
>
>    ./configure LDFLAGS=-static-libgcc LDFLAGS_SL=-static-libgcc
>
> to produce binaries that do not depend on libgcc_s.so at all.

Oliver Jowett
2004-10-15 05:11:00 +00:00
Bruce Momjian 063216ef3d Allow psql booleans to use OFF or off.
Michael Paesold
2004-10-15 05:02:31 +00:00
Bruce Momjian 8613eac6c4 Fix pg_ctl -D handling for Win32:
C:\msys\1.0\home\y-asaba>pg_ctl -D data restart
	waiting for postmaster to shut down...LOG:  received smart shutdown
	request.
	LOG:  shutting down
	LOG:  database system is shut down
	done
	postmaster stopped

	postmaster starting

	C:\msys\1.0\home\y-asaba>postmaster.exe: invalid argument: "'-D'"
	Try "postmaster.exe --help" for more information.

Yoshiyuki Asaba
2004-10-15 04:54:33 +00:00
Bruce Momjian a49f6ad014 Add full path in error report for version mismatch of binaries. 2004-10-15 04:32:28 +00:00
Neil Conway 8ff374ce91 psql code cleanup:
- refactor a bunch of code to call a separate function print_msg() which
checks whether "silent mode" is enabled before printing an error
message.

- rename "silence_mode" to "silent_mode", which IMHO makes more sense

- make the error messages we emit in "waiting" mode more consistent; I
believe this fixes a recent error message regression
2004-10-15 01:36:12 +00:00
Bruce Momjian 5c267325ec Add 'int' cast for getpid() because some Solaris releases return long
for getpid().
2004-10-14 20:23:46 +00:00
Bruce Momjian e92b007715 pg_restore wording improvement, per Peter. 2004-10-13 14:24:16 +00:00
Bruce Momjian c55de22d94 Enable service use by Cygwin of pg_ctl. 2004-10-13 10:35:05 +00:00
Bruce Momjian 4855d7ebe4 Allow compiles for Cygwin /contrib modules.
Reini Urban
2004-10-13 10:20:04 +00:00
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