aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Change CREATE TABLE AS / SELECT INTO to create the new table with OIDs,Tom Lane2003-01-23
| | | | | for backwards compatibility with pre-7.3 behavior. Per discussion on pgsql-general and pgsql-hackers.
* Fix sloppy comment.Tom Lane2003-01-22
|
* Make estimation of mergejoin scan selectivities more robust, per recentTom Lane2003-01-22
| | | | example from RaÇl GutiÅrrez.
* Improve print_expr() a little. It's still not very bright though.Tom Lane2003-01-22
|
* Implement choice between hash-based and sort-based grouping for doingTom Lane2003-01-22
| | | | DISTINCT processing on the output of an IN sub-select.
* Fix coredump problem in plpgsql's RETURN NEXT. When a SELECT INTOTom Lane2003-01-21
| | | | | | | | that's selecting into a RECORD variable returns zero rows, make it assign an all-nulls row to the RECORD; this is consistent with what happens when the SELECT INTO target is not a RECORD. In support of this, tweak the SPI code so that a valid tuple descriptor is returned even when a SPI select returns no rows.
* Avoid gratuitous variation in spelling of same error message.Tom Lane2003-01-21
|
* IN clauses appearing at top level of WHERE can now be handled as joins.Tom Lane2003-01-20
| | | | | | | | | | There are two implementation techniques: the executor understands a new JOIN_IN jointype, which emits at most one matching row per left-hand row, or the result of the IN's sub-select can be fed through a DISTINCT filter and then joined as an ordinary relation. Along the way, some minor code cleanup in the optimizer; notably, break out most of the jointree-rearrangement preprocessing in planner.c and put it in a new file prep/prepjointree.c.
* Fix parse_agg.c to detect ungrouped Vars in sub-SELECTs; remove codeTom Lane2003-01-17
| | | | | | | that used to do it in planner. That was an ancient kluge that was never satisfactory; errors should be detected at parse time when possible. But at the time we didn't have the support mechanism (expression_tree_walker et al) to make it convenient to do in the parser.
* Adjust API of expression_tree_mutator and query_tree_mutator toTom Lane2003-01-17
| | | | | | simplify callers. It turns out the common case is that the caller does want to recurse into sub-queries, so push support for that into these subroutines.
* Add code to print information about a detected deadlock cycle. TheTom Lane2003-01-16
| | | | | printed data is comparable to what you could read in the pg_locks view, were you fortunate enough to have been looking at it at the right time.
* Ooops, didn't cut-and-paste quite enough code from ResolveNew;Tom Lane2003-01-16
| | | | with result that flatten_join_alias_vars failed to descend into subselects.
* Repair an embarrassingly large number of alphabetization mistakes in theTom Lane2003-01-16
| | | | | | | datetime token tables. Even more embarrassing, the regression tests revealed some of the problems --- but evidently the bogus output wasn't questioned. Add code to postmaster startup to directly check the tables for correct ordering, in hopes of not being embarrassed like this again.
* Add remaining documentation tables to information schema.Peter Eisentraut2003-01-15
|
* Now that switch_outer processing no longer relies on being run afterTom Lane2003-01-15
| | | | | | | join_references(), it's practical to consolidate all join_references() processing into the set_plan_references traversal in setrefs.c. This seems considerably cleaner than the old way where we did it for join quals in createplan.c and for targetlists in setrefs.c.
* More comment cleanups for shared_buffers in postgresql.conf.Bruce Momjian2003-01-15
|
* Update shared_buffer comment in postgresql.conf.Bruce Momjian2003-01-15
|
* Allow merge and hash joins to occur on arbitrary expressions (anything notTom Lane2003-01-15
| | | | | | | | | | | | | | | | containing a volatile function), rather than only on 'Var = Var' clauses as before. This makes it practical to do flatten_join_alias_vars at the start of planning, which in turn eliminates a bunch of klugery inside the planner to deal with alias vars. As a free side effect, we now detect implied equality of non-Var expressions; for example in SELECT ... WHERE a.x = b.y and b.y = 42 we will deduce a.x = 42 and use that as a restriction qual on a. Also, we can remove the restriction introduced 12/5/02 to prevent pullup of subqueries whose targetlists contain sublinks. Still TODO: make statistical estimation routines in selfuncs.c and costsize.c smarter about expressions that are more complex than plain Vars. The need for this is considerably greater now that we have to be able to estimate the suitability of merge and hash join techniques on such expressions.
* Add sql_features table to information schema. Generate the features listPeter Eisentraut2003-01-14
| | | | in the documentation from that same data.
* Readd #include netinet/in.h for FreeBSD.Bruce Momjian2003-01-14
|
* Fix information_schema.sql install to work when building outsideTom Lane2003-01-13
| | | | source tree.
* Reconsider mechanism for marking sub-selects that are at top level ofTom Lane2003-01-13
| | | | | | a qualification clause (and hence can get away with being sloppy about distinguishing FALSE from UNKNOWN). We need to know this in subselect.c; marking the subplans in setrefs.c is too late.
* Cause planner to account for evaluation costs in targetlists andTom Lane2003-01-13
| | | | | | | | HAVING quals. Normally this is an insignificant effect --- but it will not be insignificant when these clauses contain sub-selects. The added costs cannot affect the planning of the query containing them, but they might have an impact when the query is a sub-query of a larger one.
* Recent changes in sublink representation require exprType() to acceptTom Lane2003-01-13
| | | | SubPlan nodes, else explaining queries containing sublinks may fail.
* Revise cost_qual_eval() to compute both startup (one-time) and per-tupleTom Lane2003-01-12
| | | | | | costs for expression evaluation, not only per-tuple cost as before. This extension is needed in order to deal realistically with hashed or materialized sub-selects.
* Fix wrong/misleading comments, be more consistent about where to callTom Lane2003-01-12
| | | | ExecAssignResultTypeFromTL().
* Replace RelidGetNamespaceId() by get_rel_namespace().Peter Eisentraut2003-01-12
|
* First cut at implementing IN (and NOT IN) via hashtables. There isTom Lane2003-01-12
| | | | more to be done yet, but this is a good start.
* Fix typo in an error messageTatsuo Ishii2003-01-11
|
* > > This patch improves the documentation for the shared_buffers GUC param.Bruce Momjian2003-01-11
| | | | | | | | > > I'd suggest that the runtime.sgml description explicitly say "values of > at least a few thousand are recommended for production installations". Neil Conway
* Rewrite for-loop, because this is not the Obfuscated C Code Contest.Bruce Momjian2003-01-11
| | | | Manfred Koizar
* Create a new file executor/execGrouping.c to centralize utility routinesTom Lane2003-01-10
| | | | shared by nodeGroup, nodeAgg, and soon nodeSubplan.
* Read-only transactions, as defined in SQL.Peter Eisentraut2003-01-10
|
* Further tweaking of parsetree & plantree representation of SubLinks.Tom Lane2003-01-10
| | | | | | | Simplify SubLink by storing just a List of operator OIDs, instead of a list of incomplete OpExprs --- that was a bizarre and bulky choice, with no redeeming social value since we have to build new OpExprs anyway when forming the plan tree.
* Add optional drop behavior clause to REVOKE command, for SQL conformance.Peter Eisentraut2003-01-10
| | | | Currently, only RESTRICT is allowed.
* Adjust parser so that 'x NOT IN (subselect)' is converted toTom Lane2003-01-09
| | | | | | | | | | | 'NOT (x IN (subselect))', that is 'NOT (x = ANY (subselect))', rather than 'x <> ALL (subselect)' as we formerly did. This opens the door to optimizing NOT IN the same way as IN, whereas there's no hope of optimizing the expression using <>. Also, convert 'x <> ALL (subselect)' to the NOT(IN) style, so that the optimization will be available when processing rules dumped by older Postgres versions. initdb forced due to small change in SubLink node representation.
* Move new typedef AclId into c.h, so as to avoid cluttering namespaceTom Lane2003-01-09
| | | | by having to include miscadmin.h into other header files.
* Fix IPv6 detection and IPv6 to 4 conversion to use only standardPeter Eisentraut2003-01-09
| | | | interfaces.
* Fix indenting of log_min_error_statement.Bruce Momjian2003-01-09
|
* Remove bit.c/h routines. Not used anymore.Bruce Momjian2003-01-09
|
* Repair inconsistent rounding behavior for timestamp, time, interval,Tom Lane2003-01-09
| | | | | | per gripe from Csaba Nagy. There is still potential for platform-specific behavior for values that are exactly halfway between integers, but at least we now get the expected answer for all other cases.
* Remove 'const' from secure_write, to prevent compiler warning.Bruce Momjian2003-01-08
|
* Guard against stopping when numberTuples=0 and counter wraps around.Tom Lane2003-01-08
|
* The second was that renegotiation was just plain broken. I can'tBruce Momjian2003-01-08
| | | | | | | | | | | believe I didn't notice this before -- once 64k was sent to/from the server the client would crash. Basicly, in 7.3 the server SSL code set the initial state to "about to renegotiate" without actually starting the renegotiation. In addition, the server and client didn't properly handle the SSL_ERROR_WANT_(READ|WRITE) error. This is fixed in the second patch. Nathan Mueller
* I was playing around with 7.3.1 and found some more SSL problems. TheBruce Momjian2003-01-08
| | | | | | | | | | | | | | first, that I missed when checking over 7.3.1, was that the client method was switched to SSLv23 along with the server. The SSLv23 client method does SSLv2 by default, but can also understand SSLv3. In our situation the SSLv2 backwords compatibility is really only needed on the server. This is the first patch. The last thing is that I found a way for the server to understand SSLv2 HELLO messages (sent by pre-7.3 clients) but then get them to talk SSLv3. This is the last one. Nathan Mueller
* Fix dumping of DEFERRABLE/INITIALLY DEFERRED:Bruce Momjian2003-01-08
| | | | | | | | | | | | | | | > The big problem is that while pg_dump's dump_trigger() looks at > tginitdeferred and dumps accordingly, pg_get_constraintdef doesn't look > at tginitdeferred, and therefore doesn't record the requirement as part > of ALTER TABLE ADD CONSTRAINT. pg_get_constraintdef should probably be looking at condeferrable and condeferred in the pg_constraint row it's looking at. Maybe something like the attached. (Added, output only non-default values.) Stephan Szabo
* Updated deferred trigger patch.Bruce Momjian2003-01-08
| | | | Neil Conway
* This trivial patch implements disabled, deferred triggers, per myBruce Momjian2003-01-08
| | | | | | | | | | | | | proposal on -hackers a couple days ago. The 'tgenabled' status of the trigger is consulted when the trigger is added to the deferred queue (i.e. when the event occurs that fires the trigger), not when the deferred event is executed. No regression tests, as another bug prevents them (the pg_trigger row for a trigger is only loaded once per session, so any changes to it are not noticed unless the client disconnects and reconnects). Neil Conway
* Reconsider old decision to try to constant-fold default and constraintTom Lane2003-01-08
| | | | | expressions before they are stored. This seems like not such a hot idea, particularly now that the constant-folder will try to inline SQL functions.
* Repair bug noticed by Deepak Bhole: a shell type should have a dependencyTom Lane2003-01-08
| | | | on its namespace, so that it will go away if the schema is dropped.