]> granicus.if.org Git - postgresql/log
postgresql
18 years agoImprove psql's \df slash command to include the argument names and modes
Neil Conway [Mon, 17 Jul 2006 00:21:23 +0000 (00:21 +0000)]
Improve psql's \df slash command to include the argument names and modes
(OUT or INOUT) of the function. Patch from David Fetter, editorialization
by Neil Conway.

18 years agoMinor documentation tweak: in the tables of functions and operators,
Neil Conway [Sun, 16 Jul 2006 23:59:58 +0000 (23:59 +0000)]
Minor documentation tweak: in the tables of functions and operators,
don't include a space between the function name and the parenthesis
that begins its parameter list, for consistency.

18 years agoInclude libpq/pqcomm.h to ensure we have correct knowledge of
Tom Lane [Sun, 16 Jul 2006 20:28:01 +0000 (20:28 +0000)]
Include libpq/pqcomm.h to ensure we have correct knowledge of
HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN.  Per results of pgcheckdefines.

18 years agoIn a Windows backend, don't build src/port/pgsleep.c's version of
Tom Lane [Sun, 16 Jul 2006 20:17:04 +0000 (20:17 +0000)]
In a Windows backend, don't build src/port/pgsleep.c's version of
pg_usleep at all.  Instead call the replacement function in
port/win32/signal.c by that name.  Avoids tricky macro-redefinition
logic and suppresses a compiler warning; furthermore it ensures that
no one can accidentally use the non-signal-aware version of pg_usleep
in a Windows backend.

18 years agoEnsure that we retry rather than erroring out when send() or recv() return
Tom Lane [Sun, 16 Jul 2006 18:17:14 +0000 (18:17 +0000)]
Ensure that we retry rather than erroring out when send() or recv() return
EINTR; the stats code was failing to do this and so were a couple of places
in the postmaster.  The stats code assumed that recv() could not return EINTR
if a preceding select() showed the socket to be read-ready, but this is
demonstrably false with our Windows implementation of recv(), and it may
not be the case on all Unix variants either.  I think this explains the
intermittent stats regression test failures we've been seeing, as well
as reports of stats collector instability under high load on Windows.

Backpatch as far as 8.0.

18 years agoFix a few places where $Id$ and $Header$ CVS tags had crept into the
Tom Lane [Sun, 16 Jul 2006 02:44:01 +0000 (02:44 +0000)]
Fix a few places where $Id$ and $Header$ CVS tags had crept into the
source tree.  They should all be $PostgreSQL$ of course.

18 years agoFix lack of repeat-inclusion guard in win32 substitute sys/socket.h.
Tom Lane [Sun, 16 Jul 2006 01:35:28 +0000 (01:35 +0000)]
Fix lack of repeat-inclusion guard in win32 substitute sys/socket.h.
I think this explains the 'implicit declaration of function gai_strerror'
warnings visible in the current buildfarm report from snake: if
sys/socket.h is included again after getaddrinfo.h, the file would
merrily undefine the gai_strerror macro.

18 years agoPut back another not-so-unnecessary #include, per report from Hiroshi Saito.
Tom Lane [Sun, 16 Jul 2006 01:05:23 +0000 (01:05 +0000)]
Put back another not-so-unnecessary #include, per report from Hiroshi Saito.

