aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils
Commit message (Collapse)AuthorAge
* 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.
* Cleanups for int8: guard against null inputs in comparisonTom Lane1999-08-21
| | | | | operators (and some other places), fix rangechecks in int8 to int4 conversion (same problem we recently figured out in pg_atoi).
* Ooops ... I had left some test coding in selfuncs.c thatTom Lane1999-08-21
| | | | failed on 'field < textconstant' ...
* Add get_func_rettype() to general-use lsyscache routines,Tom Lane1999-08-16
| | | | since it's now needed in both optimizer and parser.
* Store -1 in attdisbursion to signal 'no duplicates in column'.Tom Lane1999-08-09
| | | | Centralize att_disbursion readout logic.
* Move get_attdisbursion to lsyscache. Clean up get_typdefault.Tom Lane1999-08-09
|
* Further selectivity-estimation work. Speed up eqsel()Tom Lane1999-08-02
| | | | | | | | | (it should just call the given operator, not look up an = operator). Fix intltsel() so that all numeric data types are converted to double before trying to estimate where the given comparison value is in the known range of column values. intltsel() still needs work, or replacement, for non-numeric data types ... but for nonintegral numeric types it should now be delivering reasonable estimates.
* First step in fixing selectivity-estimation code. eqsel andTom Lane1999-08-01
| | | | | | | | | | neqsel now behave as per my suggestions in pghackers a few days ago. selectivity for < > <= >= should work OK for integral types as well, but still need work for nonintegral types. Since these routines have never actually executed before :-(, this may result in some significant changes in the optimizer's choices of execution plans. Let me know if you see any serious misbehavior. CAUTION: THESE CHANGES REQUIRE INITDB. pg_statistic table has changed.
* Alpha spinlock fix from Uncle George <gatgul@voicenet.com>Bruce Momjian1999-07-22
|
* Reverse out cache changes that are not ready yet.Bruce Momjian1999-07-20
|
* Use -ieee alpha flag for gcc and egcs only.Bruce Momjian1999-07-20
|
* Re-add Makefile.Bruce Momjian1999-07-20
|
* Move -ieee to adt Makefile, and add CPU Makefile variable.Bruce Momjian1999-07-20
|
* Install new alignment code to use MAXALIGN rather than DOUBLEALIGN whereBruce Momjian1999-07-19
| | | | approproate.
* Enable WIN32 compilation of libpq.Bruce Momjian1999-07-19
|
* Re-add getopt.h check, remove NT-specific tests for it.Bruce Momjian1999-07-19
|
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-17
|
* Fix for multi-byte includes.Bruce Momjian1999-07-17
|
* Add back improperly removed #include for utils/dynamic_loader.h.Tom Lane1999-07-16
|
* More cleanupBruce Momjian1999-07-16
|
* More cleanupBruce Momjian1999-07-16
|
* Final cleanupBruce Momjian1999-07-16
|
* Final cleanup.Bruce Momjian1999-07-16
|
* Update #include cleanupsBruce Momjian1999-07-16
|
* Change #include's to use <> and "" as appropriate.Bruce Momjian1999-07-15
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-15
|
* Remove un-needed #include's from *.c files.Bruce Momjian1999-07-15
|
* Clean up #include in /include directory. Add scripts for checking includes.Bruce Momjian1999-07-15
|
* Cleanup of /include #include's, for 6.6 only.Bruce Momjian1999-07-14
|
* More cpu cleanups, only for 6.6.Bruce Momjian1999-07-13
|
* Fix some compiler warnings (Tomoaki Nishiyama), add WIN1250 support (Pavel ↵Tatsuo Ishii1999-07-11
| | | | Behal)
* Fix tuplecmp() to ensure repeatable sort ordering of tuplesTom Lane1999-07-10
| | | | | | that contain null fields. Old code would produce erratic sort results because comparisons of tuples containing nulls could produce inconsistent answers.
* cleanup of long long int atoi test.Bruce Momjian1999-07-10
|
* Re-apply range check patch after fixing LIMIT_H test and defines.Bruce Momjian1999-07-09
|
* Another place that HAVE_LIMITS_H was misspelled.Tom Lane1999-07-09
|
* Fix for ACL length problem on different platforms.Bruce Momjian1999-07-09
|
* Backup pg_atoi patch for long checking. Caused initdb problems.Bruce Momjian1999-07-09
|
* > In both datetime_trunc() and timespan_trunc() in dt.c,Bruce Momjian1999-07-08
| | | | | | | | | > the DTK_MICROSEC case is just like the DTK_MILLISEC case. > I think this is wrong and it ought to look like > fsec = rint(fsec * 1000000) / 1000000; > no? Tom Lane.
* pg_atoi() does range check on int4 data only ifBruce Momjian1999-07-08
| | | | | | | | | | | | "HAS_LONG_LONG" is defined based on the assumption that strtol() would return ERANGE if a platform does not support 64-bit integers. In current PostgreSQL 6.5 (and 6.4.2) distribution, "HAS_LONG_LONG" is defined only if platform is "alpha". (See include/port/alpha.h) I think the int4 range check should apply to linux_alpha as well. (I have not tested yet but I guess this might be applicable to newer Linux/i386 distributions which includes new GCC which implements long int as 64-bit int.)
* Fix for \do and ceil()/float.Bruce Momjian1999-07-07
|
* Clarify maximum tuple and max attribute lengths.Bruce Momjian1999-07-04
|
* Add abortcurrent trans to temp table fix.Bruce Momjian1999-07-03
|
* Fix to prevent too large tuple from being created.Bruce Momjian1999-07-03
|
* Fix for removal of temp tables if last transaction was aborted.Bruce Momjian1999-07-02
|
* Rename to vararg_format().Bruce Momjian1999-06-19
|
* Change form() to varargform() to prevent portability problems.Bruce Momjian1999-06-19
|
* Temporarily disable error checks for missing selectivityTom Lane1999-06-19
| | | | | functions, in order to work around oversight in 6.5 release: rtree index functions haven't got any. Mea culpa ...
* Reversed out Massimo patch.Bruce Momjian1999-06-12
|
* I don't like last minute patches before the final freeze, but I believe thatBruce Momjian1999-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this one could be useful for people experiencing out-of-memory crashes while executing queries which retrieve or use a very large number of tuples. The problem happens when storage is allocated for functions results used in a large query, for example: select upper(name) from big_table; select big_table.array[1] from big_table; select count(upper(name)) from big_table; This patch is a dirty hack that fixes the out-of-memory problem for the most common cases, like the above ones. It is not the final solution for the problem but it can work for some people, so I'm posting it. The patch should be safe because all changes are under #ifdef. Furthermore the feature can be enabled or disabled at runtime by the `free_tuple_memory' options in the pg_options file. The option is disabled by default and must be explicitly enabled at runtime to have any effect. To enable the patch add the follwing line to Makefile.custom: CUSTOM_COPT += -DFREE_TUPLE_MEMORY To enable the option at runtime add the following line to pg_option: free_tuple_memory=1 Massimo
* Repair recently-introduced error in makeIndexable for LIKE:Tom Lane1999-06-07
| | | | | | a non-leading % would be put into the >=/<= patterns. Also, repair longstanding confusion about whether %% means a literal %%. The SQL92 doesn't say any such thing, and textlike() knows that, but gram.y didn't.