aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Cause planner to make use of average-column-width statistic that is nowTom Lane2001-05-09
| | | | | | | | collected by ANALYZE. Also, add some modest amount of intelligence to guesses that are used for varlena columns in the absence of any ANALYZE statistics. The 'width' reported by EXPLAIN is finally something less than totally bogus for varlena columns ... and, in consequence, hashjoin estimating should be a little better ...
* Add SET SESSION AUTHORIZATION command.Peter Eisentraut2001-05-08
|
* Append and SubqueryScan nodes were not passing changed-parameter signals downTom Lane2001-05-08
| | | | | | | | | to their children, leading to misbehavior if they had any children that paid attention to chgParam (most plan node types don't). Append's bug has been there a long time, but nobody had noticed because it used to be difficult to create a query where an Append would be used below the top level of a plan; so there were never any parameters getting passed down. SubqueryScan is new in 7.1 ... and I'd modeled its behavior on Append :-(
* Need to factor out strdup.o for separate treatment since it's in aPeter Eisentraut2001-05-08
| | | | | different directory. This makes dependency tracking work and copes with compilers that don't suport -c and -o together.
* Small cleanup.Bruce Momjian2001-05-08
|
* Add newlines around debug output in optimizer showing total costs.Bruce Momjian2001-05-08
|
* Fix comment in file about 2*max_connections.Bruce Momjian2001-05-07
|
* Fix remaining RI permission problems (cascaded update/delete, restrict,Peter Eisentraut2001-05-07
| | | | set null/default).
* > Occasionally and without warning I get this from my daily vacuumBruce Momjian2001-05-07
| | | | | | | | | | | | | > cronjob: > NOTICE: RegisterSharedInvalid: SI buffer overflow > NOTICE: InvalidateSharedInvalid: cache state reset > I don't understand what these mean. Should I be concerned about them > and what do they signify? No real need to worry. Those should've been downgraded to DEBUG-level messages a release or two back, but nobody bothered... Tom Lane
* Rewrite of planner statistics-gathering code. ANALYZE is now available asTom Lane2001-05-07
| | | | | | | | | | | | | | | | | a separate statement (though it can still be invoked as part of VACUUM, too). pg_statistic redesigned to be more flexible about what statistics are stored. ANALYZE now collects a list of several of the most common values, not just one, plus a histogram (not just the min and max values). Random sampling is used to make the process reasonably fast even on very large tables. The number of values and histogram bins collected is now user-settable via an ALTER TABLE command. There is more still to do; the new stats are not being used everywhere they could be in the planner. But the remaining changes for this project should be localized, and the behavior is already better than before. A not-very-related change is that sorting now makes use of btree comparison routines if it can find one, rather than invoking '<' twice.
* Makefile should have automatic dependency for parser.o too, if it'sTom Lane2001-05-04
| | | | going to have any at all.
* Seems like we should not hold off cancel/die interrupts while we areTom Lane2001-05-04
| | | | | running deferred triggers. They are really part of the regular transaction, and they could take awhile.
* Consolidate several near-identical uses of mktime() into a singleTom Lane2001-05-03
| | | | | | | | | routine DetermineLocalTimeZone(). In that routine, be more wary of broken mktime() implementations than the original code was: don't allow mktime to change the already-set y/m/d/h/m/s information, and don't use tm_gmtoff if mktime failed. Possibly this will resolve some of the complaints we've been hearing from users of Middle Eastern timezones on RedHat.
* BTW it does not add encodign it just patches existing one (KOI8) toBruce Momjian2001-05-03
| | | | | | | support two - KOI8-R and KOI8-U (latter is superset of the former if not to take to the account pseudographics) Andy Rysin
* Permission checking wasn't quite right for insert/update/delete rules,Tom Lane2001-05-03
| | | | either :-(.
* Ensure that btree sort ordering functions and boolean comparison operatorsTom Lane2001-05-03
| | | | | | | | | | give consistent results for all datatypes. Types float4, float8, and numeric were broken for NaN values; abstime, timestamp, and interval were broken for INVALID values; timetz was just plain broken (some possible pairs of values were neither < nor = nor >). Also clean up text, bpchar, varchar, and bit/varbit to eliminate duplicate code and thereby reduce the probability of similar inconsistencies arising in the future.
* Permissions were not checked correctly when one view invokes another.Tom Lane2001-05-03
| | | | Per bug report from Lieven Van Acker, 5/2/01.
* Allow a string argument to the EXTRACT() function.Thomas G. Lockhart2001-05-01
| | | | | | | This is an extension to the SQL9x standard, but is consistant with usage of the underlying date_part() function used to implement it. Example: EXTRACT('YEAR',...) No impact on regression tests.
* Suppress pull-up of subqueries that are in the nullable side of an outerTom Lane2001-04-30
| | | | | | join. This is needed to avoid improper evaluation of expressions that should be nulled out, as in Victor Wagner's bug report of 4/27/01. Pretty ugly solution, but no time to do anything better for 7.1.1.
* Add missing Unicode support for Cyrillic encodings.Tatsuo Ishii2001-04-29
| | | | Patches contributed by Victor Wagner.
* Remove bogus Assert from AbsoluteTimeIsBefore(). (If you don't thinkTom Lane2001-04-26
| | | | it's bogus, try building a btree index on the regress tests' abstime_tbl.)
* Tweak nestloop costing to weight restart cost of inner path more heavily.Tom Lane2001-04-25
| | | | | Without this, it was making some pretty silly decisions about whether an expensive sub-SELECT should be the inner or outer side of a join...
* Send 'cd' output to /dev/null.Peter Eisentraut2001-04-23
|
* compatible_oper needs to do ReleaseSysCache in one path to avoidTom Lane2001-04-23
| | | | complaints about 'Cache reference leak'. Per report from Don Baccus.
* Remove useless setuid() call, instead add a check that real and effectiveTom Lane2001-04-21
| | | | userids are the same. Per today's pghackers discussion.
* Add extern int optreset declaration, per bug report from <info@decc.nl>.Peter Eisentraut2001-04-19
|
* Fix "off by VARHDRSZ" bug in (Cyrillic) recode support.Peter Eisentraut2001-04-19
|
* Kluge solution for Alex Pilosov's report of problems with whole-tupleTom Lane2001-04-19
| | | | | | | | | function arguments in join queries: copy the tuples into TransactionCommandContext so they don't get recycled too soon. This is horrid, but not any worse than 7.0 or before, which also leaked such tuples until end of query. A proper fix will require allowing tuple datums to be physically stored inside larger tuple datums, which opens up a bunch of issues that can't realistically be solved for 7.1.1.
* Add a crash gurard to pg_encoding_mblen in case of an invalid encodingTatsuo Ishii2001-04-19
| | | | given.
* Further tweaking of error messages for cases involving attributes &Tom Lane2001-04-18
| | | | | | functions of join or subselect aliases. It'd be awfully nice if this code knew for sure whether it was dealing with 'x.f' or 'f(x)' syntax; maybe we can fix that in a future cycle.
* Make the world safe for passing whole rows of views to functions. ThisTom Lane2001-04-18
| | | | already worked fine for whole rows of tables, but not so well for views...
* Make rule lister do the right thing with Vars representing whole tuples.Tom Lane2001-04-18
|
* Add some defenses to guard against case where a rule refers to a tableTom Lane2001-04-17
| | | | | | | or view that's been dropped and then recreated with the same name (but, perhaps, different columns). Eventually we'd like to support this but for now all we can do is fail cleanly, rather than possibly coredumping if we proceed using the obsolete rule.
* Avoid reversing user-given order of WHERE clauses while attaching clausesTom Lane2001-04-16
| | | | | | | | to specific base or join RelOptInfo nodes during planning. This preserves the more-intuitive behavior of 7.0.* --- if you write an expensive clause (such as a sub-select) last, it should get evaluated last. Someday we ought to try to have some intelligence about the order of evaluation of WHERE clauses, but for now we should not override what the user wrote.
* Correction for mathematical properties in Unicode converison maps.Tatsuo Ishii2001-04-16
| | | | Patches contributed by Eiji Tokuya (e-tokuya@sankyo-unyu.co.jp)
* getdatabaseencoding() and PG_encoding_to_char() were being sloppy aboutTom Lane2001-04-16
| | | | | converting char* strings to type 'name'. Imagine my surprise when 7.1 release coredumped upon start when compiled --enable-multibyte ...
* Remove error report from pq_endmessage when pq_putmessage fails. TheTom Lane2001-04-16
| | | | | | | | only possible failure is in pq_flush, which will log a (better!) report anyway --- so pq_endmessage is just cluttering the log with a redundant entry. This matters when a client crashes partway through a large query, since we will emit many broken-pipe reports before finishing the query and exiting.
* Constant expressions that appear in ORDER BY, GROUP BY, DISTINCT ONTom Lane2001-04-15
| | | | | | | | lists should be reverse-compiled into targetlist index numbers, because that's the only interpretation the parser allows for a constant in these clauses. (Ergo, the only way they could have gotten into the list in the first place is to have come from the targetlist; so this should always work.) Per problem report from Peter E.
* Prevent generation of invalid plans for RIGHT or FULL joins with multipleTom Lane2001-04-15
| | | | | | | | join clauses. The mergejoin executor wants all the join clauses to appear as merge quals, not as extra joinquals, for these kinds of joins. But the planner would consider plans in which partially-sorted input paths were used, leading to only some of the join clauses becoming merge quals. This is fine for inner/left joins, not fine for right/full joins.
* Add debug_query_string global variable for pgmonitor and debugging use.Bruce Momjian2001-04-14
|
* Another try at making numeric MODULO operator produce the right answer.Tom Lane2001-04-14
| | | | | | Although it was now using the right equation, it was making bogus choices of the precision to compute intermediate results to. I'm not sure this is really right even yet, but it's better than before ...
* Fix comment that Vadim found confusing.Tom Lane2001-04-05
|
* StartupXLOG(): initialize XLogCtl->Insert to new page if there isVadim B. Mikheev2001-04-05
| | | | no room for a record on last log page.
* Fix/cleanup DLLLIBS handling for Cygwin port. If it works it's toTom Lane2001-04-04
| | | | Jason Tishler's credit, if it's broken it's my fault ...
* Have to lock buffer while changing page' LSN.Vadim B. Mikheev2001-04-04
| | | | Thanks to Tom.
* Log sequence creation (to initialize magic number on recovery).Vadim B. Mikheev2001-04-03
|
* Correct bogus mktime() calls.Tom Lane2001-04-03
|
* Check for failure of malloc() and realloc() when allocating space forTom Lane2001-04-03
| | | | | | VFD entries. On platforms where dereferencing a null pointer doesn't lead to coredump, it's possible that this omission could have led to unpleasant behavior like deleting the wrong file.
* open(2) flags saved for re-opening a virtual file should probably notTom Lane2001-04-03
| | | | include O_CREAT.
* Restore pre-7.1 behavior of allowing DROP of a table whose underlyingTom Lane2001-04-02
| | | | | | physical file has disappeared. There is no really good reason why relcache should be opening the underlying file at all, AFAICS. In any case we needn't raise a hard error here.