Commit Graph

18856 Commits

Author SHA1 Message Date
Neil Conway
857e210ea9 When using GCC, change the default CFLAGS to:
-O2 -Wall -Wmissing-prototypes -Wpointer-arith

Check whether the version of GCC we are using supports any of:

  -Wdeclaration-after-statement
  -Wendif-labels
  -Wold-style-definition

And add the supported flags to CFLAGS.
2004-10-20 02:12:07 +00:00
Tom Lane
a1bc728cf9 Add a HINT about the likely reason for 'invalid multibyte character for locale' failure. 2004-10-19 15:04:17 +00:00
Peter Eisentraut
3371b99e65 New translation 2004-10-19 13:39:27 +00:00
Peter Eisentraut
9f2d5df3b9 Organize the help output a little better. Improve clarity of some messages. 2004-10-19 13:38:53 +00:00
Tom Lane
c77d06633a Add some code to ensure that we don't lose communication sync due to
an oversize message, per suggestion from Oliver Jowett.  I'm a bit
dubious that this is a real problem, since the client likely doesn't
have any more space available than the server, but it's not hard to
make it behave according to the protocol intention.
2004-10-18 23:23:19 +00:00
Peter Eisentraut
6e53f18b84 New translation 2004-10-18 22:19:15 +00:00
Peter Eisentraut
2aa8d0a807 Might want to initialize the gettext library, if we're going to do all that
translation work.
2004-10-18 22:19:00 +00:00
Peter Eisentraut
a465f24a1e Translation update 2004-10-18 22:18:03 +00:00
Tom Lane
9d9cfb1ad7 Add PQprepare/PQsendPrepared functions to libpq to support preparing
statements without necessarily specifying the datatypes of their parameters.
Abhijit Menon-Sen with some help from Tom Lane.
2004-10-18 22:00:42 +00:00
Bruce Momjian
b3fe6bcafe Remove use of "miscadmin.h" in port C files and remove test for frontend
in miscadmin.h.
2004-10-18 19:08:58 +00:00
Peter Eisentraut
cd8db9532b New translation 2004-10-18 17:58:54 +00:00
Peter Eisentraut
d5213d94b9 Translation updates 2004-10-18 17:56:46 +00:00
Peter Eisentraut
68970b3e61 New translation 2004-10-18 17:53:40 +00:00
Peter Eisentraut
cc32ac990b Updated SQL key words table 2004-10-18 17:09:03 +00:00
Bruce Momjian
0060b3c8eb The attached patch fixes psql's win32 frontend-only build, by using
pg_strcasecmp in variables.c, and #ifdef'ing out PostmasterPid in
miscadmin.h.

Dave Page
2004-10-18 16:24:40 +00:00
Bruce Momjian
a9a2c394b8 Force rebuild. 2004-10-18 16:16:20 +00:00
Bruce Momjian
e444d9a966 Improve indentation of sublists:
< 	The proper solution to this will probably the use of a master/slave
< 	replication solution like Sloney and a connection pooling tool like
< 	pgpool.
> 	  The proper solution to this will probably the use of a master/slave
> 	  replication solution like Sloney and a connection pooling tool like
> 	  pgpool.
114,116c114,116
< 	You can use any of the master/slave replication servers to use a
< 	standby server for data warehousing. To allow read/write queries to
< 	multiple servers, you need multi-master replication like pgcluster.
> 	  You can use any of the master/slave replication servers to use a
> 	  standby server for data warehousing. To allow read/write queries to
> 	  multiple servers, you need multi-master replication like pgcluster.
166,167c166,167
< 	Currently large objects entries do not have owners. Permissions can
< 	only be set at the pg_largeobject table level.
> 	  Currently large objects entries do not have owners. Permissions can
> 	  only be set at the pg_largeobject table level.
173c173
< 	This requires the TOAST column to be stored EXTERNAL.
> 	  This requires the TOAST column to be stored EXTERNAL.
359,360c359,360
< 	One complexity is whether moving a schema should move all existing
< 	schema objects or just define the location for future object creation.
> 	  One complexity is whether moving a schema should move all existing
> 	  schema objects or just define the location for future object creation.
364,365c364,365
< 	Currently non-global system tables must be in the default database
< 	schema. Global system tables can never be moved.
> 	  Currently non-global system tables must be in the default database
> 	  schema. Global system tables can never be moved.
371,375c371,375
< 	This might require some background daemon to maintain clustering
< 	during periods of low usage. It might also require tables to be only
< 	paritally filled for easier reorganization.  Another idea would
<         be to create a merged heap/index data file so an index lookup would
< 	automatically access the heap data too.
> 	  This might require some background daemon to maintain clustering
> 	  during periods of low usage. It might also require tables to be only
> 	  paritally filled for easier reorganization.  Another idea would
>           be to create a merged heap/index data file so an index lookup would
> 	  automatically access the heap data too.
379,380c379,380
< 	To do this, determine the ideal cluster index for each system
< 	table and set the cluster setting during initdb.
> 	  To do this, determine the ideal cluster index for each system
> 	  table and set the cluster setting during initdb.
385,386c385,386
< 	This requires the use of a savepoint before each COPY line is
< 	processed, with ROLLBACK on COPY failure.
> 	  This requires the use of a savepoint before each COPY line is
> 	  processed, with ROLLBACK on COPY failure.
395,398c395,398
< 	This requires using the row ctid to map cursor rows back to the
< 	original heap row. This become more complicated if WITH HOLD cursors
< 	are to be supported because WITH HOLD cursors have a copy of the row
< 	and no FOR UPDATE lock.
> 	  This requires using the row ctid to map cursor rows back to the
> 	  original heap row. This become more complicated if WITH HOLD cursors
> 	  are to be supported because WITH HOLD cursors have a copy of the row
> 	  and no FOR UPDATE lock.
405,406c405,406
< 	Because WITH HOLD cursors exist outside transactions, this allows
< 	them to be listed so they can be closed.
> 	  Because WITH HOLD cursors exist outside transactions, this allows
> 	  them to be listed so they can be closed.
413,415c413,415
< 	This is useful for returning the auto-generated key for an INSERT.
< 	One complication is how to handle rules that run as part of
< 	the insert.
> 	  This is useful for returning the auto-generated key for an INSERT.
> 	  One complication is how to handle rules that run as part of
> 	  the insert.
422c422
< 	This is basically the same as SET search_path.
> 	  This is basically the same as SET search_path.
426,427c426,427
< 	This requires a checking function to be called after the server
< 	configuration file is read.
> 	  This requires a checking function to be called after the server
> 	  configuration file is read.
432c432
< 	Currently only constants are supported.
> 	  Currently only constants are supported.
438,439c438,439
< 	This requires the cached PL/PgSQL byte code to be invalidated when
< 	an object referenced in the function is changed.
> 	  This requires the cached PL/PgSQL byte code to be invalidated when
> 	  an object referenced in the function is changed.
512,513c512,513
< 	Document differences between ecpg and the SQL standard and
< 	information about the Informix-compatibility module.
> 	  Document differences between ecpg and the SQL standard and
> 	  information about the Informix-compatibility module.
2004-10-18 16:13:43 +00:00
Michael Meskes
51aacecae6 Synced parser 2004-10-18 13:36:23 +00:00
Bruce Momjian
00306efcef Update Japanese FAQ.
Jun Kuwamura
2004-10-18 11:45:26 +00:00
Bruce Momjian
f9259bd563 Update wording:
* Allow a database in tablespace t1 with tables created in tablespace t2
  to be used as a template for a new database created with default
  tablespace t2

  All objects in the default database tablespace must have default tablespace
  specifications.  This is because new databases are created by copying
  directories.  If you mix default tablespace tables and tablespace-specified
  tables in the same directory, creating a new database from such a mixed
  directory would create a new database with tables that had incorrect
  explicit tablespaces.  To fix this would require modifying pg_class in the
  newly copied database, which we don't currently do.
