summaryrefslogtreecommitdiff
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
* Brand 7.0.3.Bruce Momjian2000-11-031-2/+2
|
* Back-patch code to deduce implied equalities from transitivity ofTom Lane2000-09-232-2/+5
| | | | | | | mergejoin clauses, and add these equalities to the given WHERE clauses. This is necessary to ensure that sort keys we think are equivalent really are equivalent as soon as their rels have been joined. Without this, 7.0 may create an incorrect mergejoin plan.
* Back-patch fix for bogus plans involving non-mark/restorable planTom Lane2000-09-081-6/+3
| | | | as inner plan of a mergejoin.
* oops, in v7.x its USE_SYSLOG, not ENABLE_SYSLOGMarc G. Fournier2000-08-281-9/+10
| | | | modify config.h.in so that it gets set by configure properly
* Update for 7.0.2.Bruce Momjian2000-06-051-2/+2
|
* Fixups for 7.0.1Bruce Momjian2000-06-011-2/+2
|
* Back-patch tz name length fixes into REL7_0.Tom Lane2000-05-292-5/+5
|
* Modify raw parsetree representation returned by gram.y for SubLinks:Tom Lane2000-05-251-3/+3
| | | | | | | | the oper field should be a valid Node structure so it can be dumped by outfuncs.c without risk of coredump. (We had been using a raw pointer to character string, which surely is NOT a valid Node.) This doesn't cause any backwards compatibility problems for stored rules, since raw unanalyzed parsetrees are never stored.
* Update so init displays status with setproctitle too, like the rest of them.Bruce Momjian2000-05-241-0/+1
|
* Make setproctitle update for every query.Bruce Momjian2000-05-241-4/+3
|
* Comment out no-op ps updates for setproctitle(), until we figure outBruce Momjian2000-05-231-2/+2
| | | | what to do.
* I am attempting to integrate postgres (v 7.0) with an open sourceBruce Momjian2000-05-221-2/+2
| | | | | | | | | | | | | | | | | | | | project I am working on (Recall - a distributed, fault-tolerant, replicated, storage framework @ http://www.fault-tolerant.org). Recall is written in C++. I need to include the postgres headers and there are some problems when including the headers w/C++. Attached is a patch generated from postgres/src that fixes my problems. I was hoping to get this into the main source. It's very small (2k) and 3 files are changed: backend/utils/fmgr/fmgr.c, backend/utils/Gen_fmgrtab.sh.in, and include/access/tupdesc.h. In C++, you get a multiply defined symbol because the variable (FmgrInfo *fmgr_pl_finfo) is defined in the header (the patch moves it to the .c file). The other problem in tupdesc.h is the use of typeid is a problem in c++ (I renamed it to oidtypeid). Thanks, Neal Norwitz
* Add debug code to aid in memory-leak tracking: if SHOW_MEMORY_STATS isTom Lane2000-05-212-2/+4
| | | | | defined then statistics about memory usage of all the global memory contexts are printed after each commit.
* Revise FlushRelationBuffers/ReleaseRelationBuffers per discussion withTom Lane2000-05-191-3/+2
| | | | | | | | | | | | | | | | | | | | | Hiroshi. ReleaseRelationBuffers now removes rel's buffers from pool, instead of merely marking them nondirty. The old code would leave valid buffers for a deleted relation, which didn't cause any known problems but can't possibly be a good idea. There were several places which called ReleaseRelationBuffers *and* FlushRelationBuffers, which is now unnecessary; but there were others that did not. FlushRelationBuffers no longer emits a warning notice if it finds dirty buffers to flush, because with the current bufmgr behavior that's not an unexpected condition. Also, FlushRelationBuffers will flush out all dirty buffers for the relation regardless of block number. This ensures that pg_upgrade's expectations are met about tuple on-row status bits being up-to-date on disk. Lastly, tweak BufTableDelete() to clear the buffer's tag so that no one can mistake it for being a still-valid buffer for the page it once held. Formerly, the buffer would not be found by buffer hashtable searches after BufTableDelete(), but it would still be thought to belong to its old relation by the routines that sequentially scan the shared-buffer array. Again I know of no bugs caused by that, but it still can't be a good idea.
* this fixes the bug where setting the entry in he process table no longer worksMarc G. Fournier2000-05-121-1/+21
| | | | | | | | under FreeBSD ... basically, if setproctitle() exists, use it ... the draw back right now is the PS_SET_STATUS stuff doesn't work, but am looking into that one right now ... at lesat now you can see who is connecting where and from where ...
* Add two checks ... one for setproctitle and one for -lutil ...Marc G. Fournier2000-05-121-1/+4
| | | | Don't do anything with them at this time, but am working on that ...
* Repair list-vs-node confusion that resulted in failure for INNER JOIN ON.Tom Lane2000-05-121-5/+6
| | | | | Make it behave correctly when there are more than two tables being joined, also. Update regression test expected outputs.
* Force initdb because of pg_group index fix.Tom Lane2000-05-051-2/+2
|
* Clean up const-vs-not-const compiler warning in MULTIBYTE code.Tom Lane2000-04-201-3/+3
| | | | 'Twas my fault, I think.
* Correct oversight in hashjoin cost estimation: nodeHash sizes its hashTom Lane2000-04-181-1/+4
| | | | | | table for an average of NTUP_PER_BUCKET tuples/bucket, but cost_hashjoin was assuming a target load of one tuple/bucket. This was causing a noticeable underestimate of hashjoin costs.
* Include information for armv4l from Mark Knox <segfault@hardline.org>.Thomas G. Lockhart2000-04-181-0/+5
|
* Add new selectivity estimation functions for pattern-matching operatorsTom Lane2000-04-162-11/+85
| | | | | | | | (LIKE and regexp matches). These are not yet referenced in pg_operator, so by default the system will continue to use eqsel/neqsel. Also, tweak convert_to_scalar() logic so that common prefixes of strings are stripped off, allowing better accuracy when all strings in a table share a common prefix.
* Fix spelling of "millennium".Thomas G. Lockhart2000-04-141-4/+4
| | | | Thanks to Mika Nystrom <mika@camembert.cs.caltech.edu> for spotting this.
* Fix silly definition order in config.h --- we had prototypes likeTom Lane2000-04-141-43/+36
| | | | | | extern int inet_aton(const char *cp, struct in_addr * addr); appearing before the optional #define for const, which was certain to fail on a machine with neither const nor inet_aton().
* Skip setsockopt(SO_REUSEADDR) for the Unix-domain postmaster socket onTom Lane2000-04-141-2/+0
| | | | | | all platforms, not just SCO. The operation is undefined for Unix-domain sockets anyway. It seems SCO is not the only platform that complains instead of treating the call as a no-op.
* A few more macro cleanupsBruce Momjian2000-04-121-2/+5
|
* Ye-old pgindent run. Same 4-space tabs.Bruce Momjian2000-04-12116-1172/+1269
|
* Reverse out macro fix for the time being.Bruce Momjian2000-04-121-9/+5
|
* Prevent drop database failure from showing.Bruce Momjian2000-04-121-5/+9
|
* Tweak smgrblindwrt per advice from Vadim: add parameter indicatingTom Lane2000-04-101-4/+7
| | | | | | whether to do fsync or not, and if so (which should be seldom) just do the fsync immediately. This way we need not build data structures in md.c/fd.c for blind writes.
* Buffer manager modifications to keep a local buffer-dirtied bit as wellTom Lane2000-04-095-23/+51
| | | | | | | | as a shared dirtybit for each shared buffer. The shared dirtybit still controls writing the buffer, but the local bit controls whether we need to fsync the buffer's file. This arrangement fixes a bug that allowed some required fsyncs to be missed, and should improve performance as well. For more info see my post of same date on pghackers.
* Add zpbit and varbit data types from Adrian JoubertThomas G. Lockhart2000-04-085-11/+213
| | | | <a.joubert@albourne.com>.
* Add transcendental math functions (sine, cosine, etc)Thomas G. Lockhart2000-04-075-14/+74
| | | | | | | | | | | | | | | | Add a random number generator and seed setter (random(), SET SEED) Fix up the interval*float8 math to carry partial months into the time field. Add float8*interval so we have symmetry in the available math. Fix the parser and define.c to accept SQL92 types as field arguments. Fix the parser to accept SQL92 types for CREATE TYPE, etc. This is necessary to allow... Bit/varbit support in contrib/bit cleaned up to compile and load cleanly. Still needs some work before final release. Implement the "SOME" keyword as a synonym for "ANY" per SQL92. Implement ascii(text), ichar(int4), repeat(text,int4) to help support the ODBC driver. Enable the TRUNCATE() function mapping in the ODBC driver.
* Fix bug noted by Bruce: FETCH in an already-aborted transaction blockTom Lane2000-04-041-6/+9
| | | | | | | | | | | would crash, due to premature invocation of SetQuerySnapshot(). Clean up problems with handling of multiple queries by splitting pg_parse_and_plan into two routines. The old code would not, for example, do the right thing with END; SELECT... submitted in one query string when it had been in transaction abort state, because it'd decide to skip planning the SELECT before it had executed the END. New arrangement is simpler and doesn't force caller to plan if only parse+rewrite is needed.
* Fix extremely nasty little bug observed when a sub-SELECT appears inTom Lane2000-04-042-3/+6
| | | | | | | | | | | | | | | | | | | | WHERE in a place where it can be part of a nestloop inner indexqual. As the code stood, it put the same physical sub-Plan node into both indxqual and indxqualorig of the IndexScan plan node. That confused later processing in the optimizer (which expected that tracing the subPlan list would visit each subplan node exactly once), and would probably have blown up in the executor if the planner hadn't choked first. Fix by making the 'fixed' indexqual be a complete deep copy of the original indexqual, rather than trying to share nodes below the topmost operator node. This had further ramifications though, because we were making the aforesaid list of sub-Plan nodes during SS_process_sublinks which is run before construction of the 'fixed' indexqual, meaning that the copy of the sub-Plan didn't show up in that list. Fix by rearranging logic so that the sub-Plan list is built by the final set_plan_references pass, not in SS_process_sublinks. This may sound like a mess, but it's actually a good deal cleaner now than it was before, because we are no longer dependent on the assumption that planning will never make a copy of a sub-Plan node.
* Get rid of SetBufferWriteMode(), which was an accident waiting to happen.Tom Lane2000-03-311-8/+2
| | | | | | | | In the event of an elog() while the mode was set to immediate write, there was no way for it to be set back to the normal delayed write. The mechanism was a waste of space and cycles anyway, since the only user was varsup.c, which could perfectly well call FlushBuffer directly. Now it does just that, and the notion of a write mode is gone.
* Add configure checks to see if 'using namespace std' andTom Lane2000-03-301-1/+8
| | | | '#include <string>' work in the local C++ compiler.
* Fix up comments where had been uglified by the automated reformatter.Thomas G. Lockhart2000-03-271-12/+7
|
* Improve comment.Tom Lane2000-03-241-2/+2
|
* Rename bytea functions to not have upper-case letters in their names.Tom Lane2000-03-242-14/+14
| | | | | | Clean up grotty coding in them, too. AFAICS from the CVS logs, these have been broken since Postgres95, so I'm not going to insist on an initdb to fix them now...
* >> 5. empty define that results in an empty but terminated line ( ; )Bruce Momjian2000-03-231-2/+2
| | | | | | easy (maybe dumb) fix for 5 in attachment define.patch greetings, Andreas
* Repair logic flaw in cost estimator: cost_nestloop() was estimating CPUTom Lane2000-03-222-4/+11
| | | | | | | | | | | | | costs using the inner path's parent->rows count as the number of tuples processed per inner scan iteration. This is wrong when we are using an inner indexscan with indexquals based on join clauses, because the rows count in a Relation node reflects the selectivity of the restriction clauses for that rel only. Upshot was that if join clause was very selective, we'd drastically overestimate the true cost of the join. Fix is to calculate correct output-rows estimate for an inner indexscan when the IndexPath node is created and save it in the path node. Change of path node doesn't require initdb, since path nodes don't appear in saved rules.
* Restructure planning code so that preprocessing of targetlist and qualsTom Lane2000-03-212-5/+4
| | | | | | | | | | | | | to simplify constant expressions and expand SubLink nodes into SubPlans is done in a separate routine subquery_planner() that calls union_planner(). We formerly did most of this work in query_planner(), but that's the wrong place because it may never see the real targetlist. Splitting union_planner into two routines also allows us to avoid redundant work when union_planner is invoked recursively for UNION and inheritance cases. Upshot is that it is now possible to do something like select float8(count(*)) / (select count(*) from int4_tbl) from int4_tbl group by f1; which has never worked before.
* Reverse out BYTEA type coersion.Bruce Momjian2000-03-201-8/+1
|
* Add compatiblity information for bytea.Bruce Momjian2000-03-202-4/+13
|
* Change MemSet and StrNCpy to evaluate their arguments only once.Tom Lane2000-03-191-65/+64
| | | | Fix inadequate parenthesization in several other macros.
* Fix incorrect implementation of log(x) for numeric, as well asTom Lane2000-03-191-5/+5
| | | | | | incorrect descriptions of a couple of log-related functions. I will not force an initdb for this, but log() on a numeric won't work until you do one...
* Update bytea type descriptionBruce Momjian2000-03-181-2/+2
|
* Clean up minor compiler warnings.Tom Lane2000-03-181-2/+2
|
* Add safety check on expression nesting depth. Default value is set byTom Lane2000-03-172-32/+32
| | | | a config.h #define, and the runtime value can be controlled via SET.