]> granicus.if.org Git - postgresql/log
postgresql
18 years agoFAQ_AIX in 8.1.0 contains outdated information about how to deal with
Bruce Momjian [Thu, 8 Dec 2005 21:36:50 +0000 (21:36 +0000)]
FAQ_AIX in 8.1.0 contains outdated information about how to deal with
postgres problems due to readline.  The attached patch replaces that
section of it with better ways of handling the problem.

Seneca Cunningham

18 years agothere's a paragraph in the ALTER TABLE reference page that reads:
Bruce Momjian [Thu, 8 Dec 2005 21:35:36 +0000 (21:35 +0000)]
there's a paragraph in the ALTER TABLE reference page that reads:

DROP CONSTRAINT

    This form drops constraints on a table. Currently, constraints on tables
    are not required to have unique names, so there may be more than one
    constraint matching the specified name. All matching constraints will be
    dropped.

To my knowledge, it is no longer possible to create constraints with the
same name for the same relation. When you create a constraint and specify
the same name explictly, an error is raised. Implicit constraint creation
won't choose an existing name either and up to now you could not rename a
constraint. Renaming works with the patch I sent in a few hours ago but this
patch as well won't allow constraints with identical names on the same
relation.

The attached patch thus removes the note in the docs.

Joachim Wieland

18 years ago> 1) I'm proposing a patch to do the DROP FUNCTION argument tab completion.
Bruce Momjian [Thu, 8 Dec 2005 21:33:58 +0000 (21:33 +0000)]
> 1) I'm proposing a patch to do the DROP FUNCTION argument tab completion.
> Now, the arguments of the drop function can be tab completed. for example
>
> drop function strpos (
> <press tab>
> drop FUNCTION strpos (text, text)
>
> or:
>
> wsdb=# drop FUNCTION length (
> bit)        bytea)      character)  lseg)       path)       text)
> <press c>
> wsdb# DROP FUNCTION length ( character)
>
> I think that this patch should be rather useful. At it least I hate
> always to type all the arguments of the dropped functions.
>
> 2) Also some fixes applied for the
> CREATE INDEX syntax
>
> now the parenthesises are inserted by tab pressing.
> suppose I have the table q3c:

Sergey E. Koposov

18 years agoPut [] around default value for port number.
Peter Eisentraut [Thu, 8 Dec 2005 21:29:25 +0000 (21:29 +0000)]
Put [] around default value for port number.

18 years agoRemove empty heading row in error table.
Bruce Momjian [Thu, 8 Dec 2005 21:23:09 +0000 (21:23 +0000)]
Remove empty heading row in error table.

18 years agoAdd missing translation marker
Peter Eisentraut [Thu, 8 Dec 2005 21:18:22 +0000 (21:18 +0000)]
Add missing translation marker

18 years agoAdd "Constant" column to error code table.
Bruce Momjian [Thu, 8 Dec 2005 21:01:52 +0000 (21:01 +0000)]
Add "Constant" column to error code table.

Also, better mark section headings.

kdio@uenf.br

18 years agoDocumentation fix: s/event_object_name/event_object_table/g
Peter Eisentraut [Thu, 8 Dec 2005 20:48:10 +0000 (20:48 +0000)]
Documentation fix: s/event_object_name/event_object_table/g

18 years agoFix bgwriter's failure to release buffer pins and open files after an
Tom Lane [Thu, 8 Dec 2005 19:19:22 +0000 (19:19 +0000)]
Fix bgwriter's failure to release buffer pins and open files after an
error.  This probably explains bug #2099 and could also account for
mysterious VACUUM hangups.

18 years agoI recently received the Debian bug report below about missing iconv
Bruce Momjian [Thu, 8 Dec 2005 18:04:33 +0000 (18:04 +0000)]
I recently received the Debian bug report below about missing iconv
support for the dbf2pg contrib module.

The submitter created a patch which replaces the silent ignoring of -F
(when iconv support is disabled) with a meaningful warning.

Martin Pitt

18 years agoAdd documentation about the inability of plpsql to use parameter names
Bruce Momjian [Thu, 8 Dec 2005 18:02:04 +0000 (18:02 +0000)]
Add documentation about the inability of plpsql to use parameter names
that are the same as column names used in the function.

18 years agoDisble some Win32-specific code in win32-client-only builds:
Bruce Momjian [Thu, 8 Dec 2005 17:52:11 +0000 (17:52 +0000)]
Disble some Win32-specific code in win32-client-only builds:

I have the problem, when building by MS-VC6.
An error occurs in the 8.1.0 present source codes.

