- 22 12月, 2010 2 次提交
-
-
由 Robert Haas 提交于
It appears that this will be faster for all but the shortest strings; at least one some platforms, memcmp() can use word-at-a-time comparisons. Noah Misch, somewhat pared down.
-
由 Robert Haas 提交于
Andreas Karlsson
-
- 21 12月, 2010 2 次提交
-
-
由 Robert Haas 提交于
On MacOS X, and apparently also on other BSD-derived systems, attaching a debugger causes getppid() to return the pid of the debugging process rather than the actual parent PID. As a result, debugging the autovacuum launcher, startup process, or WAL sender on such systems causes it to exit, because the previous coding of PostmasterIsAlive() detects postmaster death by testing whether getppid() == PostmasterPid. Work around that behavior by checking the return value of getppid() more carefully. If it's PostmasterPid, the postmaster must be alive; if it's 1, assume the postmaster is dead. If it's any other value, assume we've been debugged and fall through to the less-reliable kill() test. Review by Tom Lane.
-
由 Robert Haas 提交于
This case can arise if a transaction has written data, but only to temporary tables. Loss of the commit record in case of a crash won't matter, because the temporary tables will be lost anyway. Reviewed by Heikki Linnakangas and Simon Riggs.
-
- 20 12月, 2010 4 次提交
-
-
由 Alvaro Herrera 提交于
Jaime Casanova
-
由 Magnus Hagander 提交于
Since we're not multithreaded it only provides marginally useful information, and it does require a newer version of the Platform SDK than we target. We may want to reconsider this in the future along with a fix for MinGW.
-
由 Tom Lane 提交于
eval_const_expressions() can replace CaseTestExprs with constants when the surrounding CASE's test expression is a constant. This confuses ruleutils.c's heuristic for deparsing simple-form CASEs, leading to Assert failures or "unexpected CASE WHEN clause" errors. I had put in a hack solution for that years ago (see commit 514ce7a3 of 2006-10-01), but bug #5794 from Peter Speck shows that that solution failed to cover all cases. Fortunately, there's a much better way, which came to me upon reflecting that Peter's "CASE TRUE WHEN" seemed pretty redundant: we can "simplify" the simple-form CASE to the general form of CASE, by simply omitting the constant test expression from the rebuilt CASE construct. This is intuitively valid because there is no need for the executor to evaluate the test expression at runtime; it will never be referenced, because any CaseTestExprs that would have referenced it are now replaced by constants. This won't save a whole lot of cycles, since evaluating a Const is pretty cheap, but a cycle saved is a cycle earned. In any case it beats kluging ruleutils.c still further. So this patch improves const-simplification and reverts the previous change in ruleutils.c. Back-patch to all supported branches. The bug exists in 8.1 too, but it's out of warranty.
-
由 Tom Lane 提交于
After parsing a parenthesized subexpression, we must pop all pending ANDs and NOTs off the stack, just like the case for a simple operand. Per bug #5793. Also fix clones of this routine in contrib/intarray and contrib/ltree, where input of types query_int and ltxtquery had the same problem. Back-patch to all supported versions.
-
- 19 12月, 2010 2 次提交
-
-
由 Magnus Hagander 提交于
Add support for collecting "minidump" style crash dumps on Windows, by setting up an exception handling filter. Crash dumps will be generated in PGDATA/crashdumps if the directory is created (the existance of the directory is used as on/off switch for the generation of the dumps). Craig Ringer and Magnus Hagander
-
由 Bruce Momjian 提交于
connections when the server is down, on Win32.
-
- 18 12月, 2010 4 次提交
-
-
由 Magnus Hagander 提交于
Make the variables visible (but not used) even when support is not compiled in.
-
由 Alvaro Herrera 提交于
This improves tag output by log_line_prefix
-
由 Alvaro Herrera 提交于
-
由 Robert Haas 提交于
If there's no work to be done, just exit quickly, before initialization.
-
- 17 12月, 2010 6 次提交
-
-
由 Robert Haas 提交于
This prevents the word "waiting" from briefly disappearing from the ps status line when ResolveRecoveryConflictWithVirtualXIDs begins a new iteration of the outer loop. Along the way, remove some useless pgstat_report_waiting() calls; the startup process doesn't appear in pg_stat_activity. Fujii Masao
-
由 Robert Haas 提交于
Per report from Fujii Masao, and subsequent discussion.
-
由 Tom Lane 提交于
These comments were not updated when we added the EXEC_BACKEND mechanism for Windows, even though it rendered them inaccurate. Also unify two unnecessarily-separate #ifdef __alpha code blocks.
-
由 Tom Lane 提交于
We don't actually need optreset, because we can easily fix the code to ensure that it's cleanly restartable after having completed a scan over the argv array; which is the only case we need to restart in. Getting rid of it avoids a class of interactions with the system libraries and allows reversion of my change of yesterday in postmaster.c and postgres.c. Back-patch to 8.4. Before that the getopt code was a bit different anyway.
-
由 Alvaro Herrera 提交于
-
由 Alvaro Herrera 提交于
-
- 16 12月, 2010 8 次提交
-
-
由 Alvaro Herrera 提交于
-
由 Alvaro Herrera 提交于
-
由 Bruce Momjian 提交于
libpq connection, per report from Magnus. This happens only on GIT master and only on Win32 because that is the platform where "" maps to an IP address (localhost).
-
由 Tom Lane 提交于
The mingw people don't appear to care about compatibility with non-GNU versions of getopt, so force use of our own copy of getopt on Windows. Also, ensure that we make use of optreset when using our own copy. Per report from Andrew Dunstan. Back-patch to all versions supported on Windows.
-
由 Tom Lane 提交于
This patch replaces Guttman's generalized split method with a simple sort-by-center-points algorithm. Since the data is only one-dimensional we don't really need the slow and none-too-stable Guttman method. This is in part a bug fix, since seg has the same size_alpha versus size_beta typo that was recently fixed in contrib/cube. It seems prudent to apply this rather aggressive fix only in HEAD, though. Back branches will just get the typo fix. Alexander Korotkov, reviewed by Yeb Havinga
-
由 Robert Haas 提交于
-
由 Robert Haas 提交于
-
由 Itagaki Takahiro 提交于
One of the usages of the binary version is to read files in a different encoding from the server encoding. Dimitri Fontaine and Itagaki Takahiro.
-
- 15 12月, 2010 1 次提交
-
-
由 Bruce Momjian 提交于
documentation. (Many were left over from the old pg_migrator naming.)
-
- 14 12月, 2010 8 次提交
-
-
由 Robert Haas 提交于
Greg Smith, reviewed by Jeff Janes
-
由 Robert Haas 提交于
Allow INSERT INTO, UPDATE, and DELETE FROM to be completed with either the name of a table (as before) or the name of a view with an appropriate INSTEAD OF rule. Along the way, allow CREATE TRIGGER to be completed with INSTEAD OF, as well as BEFORE and AFTER. David Fetter, reviewed by Itagaki Takahiro
-
由 Tom Lane 提交于
-
由 Robert Haas 提交于
This is intended as infrastructure to allow an eventual SE-Linux plugin to support trusted procedures. KaiGai Kohei
-
由 Peter Eisentraut 提交于
-
由 Robert Haas 提交于
Noted by Tom Lane.
-
由 Tom Lane 提交于
Fiji and Samoa. Historical corrections for Hong Kong.
-
由 Robert Haas 提交于
This commit replaces pg_class.relistemp with pg_class.relpersistence; and also modifies the RangeVar node type to carry relpersistence rather than istemp. It also removes removes rd_istemp from RelationData and instead performs the correct computation based on relpersistence. For clarity, we add three new macros: RelationNeedsWAL(), RelationUsesLocalBuffers(), and RelationUsesTempNamespace(), so that we can clarify the purpose of each check that previous depended on rd_istemp. This is intended as infrastructure for the upcoming unlogged tables patch, as well as for future possible work on global temporary tables.
-
- 13 12月, 2010 2 次提交
-
-
由 Tom Lane 提交于
We were failing to zero out some pg_stat_database counters that have been added since the initial pgstats coding. This is a bug, but not back-patching the fix since changing this behavior in a minor release seems a cure worse than the disease. Report and patch by Tomas Vondra.
-
由 Tom Lane 提交于
(Hm, I wonder whether BCC defines them either...) Also label dangling endifs a bit better in this area.
-
- 12 12月, 2010 1 次提交
-
-
由 Tom Lane 提交于
1. Don't reimplement S_ISDIR() and S_ISREG() badly. 2. Don't reimplement access() badly. This code appears to have been copied from ancient versions of the corresponding backend routines, and not patched to incorporate subsequent fixes (see my commits of 2008-03-31 and 2010-01-14 respectively). It might be a good idea to change it to just *call* those routines, but for now I'll just transpose these fixes over.
-