18 years agoFix getDatumCopy(): don't use store_att_byval to copy into a Datum
Tom Lane [Sun, 16 Jul 2006 00:54:22 +0000 (00:54 +0000)]
Fix getDatumCopy(): don't use store_att_byval to copy into a Datum
variable (this accounts for regression failures on PPC64, and in fact
won't work on any big-endian machine).  Get rid of hardwired knowledge
about datum size rules; make it look just like datumCopy().

18 years agoImprove error message wording.
Tom Lane [Sun, 16 Jul 2006 00:52:05 +0000 (00:52 +0000)]
Improve error message wording.

18 years agoPut back some more not-so-unused-as-all-that #includes. This un-breaks
Tom Lane [Sat, 15 Jul 2006 15:47:17 +0000 (15:47 +0000)]
Put back some more not-so-unused-as-all-that #includes.  This un-breaks
the EXEC_BACKEND code on my machines, so hopefully it will fix the
Windows buildfarm members.

18 years agoFix some pgcrypto portability issues, per Marko Kreen.
Tom Lane [Sat, 15 Jul 2006 15:27:14 +0000 (15:27 +0000)]
Fix some pgcrypto portability issues, per Marko Kreen.

18 years agoFix some missing inclusions identified with new pgcheckdefines tool.
Tom Lane [Sat, 15 Jul 2006 03:35:21 +0000 (03:35 +0000)]
Fix some missing inclusions identified with new pgcheckdefines tool.

18 years agoFix some makefiles that fail to yield good results from 'make -qp'.
Tom Lane [Sat, 15 Jul 2006 03:33:14 +0000 (03:33 +0000)]
Fix some makefiles that fail to yield good results from 'make -qp'.
This doesn't really matter for ordinary building of Postgres, but it's
useful for automated checks, such as my just-committed pgcheckdefines.

18 years agoCreate a tool to catch #include omissions that might not result in any
Tom Lane [Sat, 15 Jul 2006 03:27:42 +0000 (03:27 +0000)]
Create a tool to catch #include omissions that might not result in any
compiler warning, specifically #ifdef or #if defined tests on symbols
that are defined in a file not included.  The results are a bit noisy
and require care to interpret, but it's a lot better than no tool at all.

18 years agoFix misguided removal of access/tuptoaster.h inclusion, per Kris Jurka.
Tom Lane [Fri, 14 Jul 2006 19:05:52 +0000 (19:05 +0000)]
Fix misguided removal of access/tuptoaster.h inclusion, per Kris Jurka.
I'm going to insist on reversion of this entire patch unless pgrminclude
is upgraded to a less broken state, but in the meantime let's get contrib
passing regression again.

18 years agoIn PGP public key tests, encrypt the secret key with AES not CAST5,
Tom Lane [Fri, 14 Jul 2006 17:47:40 +0000 (17:47 +0000)]
In PGP public key tests, encrypt the secret key with AES not CAST5,
so that the test passes with or without OpenSSL.  Marko Kreen

18 years agoFix another passel of include-file breakage. Kris Jurka, Tom Lane
Tom Lane [Fri, 14 Jul 2006 16:59:19 +0000 (16:59 +0000)]
Fix another passel of include-file breakage.  Kris Jurka, Tom Lane

18 years agoAdd dependency to fix parallel-make race condition. Alexander Dupuy
Tom Lane [Fri, 14 Jul 2006 16:45:43 +0000 (16:45 +0000)]
Add dependency to fix parallel-make race condition.  Alexander Dupuy

18 years agoHave find_static skip main() functions.
Bruce Momjian [Fri, 14 Jul 2006 14:59:00 +0000 (14:59 +0000)]
Have find_static skip main() functions.

18 years agoRemove 576 references of include files that were not needed.
Bruce Momjian [Fri, 14 Jul 2006 14:52:27 +0000 (14:52 +0000)]
Remove 576 references of include files that were not needed.

18 years agoFix a passel of recently-committed violations of the rule 'thou shalt
Tom Lane [Fri, 14 Jul 2006 05:28:29 +0000 (05:28 +0000)]
Fix a passel of recently-committed violations of the rule 'thou shalt
have no other gods before c.h'.  Also remove some demonstrably redundant
#include lines, mostly of <errno.h> which was added to c.h years ago.

18 years agoRevert part of recent include patch not ready for application.
Bruce Momjian [Fri, 14 Jul 2006 04:59:30 +0000 (04:59 +0000)]
Revert part of recent include patch not ready for application.

18 years agoAdd additional includes needed on some platforms.
Bruce Momjian [Fri, 14 Jul 2006 04:44:46 +0000 (04:44 +0000)]
Add additional includes needed on some platforms.

18 years agoMove CFLAGS for pginclude to the end of the command line.
Bruce Momjian [Fri, 14 Jul 2006 01:05:14 +0000 (01:05 +0000)]
Move CFLAGS for pginclude to the end of the command line.

18 years agoMinor doc tweak: replace a "--" with "&mdash;".
Neil Conway [Fri, 14 Jul 2006 00:13:05 +0000 (00:13 +0000)]
Minor doc tweak: replace a "--" with "&mdash;".

18 years agoReorder the entries in the function section of the manual, to ensure they
Neil Conway [Thu, 13 Jul 2006 23:59:47 +0000 (23:59 +0000)]
Reorder the entries in the function section of the manual, to ensure they
are alphabetically ordered. I believe the tables were correctly ordered in
the past, but some of them had subsequently regressed.

18 years agoMove math.h after postgresql.h
Bruce Momjian [Thu, 13 Jul 2006 20:14:12 +0000 (20:14 +0000)]
Move math.h after postgresql.h

18 years agoSkip stripping postgres_fe.h include file.
Bruce Momjian [Thu, 13 Jul 2006 18:25:09 +0000 (18:25 +0000)]
Skip stripping postgres_fe.h include file.

18 years agoMore include file adjustments.
Bruce Momjian [Thu, 13 Jul 2006 18:01:02 +0000 (18:01 +0000)]
More include file adjustments.

18 years agoMore include file adjustments.
Bruce Momjian [Thu, 13 Jul 2006 17:47:02 +0000 (17:47 +0000)]
More include file adjustments.

18 years agoAdjust /contrib for new include file contents.
Bruce Momjian [Thu, 13 Jul 2006 16:57:31 +0000 (16:57 +0000)]
Adjust /contrib for new include file contents.

18 years agoAllow include files to compile own their own.
Bruce Momjian [Thu, 13 Jul 2006 16:49:20 +0000 (16:49 +0000)]
Allow include files to compile own their own.

Strip unused include files out unused include files, and add needed
includes to C files.

The next step is to remove unused include files in C files.

18 years agoImprove pginclude tools to process include file usage by other include files.
Bruce Momjian [Thu, 13 Jul 2006 16:39:20 +0000 (16:39 +0000)]
Improve pginclude tools to process include file usage by other include files.

18 years agoRemove trailing comma from CreateStmtLikeOption enum definition. This
Neil Conway [Thu, 13 Jul 2006 15:09:57 +0000 (15:09 +0000)]
Remove trailing comma from CreateStmtLikeOption enum definition. This
is harmless, but it causes a warning with Tru64's cc.

18 years agoBe consistent about not using ECHO_N/ECHO_C (seems unnecessary on Linux).
Peter Eisentraut [Thu, 13 Jul 2006 14:44:33 +0000 (14:44 +0000)]
Be consistent about not using ECHO_N/ECHO_C (seems unnecessary on Linux).

18 years agoFix C++-style comment.
Neil Conway [Thu, 13 Jul 2006 04:52:51 +0000 (04:52 +0000)]
Fix C++-style comment.

18 years ago"Annual" pgcrypto update from Marko Kreen:
Neil Conway [Thu, 13 Jul 2006 04:15:25 +0000 (04:15 +0000)]
"Annual" pgcrypto update from Marko Kreen:

Few cleanups and couple of new things:

 - add SHA2 algorithm to older OpenSSL
 - add BIGNUM math to have public-key cryptography work on non-OpenSSL
   build.
 - gen_random_bytes() function

The status of SHA2 algoritms and public-key encryption can now be
changed to 'always available.'

That makes pgcrypto functionally complete and unless there will be new
editions of AES, SHA2 or OpenPGP standards, there is no major changes
planned.

18 years agoFix pgrminclude to work for stripping include files.
Bruce Momjian [Wed, 12 Jul 2006 16:28:27 +0000 (16:28 +0000)]
Fix pgrminclude to work for stripping include files.

18 years agoUpdate schema USAGE permission description.
Bruce Momjian [Wed, 12 Jul 2006 15:37:10 +0000 (15:37 +0000)]
Update schema USAGE permission description.

18 years agoClean up for warning:
Joe Conway [Wed, 12 Jul 2006 02:31:56 +0000 (02:31 +0000)]
Clean up for warning:
  fe-auth.c:573: warning: passing argument 1 of 'free' discards qualifiers
  from pointer target type
pg_krb5_authname used to return a (const char *) to memory allocated by
krb. Somewhere along the lines this was changed so that a copy was
made, returned, and freed instead. However the const modifier was never
removed.

18 years agoApply entab fix from Marko Kreen for these problems:
Alvaro Herrera [Tue, 11 Jul 2006 21:21:59 +0000 (21:21 +0000)]
Apply entab fix from Marko Kreen for these problems:

- halt.c did not include stdlib.h, thus missed exit() prototype
- Makefile ignores BINDIR for install.
- Makefile calls install with user/group args, thus failing for regular user.

While trying it I noticed that the Makefile does not support VPATH builds ...

18 years agoTweak fillfactor code as per my recent proposal. Fix nbtsort.c so that
Tom Lane [Tue, 11 Jul 2006 21:05:57 +0000 (21:05 +0000)]
Tweak fillfactor code as per my recent proposal.  Fix nbtsort.c so that
it can handle small fillfactors for ordinary-sized index entries without
failing on large ones; fix nbtinsert.c to distinguish leaf and nonleaf
pages; change the minimum fillfactor to 10% for all index types.

18 years agoImprove pginclude tests.
Bruce Momjian [Tue, 11 Jul 2006 20:51:25 +0000 (20:51 +0000)]
Improve pginclude tests.

18 years agoImprove pginclude compile flags.
Bruce Momjian [Tue, 11 Jul 2006 20:12:29 +0000 (20:12 +0000)]
Improve pginclude compile flags.

18 years agoUpdate pginclude documentation.
Bruce Momjian [Tue, 11 Jul 2006 19:52:12 +0000 (19:52 +0000)]
Update pginclude documentation.

18 years agoAdd support to GIN for =(anyarray,anyarray) operation
Teodor Sigaev [Tue, 11 Jul 2006 19:49:14 +0000 (19:49 +0000)]
Add support to GIN for =(anyarray,anyarray) operation

18 years agoHave pgrminclude process include files too.
Bruce Momjian [Tue, 11 Jul 2006 19:45:16 +0000 (19:45 +0000)]
Have pgrminclude process include files too.

18 years agoAdd $CFLAGS support to pgrminclude.
Bruce Momjian [Tue, 11 Jul 2006 19:34:34 +0000 (19:34 +0000)]
Add $CFLAGS support to pgrminclude.

18 years agoMove pgrminclude debug code to be more effective.
Bruce Momjian [Tue, 11 Jul 2006 19:31:29 +0000 (19:31 +0000)]
Move pgrminclude debug code to be more effective.

18 years agoImprove shell script wrapping.
Bruce Momjian [Tue, 11 Jul 2006 19:30:05 +0000 (19:30 +0000)]
Improve shell script wrapping.

18 years agoAdd comments to pgrminclude.
Bruce Momjian [Tue, 11 Jul 2006 19:25:41 +0000 (19:25 +0000)]
Add comments to pgrminclude.

18 years agoCorrect the description of the pg_get_viewdef() function. Do some nearby
Neil Conway [Tue, 11 Jul 2006 19:11:26 +0000 (19:11 +0000)]
Correct the description of the pg_get_viewdef() function. Do some nearby
SGML cleanup: sort table entries alphabetically.

18 years agoAlphabetically order reference to include files, "S"-"Z".
Bruce Momjian [Tue, 11 Jul 2006 18:26:11 +0000 (18:26 +0000)]
Alphabetically order reference to include files, "S"-"Z".

18 years agoAlphabetically order reference to include files, "N" - "S".
Bruce Momjian [Tue, 11 Jul 2006 17:26:59 +0000 (17:26 +0000)]
Alphabetically order reference to include files, "N" - "S".

18 years agoAlphabetically order reference to include files, "G" - "M".
Bruce Momjian [Tue, 11 Jul 2006 17:04:13 +0000 (17:04 +0000)]
Alphabetically order reference to include files, "G" - "M".

18 years agoAdd URL of code presentation to developers FAQ.
Bruce Momjian [Tue, 11 Jul 2006 17:02:16 +0000 (17:02 +0000)]
Add URL of code presentation to developers FAQ.

18 years agoGIN improvements
Teodor Sigaev [Tue, 11 Jul 2006 16:55:34 +0000 (16:55 +0000)]
GIN improvements
- Replace sorted array of entries in maintenance_work_mem to binary tree,
  this should improve create performance.
- More precisely calculate allocated memory, eliminate leaks
  with user-defined extractValue()
- Improve wordings in tsearch2

18 years agoSort reference of include files, "A" - "F".
Bruce Momjian [Tue, 11 Jul 2006 16:35:33 +0000 (16:35 +0000)]
Sort reference of include files, "A" - "F".

18 years agoRemove no-longer-needed configure test for krb5_encrypt(), per Jim Gates.
Tom Lane [Tue, 11 Jul 2006 16:14:50 +0000 (16:14 +0000)]
Remove no-longer-needed configure test for krb5_encrypt(), per Jim Gates.

18 years agoFix bug corrupting query in gist consistent function.
Teodor Sigaev [Tue, 11 Jul 2006 16:00:44 +0000 (16:00 +0000)]
Fix bug corrupting query in gist consistent function.
Thank to Mario Weilguni <mweilguni@sime.com> to discover a bug.

18 years agoReverse inclusion order of <ws2tcpip.h> and <winsock2.h>, per Dave Page.
Tom Lane [Tue, 11 Jul 2006 14:25:09 +0000 (14:25 +0000)]
Reverse inclusion order of <ws2tcpip.h> and <winsock2.h>, per Dave Page.

18 years agoAllow each C include file to compile on its own by including any needed
Bruce Momjian [Tue, 11 Jul 2006 13:54:25 +0000 (13:54 +0000)]
Allow each C include file to compile on its own by including any needed
header files.

18 years agoAdd libpq include directory to script.
Bruce Momjian [Tue, 11 Jul 2006 02:01:24 +0000 (02:01 +0000)]
Add libpq include directory to script.

18 years agoFix ALTER TABLE to check pre-existing NOT NULL constraints when rewriting
Tom Lane [Mon, 10 Jul 2006 22:10:39 +0000 (22:10 +0000)]
Fix ALTER TABLE to check pre-existing NOT NULL constraints when rewriting
a table.  Otherwise a USING clause that yields NULL can leave the table
violating its constraint (possibly there are other cases too).  Per report
from Alexander Pravking.

18 years agoAllow /contrib include files to compile on their own.
Bruce Momjian [Mon, 10 Jul 2006 22:06:11 +0000 (22:06 +0000)]
Allow /contrib include files to compile on their own.

18 years agoAdd #include code to prevent multiple inclusion.
Bruce Momjian [Mon, 10 Jul 2006 21:03:58 +0000 (21:03 +0000)]
Add #include code to prevent multiple inclusion.

18 years agoMove pthread-win32.h to /port, modify bcc/msvc makefiles.
Bruce Momjian [Mon, 10 Jul 2006 18:53:29 +0000 (18:53 +0000)]
Move pthread-win32.h to /port, modify bcc/msvc makefiles.

18 years agoRemove a few baby-C macros in fuzzystrmatch. Add a few missing includes.
Bruce Momjian [Mon, 10 Jul 2006 18:40:16 +0000 (18:40 +0000)]
Remove a few baby-C macros in fuzzystrmatch.  Add a few missing includes.

18 years agoImprove compile line for tool.
Bruce Momjian [Mon, 10 Jul 2006 18:39:32 +0000 (18:39 +0000)]
Improve compile line for tool.

18 years agoUpdate usage documention for pginclude
Bruce Momjian [Mon, 10 Jul 2006 17:13:34 +0000 (17:13 +0000)]
Update usage documention for pginclude

18 years agoAdd $CFLAGS handling to pgcompinclude.
Bruce Momjian [Mon, 10 Jul 2006 17:11:43 +0000 (17:11 +0000)]
Add $CFLAGS handling to pgcompinclude.

18 years agoFix 'find' args for pgcompinclude tool.
Bruce Momjian [Mon, 10 Jul 2006 17:08:38 +0000 (17:08 +0000)]
Fix 'find' args for pgcompinclude tool.

18 years agoUpdate schema GRANT USAGE description.
Bruce Momjian [Mon, 10 Jul 2006 16:48:46 +0000 (16:48 +0000)]
Update schema GRANT USAGE description.

18 years agoImprove tool coding.
Bruce Momjian [Mon, 10 Jul 2006 16:45:44 +0000 (16:45 +0000)]
Improve tool coding.

18 years agoImprove vacuum code to track minimum Xids per table instead of per database.
Alvaro Herrera [Mon, 10 Jul 2006 16:20:52 +0000 (16:20 +0000)]
Improve vacuum code to track minimum Xids per table instead of per database.
To this end, add a couple of columns to pg_class, relminxid and relvacuumxid,
based on which we calculate the pg_database columns after each vacuum.

We now force all databases to be vacuumed, even template ones.  A backend
noticing too old a database (meaning pg_database.datminxid is in danger of
falling behind Xid wraparound) will signal the postmaster, which in turn will
start an autovacuum iteration to process the offending database.  In principle
this is only there to cope with frozen (non-connectable) databases without
forcing users to set them to connectable, but it could force regular user
database to go through a database-wide vacuum at any time.  Maybe we should
warn users about this somehow.  Of course the real solution will be to use
autovacuum all the time ;-)