nmake -f win32.mak
..\..\port\getaddrinfo.c(244) : error C2065: 'WSA_NOT_ENOUGH_MEMORY'
..\..\port\getaddrinfo.c(342) : error C2065: 'WSATYPE_NOT_FOUND'

This is used by winsock2.h. However, Construction of a windows base is
winsock.h.
Then, Since MinGW has special environment, this is right. but, it is not
found in VC6.
Furthermore, in getaddrinfo.c, IPV6-API is used by
LoadLibraryA("ws2_32");
Referring to of dll the external memory generates this violation by VC6
specification.

I considered whether the whole should have been converted into winsock2.
However, Now, DLL of MinGW creation operates wonderfully as it is.
That's right, it has pliability by replacement of simple DLL.
Then, I propose the system using winsock(non IPV6) in construction of
VC6.

Hiroshi Saito

18 years agoFix thinko in comment.
Tom Lane [Thu, 8 Dec 2005 15:38:29 +0000 (15:38 +0000)]
Fix thinko in comment.

18 years agoImprove tag recognizing
Teodor Sigaev [Thu, 8 Dec 2005 09:11:19 +0000 (09:11 +0000)]
Improve tag recognizing

18 years agoPush the responsibility for handling ignore_killed_tuples down into
Tom Lane [Wed, 7 Dec 2005 19:37:53 +0000 (19:37 +0000)]
Push the responsibility for handling ignore_killed_tuples down into
_bt_checkkeys(), instead of checking it in the top-level nbtree.c routines
as formerly.  This saves a little bit of loop overhead, but more importantly
it lets us skip performing the index key comparisons for dead tuples.

18 years agoA couple of tiny performance hacks in _bt_step(). Remove PageIsEmpty
Tom Lane [Wed, 7 Dec 2005 18:03:48 +0000 (18:03 +0000)]
A couple of tiny performance hacks in _bt_step().  Remove PageIsEmpty
checks, which were once needed because PageGetMaxOffsetNumber would
fail on empty pages, but are now just redundant.  Also, don't set up
local variables that aren't needed in the fast path --- most of the
time, we only need to advance offnum and not step across a page boundary.
Motivated by noticing _bt_step at the top of OProfile profile for a
pgbench run.

18 years agoUpdate:
Bruce Momjian [Wed, 7 Dec 2005 17:29:14 +0000 (17:29 +0000)]
Update:

<   at initdb time or optionally later.
>   at initdb time or optionally later.  Consider O_SYNC when
>   O_DIRECT exists.

18 years agoFix incorrect SPI example, per Yoshihisa Nakano.
Tom Lane [Wed, 7 Dec 2005 15:39:25 +0000 (15:39 +0000)]
Fix incorrect SPI example, per Yoshihisa Nakano.

18 years agoFix a couple of lingering references to POSTQUEL query syntax, per Simon.
Tom Lane [Wed, 7 Dec 2005 15:27:42 +0000 (15:27 +0000)]
Fix a couple of lingering references to POSTQUEL query syntax, per Simon.

18 years agoSpell "explicitly" correctly, per Simon.
Tom Lane [Wed, 7 Dec 2005 15:20:56 +0000 (15:20 +0000)]
Spell "explicitly" correctly, per Simon.

18 years agoImprove lazy vacuum wording.
Bruce Momjian [Wed, 7 Dec 2005 14:35:45 +0000 (14:35 +0000)]
Improve lazy vacuum wording.

18 years agoFix small memory leak
Teodor Sigaev [Wed, 7 Dec 2005 13:30:15 +0000 (13:30 +0000)]
Fix small memory leak

18 years agoImprove word parser.
Teodor Sigaev [Wed, 7 Dec 2005 13:12:54 +0000 (13:12 +0000)]
Improve word parser.
 - allow ~ in filenames
 - -8.2.1 now is '-' and '8.2.1' instead of '-8.2' '.' '3'
 - '.text' now is not a file

18 years agoClarify vacuum lazy can shrink a file under certain circumstances.
Bruce Momjian [Wed, 7 Dec 2005 05:35:53 +0000 (05:35 +0000)]
Clarify vacuum lazy can shrink a file under certain circumstances.

18 years agoGet rid of slru.c's hardwired insistence on a fixed number of slots per
Tom Lane [Tue, 6 Dec 2005 23:08:34 +0000 (23:08 +0000)]
Get rid of slru.c's hardwired insistence on a fixed number of slots per
SLRU area.  The number of slots is still a compile-time constant (someday
we might want to change that), but at least it's a different constant for
each SLRU area.  Increase number of subtrans buffers to 32 based on
experimentation with a heavily subtrans-bashing test case, and increase
number of multixact member buffers to 16, since it's obviously silly for
it not to be at least twice the number of multixact offset buffers.

