- 04 6月, 2005 8 次提交
-
-
由 Tom Lane 提交于
performance problem pointed out by phil@vodafone: to wit, we were spending O(N^2) time to check dropped-ness in an N-deep join tree, even in the case where the tree was freshly constructed and couldn't possibly mention any dropped columns. Instead of recursing in get_rte_attribute_is_dropped(), change the data structure definition: the joinaliasvars list of a JOIN RTE must have a NULL Const instead of a Var at any position that references a now-dropped column. This costs nothing during normal parse-rewrite-plan path, and instead we have a linear-time update to make when loading a stored rule that might contain now-dropped columns. While at it, move the responsibility for acquring locks on relations referenced by rules into this separate function (which I therefore chose to call AcquireRewriteLocks). This saves effort --- namely, duplicated lock grabs in parser and rewriter --- in the normal path at a cost of one extra non-locked heap_open() in the stored-rule path; seems a good tradeoff. A fringe benefit is that it is now *much* clearer that we acquire lock on relations referenced in rules before we make any rewriter decisions based on their properties. (I don't know of any bug of that ilk, but it wasn't exactly clear before.)
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
< * -Compress WAL entries [wal]
-
由 Tom Lane 提交于
no part of the planner did CHECK_FOR_INTERRUPTS(). Add one in a suitably strategic spot.
-
由 Bruce Momjian 提交于
Viktor Vislobokov
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
> * -Compress WAL entries [wal]
-
由 Bruce Momjian 提交于
> * -Change WAL to use 32-bit CRC, for performance reasons
-
- 03 6月, 2005 2 次提交
-
-
由 Tom Lane 提交于
to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com.
-
由 Tom Lane 提交于
broke it. Maybe we do need an automated check ...
-
- 02 6月, 2005 8 次提交
-
-
由 Michael Meskes 提交于
- Added patch by Gavin Scott <gavin@planetacetech.com> for Intel 64bit hardware.
-
由 Tom Lane 提交于
Instead of a separate CRC on each backup block, include backup blocks in their parent WAL record's CRC; this is important to ensure that the backup block really goes with the WAL record, ie there was not a page tear right at the start of the backup block. Implement a simple form of compression of backup blocks: drop any run of zeroes starting at pd_lower, so as not to store the unused 'hole' that commonly exists in PG heap and index pages. Tweak PageRepairFragmentation and related routines to ensure they keep the unused space zeroed, so that the above compression method remains effective. All per recent discussions.
-
由 Bruce Momjian 提交于
< o Allow COPY to understand \x as a hex byte > o -Allow COPY to understand \x as a hex byte
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
supported. This follows the C standard escapes.
-
由 Bruce Momjian 提交于
Sergey Ten
-
由 Bruce Momjian 提交于
and DDL statements. Backpatch fix to 8.0.X. Per report from Murthy Kambhampaty
-
由 Tom Lane 提交于
expressions it constructed, causing scalarineqsel to become confused if the underlying variable was of a domain type. Per report from Kevin Grittner.
-
- 01 6月, 2005 2 次提交
-
-
由 Teodor Sigaev 提交于
-
由 Tom Lane 提交于
WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash.
-
- 31 5月, 2005 13 次提交
-
-
由 Bruce Momjian 提交于
Robert Treat
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
that the parser now can, so that it can reverse-list cases involving FieldSelect from a RECORD Var.
-
由 Tom Lane 提交于
it can handle cases like (foo.x).y where foo is a subquery and x is a function-returning-RECORD RTE in that subquery.
-
由 Tom Lane 提交于
for efficiency's sake. Mark Kirkwood.
-
由 Tom Lane 提交于
and RelationNameGetTupleDesc() as deprecated; remove uses of the latter in the contrib library. Along the way, clean up crosstab() code and documentation a little.
-
由 Bruce Momjian 提交于
< * Prevent child tables from altering constraints like CHECK that were < inherited from the parent table 470a469,471 > > o Prevent child tables from altering constraints like CHECK that were > inherited from the parent table
-
由 Bruce Momjian 提交于
> * Prevent child tables from altering constraints like CHECK that were > inherited from the parent table
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
physical-tlist optimization can be applied to FunctionScan nodes as well as regular tables and SubqueryScans.
-
由 Bruce Momjian 提交于
hex/decimal/octal. Documentation already updated. BACKWARD COMPATIBLE CHANGE
-
由 Bruce Momjian 提交于
-
- 30 5月, 2005 7 次提交
-
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
conventions of only allowing octal, like \045. Remove support for \decimal, \0octal, and \0xhex which matches the strtol() function but didn't make sense with backslashes. These now return the same character: test=> \set x '\54' test=> \echo :x , test=> \set x '\054' test=> \echo :x , THIS IS A BACKWARD COMPATIBILITY CHANGE.
-
由 Bruce Momjian 提交于
-
由 Neil Conway 提交于
key, compare the new and old row versions. If the foreign key column has not changed, we needn't enqueue the trigger, since the update cannot violate the foreign key. This optimization was previously applied in the RI trigger function, but it is more efficient to avoid firing the trigger altogether. Per recent discussion on pgsql-hackers. Also add a regression test for some unintuitive foreign key behavior, and refactor some code that deals with the OIDs of the various RI trigger functions.
-
由 Neil Conway 提交于
keys, rather than a single trigger for both events. This should not change functionality, but it is more consistent: previously, there were trigger functions for both "check_insert" and "check_update", but the former was used for both events. Bump catalog version number (not strictly necessary, but best to be cautious).
-
由 Tom Lane 提交于
a FOR UPDATE clause, if one is present.
-
由 Tom Lane 提交于
cstring, rather than text, so as to eliminate useless conversions inside the parser. Per recent discussion.
-