There are some additional improvements we could have in this area: for example
the vacuum code could be smarter about not updating pg_database for each table
when called by autovacuum, and do it only once the whole autovacuum iteration
is done.

I updated the system catalogs documentation, but I didn't modify the
maintenance section.  Also having some regression tests for this would be nice
but it's not really a very straightforward thing to do.

Catalog version bumped due to system catalog changes.

18 years agoImprove script by processing only C files.
Bruce Momjian [Mon, 10 Jul 2006 16:07:24 +0000 (16:07 +0000)]
Improve script by processing only C files.

18 years agoTesting commit stuff
Alvaro Herrera [Mon, 10 Jul 2006 15:50:02 +0000 (15:50 +0000)]
Testing commit stuff

18 years agoTest commit.
Bruce Momjian [Mon, 10 Jul 2006 15:44:31 +0000 (15:44 +0000)]
Test commit.

18 years agoFix typo in comment.
Alvaro Herrera [Sat, 8 Jul 2006 20:45:38 +0000 (20:45 +0000)]
Fix typo in comment.

18 years agoAdd index information to /contrib/pgstattuple:
Bruce Momjian [Thu, 6 Jul 2006 02:18:07 +0000 (02:18 +0000)]
Add index information to /contrib/pgstattuple:

This is an extension of pgstattuple to query information from indexes.
It supports btree, hash and gist. Gin is not supported. It scans only
index pages and does not read corresponding heap tuples. Therefore,
'dead_tuple' means the number of tuples with LP_DELETE flag.