18 years agoUpdate iconv wording, per Peter.
Bruce Momjian [Tue, 6 Dec 2005 21:00:53 +0000 (21:00 +0000)]
Update iconv wording, per Peter.

18 years agoAdd:
Bruce Momjian [Tue, 6 Dec 2005 20:47:05 +0000 (20:47 +0000)]
Add:

> * Add GUC variable to run a command on database panic or
>   smart/fast/immediate shutdown

18 years agoHighlight diff idea for iconv.
Bruce Momjian [Tue, 6 Dec 2005 20:25:42 +0000 (20:25 +0000)]
Highlight diff idea for iconv.

18 years agoiconv uses UTF-8, not UTF8.
Bruce Momjian [Tue, 6 Dec 2005 20:19:17 +0000 (20:19 +0000)]
iconv uses UTF-8, not UTF8.

18 years agoDocument method of removing invalid UTF8 escape sequences from dump
Bruce Momjian [Tue, 6 Dec 2005 19:26:43 +0000 (19:26 +0000)]
Document method of removing invalid UTF8 escape sequences from dump
file.  Backpatch to 8.1.X.

Paul Lindner

18 years agoDocumentation cleanup mention:
Bruce Momjian [Tue, 6 Dec 2005 18:45:18 +0000 (18:45 +0000)]
Documentation cleanup mention:

non-ascii                       convert to & escapes

18 years agoSince my name has a non-ascii-letter in it, it's often spelled wrong. In
Bruce Momjian [Tue, 6 Dec 2005 18:43:26 +0000 (18:43 +0000)]
Since my name has a non-ascii-letter in it, it's often spelled wrong. In
the latest release notes there is a latin1 character that shouldn't be
there so I made a patch to fix that. This patch also fixes some old
entries that uses o instead of &ouml; (which is also wrong but not as
bad as including a latin1 character in the sgml file).

Dennis Bj?rklund

18 years agoAdd documentation on the use of *printf() macros and libintl.
Bruce Momjian [Tue, 6 Dec 2005 18:35:10 +0000 (18:35 +0000)]
Add documentation on the use of *printf() macros and libintl.

Backpatch to 8.1.X.

18 years agoFix stupid bug with sizeof
Teodor Sigaev [Tue, 6 Dec 2005 18:22:33 +0000 (18:22 +0000)]
Fix stupid bug with sizeof

18 years agoArrange for read-only accesses to SLRU page buffers to take only a shared
Tom Lane [Tue, 6 Dec 2005 18:10:06 +0000 (18:10 +0000)]
Arrange for read-only accesses to SLRU page buffers to take only a shared
lock, not exclusive, if the desired page is already in memory.  This can
be demonstrated to be a significant win on the pg_subtrans cache when there
is a large window of open transactions.  It should be useful for pg_clog
as well.  I didn't try to make GetMultiXactIdMembers() use the code, as
that would have taken some restructuring, and what with the local cache
for multixact contents it probably wouldn't really make a difference.
Per my recent proposal.

18 years agoIn a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfo
Tom Lane [Tue, 6 Dec 2005 16:50:36 +0000 (16:50 +0000)]
In a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfo
clauses even if it's an outer join.  This is a corner case since such
clauses could only arise from weird OUTER JOIN ON conditions, but worth
fixing.  Per example from Ron at cheapcomplexdevices.com.

18 years agoecpg/pgtypeslib seems to need snprintf.c pulled in, too.
Tom Lane [Tue, 6 Dec 2005 05:26:21 +0000 (05:26 +0000)]
ecpg/pgtypeslib seems to need snprintf.c pulled in, too.

18 years agoPut undef's before extern declarations that need 'em, per Andrew Dunstan.
Tom Lane [Tue, 6 Dec 2005 05:13:46 +0000 (05:13 +0000)]
Put undef's before extern declarations that need 'em, per Andrew Dunstan.

18 years agoAdd comment on why pg *printf functions are used unconditionally on
Bruce Momjian [Tue, 6 Dec 2005 04:53:02 +0000 (04:53 +0000)]
Add comment on why pg *printf functions are used unconditionally on
Win32.

Backpatch to 8.1.X.

