summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-07-26Remove FileUnlink(), which wasn't being used anywhere and interacted poorlyTom Lane
with the recent patch to log temp file sizes at removal time. Doesn't seem worth fixing since it's unused. In passing, make a few elog messages conform to the message style guide.
2007-07-25Arrange to put TOAST tables belonging to temporary tables into special schemasTom Lane
named pg_toast_temp_nnn, alongside the pg_temp_nnn schemas used for the temp tables themselves. This allows low-level code such as the relcache to recognize that these tables are indeed temporary, which enables various optimizations such as not WAL-logging changes and using local rather than shared buffers for access. Aside from obvious performance benefits, this provides a solution to bug #3483, in which other backends unexpectedly held open file references to temporary tables. The scheme preserves the property that TOAST tables are not in any schema that's normally in the search path, so they don't conflict with user table names. initdb forced because of changes in system view definitions.
2007-07-25Suppress warning when compiling with -DPROFILE_PID_DIR: sys/stat.h isTom Lane
supposed to be included when using mkdir().
2007-07-25Adjust horology test to avoid join-plan-dependent result ordering inTom Lane
a few queries. Should fix buildfarm failures arising from new, more aggressive autovac settings.
2007-07-25Synced parserMichael Meskes
2007-07-25Rename DLLIMPORT macro to PGDLLIMPORT to avoid conflict withMagnus Hagander
third party includes (like tcl) that define DLLIMPORT.
2007-07-25Fix standalone win32 makefile (MSVC6) for SSPI and GSSAPI.Magnus Hagander
Hiroshi Saito
2007-07-25Disable warning 4090 = different const qualifiers on msvc since itMagnus Hagander
warns about things that aren't wrong.
2007-07-25Silence compiler warnings on mingwMagnus Hagander
2007-07-25Implement RETURN QUERY for PL/PgSQL. This provides some convenient syntaxNeil Conway
sugar for PL/PgSQL set-returning functions that want to return the result of evaluating a query; it should also be more efficient than repeated RETURN NEXT statements. Based on an earlier patch from Pavel Stehule.
2007-07-24Fix predicate-proving logic to cope with binary-compatibility cases whenTom Lane
checking whether an IS NULL/IS NOT NULL clause is implied or refuted by a strict function. Per example from Dawid Kuroczko. Backpatch to 8.2 since this is arguably a performance bug.
2007-07-24Silence compiler warning on mingwMagnus Hagander
2007-07-24Make it possible, and default, for MingW to build with SSPI supportMagnus Hagander
by dynamically loading the function that's missing from the MingW headers and library.
2007-07-24Create a new dedicated Postgres process, "wal writer", which exists to writeTom Lane
and fsync WAL at convenient intervals. For the moment it just tries to offload this work from backends, but soon it will be responsible for guaranteeing a maximum delay before asynchronously-committed transactions will be flushed to disk. This is a portion of Simon Riggs' async-commit patch, committed to CVS separately because a background WAL writer seems like it might be a good idea independently of the async-commit feature. I rebased walwriter.c on bgwriter.c because it seemed like a more appropriate way of handling signals; while the startup/shutdown logic in postmaster.c is more like autovac because we want walwriter to quit before we start the shutdown checkpoint.
2007-07-24Set a default autovacuum vacuum_cost_delay value of 20ms, to avoid excessiveAlvaro Herrera
I/O utilization, per discussion. While at it, lower the autovacuum vacuum and analyze threshold values to 50 tuples. It is a bit higher (i.e. more conservative) than what I originally proposed but much better than the old values for small tables.
2007-07-23Just noticed that libpq thinks the maximum command tag length is 40,Tom Lane
whereas in the backend it's been 64 for some time. Hasn't mattered because no actual tags exceed 40 bytes, but for consistency they should be alike.
2007-07-23Use PQExpBuffer for error message in fe-auth.c.Magnus Hagander
In passing, change functions that passedin both PGconn and parts of it to just pass in the PGconn.
2007-07-23Stupid typo.Magnus Hagander
2007-07-23SSPI authentication on Windows. GSSAPI compatible client when doing KerberosMagnus Hagander
against a Unix server, and Windows-specific server-side authentication using SSPI "negotiate" method (Kerberos or NTLM). Only builds properly with MSVC for now.
2007-07-21Fix elog.c to avoid infinite recursion (leading to backend crash) whenTom Lane
log_min_error_statement is active and there is some problem in logging the current query string; for example, that it's too long to include in the log message without running out of memory. This problem has existed since the log_min_error_statement feature was introduced. No doubt the reason it wasn't detected long ago is that 8.2 is the first release that defaults log_min_error_statement to less than PANIC level. Per report from Bill Moran.
2007-07-20Fix regression tests for PL/pgSQL error message changesPeter Eisentraut
2007-07-20Fix WAL replay of truncate operations to cope with the possibility that theTom Lane
truncated relation was deleted later in the WAL sequence. Since replay normally auto-creates a relation upon its first reference by a WAL log entry, failure is seen only if the truncate entry happens to be the first reference after the checkpoint we're restarting from; which is a pretty unusual case but of course not impossible. Fix by making truncate entries auto-create like the other ones do. Per report and test case from Dharmendra Goyal.
2007-07-20Capitalize language key words in error messagesPeter Eisentraut
2007-07-19On second thought, the tests for what to do with stderr output are aTom Lane
lot more sensible if we check the chunk-output case first. Not back-patched since it's just a cosmetic improvement.
2007-07-19Make replace(), split_part(), and string_to_array() behave somewhat sanelyTom Lane
when handed an invalidly-encoded pattern. The previous coding could get into an infinite loop if pg_mb2wchar_with_len() returned a zero-length string after we'd tested for nonempty pattern; which is exactly what it will do if the string consists only of an incomplete multibyte character. This led to either an out-of-memory error or a backend crash depending on platform. Per report from Wiktor Wodecki.
2007-07-19Only use the pipe chunking protocol if we know the syslogger shouldAndrew Dunstan
be catching stderr output, and we are not ourselves the syslogger. Otherwise, go directly to stderr. Bug noticed by Tom Lane. Backpatch as far as 8.0.
2007-07-18Fix an old thinko in SS_make_initplan_from_plan, which is used when optimizingTom Lane
a MIN or MAX aggregate call into an indexscan: the initplan is being made at the current query nesting level and so we shouldn't increment query_level. Though usually harmless, this mistake could lead to bogus "plan should not reference subplan's variable" failures on complex queries. Per bug report from David Sanchez i Gregori.
2007-07-18Cast NULL to a pointer type in the execl() call, to avoid a compiler warning onAlvaro Herrera
some platforms and possibly a bug. Per report from Stefan and subsequent discussion.
2007-07-18Properly adjust age() seconds to match the sign of the larger units.Bruce Momjian
Patch from Tom.
2007-07-17Fix incorrect optimization of foreign-key checks. When an UPDATE on theTom Lane
referencing table does not change the tuple's FK column(s), we don't bother to check the PK table since the constraint was presumably already valid. However, the check is still necessary if the tuple was inserted by our own transaction, since in that case the INSERT trigger will conclude it need not make the check (since its version of the tuple has been deleted). We got this right for simple cases, but not when the insert and update are in different subtransactions of the current top-level transaction; in such cases the FK check would never be made at all. (Hence, problem dates back to 8.0 when subtransactions were added --- it's actually the subtransaction version of a bug fixed in 7.3.5.) Fix, and add regression test cases. Report and fix by Affan Salman.
2007-07-17Implement CREATE TABLE LIKE ... INCLUDING INDEXES. Patch from NikhilS,Neil Conway
based in part on an earlier patch from Trevor Hardcastle, and reviewed by myself.
2007-07-17Fix outfuncs.c to dump A_Const nodes representing NULLs correctly. This hasTom Lane
been broken since forever, but was not noticed because people seldom look at raw parse trees. AFAIK, no impact on users except that debug_print_parse might fail; but patch it all the way back anyway. Per report from Jeff Ross.
2007-07-16Add comments spelling out why it's a good idea to release multipleTom Lane
partition locks in reverse order.
2007-07-16With the native compiler on Unixware, disable optimization ifNeil Conway
--enable-debug is used, to avoid complaints about debugging and optimization being mutually exclusive. Patch from Stefan Kaltenbrunner.
2007-07-16Allow plpgsql function parameter names to be qualified with the function'sTom Lane
name. With this patch, it is always possible for the user to qualify a plpgsql variable name if needed to avoid ambiguity. While there is much more work to be done in this area, this simple change removes one unnecessary incompatibility with Oracle. Per discussion.
2007-07-16Hmm, so evidently _check_lock and _clear_lock take an argument of typeTom Lane
int not unsigned int. Third try to get grebe building without warnings...
2007-07-16So our reward for including <sys/atomic_op.h> seems to be a bunch ofTom Lane
nattering about casting away volatile. Losers.
2007-07-16On AIX, include <sys/atomic_op.h> so that the functions we use forTom Lane
TAS support are properly declared.
2007-07-15Because plpgsql's scanner uses %option case-insensitive, flex's results couldTom Lane
theoretically vary depending on what the compile-time locale setting is. Hence, force it to see LC_CTYPE=C to ensure consistent build results. (It's likely that this makes no difference in practice, since our specification for "identifier" surely includes both ends of any possible uppercase/lowercase pair anyway. But it should silence warnings about ambiguous character classes that are reported by some buildfarm members.)
2007-07-15Reject zero or negative BY step in plpgsql integer FOR-loops, and behaveTom Lane
sanely if the loop value overflows int32 on the way to the end value. Avoid useless computation of "SELECT 1" when BY is omitted. Avoid some type-punning between Datum and int4 that dates from the original coding.
2007-07-13Volatile-qualify a dozen variables in plpython.c to eliminate warningsTom Lane
from old versions of gcc. It's not clear to me that this is really necessary for correctness, but less warnings are always good. Per buildfarm results and local testing.
2007-07-13Fix map_sql_typecoll_to_xmlschema_types() to not fail on droppedTom Lane
columns, per my gripe earlier today. Make it look a bit less like someone's first effort at backend coding.
2007-07-13Add casts to suppress warnings about m68k-specific kluge in fmgr.c.Tom Lane
2007-07-12Fix a portability bug (ye olde not casting a <ctype.h> argument toTom Lane
unsigned char). Fortunately we still have buildfarm machines that will flag this. Seems to be new in CVS HEAD, so no backpatch.
2007-07-12Get dirmod.c on the same page as port.h about whether we use pgsymlinkTom Lane
on Cygwin (answer: we don't). Also try to unwind the #ifdef spaghetti a little bit. Untested but hopefully I didn't break anything.
2007-07-12Fixup the indentation of a comment that was mangled by pgindent, andNeil Conway
add dashes to the start/end of the comment block to try to prevent this happening in the future.
2007-07-12Suppress Sun Studio warnings, per Stefan.Tom Lane
2007-07-12Suppress an integer-overflow warning.Tom Lane
2007-07-12Some of our port-specific dynloader implementations are careful toTom Lane
define pg_dlsym() as returning a PGFunction pointer, not just any pointer-to-function. But many are not. Suppress compiler warnings on platforms that aren't careful by inserting explicit casts at the two call sites that didn't have a cast already. Per Stefan.
2007-07-12Compute max and min int8 values using unsigned arithmetic, in hopes ofTom Lane
suppressing Sun Studio compiler warnings. Per Stefan.