Also, I added an experimental feature for btree indexes. It checks
fragmentation factor of indexes. If an leaf has the right link on the
next adjacent page in the file, it is assumed to be continuous (not
fragmented). It will help us to decide when to REINDEX.

ITAGAKI Takahiro

18 years agoWIN32 fixes:
Bruce Momjian [Thu, 6 Jul 2006 02:12:32 +0000 (02:12 +0000)]
WIN32 fixes:

I take out patch for this as a promise. This is client-build support of
MS-VC6+.

Fix for different getaddrinfo structure ordering on Win32 for IPv6.

Hiroshi Saito

18 years agoBackpatch dbmirror fix for escape handling.
Bruce Momjian [Thu, 6 Jul 2006 01:57:25 +0000 (01:57 +0000)]
Backpatch dbmirror fix for escape handling.

> Upstream confirmed my reply in the last mail in [1]: the complete
> escaping logic in DBMirror.pl is seriously screwew.
>
> [1] http://archives.postgresql.org/pgsql-bugs/2006-06/msg00065.php

I finally found some time to debug this, and I think I found a better
patch than the one you proposed. Mine is still hackish and is still a
workaround around a proper quoting solution, but at least it repairs
the parsing without introducing the \' quoting again.

I consider this a band-aid patch to fix the recent security update.
PostgreSQL gurus, would you consider applying this until a better
solution is found for DBMirror.pl?

