Commit Graph

  • 988e59f452 Remove unnecessary .seg/.section directives, per Alan Stange. Tom Lane 2006-05-11 21:58:29 +00:00
  • ab1ad7a653 Remove unnecessary .seg/.section directives, per Alan Stange. Tom Lane 2006-05-11 21:58:22 +00:00
  • ae6124627b Use SQL standard '' rather than \' for tutorial/sample code. Bruce Momjian 2006-05-11 19:21:31 +00:00
  • ad98575617 Use SQL standard '' rather than \' for tutorial/sample code. Bruce Momjian 2006-05-11 19:21:14 +00:00
  • 637028afe1 Code review for standard_conforming_strings patch. Fix it so it does not throw warnings for 100%-SQL-standard constructs, clean up some minor infelicities, try to un-break ecpg to the best of my ability. (It's not clear how ecpg is going to find out the setting of standard_conforming_strings, though.) I think pg_dump still needs work, too. Tom Lane 2006-05-11 19:15:36 +00:00
  • 3fdeb189e9 Clean up code associated with updating pg_class statistics columns (relpages/reltuples). To do this, create formal support in heapam.c for "overwrite" tuple updates (including xlog replay capability) and use that instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX. Take the responsibility for updating stats during CREATE INDEX out of the individual index AMs, and do it where it belongs, in catalog/index.c. Aside from being more modular, this avoids having to update the same tuple twice in some paths through CREATE INDEX. It's probably not measurably faster, but for sure it's a lot cleaner than before. Tom Lane 2006-05-10 23:18:39 +00:00
  • c1f39437d0 Some optimizations by Volkan YAZICI <yazicivo@ttnet.net.tr> Teodor Sigaev 2006-05-10 11:39:12 +00:00
  • 10dd8df68e Reduce size of critical section and remove call of user-defined functions in insertion and deletion, modify gistSplit() to do not use buffers. Teodor Sigaev 2006-05-10 09:19:54 +00:00
  • 12049d343e Revert documentation mention of array dimension checking, in next paragraph. Bruce Momjian 2006-05-09 23:12:54 +00:00
  • 0c9fab6c3b Mention array dimmensions are not enforced either. Bruce Momjian 2006-05-09 16:31:23 +00:00
  • 9083bdd288 Build server libpgport with all non-FRONTEND object files. This is to fix a Win32 bug where pipe.c included a file that used FRONTEND, but it wasn't on the server-build list. Bruce Momjian 2006-05-08 02:18:59 +00:00
  • 3cd77da334 Build server libpgport with all non-FRONTEND object files. This is to fix a Win32 bug where pipe.c included a file that used FRONTEND, but it wasn't on the server-build list. Bruce Momjian 2006-05-08 02:18:50 +00:00
  • 47d82d2856 Build server libpgport with all non-FRONTEND object files. This is to fix a Win32 bug where pipe.c included a file that used FRONTEND, but it wasn't on the server-build list. Bruce Momjian 2006-05-08 02:18:21 +00:00
  • 5749f6ef0c Rewrite btree vacuuming to fold the former bulkdelete and cleanup operations into a single mostly-physical-order scan of the index. This requires some ticklish interlocking considerations, but should create no material performance impact on normal index operations (at least given the already-committed changes to make scans work a page at a time). VACUUM itself should get significantly faster in any index that's degenerated to a very nonlinear page order. Also, we save one pass over the index entirely, except in the case where there were no deletions to do and so only one pass happened anyway. Tom Lane 2006-05-08 00:00:17 +00:00
  • 09cb5c0e7d Rewrite btree index scans to work a page at a time in all cases (both btgettuple and btgetmulti). This eliminates the problem of "re-finding" the exact stopping point, since the stopping point is effectively always a page boundary, and index items are never moved across pre-existing page boundaries. A small penalty is that the keys_are_unique optimization is effectively disabled (and, therefore, is removed in this patch), causing us to apply _bt_checkkeys() to at least one more tuple than necessary when looking up a unique key. However, the advantages for non-unique cases seem great enough to accept this tradeoff. Aside from simplifying and (sometimes) speeding up the indexscan code, this will allow us to reimplement btbulkdelete as a largely sequential scan instead of index-order traversal, thereby significantly reducing the cost of VACUUM. Those changes will come in a separate patch. Tom Lane 2006-05-07 01:21:30 +00:00
  • 88d94a11bb Use $(LIBS:-lpgport=) rather than $(patsubst -lpgport,, $(LIBS)), for consistency. Bruce Momjian 2006-05-07 01:05:11 +00:00
  • 5ff2838c57 Add description: Bruce Momjian 2006-05-06 23:35:32 +00:00
  • d9d2d91544 Recommend more clearly custom pg_dump format over tar, buy showing custom format examples first. Bruce Momjian 2006-05-06 23:25:37 +00:00
  • bcf860b7f3 Document SSL CRL usage by libpq. Bruce Momjian 2006-05-06 16:25:11 +00:00
  • cbc0539c2a Further minor simplification of relcache startup: don't need a static needNewCacheFile flag anymore, it can just be local in RelationCacheInitializePhase2. Tom Lane 2006-05-06 15:51:07 +00:00
  • 069ad5fcc3 Add SSL CRL support to libpq. Recently added to the backend. Bruce Momjian 2006-05-06 02:24:39 +00:00
  • 3ecfdceaec Issue a log message if a CRL file exists and the SSL library does not support CRL certificates. Bruce Momjian 2006-05-06 01:31:38 +00:00
  • 25c1c3cfd6 Seems some NetBSD 3.0 x86 systems still need float8-small-is-zero, so patch reverted. Bruce Momjian 2006-05-05 18:10:35 +00:00
  • f454d6264d On Solaris ASM, / '/' is the comment for x86, while '!' is the comment for Sparc Bruce Momjian 2006-05-05 16:23:20 +00:00
  • c51c2777ec Use regression results float8-small-is-zero only for NetBSD < 3.0. Bruce Momjian 2006-05-05 16:16:49 +00:00
  • e451014d8c Change Solaris comments from / to !. Bruce Momjian 2006-05-05 12:22:42 +00:00
  • ee1b63a48b Update standards URL. Bruce Momjian 2006-05-05 09:51:53 +00:00
  • 9bd5181068 Add/ cleanup: Bruce Momjian 2006-05-05 09:35:58 +00:00
  • 1e3496f26a Don't try to compile SSL CRL support if local SSL installation hasn't got it. Per buildfarm failure on 'canary'. Tom Lane 2006-05-04 22:18:38 +00:00
  • a43974c6ba Code review for contrib/pg_freespacemap. Add a storedpages column to pg_freespacemap_relations --- while one could theoretically get that number by counting rows in pg_freespacemap_pages, it's surely the hard way to do it. Avoid expensive and inconvenient conversion to and from text format. Minor code and docs cleanup. Tom Lane 2006-05-04 20:39:34 +00:00
  • 46287bd660 Simplify relcache startup sequence. With the new design of InitPostgres it's not necessary to have three separate calls anymore. This patch also fixes things so we don't try to read pg_internal.init until after we've obtained lock on the target database; which was fairly harmless, but it's certainly cleaner this way. Tom Lane 2006-05-04 18:51:36 +00:00
  • 52667d56a3 Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE. The former approach used ExclusiveLock on pg_database, which being a cluster-wide lock meant only one of these operations could proceed at a time; worse, it also blocked all incoming connections in ReverifyMyDatabase. Now that we have LockSharedObject(), we can use locks of different types applied to databases considered as objects. This allows much more flexible management of the interlocking: two CREATE DATABASEs need not block each other, and need not block connections except to the template database being used. Similarly DROP DATABASE doesn't block unrelated operations. The locking used in flatfiles.c is also much narrower in scope than before. Per recent proposal. Tom Lane 2006-05-04 16:07:29 +00:00
  • cb98e6fb8f Create a syscache for pg_database-indexed-by-oid, and make use of it in various places that were previously doing ad hoc pg_database searches. This may speed up database-related privilege checks a little bit, but the main motivation is to eliminate the performance reason for having ReverifyMyDatabase do such a lot of stuff (viz, avoiding repeat scans of pg_database during backend startup). The locking reason for having that routine is about to go away, and it'd be good to have the option to break it up. Tom Lane 2006-05-03 22:45:26 +00:00
  • 5320c6cf6b Make GIN opclass worked with intarray extensions Teodor Sigaev 2006-05-03 16:31:07 +00:00
  • 2a58f3bff6 Fix typo noticed by Alvaro Herrera Teodor Sigaev 2006-05-03 06:56:47 +00:00
  • 478335a1be Fix calculation of plan node extParams to account for the possibility that one initPlan sets a parameter for another. This could not (I think) happen before 8.1, but it's possible now because the initPlans generated by MIN/MAX optimization might themselves use initPlans. We attach those initPlans as siblings of the MIN/MAX ones, not children, to avoid duplicate computation when multiple MIN/MAX aggregates are present; so this leads to the case of an initPlan needing the result of a sibling initPlan, which is not possible with ordinary query nesting. Hadn't been noticed because in most contexts having too much stuff listed in extParam is fairly harmless. Fixes "plan should not reference subplan's variable" bug reported by Catalin Pitis. Tom Lane 2006-05-03 00:25:07 +00:00
  • f4923880b3 Fix calculation of plan node extParams to account for the possibility that one initPlan sets a parameter for another. This could not (I think) happen before 8.1, but it's possible now because the initPlans generated by MIN/MAX optimization might themselves use initPlans. We attach those initPlans as siblings of the MIN/MAX ones, not children, to avoid duplicate computation when multiple MIN/MAX aggregates are present; so this leads to the case of an initPlan needing the result of a sibling initPlan, which is not possible with ordinary query nesting. Hadn't been noticed because in most contexts having too much stuff listed in extParam is fairly harmless. Fixes "plan should not reference subplan's variable" bug reported by Catalin Pitis. Tom Lane 2006-05-03 00:24:56 +00:00
  • e57345975c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion. This formulation requires every AM to provide amvacuumcleanup, unlike before, but it's surely a whole lot cleaner. Also, add an 'amstorage' column to pg_am so that we can get rid of hardwired knowledge in DefineOpClass(). Tom Lane 2006-05-02 22:25:10 +00:00
  • d3171dd64b Fix broken markup. Tom Lane 2006-05-02 18:07:51 +00:00
  • 67030eec1e Suppress some gcc warnings. Tom Lane 2006-05-02 15:48:11 +00:00
  • 2610a1fd5e Fix grammar of new error message. Tom Lane 2006-05-02 15:45:37 +00:00
  • 2bee77e600 Add GIN opclases for another types Teodor Sigaev 2006-05-02 15:23:16 +00:00
  • 8a3631f8d8 GIN: Generalized Inverted iNdex. text[], int4[], Tsearch2 support for GIN. Teodor Sigaev 2006-05-02 11:28:56 +00:00
  • a3fe5ed594 Avoid assuming that statistics for a parent relation reflect the properties of the union of its child relations as well. This might have been a good idea when it was originally coded, but it's a fatally bad idea when inheritance is being used for partitioning. It's better to have no stats at all than completely misleading stats. Per report from Mark Liberman. Tom Lane 2006-05-02 04:34:24 +00:00
  • 427c6b5b98 Avoid assuming that statistics for a parent relation reflect the properties of the union of its child relations as well. This might have been a good idea when it was originally coded, but it's a fatally bad idea when inheritance is being used for partitioning. It's better to have no stats at all than completely misleading stats. Per report from Mark Liberman. Tom Lane 2006-05-02 04:34:18 +00:00
  • a65a49429f Provide a namespace.c function for lookup of an operator with exact input datatypes given, and use this before trying OpernameGetCandidates. This is faster than the old method when there's an exact match, and it does not seem materially slower when there's not. And it definitely makes some of the callers cleaner, because they didn't really want to know about a list of candidates anyway. Per discussion with Atsushi Ogawa. Tom Lane 2006-05-01 23:22:43 +00:00
  • 82a2881c5b Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not CONNECTION, fix a number of places that were missed (eg pg_dump support), avoid executing an extra search of pg_database during startup. Tom Lane 2006-04-30 21:15:33 +00:00
  • 986085a7f0 Improve the representation of FOR UPDATE/FOR SHARE so that we can support both FOR UPDATE and FOR SHARE in one command, as well as both NOWAIT and normal WAIT behavior. The more general code is actually simpler and cleaner. Tom Lane 2006-04-30 18:30:40 +00:00
  • 931bfc9664 Done: > o -Allow per-database permissions to be set via GRANT Bruce Momjian 2006-04-30 02:10:41 +00:00
  • 4899aaf2d5 Add GRANT CONNECTION ON DATABASE, to be used in addition to pg_hba.conf. Bruce Momjian 2006-04-30 02:09:07 +00:00
  • 87db3ad078 Add question mark: Bruce Momjian 2006-04-30 01:45:26 +00:00
  • 782df58a1c Revert patch pending more discussion: Bruce Momjian 2006-04-30 01:08:07 +00:00
  • 366682fb66 Remove sema.c, superseded by win32_sema.c. Tom Lane 2006-04-29 20:52:56 +00:00
  • f0df096785 Rearrange some configure.in comments for better readability. Commit configure and pg_config.h.in, missed in last configure.in update. Tom Lane 2006-04-29 20:47:31 +00:00
  • de762468aa We only need to add thread.c on non-WIN32 platforms, since get_home_path doesn't use pqGetpwuid on WIN32. Rather than try to figure out why it won't build on WIN32, just remove it. Tom Lane 2006-04-29 20:13:07 +00:00
  • c6ef426f67 Done: Bruce Momjian 2006-04-29 16:44:31 +00:00
  • a0a0512182 Disallow changing DEFAULT expression of a SERIAL column. Bruce Momjian 2006-04-29 16:43:54 +00:00
  • 908f317b73 Add Win32 semaphore implementation, rather than mimicking SysV semaphores. Bruce Momjian 2006-04-29 16:34:41 +00:00
  • 291724dfa8 Solaris tas() uses 'int' now. Bruce Momjian 2006-04-29 11:55:19 +00:00
  • 61091ec267 Intel compiler has a bug/misoptimization in checking for division by NAN (NaN == 0), -mp1 fixes it, so add it to the CFLAGS. Autoconf run. Bruce Momjian 2006-04-29 00:51:41 +00:00
  • a1ee621589 Fix s_lock_test to use tas.o file, if needed. Bruce Momjian 2006-04-28 22:54:31 +00:00
  • 0619268b4b Remove the restriction originally coded into optimize_minmax_aggregates() that MIN/MAX not be converted to use an index if the query WHERE clause contains any volatile functions or subplans. Tom Lane 2006-04-28 20:57:59 +00:00
  • 53ee9f52ce Remove the restriction originally coded into optimize_minmax_aggregates() that MIN/MAX not be converted to use an index if the query WHERE clause contains any volatile functions or subplans. Tom Lane 2006-04-28 20:57:49 +00:00
  • 4c5eb2c2cb Modify Solaris compiler build rules to use the cpp preprocessor, the the x86 file. Bruce Momjian 2006-04-28 17:09:16 +00:00
  • 83b692d9bb Darin -> Darwin. Bruce Momjian 2006-04-28 04:39:41 +00:00
  • e81b7b1dac Remove extra 'else' in solaris compiler code. Bruce Momjian 2006-04-28 04:32:10 +00:00
  • dfec2b070d Remove "volatile" from tas function, per TOm. Bruce Momjian 2006-04-28 03:43:19 +00:00
  • 9fc69d669e Update list of platforms that have a list of exported symbols. Bruce Momjian 2006-04-28 02:59:11 +00:00
  • 1e7bb2da57 Arrange to strip libpq.so of symbols that aren't officially supposed to be exported on Linux and Darwin. We already did this on Windows but that's not enough, as evidenced by the fact that libecpg had an unexpected dependency on one such symbol. We should try to do it on more platforms. Fix ecpg's oversight, and bump libpq's major .so version number to reflect the unwanted but nonetheless real ABI break. Tom Lane 2006-04-28 02:53:20 +00:00
  • 35a0601d0a Add info on pgport linking requirements. Bruce Momjian 2006-04-28 02:52:57 +00:00
  • 128bed948f Rewrite Solaris compiler tas() assembly routines, merge i386 and x86_64 assembler files, renamed as solaris_x86.s. Bruce Momjian 2006-04-27 22:28:42 +00:00
  • 4ade4fe422 Fix ltreeparentsel so it actually works ... Tom Lane 2006-04-27 18:24:35 +00:00
  • 0f0a33099c Generalize mcv_selectivity() to support both VAR OP CONST and CONST OP VAR cases. This was not needed in the existing uses within selfuncs.c, but if we're gonna export it for general use, the extra generality seems helpful. Motivated by looking at ltree example. Tom Lane 2006-04-27 17:52:40 +00:00
  • afab814a18 Change log message about vacuuming database name from LOG to DEBUG1. Prevents duplicate meaningless log messsages. Bruce Momjian 2006-04-27 15:57:10 +00:00
  • 87f00a4694 Add to item log_min_error_messages item: Bruce Momjian 2006-04-27 15:56:17 +00:00
  • 2fddd23b56 On second thought, keep SSL CRL as a log, and wait for feedback from 8.2. Bruce Momjian 2006-04-27 15:35:15 +00:00
  • d440c5b49d Downgrade SSL CRL file missing message from LOG to DEBUG1. Bruce Momjian 2006-04-27 15:25:04 +00:00
  • 0a6990e4dc Turn off strict aliasing when using AIX xlc compiler. Bruce Momjian 2006-04-27 14:27:04 +00:00
  • 203592dd88 Revert patch, causing plpython regression failues: Bruce Momjian 2006-04-27 14:18:07 +00:00
  • 8f10768feb Tab alignment cleanup. Bruce Momjian 2006-04-27 14:02:36 +00:00
  • 317ce6269a Add underscores to SSL CERT macro names, for clarity and consistency with be-secure.c. Bruce Momjian 2006-04-27 14:01:46 +00:00
  • 2882241c23 Add SSL include needed for psql, after libpq adjustments. Bruce Momjian 2006-04-27 02:58:08 +00:00
  • 80aa37a72f Add: Bruce Momjian 2006-04-27 02:41:36 +00:00
  • e747f4935a Add support for SSL Certificate Revocation List (CRL) files, root.crl. Bruce Momjian 2006-04-27 02:29:14 +00:00
  • 1a84275a7b plpython improvements: Bruce Momjian 2006-04-27 01:05:05 +00:00
  • f66a3ca267 Un-break ltree. Tom Lane 2006-04-27 00:58:20 +00:00
  • 3c4768d0d1 Change libpq's PQgetssl() to return a void*, rather than SSL *, so that applications don't need the SSL headers. Bruce Momjian 2006-04-27 00:53:58 +00:00
  • a3c1a11fc1 If we're going to expose VariableStatData for contrib modules to use, then we should export a reasonable set of the supporting routines too. Tom Lane 2006-04-27 00:46:59 +00:00
  • f1b3d5b02d Remove unused function SSL_CTX_set_tmp_dh_callback() from libpq: Bruce Momjian 2006-04-27 00:36:34 +00:00
  • 02eb8f4f5c Use schema search path to find the first matching contraint name for SET CONSTRAINT, rather than affecting all constraints in all schemas (which is what we used to do). Also allow schema specifications. Bruce Momjian 2006-04-27 00:33:46 +00:00
  • 944a17bf9f Delay write of pg_stats file to once every five minutes, during shutdown, or when requested by a backend: Bruce Momjian 2006-04-27 00:06:59 +00:00
  • a1e5331b07 Add tablespace display to psql \l+. Bruce Momjian 2006-04-26 23:15:45 +00:00
  • 96cc1341dd Fix SELECT INTO and CREATE TABLE AS to create tables in the default tablespace, not the base directory. Bruce Momjian 2006-04-26 23:01:58 +00:00
  • 382825da9d Fix SELECT INTO and CREATE TABLE AS to create tables in the default tablespace, not the base directory. Bruce Momjian 2006-04-26 23:01:13 +00:00
  • 525de8d556 Improve /contrib/pg_buffercache installation to use BEGIN/COMMIT, improve examples. Bruce Momjian 2006-04-26 22:50:17 +00:00
  • 136bea1540 Split out pg_freespace views to one for relations and another for pages, pg_freespacemap_relations and pg_freespacemap_pages. Bruce Momjian 2006-04-26 22:46:09 +00:00
  • 028ec5cb0f Adjust /contrib/pg_freespace to show index free space as NULL (FSM only tracks index pages, not free space on pages): Bruce Momjian 2006-04-26 22:41:18 +00:00
  • 59d61409cd Move ltree parentsel() selectivity function into /contrib/ltree. Bruce Momjian 2006-04-26 22:33:36 +00:00
  • cae5671945 In pg_resetxlog.c, uint -> uint32, for Win32 port. Bruce Momjian 2006-04-26 21:52:31 +00:00
  • 1865fb66fa Add missing ControlFile.checkPointCopy.ThisTimeLineID line for 'guess' pg_resetxlog. Bruce Momjian 2006-04-26 18:56:56 +00:00