summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2004-01-26Back out win32 patch so we can apply it separately.Bruce Momjian
2004-01-26Attached is a patch that fixes some trivial typos and alignment. PleaseBruce Momjian
apply. Alvaro Herrera
2004-01-26Ensure that close() and fclose() are checked for errors, at least inTom Lane
cases involving writes. Per recent discussion about the possibility of close-time failures on some filesystems. There is a TODO item for this, too.
2004-01-26Repair incorrect order of operations in GetNewTransactionId(). We mustTom Lane
complete ExtendCLOG() before advancing nextXid, so that if that routine fails, the next incoming transaction will try it again. Per trouble report from Christopher Kings-Lynne.
2004-01-25Fix an obsolete file path mentioned in a comment.Neil Conway
2004-01-25More fallout from the recent psql patch: rename xmalloc and friends toNeil Conway
pg_malloc, to avoid linker failures on same platforms.
2004-01-24Support named parameters in information_schema.parameters,Tom Lane
per Dennis Bjorklund. I did not force initdb for this, but you'd need to do one to get the improved view.
2004-01-24Fix problems with dropped columns in pltcl triggers, per report from Patrick ↵Tom Lane
Samson.
2004-01-24Revert the change to print.c, as this breaks src/bin/scripts. The properNeil Conway
way to fix this is probably implementing safe memory handling functions once in a static lib and then using that in the various client apps, but for the moment I've just reverted the change to un-break the tree.
2004-01-24Added GUC variable bgwriter_flush_method controlling the actionJan Wieck
done by the background writer between writing dirty blocks and napping. none (default) no action sync bgwriter calls smgrsync() causing a sync(2) A global sync() is only good on dedicated database servers, so more flush methods should be added in the future. Jan
2004-01-24This patch makes some of the memory manipulation performed by psql aNeil Conway
little more sane. Some parts of the code was using a static function xmalloc() that did safe memory allocation (where "safe" means "bail out on OOM"), but most of it was just invoking calloc() or malloc() directly. Now almost everything invokes xmalloc() or xcalloc().
2004-01-24Translation updatesDennis Bjorklund
2004-01-24Repair planner failure for cases involving Cartesian products insideTom Lane
IN (sub-SELECT) constructs. We must force a clauseless join of the sub-select member relations, but it wasn't happening because the code thought it would be able to use the join clause arising from the IN.
2004-01-23Revise GEQO planner to make use of some heuristic knowledge about SQL, namelyTom Lane
that it's good to join where there are join clauses rather than where there are not. Also enable it to generate bushy plans at need, so that it doesn't fail in the presence of multiple IN clauses containing sub-joins. These changes appear to improve the behavior enough that we can substantially reduce the default pool size and generations count, thereby decreasing the runtime, and yet get as good or better plans as we were getting in 7.4. Consequently, adjust the default GEQO parameters. I also modified the way geqo_effort is used so that it affects both population size and number of generations; it's now useful as a single control to adjust the GEQO runtime-vs-plan-quality tradeoff. Bump geqo_threshold to 12, since even with these changes GEQO seems to be slower than the regular planner at 11 relations.
2004-01-23Fix a minor bug introduced by the recent CREATE TABLE AS / WITH OIDSNeil Conway
patch: a 3-value enum was mistakenly assigned directly to a 'bool' in transformCreateStmt(). Along the way, change makeObjectName() to be static, as it isn't used outside analyze.c
2004-01-22Translation updatePeter Eisentraut
2004-01-22Remove ExpandDatabasePath(), which is unused and must have been so sinceTom Lane
7.1, because the path interpretation it embodies has been wrong since 7.1.
2004-01-22Fix incorrect dumping of database LOCATION from 7.0.* servers.Tom Lane
Per report from Mattias Kregert.
2004-01-22Translation updatesDennis Bjorklund
2004-01-22Fix oversight in optimization that avoids an unnecessary projection stepTom Lane
when scanning a table that we need all the columns from. In case of SELECT INTO, we have to check that the hasoids flag matches the desired output type, too. Per report from Mike Mascari.
2004-01-22Correct error introduced in recent hasoids changes --- it's not a boolTom Lane
field anymore.
2004-01-21Repair error apparently introduced in the initial coding of GUC: theTom Lane
default value for geqo_effort is supposed to be 40, not 1. The actual 'genetic' component of the GEQO algorithm has been practically disabled since 7.1 because of this mistake. Improve documentation while at it.
2004-01-21Ensure fflush(stdout) happens in all cases, per gripe from Jon Sablatnig.Tom Lane
2004-01-21If we don't have shared libraries, we don't have conversions. MakeTom Lane
conversion_create.sql be empty (except for a helpful comment) in this case. Allows initdb to succeed with --disable-shared.
2004-01-21Fix bit-rot in support for building with --disable-shared. This patchTom Lane
gets us past 'make install', but initdb still fails for lack of conversion libraries ...
2004-01-21Added WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE.Michael Meskes
2004-01-21Translation updatesDennis Bjorklund
2004-01-20Implement '\copy from -' to support reading copy data from the sameTom Lane
source the \copy came from. Also, fix prompting logic so that initial and per-line prompts appear for all cases of reading from an interactive terminal. Patch by Mark Feit, with some kibitzing by Tom Lane.
2004-01-20This is a patch to support readline prompts which contain non-printingTom Lane
characters, as for fancy colorized prompts. This was nearly a direct lift from bash-2.05b's lib/readline/display.c, per guidance from Chet Ramey. Reece Hart
2004-01-19Remove JDBC from the build system and documentation, too.Tom Lane
2004-01-19missed a few filesPostgreSQL Daemon
2004-01-19JDBC is now on GBorgPostgreSQL Daemon
2004-01-19Repair problem identified by Olivier Prenant: ALTER DATABASE SET search_pathTom Lane
should not be too eager to reject paths involving unknown schemas, since it can't really tell whether the schemas exist in the target database. (Also, when reading pg_dumpall output, it could be that the schemas don't exist yet, but eventually will.) ALTER USER SET has a similar issue. So, reduce the normal ERROR to a NOTICE when checking search_path values for these commands. Supporting this requires changing the API for GUC assign_hook functions, which causes the patch to touch a lot of places, but the changes are conceptually trivial.
2004-01-19Fix typo.Peter Eisentraut
2004-01-19Don't return an overoptimistic result from join_in_selectivity whenTom Lane
we have detected that an IN subquery must return unique results.
2004-01-19Recognize that IN subqueries return already-unique results if they useTom Lane
UNION/INTERSECT/EXCEPT (without ALL). This adds on to the previous optimization for subqueries using DISTINCT.
2004-01-19Add a hash table to cache lookups of 'C'-language functions (that is,Tom Lane
dynamically loaded C functions). Some limited testing suggests that this puts the lookup speed for external functions just about on par with built-in functions. Per discussion with Eric Ridge.
2004-01-18Translation updatePeter Eisentraut
2004-01-18Don't use %s-with-precision format spec to truncate data being displayedTom Lane
in a COPY error message. It seems that glibc gets indigestion if it is asked to truncate strings that contain invalid UTF-8 encoding sequences. vsnprintf will return -1 in such cases, leading to looping and eventual memory overflow in elog.c. Instead use our own, more robust pg_mbcliplen routine. I believe this problem accounts for several recent reports of unexpected 'out of memory' errors during COPY IN.
2004-01-18When testing whether a sub-plan can do projection, use a general-purposeTom Lane
check instead of hardwiring assumptions that only certain plan node types can appear at the places where we are testing. This was always a pretty fragile assumption, and it turns out to be broken in 7.4 for certain cases involving IN-subselect tests that need type coercion. Also, modify code that builds finished Plan tree so that node types that don't do projection always copy their input node's targetlist, rather than having the tlist passed in from the caller. The old method makes it too easy to write broken code that thinks it can modify the tlist when it cannot.
2004-01-17Repair misestimation of indexscan CPU costs. When an indexqual containsTom Lane
a run-time key (that is, a nonconstant expression compared to the index variable), the key is evaluated just once per scan, but we were charging costs as though it were evaluated once per visited index entry.
2004-01-16Tighten short-circuit tests for deciding whether we need to invokeTom Lane
tuptoaster.c --- fields that are compressed in-line are not a reason to invoke the toaster. Along the way, add a couple more htup.h macros to eliminate confusing negated tests, and get rid of the already vestigial TUPLE_TOASTER_ACTIVE symbol.
2004-01-15Adjusted calculation of shared memory requirements to newJan Wieck
ARC buffer replacement strategy. Jan
2004-01-14Fix permission-checking bug reported by Tim Burgess 10-Feb-03 (this timeTom Lane
for sure...). Rather than relying on the query context of a rangetable entry to identify what permissions it wants checked, store a full AclMode mask in each RTE, and check exactly those bits. This allows an RTE specifying, say, INSERT privilege on a view to be copied into a derived UPDATE query without changing meaning. Per recent discussion thread. initdb forced due to change of stored rule representation.
2004-01-14Translation updatesDennis Bjorklund
2004-01-14pg_settings should have UPDATE privilege allowed to public.Tom Lane
2004-01-14The no-updates-to-system-catalogs-unless-usecatupd restriction shouldTom Lane
not apply to system views. It never mattered before 7.4, but it does now.
2004-01-14Revert ill-starred change of 13-Feb-02: it appeared to fix a problem ofTom Lane
incorrect permissions checking, but in fact disabled most all permissions checks for view updates. This corrects problems reported by Sergey Yatskevich among others, at the cost of re-introducing the problem previously reported by Tim Burgess. However, since we'd lived with that problem for quite awhile without knowing it, we can live with it awhile longer until a proper fix can be made in 7.5.
2004-01-13Translation updatePeter Eisentraut
2004-01-13Fix ecpg test program to properly access int* null indicator.Bruce Momjian