aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Fix 3-parameter form of bit substring() to throw error for negative length,Tom Lane2010-01-07
| | | | as required by SQL standard.
* Make bit/varbit substring() treat any negative length as meaning "all the restTom Lane2010-01-07
| | | | | | | | | | | of the string". The previous coding treated only -1 that way, and would produce an invalid result value for other negative values. We ought to fix it so that 2-parameter bit substring() is a different C function and the 3-parameter form throws error for negative length, but that takes a pg_proc change which is impractical in the back branches; and in any case somebody might be relying on -1 working this way. So just do this as a back-patchable fix.
* Fix (some of the) breakage introduced into query-cancel processing by HS.Tom Lane2010-01-07
| | | | | | | | | | | | | | It is absolutely not okay to throw an ereport(ERROR) in any random place in the code just because DoingCommandRead is set; interrupting, say, OpenSSL in the midst of its activities is guaranteed to result in heartache. Instead of that, undo the original optimizations that threw away QueryCancelPending anytime we were starting or finishing a command read, and instead discard the cancel request within ProcessInterrupts if we find that there is no HS reason for forcing a cancel and we are DoingCommandRead. In passing, may I once again condemn the practice of changing the code and not fixing the adjacent comment that you just turned into a lie?
* Remove all the special-case code for INT64_IS_BUSTED, per decision thatTom Lane2010-01-07
| | | | | | | | we're not going to support that anymore. I did keep the 64-bit-CRC-with-32-bit-arithmetic code, since it has a performance excuse to live. It's a bit moot since that's all ifdef'd out, of course.
* More tablespace.c comment improvements.Bruce Momjian2010-01-07
|
* Clarify tablespace.c::TablespaceCreateDbspace() comments.Bruce Momjian2010-01-07
|
* Further fixes for per-tablespace options patch.Robert Haas2010-01-07
| | | | | | | Add missing varlena header to TableSpaceOpts structure. And, per Tom Lane, instead of calling tablespace_reloptions in CacheMemoryContext, call it in the caller's memory context and copy the value over afterwards, to reduce the chances of a session-lifetime memory leak.
* Improve a couple of comments relating to large object snapshot management.Robert Haas2010-01-07
|
* PG_MAJORVERSION:Bruce Momjian2010-01-06
| | | | | For simplicity, use PG_MAJORVERSION rather than PG_VERSION for creation of the PG_VERSION file.
* Fix spccache.c to not suppose that a cache entry will live across databaseTom Lane2010-01-06
| | | | access, per testing with CLOBBER_CACHE_ALWAYS. Minor other editorialization.
* Access hash entry before freeing it, not after.Tom Lane2010-01-06
|
* Make error messages for bad --set-version argument more useful.Tom Lane2010-01-06
| | | | Per Stefan.
* Make the makefile pass $MAJORVERSION to genbki.pl, not $VERSION which isTom Lane2010-01-06
| | | | | overridden in the snapshot build script. $MAJORVERSION is what it really wanted anyway, so we can tighten up the parsing of --set-version's argument.
* Silence compiler warning about uninitialized variables. This initializationItagaki Takahiro2010-01-06
| | | | is not necessary needed, but some compilers complain about it.
* Support rewritten-based full vacuum as VACUUM FULL. TraditionalItagaki Takahiro2010-01-06
| | | | | | | | | | | VACUUM FULL was renamed to VACUUM FULL INPLACE. Also added a new option -i, --inplace for vacuumdb to perform FULL INPLACE vacuuming. Since the new VACUUM FULL uses CLUSTER infrastructure, we cannot use it for system tables. VACUUM FULL for system tables always fall back into VACUUM FULL INPLACE silently. Itagaki Takahiro, reviewed by Jeff Davis and Simon Riggs.
* binary upgrade:Bruce Momjian2010-01-06
| | | | | | | Preserve relfilenodes for views and composite types --- even though we don't store data in, them, they do consume relfilenodes. Bump catalog version.
* Preserve relfilenodes:Bruce Momjian2010-01-06
| | | | | Add support to pg_dump --binary-upgrade to preserve all relfilenodes, for use by pg_migrator.
* Remove tabs in SGML.Bruce Momjian2010-01-06
| | | | Move OIDCHARS to proper include file.
* Use OIDCHARS:Bruce Momjian2010-01-06
| | | | | Use OIDCHARS for oid character length, rather than '10', in tablespace code.
* Add support for doing FULL JOIN ON FALSE. While this is really a ratherTom Lane2010-01-05
| | | | | | | | | | peculiar variant of UNION ALL, and so wouldn't likely get written directly as-is, it's possible for it to arise as a result of simplification of less-obviously-silly queries. In particular, now that we can do flattening of subqueries that have constant outputs and are underneath an outer join, it's possible for the case to result from simplification of queries of the type exhibited in bug #5263. Back-patch to 8.4 to avoid a functionality regression for this type of query.
* Support ALTER TABLESPACE name SET/RESET ( tablespace_options ).Robert Haas2010-01-05
| | | | | | | | | This patch only supports seq_page_cost and random_page_cost as parameters, but it provides the infrastructure to scalably support many more. In particular, we may want to add support for effective_io_concurrency, but I'm leaving that as future work for now. Thanks to Tom Lane for design help and Alvaro Herrera for the review.
* Fix genbki.pl and Gen_fmgrtab.pl to use PID-specific temp file names,Tom Lane2010-01-05
| | | | | so that it's safe if a parallel make chooses to run two concurrent copies. Also, work around a memory leak in some versions of Perl.
* Further code review for genbki.pl. Improve comments, fix someTom Lane2010-01-05
| | | | | rather random code choices, don't slavishly duplicate the original pg_attribute.h's failure to put an OID into Schema_pg_index entries.
* Fix a few places where we needed -I. in CPPFLAGS to work properly inTom Lane2010-01-05
| | | | VPATH builds. We had this already in several places, but not all.
* Remove too-smart-for-its-own-good optimization of not overwriting the outputTom Lane2010-01-05
| | | | | files when they haven't changed. This confuses make because the build fails to update the file timestamps, and so it keeps on doing the action over again.
* Verify input in pg_read_file().Itagaki Takahiro2010-01-05
|
* Fix parallel-make timing problem.Tom Lane2010-01-05
|
* Get rid of the need for manual maintenance of the initial contents ofTom Lane2010-01-05
| | | | | | | | | | | | | | | | | | 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
* Remove sometimes inaccurate error hint about source of wrongly encoded data.Andrew Dunstan2010-01-04
|
* Write an end-of-backup WAL record at pg_stop_backup(), and wait for it atHeikki Linnakangas2010-01-04
| | | | | | | | | | | | | | | | | | | 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.
* When estimating the selectivity of an inequality "column > constant" orTom Lane2010-01-04
| | | | | | | | | | | | | | | "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.
* Silence compiler warning about printf format for HANDLE.Itagaki Takahiro2010-01-04
|
* Dept of second thoughts: my first cut at supporting "x IS NOT NULL" btreeTom Lane2010-01-03
| | | | | | | | | 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.
* Fix similar_escape() to convert parentheses to non-capturing style.Tom Lane2010-01-02
| | | | | | | | | | | 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.
* check_exclusion_constraint didn't actually work correctly for indexTom Lane2010-01-02
| | | | | | | 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.
* Update copyright for the year 2010.Bruce Momjian2010-01-02
|
* Support 64-bit shared memory when building on 64-bit Windows.Magnus Hagander2010-01-02
| | | | Tsutomu Yamada
* Fix one more cast for _open_osfhandle().Magnus Hagander2010-01-02
| | | | Tsutomu Yamada
* Add an "argisrow" field to NullTest nodes, following a plan made way back inTom Lane2010-01-01
| | | | | | 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.
* Support "x IS NOT NULL" clauses as indexscan conditions. This turns outTom Lane2010-01-01
| | | | | | | | | | | 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.
* Silence compiler warning on 64-bit windows buildMagnus Hagander2010-01-01
|
* Update SQL features supported listPeter Eisentraut2010-01-01
|
* Suppress compiler warning, per buildfarm member narwhalTom Lane2009-12-31
|
* Suppress compiler warning (pid_t isn't int everywhere)Tom Lane2009-12-31
|
* Add missing 'static' tag.Tom Lane2009-12-31
|
* Redefine Datum as uintptr_t, instead of unsigned long.Tom Lane2009-12-31
| | | | | | | 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
* Update SQL features list for aggregate ORDER BY supportPeter Eisentraut2009-12-31
|
* Add information_schema.triggered_update_columnsPeter Eisentraut2009-12-31
| | | | This reflects the recently added support for triggers on columns.
* Fill in information schema column for trigger WHEN conditionPeter Eisentraut2009-12-30
|
* Dept of second thoughts: recursive case in ANALYZE shouldn't emit aTom Lane2009-12-30
| | | | | pgstats message. This might need to be done differently later, but with the current logic that's what should happen.