18 years agoMake Win32 build use our port/snprintf.c routines, instead of depending
Tom Lane [Tue, 6 Dec 2005 02:29:04 +0000 (02:29 +0000)]
Make Win32 build use our port/snprintf.c routines, instead of depending
on libintl which may or may not provide what we need.  Make a few marginal
cleanups to ensure this works.  Andrew Dunstan and Tom Lane.

18 years agoDocument return-value conventions used by this implementation, per
Tom Lane [Mon, 5 Dec 2005 21:57:00 +0000 (21:57 +0000)]
Document return-value conventions used by this implementation, per
suggestion from Bruce.

18 years agoImprove word parser.
Teodor Sigaev [Mon, 5 Dec 2005 18:13:22 +0000 (18:13 +0000)]
Improve word parser.
 - improve file and path recognition
 - fix misspeling
 - improve tag recognition

18 years agoAdd regression test to see if the min/max values of int8 convert correctly.
Tom Lane [Mon, 5 Dec 2005 04:13:38 +0000 (04:13 +0000)]
Add regression test to see if the min/max values of int8 convert correctly.

18 years agoFix a rather sizable number of problems in our homegrown snprintf, such as
Tom Lane [Mon, 5 Dec 2005 02:39:38 +0000 (02:39 +0000)]
Fix a rather sizable number of problems in our homegrown snprintf, such as
incorrect implementation of argument reordering, arbitrary limit of output
size for sprintf and fprintf, willingness to access more bytes than "%.Ns"
specification allows, wrong formatting of LONGLONG_MIN, various field-padding
bugs and omissions.  I believe it now accurately implements a subset of
the Single Unix Spec requirements (remaining unimplemented features are
documented, too).  Bruce Momjian and Tom Lane.

18 years agoUpdate:
Bruce Momjian [Sun, 4 Dec 2005 21:16:51 +0000 (21:16 +0000)]
Update:

<    Win32 API, and we have to make sure MinGW handles it.
>    Win32 API, and we have to make sure MinGW handles it.  Another
>    option is to wait for the MinGW project to fix it, or use the
>    code from the LibGW32C project as a guide.

18 years agoAdd:
Bruce Momjian [Sun, 4 Dec 2005 04:33:18 +0000 (04:33 +0000)]
Add:

>  o Add long file support for binary pg_dump output
>
>    While Win32 supports 64-bit files, the MinGW API does not,
>    meaning we have to build an fseeko replacement on top of the
>    Win32 API, and we have to make sure MinGW handles it.

18 years agoAdd:
Bruce Momjian [Sun, 4 Dec 2005 04:14:43 +0000 (04:14 +0000)]
Add:

> * Add SPI_gettypmod() to return the typemod for a TupleDesc

18 years agoAdd for autovacuum:
Bruce Momjian [Sun, 4 Dec 2005 04:02:55 +0000 (04:02 +0000)]
Add for autovacuum:

>  o Consider logging activity either to the logs or a system view

18 years agoAdd configure flag to allow libedit to be preferred over GNU readline:
Bruce Momjian [Sun, 4 Dec 2005 03:52:29 +0000 (03:52 +0000)]
Add configure flag to allow libedit to be preferred over GNU readline:

   --with-libedit-preferred  prefer BSD Libedit over GNU Readline

18 years agoTreat procedural languages as owned by the bootstrap superuser, rather
Tom Lane [Sat, 3 Dec 2005 21:06:18 +0000 (21:06 +0000)]
Treat procedural languages as owned by the bootstrap superuser, rather
than owned by nobody.  This results in cleaner display of language ACLs,
since the backend's aclchk.c uses the same convention.  AFAICS there is
no practical difference but it's nice to avoid emitting SET SESSION
AUTHORIZATION; also this will make it easier to transition pg_dump to
some future version in which we may include an explicit ownership column
in pg_language.  Per gripe from David Begley.

18 years agoFix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX.
Tom Lane [Sat, 3 Dec 2005 20:16:31 +0000 (20:16 +0000)]
Fix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX.
Per example from Dirk Pirschel.

18 years agoAllow to_char(interval) and to_char(time) to use AM/PM specifications.
Bruce Momjian [Sat, 3 Dec 2005 16:45:06 +0000 (16:45 +0000)]
Allow to_char(interval) and to_char(time) to use AM/PM specifications.
Map them to a single day, so '30 hours' is 'AM'.

Have to_char(interval) and to_char(time) use "HH", "HH12" as 12-hour
intervals, rather than bypass and print the full interval hours.  This
is neeeded because to_char(time) is mapped to interval in this function.
Intervals should use "HH24", and document suggestion.

