summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
1999-12-03Rename libpq++.H to libpq++.h.Bruce Momjian
1999-12-03Arranged that plpgsql.so is used from new build, not installedJan Wieck
one in production PGLIB. Jan
1999-12-03Create postmaster.pid and postmaster.opts under $PGDATATatsuo Ishii
1999-12-02Type 'socklen_t' might be the right way to declare getsockopt()'s lastTom Lane
parameter in some flavor of Unix, but Linux, HPUX, and SunOS all say it's int. For now I'm just going to make it int so that I can compile. If the other way is actually necessary on some Unix somewhere, I guess we will need a configure test...
1999-12-01Improve descriptions of date/time functions.Bruce Momjian
1999-12-01Mention index name when reporting corruption.Bruce Momjian
1999-11-30Fix compile error on older patch.Bruce Momjian
1999-11-30create/alter user extensionBruce Momjian
This one should work much better than the one I sent in previously. The functionality is the same, but the patch was missing one file resulting in the compilation failing. The docs also received a minor fix. Peter Eisentraut Sernanders väg 10:115
1999-11-30This patch (against the current CVS sources) adds to libpq the functionsBruce Momjian
PQconnectStart PQconnectPoll PQresetStart PQresetPoll PQsetenvStart PQsetenvPoll PQsetenvAbort and brings into the published interface PQsetenv. The first four are asynchronous analogues of PQconnectdb and PQreset - they allow an application to connect to the DB without blocking on remote I/O. The PQsetenv functions perform an environment negotiation with the server. Internal to libpq, pqReadReady and pqWriteReady have been made available across the library (they were previously static functions inside fe-misc.c). A lot of internal rearrangement has been necessary to support these changes. The API documentation has been updated also. Caveats: o The Windows code does not default to using non-blocking sockets, since I have no documentation: Define WIN32_NON_BLOCKING_CONNECTIONS to do that. o The SSL code still blocks. Ewan Mellor.
1999-11-30Rename readonly to onlyread in odbc. Use varargs properly.Bruce Momjian
1999-11-29Small patch which fixes the ODBC driver so it doesn't segfault if:Bruce Momjian
You have CommLog and Debug enabled You encounter in error in any operation (SQLConnect/SQLExec). Previously, the extra logging didn't check for NULL pointers when trying to print some of the strings- the socket error message could frequently be NULL by design (if there was no socket error) and Solaris does not handle NULLS passed to things like printf ("%s\n",string); gracefully. This basically duplicates the functionality found in Linux where passing a null pointer to printf prints "(NULL)". No very elegant, but the logging is for debug only anyway. Dirk Niggemann
1999-11-29I pulled this one out via CVS, I hope you can make use of it:Bruce Momjian
Peter.
1999-11-29Add permissions check: now one must be the Postgres superuser or theTom Lane
table owner in order to vacuum a table. This is mainly to prevent denial-of-service attacks via repeated vacuums. Allow VACUUM to gather statistics about system relations, except for pg_statistic itself --- not clear that it's worth the trouble to make that case work cleanly. Cope with possible tuple size overflow in pg_statistic tuples; I'm surprised we never realized that could happen. Hold a couple of locks a little longer to try to prevent deadlocks between concurrent VACUUMs. There still seem to be some problems in that last area though :-(
1999-11-29Try to detect oversize tuple before corrupting relation, instead ofTom Lane
after...
1999-11-28Fix "Unable to identify an operator =$" problem that occurred when pgsqlTom Lane
expressions were written without spaces between operators and operands. Problem was that something like "if new.f1=new.f2 then" would be translated to "if $1=$2 then", and the Postgres lexer would tokenize that the wrong way. Fix is to emit spaces around $paramno constructs to ensure they are seen as separate tokens.
1999-11-28Remove obsolete note about pg_vlock lock file.Tom Lane
1999-11-28Remove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run inTom Lane
parallel --- and, not incidentally, removing a common reason for needing manual cleanup by the DB admin after a crash. Remove initial global delete of pg_statistics rows in VACUUM ANALYZE; this was not only bad for performance of other backends that had to run without stats for a while, but it was fundamentally broken because it was done outside any transaction. Surprising we didn't see more consequences of that. Detect attempt to run VACUUM inside a transaction block. Check for query cancel request before starting vacuum of each table. Clean up vacuum's private portal storage if vacuum is aborted.
1999-11-28Delete pg_statistics rows for a relation during heap_destroy_with_catalog.Tom Lane
By dropping stats rows here, we eliminate the need for VACUUM to do a wholesale remove of stats rows. Before, pg_statistics was wiped clean at the start of VACUUM, ensuring poor planning results for any backends running in parallel until VACUUM got around to rebuilding the stats for the relations they are accessing.
1999-11-28lmgr.c didn't check for failure return from LockAcquire(). Boo hiss.Tom Lane
1999-11-28Add missing SpinRelease() to a couple of error exits --- bug found whileTom Lane
testing concurrent VACUUMs.
1999-11-27COPY to a relation should keep write lock till transaction commit.Tom Lane
Thanks to Hiroshi for spotting the problem.
1999-11-27pg_statistic has an index now too...Tom Lane
1999-11-27Fix references to backend/port files so that they actually work.Tom Lane
1999-11-27Oops, forgot to commit this one last week. Part of patch to updateTom Lane
regress test expected outputs for change in 'Cannot insert a duplicate key' error message wording.
1999-11-26Change // to /* */Bruce Momjian
1999-11-26Fix missing prototype psql warning.Bruce Momjian
1999-11-26* Includes tab completion. It's not magic, but it's very cool. At anyBruce Momjian
rate it's better than what used to be there. * Does proper SQL "host variable" substitution as pointed out by Andreas Zeugwetter (thanks): select * from :foo; Also some changes in how ':' and ';' are treated (escape with \ to send to backend). This does _not_ affect the '::' cast operator, but perhaps others that contain : or ; (but there are none right now). * To show description with a <something> listing, append '?' to command name, e.g., \df?. This seemed to be the convenient and logical solution. Or append a '+' to see more useless information, e.g., \df+. * Fixed fflush()'ing bug pointed out by Jan during the regression test discussion. * Added LastOid variable. This ought to take care of TODO item "Add a function to return the last inserted oid, for use in psql scripts" (under CLIENTS) E.g., insert into foo values(...); insert into bar values(..., :LastOid); \echo $LastOid * \d command shows constraints, rules, and triggers defined on the table (in addition to indices) * Various fixes, optimizations, corrections * Documentation update as well Note: This now requires snprintf(), which, if necessary, is taken from src/backend/port. This is certainly a little weird, but it should suffice until a source tree cleanup is done. Enjoy. -- Peter Eisentraut Sernanders väg 10:115
1999-11-25Fix for bool casting.Bruce Momjian
1999-11-25Added another single byte oriented decompressor, useful forJan Wieck
comparision functions. Added all lztext comparision functions, operators and a default operator class for nbtree on lztext. Jan
1999-11-25Add opid to selectivity function call.Bruce Momjian
1999-11-25Enable pg_statistic cache use.Bruce Momjian
1999-11-24Cleanup for pg_statistic commit.Bruce Momjian
1999-11-24Add pg_statistic index, add missing Hiroshi file.Bruce Momjian
1999-11-24Add multi-byte support to lztextlen()Tatsuo Ishii
1999-11-24Rename heap_replace to heap_update.Bruce Momjian
1999-11-24Rename heap_replace to heap_update.Bruce Momjian
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...