summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2005-03-13Document aliases for our supported encodings.Bruce Momjian
Add a few encodings that were not documented.
2005-03-12When cloning template0 (or other fully-frozen databases), set the newTom Lane
database's datallowconn and datfrozenxid to the current transaction ID instead of copying the source database's values. This is OK because we assume the source DB contains no normal transaction IDs whatsoever. This keeps VACUUM from immediately starting to complain about unvacuumed databases in the situation where we are more than 2 billion transactions out from the XID stamp of template0. Per discussion with Milen Radev (although his complaint turned out to be due to something else, but the problem is real anyway).
2005-03-12Fix ALTER DATABASE RENAME to allow the operation if user is a superuserTom Lane
who for some reason isn't marked usecreatedb. Per report from Alexander Pravking. Also fix sloppy coding in have_createdb_privilege().
2005-03-12Adjust the API for aggregate function calls so that a C-coded functionTom Lane
can tell whether it is being used as an aggregate or not. This allows such a function to avoid re-pallocing a pass-by-reference transition value; normally it would be unsafe for a function to scribble on an input, but in the aggregate case it's safe to reuse the old transition value. Make int8inc() do this. This gets a useful improvement in the speed of COUNT(*), at least on narrow tables (it seems to be swamped by I/O when the table rows are wide). Per a discussion in early December with Neil Conway. I also fixed int_aggregate.c to check this, thereby turning it into something approaching a supportable technique instead of being a crude hack.
2005-03-12Handle carriage returns and line feeds in COPY CSV mode.Bruce Momjian
Andrew Dunstan
2005-03-12Add warning about the need to increase "max_fsm_relations" andBruce Momjian
"max_fsm_relations" for vacuums. Also improve VACUUM VERBOSE final message text. Ron Mayer
2005-03-12Fix snprintf() to properly handle precision specification for %f.Bruce Momjian
2005-03-12Fix problem with infinite recursion between write_syslogger_file andTom Lane
elog if the former has trouble writing its file. Code review for Magnus' patch to redirect stderr to syslog on Windows (Bruce's version seems right, but did some minor prettification). Backpatch both changes to 8.0 branch.
2005-03-11Add fprintf() custom version to libpgport.Bruce Momjian
Document use of macros for pg_printf functions. Bump major versions of all interfaces to handle movement of get_progname from libpq to libpgport in 8.0, and probably other libpgport changes in 8.1.
2005-03-11Define snprintf() to call pg_snprintf() so our own snprintf-likeBruce Momjian
implementation doesn't export out via libpq and get used by a user application.
2005-03-11Add 'static' to initdb.c file-global variables.Bruce Momjian
2005-03-11Mark file-global function and variables as static.Bruce Momjian
2005-03-11Slight refactoring and optimization of some code in WaitOnLock().Neil Conway
2005-03-10Make the behavior of HAVING without GROUP BY conform to the SQL spec.Tom Lane
Formerly, if such a clause contained no aggregate functions we mistakenly treated it as equivalent to WHERE. Per spec it must cause the query to be treated as a grouped query of a single group, the same as appearance of aggregate functions would do. Also, the HAVING filter must execute after aggregate function computation even if it itself contains no aggregate functions.
2005-03-10Add spinlock support for Itanium processor with Intel compiler.Bruce Momjian
Vikram Kalsi
2005-03-10Refactor fork()-related code. We need to do various housekeeping tasksNeil Conway
before we can invoke fork() -- flush stdio buffers, save and restore the profiling timer on Linux with LINUX_PROFILE, and handle BeOS stuff. This patch moves that code into a single function, fork_process(), instead of duplicating it at the various callsites of fork(). This patch doesn't address the EXEC_BACKEND case; there is room for further cleanup there.
2005-03-07Unbreak out-of-tree builds, by fixing a typo.Neil Conway
2005-03-07Replace an instance of $Id$ and an instance of $Header$ with $PostgreSQL$Neil Conway
2005-03-07Properly implement "Response files" for bcc. Add URL's to describe theBruce Momjian
feature for Win32 and bcc.
2005-03-07Adjust creation/destruction of TupleDesc data structure to reduce theTom Lane
number of palloc calls. This has a salutory impact on plpgsql operations with record variables (which create and destroy tupdescs constantly) and probably helps a bit in some other cases too.
2005-03-07Rename canonical encodings, per Peter:Bruce Momjian
UNICODE => UTF8 ALT => WIN866 WIN => WIN1251 TCVN => WIN1258 The old codes continue to work.
2005-03-07Here's a tiny fix for a harmless typo in catalog.c:Neil Conway
Too much space is allocated for tablespace file path, I guess the directory name used to be "pg_tablespaces" instead of "pg_tblspc" at some point. Heikki Linnakangas
2005-03-06Revise hash join code so that we can increase the number of batchesTom Lane
on-the-fly, and thereby avoid blowing out memory when the planner has underestimated the hash table size. Hash join will now obey the work_mem limit with some faithfulness. Per my recent proposal (hash aggregate part isn't done yet though).
2005-03-04Replace the BufMgrLock with separate locks on the lookup hashtable andTom Lane
the freelist, plus per-buffer spinlocks that protect access to individual shared buffer headers. This requires abandoning a global freelist (since the freelist is a global contention point), which shoots down ARC and 2Q as well as plain LRU management. Adopt a clock sweep algorithm instead. Preliminary results show substantial improvement in multi-backend situations.
2005-03-02Move snprintf int64 compatibility letters into a NOT_USED block.Bruce Momjian
2005-03-02Fix for %I64d snprintf.Bruce Momjian
2005-03-02snprintf() %I64d code fix.Bruce Momjian
2005-03-02Use our own snprintf() only if NLS is enabled, and support %qd and %I64d.Bruce Momjian
2005-03-02Prevent large allocation in snprintf to hold positional parameters.Bruce Momjian
Allocated size based on format string.
2005-03-02Another go at making pred_test() handle all reasonable combinationsTom Lane
of AND and OR clauses. The key point here is that an OR on the predicate side has to be treated gingerly: we may be able to prove that the OR is implied even when no one of its components is implied. For example (x OR y) implies (x OR y OR z) even though no one of x, y, or z can be individually proven. This code handles both the example shown recently by Sergey Koshcheyev and the one shown last October by Dawid Kuroczko.
2005-03-02Fix snprintf on Win32:Bruce Momjian
* If vsnprintf() is not before snprintf() in this file, snprintf() * will call the system vsnprintf() on MinGW.
2005-03-02Make port snprintf.c finally thread-safe.Bruce Momjian
2005-03-01Release proclock immediately in RemoveFromWaitQueue() if it representsTom Lane
no held locks. This maintains the invariant that proclocks are present only for procs that are holding or awaiting a lock; when this is not true, LockRelease will fail. Per report from Stephen Clouse.
2005-03-01Allow Trace_lock_oidmin to be set to zero; this is a reasonableTom Lane
representation of not wanting tracing to be limited by object OID.
2005-03-01Make snprintf() use already-defined int64/uint64 typedefs rather thanBruce Momjian
defining its own.
2005-03-01Adjust OR indexscan logic to not generate redundant condition-free ORTom Lane
indexscans involving partial indexes. These would always be dominated by a simple indexscan on such an index, so there's no point in considering them. Fixes overoptimism in a patch I applied last October.
2005-03-01And while we are on it, I would like to submit minorBruce Momjian
changes to make snprintf() vsnprintf() and printf() functions in src/port/snprintf.c thread-safe. Nicolai Tufar
2005-03-01Revert the logic for expanding AND/OR conditions in pred_test() to whatTom Lane
it was in 7.4, and add some comments explaining why it has to be this way. I broke it for OR'd index predicates in a fit of code cleanup last summer. Per example from Sergey Koshcheyev.
2005-02-28snprintf.c has no sys/ioctl.h. Trivial patch below:Bruce Momjian
Magnus Hagander
2005-02-28Implement max() and min() aggregates for array types. Patch from KojuNeil Conway
Iijima, reviewed by Neil Conway. Catalog version number bumped, regression tests updated.
2005-02-27Because the change to gettext. Needs a bunch of new includes. PatchBruce Momjian
follows: Magnus Hagander
2005-02-27Tab indent all actions in bcc32.mak, and do it on win32.mak too forBruce Momjian
consistency. Backpatch only bcc32.mak to 8.0.X.
2005-02-27Add explicit casts between int4 and boolean. Patch from Sean Chittenden,Neil Conway
editorializing by Neil Conway. Catalog version bumped.
2005-02-27Cause Win32 to output to the event log rather than stderr by default.Bruce Momjian
Magnus Hagander
2005-02-27Allow Win32 to support the O_SYNC open flag as an wal_sync_method method.Bruce Momjian
Magnus Hagander
2005-02-26Finish up the flat-files project: get rid of GetRawDatabaseInfo() hackTom Lane
in favor of looking at the flat file copy of pg_database during backend startup. This should finally eliminate the various corner cases in which backend startup fails unexpectedly because it isn't able to distinguish live and dead tuples in pg_database. Simplify locking on pg_database to be similar to the rules used with pg_shadow and pg_group, and eliminate FlushRelationBuffers operations that were used only to reduce the odds of failure of GetRawDatabaseInfo. initdb forced due to addition of a trigger to pg_database.
2005-02-25In accordance toTeodor Sigaev
http://www.pgsql.ru/db/mw/msg.html?mid=2045361 change TimeATD to/from Datum macros. Re-initdb is needed.
2005-02-25Add linking from /port to bcc makefile.Bruce Momjian
2005-02-24My patch this morning was overly hasty; revert code to original state.Tom Lane
2005-02-23Minor code cleanup: remove a variable that was assigned to but neverNeil Conway
subsequently referenced. Found by: Coverity Fixed by: Sean Chittenden