Allow "D" format specifiers for interval/time.

18 years agoItem removed:
Bruce Momjian [Sat, 3 Dec 2005 13:03:41 +0000 (13:03 +0000)]
Item removed:

< * Add function to return the thread safety status of libpq and ecpg

18 years agoTweak indexscan machinery to avoid taking an AccessShareLock on an index
Tom Lane [Sat, 3 Dec 2005 05:51:03 +0000 (05:51 +0000)]
Tweak indexscan machinery to avoid taking an AccessShareLock on an index
if we already have a stronger lock due to the index's table being the
update target table of the query.  Same optimization I applied earlier
at the table level.  There doesn't seem to be much interest in the more
radical idea of not locking indexes at all, so do what we can ...

18 years agoFix obsolete description of -h option, per Andreas Schmidt.
Tom Lane [Fri, 2 Dec 2005 23:13:46 +0000 (23:13 +0000)]
Fix obsolete description of -h option, per Andreas Schmidt.

18 years agoFix obsolete comment.
Tom Lane [Fri, 2 Dec 2005 22:06:07 +0000 (22:06 +0000)]
Fix obsolete comment.

18 years agoAdjust scan plan nodes to avoid getting an extra AccessShareLock on a
Tom Lane [Fri, 2 Dec 2005 20:03:42 +0000 (20:03 +0000)]
Adjust scan plan nodes to avoid getting an extra AccessShareLock on a
relation if it's already been locked by execMain.c as either a result
relation or a FOR UPDATE/SHARE relation.  This avoids an extra trip to
the shared lock manager state.  Per my suggestion yesterday.

18 years agoRemove idea of increasing NUMERIC length:
Bruce Momjian [Fri, 2 Dec 2005 17:39:44 +0000 (17:39 +0000)]
Remove idea of increasing NUMERIC length:

< * Change NUMERIC to enforce the maximum precision, and increase it
> * Change NUMERIC to enforce the maximum precision

18 years agoAdded special handling of CONNECTION variable that is used by ECPG instead of given...
Michael Meskes [Fri, 2 Dec 2005 15:03:57 +0000 (15:03 +0000)]
Added special handling of CONNECTION variable that is used by ECPG instead of given to the backend.

18 years agoAdd calcluation of bitmap storage capacity.
Bruce Momjian [Fri, 2 Dec 2005 04:28:19 +0000 (04:28 +0000)]
Add calcluation of bitmap storage capacity.

<   be cleared when a heap tuple is expired.  Another idea is to maintain
<   a bitmap of heap pages where all rows are visible to all backends,
<   and allow index lookups to reference that bitmap to avoid heap
<   lookups, perhaps the same bitmap we might add someday to determine
<   which heap pages need vacuuming.
>   be cleared when a heap tuple is expired.
>
>   Another idea is to maintain a bitmap of heap pages where all rows
>   are visible to all backends, and allow index lookups to reference
>   that bitmap to avoid heap lookups, perhaps the same bitmap we might
>   add someday to determine which heap pages need vacuuming.  Frequently
>   accessed bitmaps would have to be stored in shared memory.  One 8k
>   page of bitmaps could track 512MB of heap pages.

18 years agoRemove comment on errno=0 lines, but add mention to port/strtol.c function.
Bruce Momjian [Fri, 2 Dec 2005 02:49:11 +0000 (02:49 +0000)]
Remove comment on errno=0 lines, but add mention to port/strtol.c function.

18 years agoRearrange code in ExecInitBitmapHeapScan so that we don't initialize the
Tom Lane [Fri, 2 Dec 2005 01:29:55 +0000 (01:29 +0000)]
Rearrange code in ExecInitBitmapHeapScan so that we don't initialize the
child plan nodes until we have acquired lock on the relation to scan.
The relative order of initialization of plan nodes isn't real important in
other cases, but it's critical here because one is supposed to lock a
relation before its indexes, not vice versa.  The original coding was at
least vulnerable to deadlock against DROP INDEX, and perhaps worse things.

18 years agoAdd all heap page rows visible bitmap idea:
Bruce Momjian [Thu, 1 Dec 2005 22:30:43 +0000 (22:30 +0000)]
Add all heap page rows visible bitmap idea:

<   the heap.  One way to allow this is to set a bit to index tuples
>   the heap.  One way to allow this is to set a bit on index tuples
<   be cleared when a heap tuple is expired.
<
>   be cleared when a heap tuple is expired.  Another idea is to maintain
>   a bitmap of heap pages where all rows are visible to all backends,
>   and allow index lookups to reference that bitmap to avoid heap
>   lookups, perhaps the same bitmap we might add someday to determine
>   which heap pages need vacuuming.

