aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* simplify_function() mustn't try to evaluate functions that returnTom Lane2004-01-28
| | | | | | | composite types, because TupleTableSlots aren't Datums and can't be stored in Const nodes. We can remove this restriction if we ever adopt a cleaner runtime representation for whole-tuple results, but at the moment it's broken. Per example from Thomas Hallgren.
* Pgindent win32 signal code.Bruce Momjian2004-01-27
|
* Here's the latest win32 signals code, this time in the form of a patchBruce Momjian2004-01-27
| | | | | | | | | | | | | | | | | against the latest shapshot. It also includes the replacement of kill() with pqkill() and sigsetmask() with pqsigsetmask(). Passes all tests fine on my linux machine once applied. Still doesn't link completely on Win32 - there are a few things still required. But much closer than before. At Bruce's request, I'm goint to write up a README file about the method of signals delivery chosen and why the others were rejected (basically a summary of the mailinglist discussions). I'll finish that up once/if the patch is accepted. Magnus Hagander
* [all] Removed call to getppid in SendPostmasterSignal, replacing with aBruce Momjian2004-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | PostmasterPid variable, which gets set (early) in PostmasterMain getppid would not be the postmaster? [fork/exec] Implements processCancelRequest by keeping an array of pid/cancel_key structs in shared mem [fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into SubPostmasterMain [win32] Implements reaper/waitpid by keeping an arrays of children pids,handles in postmaster local mem - this item is largely untested, for reasons which should be obvious, but appears sound [win32/all] Added extern for pgpipe in Win32 case, and changed the second pipe call (which seems to have been missed earlier) to pgpipe [win32] #define'd ftruncate to chsize in the Win32 case [win32] PG_USLEEP for Win32 has a misplaced paren. Fixed. [win32] DLLIMPORT handling for MingW case Claudio Natoli
* Back out win32 patch so we can apply it separately.Bruce Momjian2004-01-26
|
* Attached is a patch that fixes some trivial typos and alignment. PleaseBruce Momjian2004-01-26
| | | | | | apply. Alvaro Herrera
* Ensure that close() and fclose() are checked for errors, at least inTom Lane2004-01-26
| | | | | | cases involving writes. Per recent discussion about the possibility of close-time failures on some filesystems. There is a TODO item for this, too.
* Repair incorrect order of operations in GetNewTransactionId(). We mustTom Lane2004-01-26
| | | | | | 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.
* Support named parameters in information_schema.parameters,Tom Lane2004-01-24
| | | | | per Dennis Bjorklund. I did not force initdb for this, but you'd need to do one to get the improved view.
* Added GUC variable bgwriter_flush_method controlling the actionJan Wieck2004-01-24
| | | | | | | | | | | | | 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
* Translation updatesDennis Bjorklund2004-01-24
|
* Repair planner failure for cases involving Cartesian products insideTom Lane2004-01-24
| | | | | | 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.
* Revise GEQO planner to make use of some heuristic knowledge about SQL, namelyTom Lane2004-01-23
| | | | | | | | | | | | | | 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.
* Fix a minor bug introduced by the recent CREATE TABLE AS / WITH OIDSNeil Conway2004-01-23
| | | | | | 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
* Remove ExpandDatabasePath(), which is unused and must have been so sinceTom Lane2004-01-22
| | | | 7.1, because the path interpretation it embodies has been wrong since 7.1.
* Translation updatesDennis Bjorklund2004-01-22
|
* Fix oversight in optimization that avoids an unnecessary projection stepTom Lane2004-01-22
| | | | | | 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.
* Correct error introduced in recent hasoids changes --- it's not a boolTom Lane2004-01-22
| | | | field anymore.
* Repair error apparently introduced in the initial coding of GUC: theTom Lane2004-01-21
| | | | | | 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.
* If we don't have shared libraries, we don't have conversions. MakeTom Lane2004-01-21
| | | | | conversion_create.sql be empty (except for a helpful comment) in this case. Allows initdb to succeed with --disable-shared.
* Fix bit-rot in support for building with --disable-shared. This patchTom Lane2004-01-21
| | | | | gets us past 'make install', but initdb still fails for lack of conversion libraries ...
* Translation updatesDennis Bjorklund2004-01-21
|
* Repair problem identified by Olivier Prenant: ALTER DATABASE SET search_pathTom Lane2004-01-19
| | | | | | | | | | | 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.
* Fix typo.Peter Eisentraut2004-01-19
|
* Don't return an overoptimistic result from join_in_selectivity whenTom Lane2004-01-19
| | | | we have detected that an IN subquery must return unique results.
* Recognize that IN subqueries return already-unique results if they useTom Lane2004-01-19
| | | | | UNION/INTERSECT/EXCEPT (without ALL). This adds on to the previous optimization for subqueries using DISTINCT.
* Add a hash table to cache lookups of 'C'-language functions (that is,Tom Lane2004-01-19
| | | | | | 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.
* Don't use %s-with-precision format spec to truncate data being displayedTom Lane2004-01-18
| | | | | | | | | 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.
* When testing whether a sub-plan can do projection, use a general-purposeTom Lane2004-01-18
| | | | | | | | | | | | 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.
* Repair misestimation of indexscan CPU costs. When an indexqual containsTom Lane2004-01-17
| | | | | | 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.
* Tighten short-circuit tests for deciding whether we need to invokeTom Lane2004-01-16
| | | | | | | 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.
* Adjusted calculation of shared memory requirements to newJan Wieck2004-01-15
| | | | | | ARC buffer replacement strategy. Jan
* Fix permission-checking bug reported by Tim Burgess 10-Feb-03 (this timeTom Lane2004-01-14
| | | | | | | | | 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.
* pg_settings should have UPDATE privilege allowed to public.Tom Lane2004-01-14
|
* The no-updates-to-system-catalogs-unless-usecatupd restriction shouldTom Lane2004-01-14
| | | | not apply to system views. It never mattered before 7.4, but it does now.
* Revert ill-starred change of 13-Feb-02: it appeared to fix a problem ofTom Lane2004-01-14
| | | | | | | | | 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.
* Fix another place that wasn't maintaining AND/OR flatness of anTom Lane2004-01-12
| | | | already-canonicalized qual expression.
* Preserve AND/OR flatness during eval_const_expressions(). This seems aTom Lane2004-01-12
| | | | | useful improvement in any case, and it keeps the new logic for restrictinfo structures happy. Per report from Kris Jurka.
* Translation updatesDennis Bjorklund2004-01-11
|
* Add CREATE TRIGGER, CREATE INDEX, and CREATE SEQUENCE to the list ofNeil Conway2004-01-11
| | | | | | | expressions supported by CREATE SCHEMA. Also added the beginning of some regression tests for CREATE SCHEMA; plenty more work is needed here.
* Drops in the CreateProcess calls for Win32 (essentially wrapping up theBruce Momjian2004-01-11
| | | | | | fork/exec portion of the port), and fixes a handful of whitespace issues Claudio Natoli
* Implement "WITH / WITHOID OIDS" clause for CREATE TABLE AS. This isNeil Conway2004-01-10
| | | | | | | | | | intended to allow application authors to insulate themselves from changes to the default value of 'default_with_oids' in future releases of PostgreSQL. This patch also fixes a bug in the earlier implementation of the 'default_with_oids' GUC variable: code in gram.y should not examine the value of GUC variables directly due to synchronization issues.
* Improve has_nullable_targetlist() to allow strict functions of simpleTom Lane2004-01-10
| | | | | | variables, not just simple variables. This was foreseen in the original coding of this routine, but not implemented until now. Responds to performance gripe from Laurent Perez.
* Translation updatesDennis Bjorklund2004-01-10
|
* Translation updatesDennis Bjorklund2004-01-10
|
* Allow BEGIN WORK to specify transaction isolation level, like STARTBruce Momjian2004-01-10
| | | | TRANSACTION.
* Fix subquery pullup logic to not be fooled when a view that appearsTom Lane2004-01-10
| | | | | | 'simple' references another view that is not simple. Must recheck conditions after performing recursive pullup. Per example from Laurent Perez, 9-Jan-04.
* Remove ereport() from failed connection; already done, per Tom.Bruce Momjian2004-01-09
|
* Fix for cancel key restarting postmaster, from ClaudioBruce Momjian2004-01-09
|
* Change PG_DELAY from msec to usec and use it consistenly rather thanBruce Momjian2004-01-09
| | | | select(). Add Win32 Sleep() for delay.