summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
1999-11-23Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jpBruce Momjian
1999-11-23ecpg ECPGFree fix from Rene Hogendoorn.Bruce Momjian
1999-11-23Fix _cplusplus test in both trees.Bruce Momjian
1999-11-23*** empty log message ***Michael Meskes
1999-11-23Update opclass to be non-unique.Bruce Momjian
1999-11-23Update for change of 'duplicate key' message.Tom Lane
1999-11-23Reduce ReleaseLruFile failure from FATAL to ERROR grade; offhand I don'tTom Lane
see that this should be a worse way to fail to open a file than any other.
1999-11-23verify_password() leaked a file descriptor if it failed to find the givenTom Lane
userid in the flat password file. Do it enough times and the postmaster panicked :-(
1999-11-22Add system indexes to match all caches.Bruce Momjian
Make all system indexes unique. Make all cache loads use system indexes. Rename *rel to *relid in inheritance tables. Rename cache names to be clearer.
1999-11-22*** empty log message ***Michael Meskes
1999-11-22Clean up some problems in error recovery --- elog() was pretty brokenTom Lane
for the case of errors in backend startup, and proc_exit's method for coping with errors during proc_exit was *completely* busted. Fixed per discussions on pghackers around 11/6/99.
1999-11-22Come to think of it, DropBuffers() could have the same problem asTom Lane
ReleaseRelationBuffers --- need to wait if anyone is trying to flush out that buffer.
1999-11-22ReleaseRelationBuffers() failed to check for I/O in progress on a bufferTom Lane
it wants to release. This leads to a race condition: does the backend that's trying to flush the buffer do so before the one that's deleting the relation does so? Usually no problem, I expect, but on occasion this could lead to hard-to-reproduce complaints from md.c, especially mdblindwrt.
1999-11-21Combine index_info and find_secondary_indexes into a single routine thatTom Lane
returns a list of RelOptInfos, eliminating the need for static state in index_info. That static state was a direct cause of coredumps; if anything decided to elog(ERROR) partway through an index_info search of pg_index, the next query would try to close a scan pointer that was pointing at no-longer-valid memory. Another example of the reasons to avoid static state variables...
1999-11-21index_destroy() must grab exclusive access to the parent tableTom Lane
of the index it wants to destroy. This ensures that no other backend is actively scanning or updating that index. Getting exclusive access on the index alone is NOT sufficient, because the executor is rather cavalier about getting locks on indexes --- see ExecOpenIndices(). It might be better to grab index locks in the executor, but I'm not sure the extra lockmanager traffic is really worth it just to make index_destroy cleaner.
1999-11-21Clean up comments.Tom Lane
1999-11-21Change backend-side COPY to write files with permissions 644 not 666Tom Lane
(whoever thought world-writable files were a good default????). Modify the pg_pwd code so that pg_pwd is created with 600 permissions. Modify initdb so that permissions on a pre-existing PGDATA directory are not blindly accepted: if the dir is already there, it does chmod go-rwx to be sure that the permissions are OK and the dir actually is owned by postgres.
1999-11-21Repair problem exposed by Jan's new parallel-regression-test scaffold:Tom Lane
inval.c thought it could safely use the catcache to look up the OIDs of system relations. Not good, considering that inval.c could be called during catcache loading, if a shared-inval message arrives. Rip out the lookup logic and instead use the known OIDs from pg_class.h.
1999-11-21Tweak run_check.sh so it prints the name of each test in a parallel groupTom Lane
as that test finishes --- helps to give the impression that something is happening...
1999-11-20My latest fixes to gram.y cause CREATE TABLE t (f1 bool default 1 < 2)Tom Lane
to be accepted, but constraints regress test was expecting it to fail.
1999-11-20Fix problems with CURRENT_DATE and related functions being used inTom Lane
table defaults or rules: translate them to a function call so that parse_coerce doesn't reduce them to a date or time constant immediately. Also, eliminate a lot of redundancy in the expression grammar by defining a new nonterminal com_expr, which contains all the productions that can be shared by a_expr and b_expr.
1999-11-20Fix a couple of portability problems in Jan's first-cut parallel testTom Lane
script. This is way cool...
1999-11-19New parallel regression test shell and related things.Jan Wieck
Jan
1999-11-18Fix for arm32 and fix for dbname with dash.Bruce Momjian
1999-11-18Changed pg_rewrite attributes ev_qual and ev_action to the newJan Wieck
compressed lztext data type. Jan
1999-11-17Fix problem with temp tables shown in regression test by Jan.Bruce Momjian
1999-11-17Some minor corrections to the LZ compression. In fact I wanted toJan Wieck
HAVE the required OID's first. Jan
1999-11-17The new LZ compression and an lztext data type based on it.Jan Wieck
Jan
1999-11-16Fix lookup of temp table names that I missed yesterday.Bruce Momjian
1999-11-16Modify elog() logic so that it won't try to longjmp(Warn_restart) beforeTom Lane
Warn_restart has been set by the backend main loop. This means that elog(ERROR) or elog(FATAL) in the postmaster or during backend startup now have well-defined behavior: proc_exit() rather than coredump. In the case of elog() inside the postmaster, I think that proc_exit() is probably not enough --- don't we want our child backends to be forced to quit too? But I don't understand Vadim's recent changes in this area, so I'll leave it to him to look over and tweak if needed.
1999-11-16Commit to make clearer distinction for temp names and real names.Bruce Momjian
Thanks to Tom Lane for ideas.
1999-11-15Tree dividing is not appropriate in Rtree.Tatsuo Ishii
This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp).
1999-11-15Clean up possible memory leakage in nodeSubplanTom Lane
1999-11-15Implement subselects in target lists. Also, relax requirement thatTom Lane
subselects can only appear on the righthand side of a binary operator. That's still true for quantified predicates like x = ANY (SELECT ...), but a subselect that delivers a single result can now appear anywhere in an expression. This is implemented by changing EXPR_SUBLINK sublinks to represent just the (SELECT ...) expression, without any 'left hand side' or combining operator --- so they're now more like EXISTS_SUBLINK. To handle the case of '(x, y, z) = (SELECT ...)', I added a new sublink type MULTIEXPR_SUBLINK, which acts just like EXPR_SUBLINK used to. But the grammar will only generate one for a multiple-left-hand-side row expression.
1999-11-15Update sanity_check regress test to pass now that pg_indexTom Lane
and pg_amop have indexes.
1999-11-14Fix typo so it actually compiles...Tom Lane
1999-11-14Add recreate index notice to vacuum error.Bruce Momjian
1999-11-14Tweak make rules for parse.h and fmgr.h to avoid bug in oldTom Lane
versions of gmake.
1999-11-14Add index recreation suggestion to end of world error message.Bruce Momjian
1999-11-13Fix for psql control-d and .psqlrc that I broke. Fix for \dT withBruce Momjian
descriptions enabled.
1999-11-13The \p\g fix didn't turn out to be so bad. It even works in otherBruce Momjian
circumstances: => select * from foo\x\t\pset border 0 \p\g\\select * from bar; Also the release prep update so the sql_help.h is generated before packaging. Peter.
1999-11-12Fix ExecSubPlan to handle nulls per the SQL spec --- it didn't combineTom Lane
nulls with non-nulls using proper three-valued boolean logic. Also clean up ExecQual to make it clearer that ExecQual *does* follow the SQL spec for boolean nulls. See '[BUGS] (null) != (null)' thread around 10/26/99 for more detail.
1999-11-11In the spirit of TODO itemBruce Momjian
* Add use of 'const' for varibles in source tree (which is misspelled, btw.) I went through the front-end libpq code and did so. This affects in particular the various accessor functions (such as PQdb() and PQgetvalue()) as well as, by necessity, the internal helpers they use. I have been really thorough in that regard, perhaps some people will find it annoying that things like char * foo = PQgetvalue(res, 0, 0) will generate a warning. On the other hand it _should_ generate one. This is no real compatibility break, although a few clients will have to be fixed to suppress warnings. (Which again would be in the spirit of the above TODO.) In addition I replaced some int's by size_t's and removed some warnings (and generated some new ones -- grmpf!). Also I rewrote PQoidStatus (so it actually honors the const!) and supplied a new function PQoidValue that returns a proper Oid type. This is only front-end stuff, none of the communicaton stuff was touched. The psql patch also adds some new consts to honor the new libpq situation, as well as fixes a fatal condition that resulted when using the -V (--version) option and there is no database listening. So, to summarize, the psql you should definitely put in (with or without the libpq). If you think I went too far with the const-mania in libpq, let me know and I'll make adjustments. If you approve it, I will also update the docs. -Peter -- Peter Eisentraut Sernanders vaeg 10:115
1999-11-10Cleanup of psql \copyrightBruce Momjian
1999-11-08psql makefile fix from Keith ParksBruce Momjian
1999-11-07New NameStr macro to convert Name to Str. No need for var.data anymore.Bruce Momjian
Fewer calls to nameout. Better use of RelationGetRelationName.
1999-11-06exit recursion fix from MassimoBruce Momjian
1999-11-06Fix for recusive exit call from Massimo.Bruce Momjian
1999-11-06Sort help file names, from Peter EisentrautBruce Momjian
1999-11-06Add Linux ARM.Bruce Momjian