18 years agoAdd MERGE TODO.detail:
Bruce Momjian [Thu, 1 Dec 2005 22:12:35 +0000 (22:12 +0000)]
Add MERGE TODO.detail:

>   [merge]
378a380
>   [merge]

18 years agoAdd merge TODO.detail item.
Bruce Momjian [Thu, 1 Dec 2005 22:12:06 +0000 (22:12 +0000)]
Add merge TODO.detail item.

18 years agoSplit out MERGE and REPLACE/UPSERT items.
Bruce Momjian [Thu, 1 Dec 2005 22:07:59 +0000 (22:07 +0000)]
Split out MERGE and REPLACE/UPSERT items.

< * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules,
<   triggers?)
> * Add SQL-standard MERGE command, typically used to merge two tables
>
>   This is similar to UPDATE, then for unmatched rows, INSERT.
>   Whether concurrent access allows modifications which could cause
>   row loss is implementation independent.
>
> * Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT

18 years agoAdd comment to pg_atoi.
Bruce Momjian [Thu, 1 Dec 2005 21:16:13 +0000 (21:16 +0000)]
Add comment to pg_atoi.

18 years agoComment "errno = 0" in a more generic way.
Bruce Momjian [Thu, 1 Dec 2005 21:11:58 +0000 (21:11 +0000)]
Comment "errno = 0" in a more generic way.

18 years agoRetry in FileRead and FileWrite if Windows returns ERROR_NO_SYSTEM_RESOURCES.
Tom Lane [Thu, 1 Dec 2005 20:24:18 +0000 (20:24 +0000)]
Retry in FileRead and FileWrite if Windows returns ERROR_NO_SYSTEM_RESOURCES.
Also add a retry for Unixen returning EINTR, which hasn't been reported
as an issue but at least theoretically could be.  Patch by Qingqing Zhou,
some minor adjustments by me.

18 years agoAdd comments about why errno is set to zero.
Bruce Momjian [Thu, 1 Dec 2005 20:06:37 +0000 (20:06 +0000)]
Add comments about why errno is set to zero.

18 years agoCheck for overflow in strtol() while parsing datetime inputs.
Tom Lane [Thu, 1 Dec 2005 17:56:34 +0000 (17:56 +0000)]
Check for overflow in strtol() while parsing datetime inputs.
Michael Fuhr.

18 years agoFix typo in PL/PgSQL documentation, per Chris KL.
Neil Conway [Thu, 1 Dec 2005 10:36:57 +0000 (10:36 +0000)]
Fix typo in PL/PgSQL documentation, per Chris KL.

18 years agoRefactor some bits in aclchk.c in order to reduce code duplication.
Alvaro Herrera [Thu, 1 Dec 2005 02:03:01 +0000 (02:03 +0000)]
Refactor some bits in aclchk.c in order to reduce code duplication.

18 years agoRearrange code in pg_atoi() to avoid assuming that isspace() cannot
Tom Lane [Wed, 30 Nov 2005 23:10:08 +0000 (23:10 +0000)]
Rearrange code in pg_atoi() to avoid assuming that isspace() cannot
change errno.  No reported bugs here, but why take a chance?

18 years agoTweak choose_bitmap_and() heuristics in the light of example provided in bug
Tom Lane [Wed, 30 Nov 2005 17:10:19 +0000 (17:10 +0000)]
Tweak choose_bitmap_and() heuristics in the light of example provided in bug
#2075: consider an index redundant if any of its index conditions were already
used, rather than if all of them were.  Also, make the selectivity comparison
a bit fuzzy, so that very small differences in estimated selectivities don't
skew the results.

18 years ago- Made several variables "const char *" instead of "char *" as proposed by Qingqing...
Michael Meskes [Wed, 30 Nov 2005 12:49:49 +0000 (12:49 +0000)]
- Made several variables "const char *" instead of "char *" as proposed by Qingqing Zhou <zhouqq@cs.toronto.edu>.
- Replaced all strdup() calls by ECPGstrdup().
- Set ecpg library version to 5.2.
- Set ecpg version to 4.2.1.

18 years agoUpdate for 8.2:
Bruce Momjian [Tue, 29 Nov 2005 02:02:40 +0000 (02:02 +0000)]
Update for 8.2:

< #A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.#
> #A hyphen, "-", marks changes that will appear in the upcoming 8.2 release.#