Olivier, can you please confirm that the patch works for you, too?

Backpatched to 8.0.X.

Martin Pitt

18 years agoAttached patch is required ot build with the CRT that comes with Visual
Bruce Momjian [Thu, 6 Jul 2006 01:55:51 +0000 (01:55 +0000)]
Attached patch is required ot build with the CRT that comes with Visual
Studio 2005. Basically MS defined errcode in the headers with a typedef,
so we have to #define it out of the way.

While at it, fix a function declaration in plpython that didn't match
the implementation (volatile missing).

Magnus Hagander

18 years agoPlease find attached two patches for documentation and regression tests
Bruce Momjian [Thu, 6 Jul 2006 01:46:38 +0000 (01:46 +0000)]
Please find attached two patches for documentation and regression tests
for the usage of full time zone names.

Joachim Wieland

18 years agoFixed remaining Coverity bugs.
Michael Meskes [Wed, 5 Jul 2006 10:49:56 +0000 (10:49 +0000)]
Fixed remaining Coverity bugs.

18 years agoDocumentation fixes for FILLFACTOR patch. Minor other editorialization.
Tom Lane [Tue, 4 Jul 2006 18:07:24 +0000 (18:07 +0000)]
Documentation fixes for FILLFACTOR patch.  Minor other editorialization.