2004-10-18 03:27:14 +00:00
Bruce Momjian
b303739c06 Add:
>
> * Allow a database in tablespace t1 with tables created in tablespace t2
>   to be used as a template for a new database created with default
>   tablespace t2
>
>   All objects in the default database tablespace must have default tablespace
>   specifications.  This is because new databases are created by copying
>   directories.  If you mix default tablespace tables and tablespace-specified
>   tables in the same directory, creating a new database from such a mixed
>   directory would create a new database with tables that had incorrect
>   explicit tablespaces.  To fix this would require modifying pg_class in the
>   newly copied database, which we don't currently do.
2004-10-18 02:56:42 +00:00
Neil Conway
301d6e419c Trivial fix: remove a pointless cast. 2004-10-18 01:45:38 +00:00
Tom Lane
877179245d Tweak pg_dump to handle default tablespaces correctly --- same logic
as the corrected pg_get_indexdef code.
2004-10-18 00:20:41 +00:00
Bruce Momjian
edb1ba113d Better document win32_open and its ability to allow concurrent
unlink/rename().
2004-10-17 23:53:30 +00:00
Bruce Momjian
1311667b5c Fix some typos. 2004-10-17 23:39:22 +00:00
Tom Lane
d3e36da789 Make the standard stopword files be sought relative to share_dir, so
that a tsearch2 installation can be relocatable.
2004-10-17 23:09:31 +00:00
Tom Lane
4347cc2392 Allow background writing to be shut down by setting limit values to zero.
This does not disable the bgwriter process: it still has to wake up often
enough to collect fsync requests from backends in a timely fashion.  But
it responds to the recent gripe about not being able to prevent the disk
from being spun up constantly.
2004-10-17 22:01:51 +00:00
Tom Lane
bdbe9c9f06 pg_get_indexdef() didn't do quite the right thing with identifying
an index's tablespace.
2004-10-17 21:17:27 +00:00
Peter Eisentraut
ca14e3bc01 New translation 2004-10-17 21:12:55 +00:00
Peter Eisentraut
8de2e16f1f New translation 2004-10-17 21:10:25 +00:00
Peter Eisentraut
2ae65595cc Translation update 2004-10-17 21:08:22 +00:00
Peter Eisentraut
2f2121ffbe Translation updates 2004-10-17 21:05:03 +00:00
Peter Eisentraut
63d4f1cdbf Adjust message 2004-10-17 21:04:41 +00:00
Tom Lane
830c168e5c Give a more user-friendly error message in situation where CREATE DATABASE
specifies a new default tablespace and the template database already has
some tables in that tablespace.  There isn't any way to solve this fully
without modifying the clone database's pg_class contents, so for now the
best we can do is issue a better error message.
2004-10-17 20:47:21 +00:00
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
b3d58ea7ec Include dllist.c directly instead of assuming that libpq will provide it.
Whack some semblance of project-conventions-conformance into pg_autovacuum.h.
2004-10-16 21:50:02 +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
bdb8b394c4 This patch clarifies the usage of references in PL/Perl :)
David Fetter
2004-10-15 16:51:48 +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