18 years agoItem removed, looping always required:
Bruce Momjian [Tue, 29 Nov 2005 02:01:52 +0000 (02:01 +0000)]
Item removed, looping always required:

< * Remove Win32 rename/unlink looping if unnecessary

18 years agoDocument PGXS' REGRESS feature.
Alvaro Herrera [Tue, 29 Nov 2005 01:46:54 +0000 (01:46 +0000)]
Document PGXS' REGRESS feature.

18 years agoFix EXPLAIN and EXECUTE commands to pass portal parameters through to
Tom Lane [Tue, 29 Nov 2005 01:25:50 +0000 (01:25 +0000)]
Fix EXPLAIN and EXECUTE commands to pass portal parameters through to
the executor.  This allows, for example, JDBC clients to use '?' bound
parameters in these commands.  Per gripe from Virag Saksena.

18 years agoTweak hash join code to use an additional heuristic for deciding whether
Tom Lane [Mon, 28 Nov 2005 23:46:03 +0000 (23:46 +0000)]
Tweak hash join code to use an additional heuristic for deciding whether
it's worth probing the outer relation for emptiness before building the
hash table.  To wit, if we're rescanning a join previously performed,
remember whether we found it nonempty the previous time, and don't bother
with the probe if it was nonempty.  This buys back the performance lost
in examples like Mario Weilguni's.

18 years agoImprove documentation for COALESCE and NULLIF. Add references for NVL
Bruce Momjian [Mon, 28 Nov 2005 23:18:48 +0000 (23:18 +0000)]
Improve documentation for COALESCE and NULLIF.  Add references for NVL
and IFNULL.

Backpatch to 8.1.X.

18 years agoCome to think of it, the backend doesn't use -lz either.
Tom Lane [Mon, 28 Nov 2005 22:43:30 +0000 (22:43 +0000)]
Come to think of it, the backend doesn't use -lz either.

18 years agoAdd:
Bruce Momjian [Mon, 28 Nov 2005 22:21:58 +0000 (22:21 +0000)]
Add:

> * Allow COMMENT ON to accept an expression rather than just a string

18 years agoDon't link readline and supporting libraries into the backend.
Tom Lane [Mon, 28 Nov 2005 22:06:39 +0000 (22:06 +0000)]
Don't link readline and supporting libraries into the backend.
After a proposal by Martijn van Oosterhout (not exactly his patch though).

18 years agoInstall a more future-proof fix for the snapshot-unset bug just found.
Alvaro Herrera [Mon, 28 Nov 2005 17:23:11 +0000 (17:23 +0000)]
Install a more future-proof fix for the snapshot-unset bug just found.
Per suggestion from Tom Lane.

18 years agoRecent changes to allow hash join to exit early given empty input from
Tom Lane [Mon, 28 Nov 2005 17:14:23 +0000 (17:14 +0000)]
Recent changes to allow hash join to exit early given empty input from
one child or the other had a problem: they did not leave the node in a
state that ExecReScanHashJoin would understand.  In particular it would
tend to fail to reset the child plans when needed.  Per report from
Mario Weilguni.

18 years agoSet a snapshot before running analyze on a single table, to avoid a
Alvaro Herrera [Mon, 28 Nov 2005 13:35:09 +0000 (13:35 +0000)]
Set a snapshot before running analyze on a single table, to avoid a
crash when analyzing tables with expressional indexes.

Per report from Frank van Vugt.

18 years agoInstall pg_regress where PGXS' "make installcheck" can find it.
Alvaro Herrera [Mon, 28 Nov 2005 12:03:56 +0000 (12:03 +0000)]
Install pg_regress where PGXS' "make installcheck" can find it.

18 years agoChange the parser to translate "foo [NOT] IN (expression-list)" to
Tom Lane [Mon, 28 Nov 2005 04:35:32 +0000 (04:35 +0000)]
Change the parser to translate "foo [NOT] IN (expression-list)" to
ScalarArrayOpExpr when possible, that is, whenever there is an array type
for the values of the expression list.  This completes the project I've
been working on to improve the speed of index searches with long IN lists,
as per discussion back in mid-October.

I did not force initdb, but until you do one you will see failures in the
"rules" regression test, because some of the standard system views use IN
and their compiled formats have changed.

18 years agoTeach predtest.c how to reason about ScalarArrayOpExpr clauses as though
Tom Lane [Sun, 27 Nov 2005 22:15:42 +0000 (22:15 +0000)]
Teach predtest.c how to reason about ScalarArrayOpExpr clauses as though
they were broken-out AND or OR lists.  The least grotty way to do this
seemed to be to set up a general mechanism for handling nodes as though
they were ANDs or ORs.  There's no other immediate use for it, but perhaps
we might want to use the mechanism someday for things like BETWEEN
SYMMETRIC.