18 years agoModify:
Bruce Momjian [Tue, 4 Jul 2006 13:22:41 +0000 (13:22 +0000)]
Modify:

<  o -Add PQescapeIdentifier()
>  o Add PQescapeIdentifierConn()

18 years agoRemove libpq's PQescapeIdentifier(), not safe from injection attacks.
Bruce Momjian [Tue, 4 Jul 2006 13:22:15 +0000 (13:22 +0000)]
Remove libpq's PQescapeIdentifier(), not safe from injection attacks.

18 years agoFix typos in comments.
Neil Conway [Tue, 4 Jul 2006 04:35:49 +0000 (04:35 +0000)]
Fix typos in comments.

18 years agoCode review for FILLFACTOR patch. Change WITH grammar as per earlier
Tom Lane [Mon, 3 Jul 2006 22:45:41 +0000 (22:45 +0000)]
Code review for FILLFACTOR patch.  Change WITH grammar as per earlier
discussion (including making def_arg allow reserved words), add missed
opt_definition for UNIQUE case.  Put the reloptions support code in a less
random place (I chose to make a new file access/common/reloptions.c).
Eliminate header inclusion creep.  Make the index options functions safely
user-callable (seems like client apps might like to be able to test validity
of options before trying to make an index).  Reduce overhead for normal case
with no options by allowing rd_options to be NULL.  Fix some unmaintainably
klugy code, including getting rid of Natts_pg_class_fixed at long last.
Some stylistic cleanup too, and pay attention to keeping comments in sync
with code.

