- 05 Jan, 2010 1 commit
-
-
Tom Lane authored
pg_attribute, by having genbki.pl derive the information from the various catalog header files. This greatly simplifies modification of the "bootstrapped" catalogs. This patch finally kills genbki.sh and Gen_fmgrtab.sh; we now rely entirely on Perl scripts for those build steps. To avoid creating a Perl build dependency where there was not one before, the output files generated by these scripts are now treated as distprep targets, ie, they will be built and shipped in tarballs. But you will need a reasonably modern Perl (probably at least 5.6) if you want to build from a CVS pull. The changes to the MSVC build process are untested, and may well break --- we'll soon find out from the buildfarm. John Naylor, based on ideas from Robert Haas and others
-
- 04 Jan, 2010 7 commits
-
-
Andrew Dunstan authored
-
Andrew Dunstan authored
trigger tuple modification or SPI call, to ensure they are valid in the server encoding. Along the way, replace uses of SvPV(foo, PL_na) with SvPV_nolen(foo) as recommended in the perl docs. Bug report from Hannu Krosing.
-
Magnus Hagander authored
We can't use the same as before, since MSVC on Win64 doesn't support inline assembly.
-
Tom Lane authored
where to install DATA and DOCS files. This is mainly intended to allow versioned installation, eg, install into contrib/fooM.N/ rather than directly into contrib/. Mark Cave-Ayland
-
Heikki Linnakangas authored
recovery instead of reading the backup history file. This is more robust, as it stops you from prematurely starting up an inconsisten cluster if the backup history file is lost for some reason, or if the base backup was never finished with pg_stop_backup(). This also paves the way for a simpler streaming replication patch, which doesn't need to care about backup history files anymore. The backup history file is still created and archived as before, but it's not used by the system anymore. It's just for informational purposes now. Bump PG_CONTROL_VERSION as the location of the backup startpoint is now written to a new field in pg_control, and catversion because initdb is required Original patch by Fujii Masao per Simon's idea, with further fixes by me.
-
Tom Lane authored
"column < constant", and the comparison value is in the first or last histogram bin or outside the histogram entirely, try to fetch the actual column min or max value using an index scan (if there is an index on the column). If successful, replace the lower or upper histogram bound with that value before carrying on with the estimate. This limits the estimation error caused by moving min/max values when the comparison value is close to the min or max. Per a complaint from Josh Berkus. It is tempting to consider using this mechanism for mergejoinscansel as well, but that would inject index fetches into main-line join estimation not just endpoint cases. I'm refraining from that until we can get a better handle on the costs of doing this type of lookup.
-
Itagaki Takahiro authored
-
- 03 Jan, 2010 1 commit
-
-
Tom Lane authored
indexscans would do the wrong thing if index_rescan() was called with a NULL instead of a new set of scankeys and the index was DESC order, because sk_strategy would not get flipped a second time. I think that those provisions for a NULL argument are dead code now as far as the core backend goes, but possibly somebody somewhere is still using it. In any case, this refactoring seems clearer, and it's definitely shorter.
-
- 02 Jan, 2010 10 commits
-
-
Magnus Hagander authored
-
Tom Lane authored
-
Tom Lane authored
This is needed to avoid unwanted interference with SUBSTRING behavior, as per bug #5257 from Roman Kononov. Also, add some basic intelligence about character classes (bracket expressions) since we now have several behaviors that aren't appropriate inside a character class. As with the previous patch in this area, I'm reluctant to back-patch since it might affect applications that are relying on the prior behavior.
-
Tom Lane authored
expressions: FormIndexDatum requires the estate's scantuple to already point at the tuple the values are supposedly being extracted from. Adjust test case so that this type of confusion will be exposed. Per report from hubert depesz lubaczewski.
-
Bruce Momjian authored
-
Magnus Hagander authored
variable it's stored in. We know this can never happen. Per discussion.
-
Magnus Hagander authored
Tsutomu Yamada
-
Magnus Hagander authored
Tsutomu Yamada
-
Magnus Hagander authored
Tsutomu Yamada
-
Magnus Hagander authored
Tsutomu Yamada
-
- 01 Jan, 2010 7 commits
-
-
Tom Lane authored
8.2beta but never carried out. This avoids repetitive tests of whether the argument is of scalar or composite type. Also, be a bit more paranoid about composite arguments in some places where we previously weren't checking.
-
Tom Lane authored
to be just a minor extension of the previous patch that made "x IS NULL" indexable, because we can treat the IS NOT NULL condition as if it were "x < NULL" or "x > NULL" (depending on the index's NULLS FIRST/LAST option), just like IS NULL is treated like "x = NULL". Aside from any possible usefulness in its own right, this is an important improvement for index-optimized MAX/MIN aggregates: it is now reliably possible to get a column's min or max value cheaply, even when there are a lot of nulls cluttering the interesting end of the index.
-
Magnus Hagander authored
-
Magnus Hagander authored
project files. Based on the work of Tsutomu Yamada, but much refactored.
-
Magnus Hagander authored
-
Peter Eisentraut authored
-
Magnus Hagander authored
MSVCRxx runtime, not just the current + Visual Studio 6 (MSVCRT). Clearly there can be an almost unlimited number of runtimes loaded at the same time. Per report from Hiroshi Inoue
-
- 31 Dec, 2009 7 commits
-
-
Tom Lane authored
-
Tom Lane authored
-
Tom Lane authored
-
Tom Lane authored
This is more in keeping with modern practice, and is a first step towards porting to Win64 (which has sizeof(pointer) > sizeof(long)). Tsutomu Yamada, Magnus Hagander, Tom Lane
-
Peter Eisentraut authored
-
Peter Eisentraut authored
This reflects the recently added support for triggers on columns.
-
Andrew Dunstan authored
-
- 30 Dec, 2009 7 commits
-
-
Peter Eisentraut authored
-
Tom Lane authored
pgstats message. This might need to be done differently later, but with the current logic that's what should happen.
-
Tom Lane authored
decisions about when to auto-analyze. The previous code depended on n_live_tuples + n_dead_tuples - last_anl_tuples, where all three of these numbers could be bad estimates from ANALYZE itself. Even worse, in the presence of a steady flow of HOT updates and matching HOT-tuple reclamations, auto-analyze might never trigger at all, even if all three numbers are exactly right, because n_dead_tuples could hold steady. To fix, replace last_anl_tuples with an accurately tracked count of the total number of committed tuple inserts + updates + deletes since the last ANALYZE on the table. This can still be compared to the same threshold as before, but it's much more trustworthy than the old computation. Tracking this requires one more intra-transaction counter per modified table within backends, but no additional memory space in the stats collector. There probably isn't any measurable speed difference; if anything it might be a bit faster than before, since I was able to eliminate some per-tuple arithmetic operations in favor of adding sums once per (sub)transaction. Also, simplify the logic around pgstat vacuum and analyze reporting messages by not trying to fold VACUUM ANALYZE into a single pgstat message. The original thought behind this patch was to allow scheduling of analyzes on parent tables by artificially inflating their changes_since_analyze count. I've left that for a separate patch since this change seems to stand on its own merit.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
when building several files at once (e.g., gmake postgres-A4.pdf postgres-US.pdf).
-
Magnus Hagander authored
of MSVC when detecting MSVC version. Hiroshi Inoue
-
Heikki Linnakangas authored
it in the control file at crash recovery following an archive recovery. Per Fujii Masao and subsequent discussion.
-