Commit Graph

  • e2b71e0839 Re-add destroylang. Bruce Momjian 1999-12-04 12:50:54 +00:00
  • d9f61cfa15 Unlink the pid file if it's bogus (no associated process exists) Tatsuo Ishii 1999-12-04 08:23:43 +00:00
  • e958a30542 Update scripts from Peter. Bruce Momjian 1999-12-04 05:03:49 +00:00
  • 240e4c98f5 New scripts for create/drop user/db from Peter Eisentraut Bruce Momjian 1999-12-04 04:53:22 +00:00
  • 21b69148dc No distclean for pgaccess/Makefile. Bruce Momjian 1999-12-04 04:34:56 +00:00
  • 573553296b Replace examples .H to .h. Bruce Momjian 1999-12-03 18:28:32 +00:00
  • 5ada36c1e4 Rename libpq++.H to libpq++.h. Bruce Momjian 1999-12-03 17:35:05 +00:00
  • 89ad160622 Arranged that plpgsql.so is used from new build, not installed one in production PGLIB. Jan Wieck 1999-12-03 12:47:43 +00:00
  • dde36bfb7c Create postmaster.pid and postmaster.opts under $PGDATA Tatsuo Ishii 1999-12-03 06:26:34 +00:00
  • 9de156f116 Type 'socklen_t' might be the right way to declare getsockopt()'s last 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... Tom Lane 1999-12-02 00:26:15 +00:00
  • 8f9216313a Improve descriptions of date/time functions. Bruce Momjian 1999-12-01 18:03:26 +00:00
  • 5cca0df147 Back-patch fix for password checker's file descriptor leak. Tom Lane 1999-12-01 15:30:46 +00:00
  • 4901ff77bd Mention index name when reporting corruption. Bruce Momjian 1999-12-01 00:29:54 +00:00
  • 1f64926953 Fix compile error on older patch. Bruce Momjian 1999-11-30 04:29:57 +00:00
  • eebfb9baa5 create/alter user extension Bruce Momjian 1999-11-30 03:57:29 +00:00
  • 3ab5b1f1e6 This patch (against the current CVS sources) adds to libpq the functions Bruce Momjian 1999-11-30 03:08:19 +00:00
  • d264b53d2f Rename readonly to onlyread in odbc. Use varargs properly. Bruce Momjian 1999-11-30 02:44:09 +00:00
  • daf6ffb6f0 Update TODO list. Bruce Momjian 1999-11-30 02:14:13 +00:00
  • 63d7df4003 Small patch which fixes the ODBC driver so it doesn't segfault if: 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. Bruce Momjian 1999-11-29 23:42:03 +00:00
  • 1c5aec60bb I finish devel. of Oracle compatible DateTime routines TO_CHAR(), TO_DATE() and PgSQL extension FROM_CHAR(). Bruce Momjian 1999-11-29 23:26:18 +00:00
  • 1f747c6722 Attached are the C-routines that implement a BIT and BIT VARYING type. Bruce Momjian 1999-11-29 22:34:36 +00:00
  • 47e51683e6 I pulled this one out via CVS, I hope you can make use of it: Bruce Momjian 1999-11-29 05:28:11 +00:00
  • d367f626f4 Add permissions check: now one must be the Postgres superuser or the 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 :-( Tom Lane 1999-11-29 04:43:15 +00:00
  • 8a7f31a7d8 Try to detect oversize tuple before corrupting relation, instead of after... Tom Lane 1999-11-29 04:34:55 +00:00
  • 66dbcd47ed Fix "Unable to identify an operator =$" problem that occurred when pgsql 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. Tom Lane 1999-11-28 22:02:17 +00:00
  • fb55fa0478 Remove obsolete note about pg_vlock lock file. Tom Lane 1999-11-28 02:17:43 +00:00
  • aa903cf07c Remove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run in 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. Tom Lane 1999-11-28 02:10:01 +00:00
  • d2914c38b6 Delete pg_statistics rows for a relation during heap_destroy_with_catalog. 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. Tom Lane 1999-11-28 02:03:04 +00:00
  • 0ffe17aec6 lmgr.c didn't check for failure return from LockAcquire(). Boo hiss. Tom Lane 1999-11-28 01:58:08 +00:00
  • b982c3b683 Add missing SpinRelease() to a couple of error exits --- bug found while testing concurrent VACUUMs. Tom Lane 1999-11-28 01:56:48 +00:00
  • 4dded12faa COPY to a relation should keep write lock till transaction commit. Thanks to Hiroshi for spotting the problem. Tom Lane 1999-11-27 21:52:53 +00:00
  • 37432f5a6c pg_statistic has an index now too... Tom Lane 1999-11-27 21:05:04 +00:00
  • adbf98a77f Fix references to backend/port files so that they actually work. Tom Lane 1999-11-27 19:43:20 +00:00
  • a4fec9ec34 Oops, forgot to commit this one last week. Part of patch to update regress test expected outputs for change in 'Cannot insert a duplicate key' error message wording. Tom Lane 1999-11-27 17:56:18 +00:00
  • a7f14616c6 Change // to /* */ Bruce Momjian 1999-11-26 17:26:38 +00:00
  • 1592c3179f Update TODO list. Bruce Momjian 1999-11-26 04:38:59 +00:00
  • 09f185a040 Fix missing prototype psql warning. Bruce Momjian 1999-11-26 04:36:48 +00:00
  • 78bc83fedf * Includes tab completion. It's not magic, but it's very cool. At any rate it's better than what used to be there. Bruce Momjian 1999-11-26 04:24:17 +00:00
  • c83b4d1cd8 Fix for bool casting. Bruce Momjian 1999-11-25 19:15:20 +00:00
  • 4069d48aa7 Added another single byte oriented decompressor, useful for comparision functions. Jan Wieck 1999-11-25 01:28:07 +00:00
  • 4ae43c84c3 Add opid to selectivity function call. Bruce Momjian 1999-11-25 00:21:34 +00:00
  • 922e53e6ea Enable pg_statistic cache use. Bruce Momjian 1999-11-25 00:15:57 +00:00
  • 8f401e8042 Cleanup for pg_statistic commit. Bruce Momjian 1999-11-24 17:09:28 +00:00
  • 74f418eb9a Add pg_statistic index, add missing Hiroshi file. Bruce Momjian 1999-11-24 16:52:50 +00:00
  • 61a93ed2da Add multi-byte support to lztextlen() Tatsuo Ishii 1999-11-24 03:45:12 +00:00
  • 95997e159b Rename heap_replace to heap_update. Bruce Momjian 1999-11-24 00:58:48 +00:00
  • bb10bf319e Rename heap_replace to heap_update. Bruce Momjian 1999-11-24 00:44:37 +00:00
  • 6f9ff92cc0 Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp Bruce Momjian 1999-11-23 20:07:06 +00:00
  • 54ffd4677a ecpg ECPGFree fix from Rene Hogendoorn. Bruce Momjian 1999-11-23 19:47:14 +00:00
  • c2d8838cab Fix _cplusplus test in both trees. Bruce Momjian 1999-11-23 18:50:13 +00:00
  • 85bb91a319 Fix _cplusplus test in both trees. Bruce Momjian 1999-11-23 18:49:55 +00:00
  • f0e18e967c Cleanup paths in install files. Bruce Momjian 1999-11-23 18:24:55 +00:00
  • a895cb7837 Change v6.5.2 to 6.5.2. Bruce Momjian 1999-11-23 18:08:07 +00:00
  • 36b0f67335 *** empty log message *** Michael Meskes 1999-11-23 10:32:16 +00:00
  • 7e5e7ab71b Update opclass to be non-unique. Bruce Momjian 1999-11-23 04:47:39 +00:00
  • 838fb5c233 Update for change of 'duplicate key' message. Tom Lane 1999-11-23 04:19:39 +00:00
  • b04bdf1290 Reduce ReleaseLruFile failure from FATAL to ERROR grade; offhand I don't see that this should be a worse way to fail to open a file than any other. Tom Lane 1999-11-23 01:08:36 +00:00
  • d831990167 verify_password() leaked a file descriptor if it failed to find the given userid in the flat password file. Do it enough times and the postmaster panicked :-( Tom Lane 1999-11-23 01:04:38 +00:00
  • 90e0b668a4 Update TODO list. Bruce Momjian 1999-11-22 18:05:47 +00:00
  • fc955b14ea Add system indexes to match all caches. 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. Bruce Momjian 1999-11-22 17:56:41 +00:00
  • e30c2d67ef *** empty log message *** Michael Meskes 1999-11-22 12:48:48 +00:00
  • 316c4c57e2 Clean up some problems in error recovery --- elog() was pretty broken 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. Tom Lane 1999-11-22 02:06:31 +00:00
  • bb203c75a9 Come to think of it, DropBuffers() could have the same problem as ReleaseRelationBuffers --- need to wait if anyone is trying to flush out that buffer. Tom Lane 1999-11-22 02:03:21 +00:00
  • 6b5d8e14b4 ReleaseRelationBuffers() failed to check for I/O in progress on a buffer 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. Tom Lane 1999-11-22 01:19:42 +00:00
  • 610dfa6d55 Combine index_info and find_secondary_indexes into a single routine that 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... Tom Lane 1999-11-21 23:25:47 +00:00
  • 40d3e92541 index_destroy() must grab exclusive access to the parent table 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. Tom Lane 1999-11-21 20:01:10 +00:00
  • 3047b444e8 Clean up comments. Tom Lane 1999-11-21 19:56:12 +00:00
  • d8ba3dfb0b Change backend-side COPY to write files with permissions 644 not 666 (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. Tom Lane 1999-11-21 04:16:17 +00:00
  • 76ccf73f2b Repair problem exposed by Jan's new parallel-regression-test scaffold: 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. Tom Lane 1999-11-21 01:58:22 +00:00
  • 9ba0172f41 Tweak run_check.sh so it prints the name of each test in a parallel group as that test finishes --- helps to give the impression that something is happening... Tom Lane 1999-11-21 01:53:39 +00:00
  • 79f39c4d34 My latest fixes to gram.y cause CREATE TABLE t (f1 bool default 1 < 2) to be accepted, but constraints regress test was expecting it to fail. Tom Lane 1999-11-20 21:41:31 +00:00
  • ea4ae10849 Fix problems with CURRENT_DATE and related functions being used in 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. Tom Lane 1999-11-20 21:39:36 +00:00
  • 3267e2978f Fix a couple of portability problems in Jan's first-cut parallel test script. This is way cool... Tom Lane 1999-11-20 20:21:31 +00:00
  • 43499af4ab New parallel regression test shell and related things. Jan Wieck 1999-11-19 18:51:52 +00:00
  • 58d1eeaafe Fix for arm32 and fix for dbname with dash. Bruce Momjian 1999-11-18 21:47:41 +00:00
  • 73bfcf6b22 Changed pg_rewrite attributes ev_qual and ev_action to the new compressed lztext data type. Jan Wieck 1999-11-18 13:56:30 +00:00
  • 1276aef2f5 Fix problem with temp tables shown in regression test by Jan. Bruce Momjian 1999-11-17 23:51:21 +00:00
  • 211ed36635 Some minor corrections to the LZ compression. In fact I wanted to HAVE the required OID's first. Jan Wieck 1999-11-17 22:18:46 +00:00
  • 79c3b71c1b The new LZ compression and an lztext data type based on it. Jan Wieck 1999-11-17 21:21:51 +00:00
  • ddc335290c Fix lookup of temp table names that I missed yesterday. Bruce Momjian 1999-11-16 16:55:28 +00:00
  • e1492cc34c Modify elog() logic so that it won't try to longjmp(Warn_restart) before 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. Tom Lane 1999-11-16 06:13:36 +00:00
  • dc5c7713bc Commit to make clearer distinction for temp names and real names. Thanks to Tom Lane for ideas. Bruce Momjian 1999-11-16 04:14:03 +00:00
  • bf5d51e7fe Tree dividing is not appropriate in Rtree. This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp). Tatsuo Ishii 1999-11-15 09:59:00 +00:00
  • 6eab52bea7 Tree dividing is not appropriate in Rtree. This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp). Tatsuo Ishii 1999-11-15 09:56:21 +00:00
  • c8c3e07e58 Clean up possible memory leakage in nodeSubplan Tom Lane 1999-11-15 03:28:07 +00:00
  • f68e11f373 Implement subselects in target lists. Also, relax requirement that 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. Tom Lane 1999-11-15 02:00:15 +00:00
  • 1ecb129d20 Update sanity_check regress test to pass now that pg_index and pg_amop have indexes. Tom Lane 1999-11-15 01:48:41 +00:00
  • a5150dc658 Fix typo so it actually compiles... Tom Lane 1999-11-14 19:01:04 +00:00
  • 7a203a3f02 Add recreate index notice to vacuum error. Bruce Momjian 1999-11-14 17:27:01 +00:00
  • fb9448decc Tweak make rules for parse.h and fmgr.h to avoid bug in old versions of gmake. Tom Lane 1999-11-14 17:12:42 +00:00
  • 103022c339 Add index recreation suggestion to end of world error message. Bruce Momjian 1999-11-14 16:22:59 +00:00
  • 106ded2a6e Update TODO list. Bruce Momjian 1999-11-14 05:11:02 +00:00
  • e61e4d460c Fix for psql control-d and .psqlrc that I broke. Fix for \dT with descriptions enabled. Bruce Momjian 1999-11-13 19:16:47 +00:00
  • db12a63ef1 The \p\g fix didn't turn out to be so bad. It even works in other circumstances: => select * from foo\x\t\pset border 0 \p\g\\select * from bar; Bruce Momjian 1999-11-13 02:04:54 +00:00
  • 1d729b3817 Update NT readme with new name. Bruce Momjian 1999-11-12 17:05:24 +00:00
  • d286f13b47 Update NT readme with new name. Bruce Momjian 1999-11-12 17:05:08 +00:00
  • ac61a04a71 Fix ExecSubPlan to handle nulls per the SQL spec --- it didn't combine 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. Tom Lane 1999-11-12 06:39:34 +00:00
  • 6b99fcf3e2 Update for documentation in libpq changes. Bruce Momjian 1999-11-11 21:52:28 +00:00
  • 2a24ec6f16 In the spirit of TODO item * 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. Bruce Momjian 1999-11-11 00:10:14 +00:00
  • c6c60302ba Cleanup of psql \copyright Bruce Momjian 1999-11-10 01:22:37 +00:00