Documentation still needs work, though I did fix the omissions in
catalogs.sgml and indexam.sgml.

18 years agoFix broken markup.
Tom Lane [Mon, 3 Jul 2006 16:43:14 +0000 (16:43 +0000)]
Fix broken markup.

18 years agoDo a pass of code review for the ALTER TABLE ADD INHERITS patch. Keep
Neil Conway [Sun, 2 Jul 2006 05:17:26 +0000 (05:17 +0000)]
Do a pass of code review for the ALTER TABLE ADD INHERITS patch. Keep
the read lock we hold on the table's parent relation until commit.
Update equalfuncs.c for the new field in AlterTableCmd. Various
improvements to comments, variable names, and error reporting.

There is room for further improvement here, but this is at least
a step in the right direction.

18 years agoAdd FILLFACTOR to CREATE INDEX.
Bruce Momjian [Sun, 2 Jul 2006 02:23:23 +0000 (02:23 +0000)]
Add FILLFACTOR to CREATE INDEX.

ITAGAKI Takahiro

18 years agoDone:
Bruce Momjian [Sun, 2 Jul 2006 02:22:39 +0000 (02:22 +0000)]
Done:

> * -Add fillfactor to control reserved free space during index creation

18 years agoDone:
Bruce Momjian [Sun, 2 Jul 2006 01:59:46 +0000 (01:59 +0000)]
Done:

