Commit Graph

21016 Commits

Author SHA1 Message Date
Bruce Momjian
479a8fd69e > Gavin Sherry <swm@linuxworld.com.au> writes:
> > I ran across this yesterday on HEAD:
>
> > template1=# grant select on foo, foo to swm;
> > ERROR:  tuple already updated by self
>
> Seems to fail similarly in every version back to 7.2; probably further,
> but that's all I have running at the moment.
>
> > We could do away with the error by producing a unique list of object names
> > -- but that would impose an extra cost on the common case.
>
> CommandCounterIncrement in the GRANT loop would be easier, likely.
> I'm having a hard time getting excited about it though...

Yeah, its not that exciting but that error message would throw your
average user.

I've attached a patch which calls CommandCounterIncrement() in each of the
grant loops.

Gavin Sherry
2005-08-12 21:20:24 +00:00
Bruce Momjian
abc8a0a0fe More rsi assignment line too. 2005-08-12 21:09:34 +00:00
Tom Lane
0d1ebe0194 Fix up canonicalize_path to do the right thing in all cases (I think ...
this was harder than it seemed at first glance).  Also push code for
checking for ".." in file names into path.c where it belongs.
2005-08-12 21:07:53 +00:00
Bruce Momjian
9cc5caea6c Fix this:
$ ./configure --without-docdir
	..
	$ cd contrib/pgstattuple/
	$ make install
	mkdir -p -- /contrib
	mkdir: cannot create directory `/contrib': Permission denied
	make: *** [installdirs] Error 1

ISHIDA Akio
2005-08-12 21:02:25 +00:00
Bruce Momjian
2c07d6bfa5 Cleanups for FreeBSD linking (PIC) and plpython compiles.
FreeBSD ports, supplied by Jim C. Nasby
2005-08-12 20:57:11 +00:00
Bruce Momjian
60672b59b8 > The attached patch moves a plperl sanity check into the correct
> position. Performing the check in the existing position allows the call
> to go through to perl first, possibly resulting in a SEGV.

Andrew Dunstan
2005-08-12 20:48:03 +00:00
Bruce Momjian
88a2b5c10f No server version of snprintf needed, so remove Makefile rule. 2005-08-12 19:45:14 +00:00
Bruce Momjian
3b0ee862d6 Reverse out changes to canonicalize_path(), per suggestion from Tom. 2005-08-12 19:43:32 +00:00
Bruce Momjian
35379e9079 Modify canonicalize_path() so if we would return a trailing "..", throw
an error instead.
2005-08-12 19:42:45 +00:00
Tom Lane
a43ea120bf Code & docs review for server instrumentation patch. File timestamps
should surely be timestamptz not timestamp; fix some but not all of the
holes in check_and_make_absolute(); other minor cleanup.  Also put in
the missed catversion bump.
2005-08-12 18:23:56 +00:00
Bruce Momjian
cb29f669b0 Add markup for GUC mention in docs. 2005-08-12 15:57:48 +00:00
Tom Lane
6ea05c16a4 Change a couple of "can't happen" error messages to be a shade more
verbose when they do happen.  The "left link changed unexpectedly"
one in particular has been seen more than once in the field.
2005-08-12 14:34:14 +00:00
Tom Lane
3ae7e4a33b Remove BufferBlockPointers array in favor of a base + (bufnum) * BLCKSZ
computation.  On modern machines this is as fast if not faster, and we
don't have to clog the CPU's L2 cache with a tens-of-KB pointer array.
If we ever decide to adopt a more dynamic allocation method for shared
buffers, we'll probably have to revert this patch, but in the meantime
we might as well save a few bytes and nanoseconds.  Per Qingqing Zhou.
2005-08-12 05:05:51 +00:00
Bruce Momjian
b609695b7a Add files to do read I/O on the cluster directory:
pg_stat_file()
	pg_read_file()
	pg_ls_dir()
	pg_reload_conf()
	pg_rotate_logfile()

Dave Page
Andreas Pflug
2005-08-12 03:25:13 +00:00
Bruce Momjian
d95886e734 Update comments. 2005-08-12 03:07:45 +00:00
Bruce Momjian
6effc19d9c Document why we only handle trailing "..". 2005-08-12 02:48:37 +00:00
Tom Lane
721e53785d Solve the problem of OID collisions by probing for duplicate OIDs
whenever we generate a new OID.  This prevents occasional duplicate-OID
errors that can otherwise occur once the OID counter has wrapped around.
Duplicate relfilenode values are also checked for when creating new
physical files.  Per my recent proposal.
2005-08-12 01:36:05 +00:00
Bruce Momjian
9e4a2de844 Fix BSD fseeko to seek from the end of the file. 2005-08-11 23:05:14 +00:00
Tom Lane
8e9c52e427 EINTR return from connect() should be treated exactly the same as
EINPROGRESS, according to Florian Hars.  I'm not completely convinced
but the spec does seem to read that way.
2005-08-11 22:53:41 +00:00
Tom Lane
d90c531188 Autovacuum loose end mop-up. Provide autovacuum-specific vacuum cost
delay and limit, both as global GUCs and as table-specific entries in
pg_autovacuum.  stats_reset_on_server_start is now OFF by default,
but a reset is forced if we did WAL replay.  XID-wrap vacuums do not
ANALYZE, but do FREEZE if it's a template database.  Alvaro Herrera
2005-08-11 21:11:50 +00:00
Bruce Momjian
f6c30d54fa Update for new CVS homepage. 2005-08-11 13:52:33 +00:00
Bruce Momjian
949ebbd55e Mention MD5 function index for indexing long values. 2005-08-11 13:22:33 +00:00
Bruce Momjian
e8b842b9d3 Update MD5 mention for long values. 2005-08-11 13:22:07 +00:00
Bruce Momjian
6a60357588 Fix canonicalize_path so "../.." isn't stripped off and ignored. 2005-08-11 03:53:25 +00:00
Tom Lane
24ff62d76f Make new hints follow style guide. 2005-08-10 22:39:00 +00:00
Bruce Momjian
237be3cc29 Add hints to cases where indexes fail because of values that are too long. 2005-08-10 21:36:46 +00:00
Bruce Momjian
8bbf227ad7 Document why Win32 loops over rename/unlink are necessary. 2005-08-10 19:52:37 +00:00
Bruce Momjian
e38c920dba Add new FAQ information.
Martijn van Oosterhout
2005-08-10 19:30:05 +00:00
Tom Lane
cbd015d718 Extend pg_config to be able to report the build-time values of CC,
CPPFLAGS, CFLAGS, CFLAGS_SL, LDFLAGS, LDFLAGS_SL, and LIBS.  Change it
so that invoking pg_config with no arguments reports all available
information, rather than just giving an error message.  Per discussion.
2005-08-09 22:47:03 +00:00
Tom Lane
c7bba5e21c Make backends that are reading the pgstats file verify each backend PID
against the PGPROC array.  Anything in the file that isn't in PGPROC
gets rejected as being a stale entry.  This should solve complaints about
stale entries in pg_stat_activity after a BETERM message has been dropped
due to overload.
2005-08-09 21:14:55 +00:00
Bruce Momjian
f80cf69031 Combine entries:
<   inheritance
< * Allow enable_constraint_exclusion to work for UPDATE and DELETE queries
>   inheritance, and allow it to work for UPDATE and DELETE queries
2005-08-09 20:24:31 +00:00
Bruce Momjian
20e2644761 Done:
> * -Add C code on Unix to copy directories for use in creating new databases
2005-08-09 17:14:48 +00:00
Bruce Momjian
1c69547015 Update postgresql.conf to show default ordering for wal_sync_method. 2005-08-09 05:43:52 +00:00
Bruce Momjian
d359facb05 Remove unintended file change. 2005-08-09 05:14:26 +00:00
Bruce Momjian
833d91ae5e Fix ordering of default sync options to match code. 2005-08-09 05:01:10 +00:00
Bruce Momjian
df24e93933 Update patches queue URL, description. 2005-08-09 04:56:58 +00:00
Bruce Momjian
6a3021b7d3 Done:
> * -Allow multiple blocks to be written to WAL with one write()
2005-08-09 04:51:18 +00:00
Bruce Momjian
487b757b7a Clarify wal_sync_method options in documentation. 2005-08-09 04:50:44 +00:00
Tom Lane
3117afa75d Fix crash when reading 'timezone = unknown' from postgresql.conf during
SIGHUP; it's not OK for an assign_hook to return a non-malloc'd string.
Problem was introduced during timezone library rewrite.
2005-08-08 23:39:01 +00:00
Bruce Momjian
2dd9672d96 Done:
> 	o -Allow FOR UPDATE queries to do NOWAIT locks
2005-08-08 20:26:53 +00:00
Tom Lane
15269b5955 Avoid useless loop overhead in AtEOXact routines when the backend is
compiled with USE_ASSERT_CHECKING but is running with assert_enabled false.
2005-08-08 19:44:22 +00:00
Tom Lane
4568e0f791 Modify AtEOXact_CatCache and AtEOXact_RelationCache to assume that the
ResourceOwner mechanism already released all reference counts for the
cache entries; therefore, we do not need to scan the catcache or relcache
at transaction end, unless we want to do it as a debugging crosscheck.
Do the crosscheck only in Assert mode.  This is the same logic we had
previously installed in AtEOXact_Buffers to avoid overhead with large
numbers of shared buffers.  I thought it'd be a good idea to do it here
too, in view of Kari Lavikka's recent report showing a real-world case
where AtEOXact_CatCache is taking a significant fraction of runtime.
2005-08-08 19:17:23 +00:00
Tom Lane
be27a20123 Cygwin no longer needs to hack SHLIB_LINK, now that Rocco Altier
fixed the contrib library inclusions properly.
2005-08-08 03:35:13 +00:00
Tom Lane
7117cd3a77 Cause ShutdownPostgres to do a normal transaction abort during backend
exit, instead of trying to take shortcuts.  Introduce some additional
shutdown callback routines to eliminate kluges like having ProcKill
be responsible for shutting down the buffer manager.  Ensure that the
order of operations during shutdown is predictable and what you would
expect given the module layering.
2005-08-08 03:12:16 +00:00
Tom Lane
89439b8c4f Set shlib naming convention on Cygwin to 'cygFOO.dll', which appears
to be the platform standard.  This should fix recursive-rule breakage
due to recent Makefile changes.  Per discussion.
2005-08-07 19:02:08 +00:00
Tom Lane
5337ad464e Fix count_usable_fds() to stop trying to open files once it reaches
max_files_per_process.  Going further than that is just a waste of
cycles, and it seems that current Cygwin does not cope gracefully
with deliberately running the system out of FDs.  Per Andrew Dunstan.
2005-08-07 18:47:19 +00:00
Tom Lane
9b29f9f3f8 COPY performance improvements. Avoid calling CopyGetData for each input
character, tighten the inner loops of CopyReadLine and CopyReadAttribute,
arrange to parse out all the attributes of a line in just one call instead
of one CopyReadAttribute call per attribute, be smarter about which client
encodings require slow pg_encoding_mblen() loops.  Also, clean up the
mishmash of static variables and overly-long parameter lists in favor of
passing around a single CopyState struct containing all the state data.
Original patch by Alon Goldshuv, reworked by Tom Lane.
2005-08-06 20:41:58 +00:00
Tom Lane
28d3ee4771 Actually, this macro had worse problems than a bogus name ... 2005-08-05 15:01:48 +00:00
Tom Lane
848c30a501 Fix misspelled macro name. Doesn't appear to be used anywhere yet,
so no one noticed.
2005-08-05 14:36:43 +00:00
Tom Lane
33f5bf9700 ALTER TABLE OWNER must change the ownership of the table's rowtype too.
This was not especially critical before, but it is now that we track
ownership dependencies --- the dependency for the rowtype *must* shift
to the new owner.  Spotted by Bernd Helmle.
Also fix a problem introduced by recent change to allow non-superusers
to do ALTER OWNER in some cases: if the table had a toast table, ALTER
OWNER failed *even for superusers*, because the test being applied would
conclude that the new would-be owner had no create rights on pg_toast.
A side-effect of the fix is to disallow changing the ownership of indexes
or toast tables separately from their parent table, which seems a good
idea on the whole.
2005-08-04 01:09:29 +00:00