aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/freefuncs.c
Commit message (Collapse)AuthorAge
* Create a new parsetree node type, TypeCast, so that transformation ofTom Lane2000-01-17
| | | | | | SQL cast constructs can be performed during expression transformation instead of during parsing. This allows constructs like x::numeric(9,2) and x::int2::float8 to behave as one would expect.
* Another round of planner/optimizer work. This is just restructuring andTom Lane2000-01-09
| | | | | code cleanup; no major improvements yet. However, EXPLAIN does produce more intuitive outputs for nested loops with indexscans now...
* Some changes to prepare for LONG attributes.Jan Wieck1999-12-16
| | | | Jan
* Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jpBruce Momjian1999-11-23
|
* Clean up possible memory leakage in nodeSubplanTom Lane1999-11-15
|
* Major revision of sort-node handling: push knowledge of queryTom Lane1999-08-21
| | | | | | | | | | | | | sort order down into planner, instead of handling it only at the very top level of the planner. This fixes many things. An explicit sort is now avoided if there is a cheaper alternative (typically an indexscan) not only for ORDER BY, but also for the internal sort of GROUP BY. It works even when there is no other reason (such as a WHERE condition) to consider the indexscan. It works for indexes on functions. It works for indexes on functions, backwards. It's just so cool... CAUTION: I have changed the representation of SortClause nodes, therefore THIS UPDATE BREAKS STORED RULES. You will need to initdb.
* Major planner/optimizer revision: get rid of PathOrder node type,Tom Lane1999-08-16
| | | | | | | | | store all ordering information in pathkeys lists (which are now lists of lists of PathKeyItem nodes, not just lists of lists of vars). This was a big win --- the code is smaller and IMHO more understandable than it was, even though it handles more cases. I believe the node changes will not force an initdb for anyone; planner nodes don't show up in stored rules.
* First cut at doing LIKE/regex indexing optimization inTom Lane1999-07-27
| | | | | | | | | | | | | | | | | | optimizer rather than parser. This has many advantages, such as not getting fooled by chance uses of operator names ~ and ~~ (the operators are identified by OID now), and not creating useless comparison operations in contexts where the comparisons will not actually be used as indexquals. The new code also recognizes exact-match LIKE and regex patterns, and produces an = indexqual instead of >= and <=. This change does NOT fix the problem with non-ASCII locales: the code still doesn't know how to generate an upper bound indexqual for non-ASCII collation order. But it's no worse than before, just the same deficiency in a different place... Also, dike out loc_restrictinfo fields in Plan nodes. These were doing nothing useful in the absence of 'expensive functions' optimization, and they took a considerable amount of processing to fill in.
* Remove 'restrictinfojoinid' field from RestrictInfo nodes.Tom Lane1999-07-25
| | | | | | | The only place it was being used was as temporary storage in indxpath.c, and the logic was wrong: the same restrictinfo node could get chosen to carry the info for two different joins. Right fix is to return a second list of unjoined-relids parallel to the list of clause groups.
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-17
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-15
|
* Clean up #include in /include directory. Add scripts for checking includes.Bruce Momjian1999-07-15
|
* Make functions static or NOT_USED as appropriate.Bruce Momjian1999-05-26
|
* Another pgindent run. Sorry folks.Bruce Momjian1999-05-25
|
* pgindent run over code.Bruce Momjian1999-05-25
|
* Replaced targetlist entry in GroupClause by reference numberJan Wieck1999-05-12
| | | | | | | in Resdom and GroupClause so changing of resno's doesn't confuse the grouping any more. Jan
* Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder,Tom Lane1999-03-01
| | | | | | | | | so remove them from MergeJoin node. Hack together a partial solution for commuted mergejoin operators --- yesterday a mergejoin int4 = int8 would crash if the planner decided to commute it, today it works. The planner's representation of mergejoins really needs a rewrite though. Also, further testing of mergejoin ops in opr_sanity regress test.
* comments cleanup.Bruce Momjian1999-02-22
|
* Fix bushy plans. Cleanup.Bruce Momjian1999-02-18
|
* otherrels is now unjoined_relsBruce Momjian1999-02-15
|
* Remove duplicate geqo functions, and more optimizer cleanupBruce Momjian1999-02-15
|
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-13
|
* JoinPath -> NestPath for nested loop.Bruce Momjian1999-02-12
|
* Fix optimizer and make faster.Bruce Momjian1999-02-12
|
* More optimizer speedups.Bruce Momjian1999-02-11
|
* Optmizer cleanupBruce Momjian1999-02-10
|
* Rename Path.keys to Path.pathkeys. Too many 'keys' used for other things.Bruce Momjian1999-02-10
|
* Rename Temp to Noname for noname tables.Bruce Momjian1999-02-09
|
* Major optimizer improvement for joining a large number of tables.Bruce Momjian1999-02-09
|
* Optimizer cleanup.Bruce Momjian1999-02-08
|
* New alloc set code using a memory block pool for small allocations.Jan Wieck1999-02-06
Jan