<  o Add ALTER TABLE tab ADD/DROP INHERITS parent
<
<    This allows tables to be added/removed from an inheritance
<    hierarchy.  This is particularly useful for table partitioning.
<    http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php
<
>  o -Add ALTER TABLE tab INHERIT / NO INHERIT  parent

18 years agoALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)
Bruce Momjian [Sun, 2 Jul 2006 01:58:36 +0000 (01:58 +0000)]
ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)

Open items:

There were a few tangentially related issues that have come up that I think
are TODOs. I'm likely to tackle one or two of these next so I'm interested in
hearing feedback on them as well.

. Constraints currently do not know anything about inheritance. Tom suggested
  adding a coninhcount and conislocal like attributes have to track their
  inheritance status.

. Foreign key constraints currently do not get copied to new children (and
  therefore my code doesn't verify them). I don't think it would be hard to
  add them and treat them like CHECK constraints.

. No constraints at all are copied to tables defined with LIKE. That makes it
  hard to use LIKE to define new partitions. The standard defines LIKE and
  specifically says it does not copy constraints. But the standard already has
  an option called INCLUDING DEFAULTS; we could always define a non-standard
  extension LIKE table INCLUDING CONSTRAINTS that gives the user the option to
  request a copy including constraints.

. Personally, I think the whole attislocal thing is bunk. The decision about
  whether to drop a column from children tables or not is something that
  should be up to the user and trying to DWIM based on whether there was ever
  a local definition or the column was acquired purely through inheritance is
  hardly ever going to match up with user expectations.

. And of course there's the whole unique and primary key constraint issue. I
  think to get any traction at all on this you have a prerequisite of a real
  partitioned table implementation where the system knows what the partition
  key is so it can recognize when it's a leading part of an index key.

Greg Stark

18 years agoFix oversight in planning for multiple indexscans driven by
Tom Lane [Sat, 1 Jul 2006 22:07:23 +0000 (22:07 +0000)]
Fix oversight in planning for multiple indexscans driven by
ScalarArrayOpExpr index quals: we were estimating the right total
number of rows returned, but treating the index-access part of the
cost as if a single scan were fetching that many consecutive index
tuples.  Actually we should treat it as a multiple indexscan, and
if there are enough of 'em the Mackert-Lohman discount should kick in.

18 years agoRevise the planner's handling of "pseudoconstant" WHERE clauses, that is
Tom Lane [Sat, 1 Jul 2006 18:38:33 +0000 (18:38 +0000)]
Revise the planner's handling of "pseudoconstant" WHERE clauses, that is
clauses containing no variables and no volatile functions.  Such a clause
can be used as a one-time qual in a gating Result plan node, to suppress
plan execution entirely when it is false.  Even when the clause is true,
putting it in a gating node wins by avoiding repeated evaluation of the
clause.  In previous PG releases, query_planner() would do this for
pseudoconstant clauses appearing at the top level of the jointree, but
there was no ability to generate a gating Result deeper in the plan tree.
To fix it, get rid of the special case in query_planner(), and instead
process pseudoconstant clauses through the normal RestrictInfo qual
distribution mechanism.  When a pseudoconstant clause is found attached to
a path node in create_plan(), pull it out and generate a gating Result at
that point.  This requires special-casing pseudoconstants in selectivity
estimation and cost_qual_eval, but on the whole it's pretty clean.
It probably even makes the planner a bit faster than before for the normal
case of no pseudoconstants, since removing pull_constant_clauses saves one
useless traversal of the qual tree.  Per gripe from Phil Frost.

18 years agoFix memory leak introduced in the prior commit, detected by Tom Lane.
Alvaro Herrera [Fri, 30 Jun 2006 16:55:35 +0000 (16:55 +0000)]
Fix memory leak introduced in the prior commit, detected by Tom Lane.