18 years agoAdd missing semicolon. Recent versions of bison seem to choke on this,
Tom Lane [Sun, 27 Nov 2005 01:22:23 +0000 (01:22 +0000)]
Add missing semicolon.  Recent versions of bison seem to choke on this,
per buildfarm report from platypus, even though older versions let it pass.

18 years agoTeach tid-scan code to make use of "ctid = ANY (array)" clauses, so that
Tom Lane [Sat, 26 Nov 2005 22:14:57 +0000 (22:14 +0000)]
Teach tid-scan code to make use of "ctid = ANY (array)" clauses, so that
"ctid IN (list)" will still work after we convert IN to ScalarArrayOpExpr.
Make some minor efficiency improvements while at it, such as ensuring that
multiple TIDs are fetched in physical heap order.  And fix EXPLAIN so that
it shows what's really going on for a TID scan.

18 years agoTeach push_nots() how to negate a ScalarArrayOpExpr. In passing, save
Tom Lane [Sat, 26 Nov 2005 18:07:40 +0000 (18:07 +0000)]
Teach push_nots() how to negate a ScalarArrayOpExpr.  In passing, save
a palloc or two in the OpExpr case.

18 years agoSome marginal additional hacking to shave a few more cycles off
Tom Lane [Sat, 26 Nov 2005 05:03:06 +0000 (05:03 +0000)]
Some marginal additional hacking to shave a few more cycles off
heapgettup.

18 years agoChange seqscan logic so that we check visibility of all tuples on a page
Tom Lane [Sat, 26 Nov 2005 03:03:07 +0000 (03:03 +0000)]
Change seqscan logic so that we check visibility of all tuples on a page
when we first read the page, rather than checking them one at a time.
This allows us to take and release the buffer content lock just once
per page, instead of once per tuple.  Since it's a shared lock the
contention penalty for holding the lock longer shouldn't be too bad.
We can safely do this only when using an MVCC snapshot; else the
assumption that visibility won't change over time is uncool.  Therefore
there are now two code paths depending on the snapshot type.  I also
made the same change in nodeBitmapHeapscan.c, where it can be done always
because we only support MVCC snapshots for bitmap scans anyway.
Also make some incidental cleanups in the APIs of these functions.
Per a suggestion from Qingqing Zhou.

18 years agoTeach planner and executor to handle ScalarArrayOpExpr as an indexable
Tom Lane [Fri, 25 Nov 2005 19:47:50 +0000 (19:47 +0000)]
Teach planner and executor to handle ScalarArrayOpExpr as an indexable
qualification when the underlying operator is indexable and useOr is true.
That is, indexkey op ANY (ARRAY[...]) is effectively translated into an
OR combination of one indexscan for each array element.  This only works
for bitmap index scans, of course, since regular indexscans no longer
support OR'ing of scans.  There are still some loose ends to clean up
before changing 'x IN (list)' to translate as a ScalarArrayOpExpr;
for instance predtest.c ought to be taught about it.  But this gets the
basic functionality in place.

18 years agoImprove ExecStoreTuple to be smarter about replacing the contents of
Tom Lane [Fri, 25 Nov 2005 04:24:48 +0000 (04:24 +0000)]
Improve ExecStoreTuple to be smarter about replacing the contents of
a TupleTableSlot: instead of calling ExecClearTuple, inline the needed
operations, so that we can avoid redundant steps.  In particular, when
the old and new tuples are both on the same disk page, avoid releasing
and re-acquiring the buffer pin --- this saves work in both the bufmgr
and ResourceOwner modules.  To make this improvement actually useful,
partially revert a change I made on 2004-04-21 that caused SeqNext
et al to call ExecClearTuple before ExecStoreTuple.  The motivation
for that, to avoid grabbing the BufMgrLock separately for releasing
the old buffer and grabbing the new one, no longer applies.  My
profiling says that this saves about 5% of the CPU time for an
all-in-memory seqscan.

18 years agoAdd space.
Bruce Momjian [Thu, 24 Nov 2005 04:40:27 +0000 (04:40 +0000)]
Add space.

18 years agoAdd item:
Bruce Momjian [Thu, 24 Nov 2005 04:28:40 +0000 (04:28 +0000)]
Add item:

<
>  o Add -f to pg_dumpall