]> granicus.if.org Git - postgresql/log
postgresql
18 years agoUpdate TODO.detail/qsort.
Bruce Momjian [Thu, 2 Mar 2006 19:21:05 +0000 (19:21 +0000)]
Update TODO.detail/qsort.

18 years agoUpdate TODO.detail/qsort.
Bruce Momjian [Thu, 2 Mar 2006 19:20:44 +0000 (19:20 +0000)]
Update TODO.detail/qsort.

18 years agoSignificantly improve ranking:
Teodor Sigaev [Thu, 2 Mar 2006 19:07:19 +0000 (19:07 +0000)]
Significantly improve ranking:
1) rank_cd now use weight of lexemes
2) rank_cd and rank can use any combination of normalization methods:
        no normalization
        normalization by log(length of document)
        -----/------- by length of document
        -----/------- by number of unique word in document
        -----/------- by log(number of unique word in document)
        -----/------- by number of covers (only rank_cd)

Improve cover's search.

TODO: changes in documentation

18 years agoUpdate TODO.detail/qsort.
Bruce Momjian [Thu, 2 Mar 2006 18:20:25 +0000 (18:20 +0000)]
Update TODO.detail/qsort.

18 years agoAdd to TODO.detail for qsort.
Bruce Momjian [Thu, 2 Mar 2006 18:18:13 +0000 (18:18 +0000)]
Add to TODO.detail for qsort.

18 years agoAdd:
Bruce Momjian [Thu, 2 Mar 2006 18:18:00 +0000 (18:18 +0000)]
Add:

> * Improve port/qsort() to handle sorts with 50% unique and 50% duplicate
>   value [qsort]
>
>   This involves choosing better pivot points for the quicksort.

18 years agoFix possible crash at transaction end when a plpgsql function is used and
Tom Lane [Thu, 2 Mar 2006 05:34:12 +0000 (05:34 +0000)]
Fix possible crash at transaction end when a plpgsql function is used and
then modified within the same transaction.  The code was using a linked list
of active PLpgSQL_expr structs, which was OK when it was written because
plpgsql never released any parse data structures for the life of the backend.
But since Neil fixed plpgsql's memory management, elements of the linked list
could be freed, leading to crash when the list is chased.  Per report and test
case from Kris Jurka.

18 years agoFix up pg_dump to emit shell-type definitions at the proper time, to
Tom Lane [Thu, 2 Mar 2006 01:18:26 +0000 (01:18 +0000)]
Fix up pg_dump to emit shell-type definitions at the proper time, to
make use of the recently added ability to create a shell type explicitly.

I also put in place some infrastructure to allow dump/no dump decisions
to be made separately for each database object, rather than the former
hardwired 'dump if in a dumpable schema' policy.  This was needed anyway
for shell types so now seemed a convenient time to do it.  The flexibility
isn't exposed to the user yet, but is ready for future extensions.

18 years agoWoops: also update the alternative "expected" files for contrib/cube's
Neil Conway [Wed, 1 Mar 2006 23:00:56 +0000 (23:00 +0000)]
Woops: also update the alternative "expected" files for contrib/cube's
regression tests to account for the new error message wording. It seems
today is not my day...

18 years agoUpdate text file.
Bruce Momjian [Wed, 1 Mar 2006 22:24:51 +0000 (22:24 +0000)]
Update text file.

18 years agoUpdate patch generation instructions.
Bruce Momjian [Wed, 1 Mar 2006 22:23:14 +0000 (22:23 +0000)]
Update patch generation instructions.

Robert Treat

18 years agoUpdate the expected regression test results to account for the changes to
Neil Conway [Wed, 1 Mar 2006 21:09:32 +0000 (21:09 +0000)]
Update the expected regression test results to account for the changes to
error messages I made yesterday -- thanks to Andrew Dunstan for reporting
this, and my apologies for missing it the first time.

18 years agoUpdate Japanese FAQ, backpatched to 8.1.X.
Bruce Momjian [Wed, 1 Mar 2006 20:31:29 +0000 (20:31 +0000)]
Update Japanese FAQ, backpatched to 8.1.X.

18 years agoAttached is a patch that replaces a bunch of places where StringInfos
Neil Conway [Wed, 1 Mar 2006 06:51:01 +0000 (06:51 +0000)]
Attached is a patch that replaces a bunch of places where StringInfos
are unnecessarily allocated on the heap rather than the stack. If the
StringInfo doesn't outlive the stack frame in which it is created,
there is no need to allocate it on the heap via makeStringInfo() --
stack allocation is faster.  While it's not a big deal unless the
code is in a critical path, I don't see a reason not to save a few
cycles -- using stack allocation is not less readable.

I also cleaned up a bit of code along the way: moved variable
declarations into a more tightly-enclosing scope where possible,
fixed some pointless copying of strings in dblink, etc.

18 years agoThis patch makes the error message strings throughout the backend
Neil Conway [Wed, 1 Mar 2006 06:30:32 +0000 (06:30 +0000)]
This patch makes the error message strings throughout the backend
more compliant with the error message style guide. In particular,
errdetail should begin with a capital letter and end with a period,
whereas errmsg should not. I also fixed a few related issues in
passing, such as fixing the repeated misspelling of "lexeme" in
contrib/tsearch2 (per Tom's suggestion).

18 years agoAdd pg_service.conf documentation for libpq.
Bruce Momjian [Wed, 1 Mar 2006 00:23:21 +0000 (00:23 +0000)]
Add pg_service.conf documentation for libpq.

18 years agoFix typo in comment.
Neil Conway [Tue, 28 Feb 2006 23:38:13 +0000 (23:38 +0000)]
Fix typo in comment.

18 years agoAllow the syntax CREATE TYPE foo, with no parameters, to permit explicit
Tom Lane [Tue, 28 Feb 2006 22:37:27 +0000 (22:37 +0000)]
Allow the syntax CREATE TYPE foo, with no parameters, to permit explicit
creation of a shell type.  This allows a less hacky way of dealing with
the mutual dependency between a datatype and its I/O functions: make a
shell type, then make the functions, then define the datatype fully.
We should fix pg_dump to handle things this way, but this commit just deals
with the backend.

Martijn van Oosterhout, with some corrections by Tom Lane.

18 years agoBack out libpq changes for service --- not ready yet.
Bruce Momjian [Tue, 28 Feb 2006 22:35:35 +0000 (22:35 +0000)]
Back out libpq changes for service --- not ready yet.

18 years agoFix PG_VERSION_NUM for different awk -F handling.
Bruce Momjian [Tue, 28 Feb 2006 22:34:24 +0000 (22:34 +0000)]
Fix PG_VERSION_NUM for different awk -F handling.

18 years agoFix PG_VERSION_NUM awk -F parameter.
Bruce Momjian [Tue, 28 Feb 2006 21:59:19 +0000 (21:59 +0000)]
Fix PG_VERSION_NUM awk -F parameter.

18 years agoTweak the error message emitted when a void-returning PL/Python function
Neil Conway [Tue, 28 Feb 2006 20:56:14 +0000 (20:56 +0000)]
Tweak the error message emitted when a void-returning PL/Python function
does not return None, per suggestion from Tom.

18 years agoAllow PL/Python functions to return void, per gripe from James Robinson
Neil Conway [Tue, 28 Feb 2006 20:03:52 +0000 (20:03 +0000)]
Allow PL/Python functions to return void, per gripe from James Robinson
(I didn't use his patch, however). A void-returning PL/Python function
must return None (from Python), which is translated into a void datum
(and *not* NULL) for Postgres. I also added some regression tests for
this functionality.

18 years agoAdd:
Bruce Momjian [Tue, 28 Feb 2006 19:48:03 +0000 (19:48 +0000)]
Add:

* Split out libpq pgpass and environment documentation sections to make
  it easier for non-developers to find

18 years agoAdd PG_VERSION_NUM for use by 3rd party applications wanting to test the
Bruce Momjian [Tue, 28 Feb 2006 16:41:21 +0000 (16:41 +0000)]
Add PG_VERSION_NUM for use by 3rd party applications wanting to test the
backend version in C using > and < comparisons.

18 years agoTeach nodeSort and nodeMaterial to optimize out unnecessary overhead
Tom Lane [Tue, 28 Feb 2006 05:48:44 +0000 (05:48 +0000)]
Teach nodeSort and nodeMaterial to optimize out unnecessary overhead
when the passed-down eflags indicate they can.
Simon Riggs and Tom Lane

18 years agoExtend the ExecInitNode API so that plan nodes receive a set of flag
Tom Lane [Tue, 28 Feb 2006 04:10:28 +0000 (04:10 +0000)]
Extend the ExecInitNode API so that plan nodes receive a set of flag
bits indicating which optional capabilities can actually be exercised
at runtime.  This will allow Sort and Material nodes, and perhaps later
other nodes, to avoid unnecessary overhead in common cases.
This commit just adds the infrastructure and arranges to pass the correct
flag values down to plan nodes; none of the actual optimizations are here
yet.  I'm committing this separately in case anyone wants to measure the
added overhead.  (It should be negligible.)

Simon Riggs and Tom Lane

18 years agoClean up CREATE FUNCTION syntax usage in contrib and elsewhere, in
Peter Eisentraut [Mon, 27 Feb 2006 16:09:50 +0000 (16:09 +0000)]
Clean up CREATE FUNCTION syntax usage in contrib and elsewhere, in
particular get rid of single quotes around language names and old WITH ()
construct.

18 years agocontrib uninstall scripts
Peter Eisentraut [Mon, 27 Feb 2006 12:54:39 +0000 (12:54 +0000)]
contrib uninstall scripts

by David Fetter

18 years agoAdd mention that tid perhaps someday should be output as a record.
Bruce Momjian [Mon, 27 Feb 2006 01:41:16 +0000 (01:41 +0000)]
Add mention that tid perhaps someday should be output as a record.

18 years agoImprove sorting speed by pre-extracting the first sort-key column of
Tom Lane [Sun, 26 Feb 2006 22:58:12 +0000 (22:58 +0000)]
Improve sorting speed by pre-extracting the first sort-key column of
each tuple, as per my proposal of several days ago.  Also, clean up
sort memory management by keeping all working data in a separate memory
context, and refine the handling of low-memory conditions.

18 years agoFix a few minor typos in comments in PL/Perl.
Neil Conway [Sun, 26 Feb 2006 22:26:39 +0000 (22:26 +0000)]
Fix a few minor typos in comments in PL/Perl.

18 years agoDone:
Bruce Momjian [Sun, 26 Feb 2006 21:22:47 +0000 (21:22 +0000)]
Done:

> * -Add 'tid != tid ' operator for use in corruption recovery

18 years agoImplement the <> operator for the tid type. Original patch from Mark
Neil Conway [Sun, 26 Feb 2006 18:36:23 +0000 (18:36 +0000)]
Implement the <> operator for the tid type. Original patch from Mark
Kirkwood, minor improvements by Neil Conway. The regression tests have
been updated and the catversion has been bumped.

18 years agoMinor SGML work: add some more hyperlinks, where appropriate.
Neil Conway [Sun, 26 Feb 2006 03:20:46 +0000 (03:20 +0000)]
Minor SGML work: add some more hyperlinks, where appropriate.

18 years agoFix typo in comment.
Neil Conway [Sun, 26 Feb 2006 02:23:41 +0000 (02:23 +0000)]
Fix typo in comment.

18 years agoTODO updates:
Neil Conway [Sun, 26 Feb 2006 01:21:57 +0000 (01:21 +0000)]
TODO updates:

- "Add ON COMMIT capability to CREATE TABLE AS ... SELECT" is done

- "Allow PREPARE to automatically determine parameter types" is done

- "Clean up compiler warnings (especially with gcc version 4)" is done:
  AFAIK there are no remaining gcc4 compiler warnings to be fixed.

- Creating rules to do view updates is *not* an easy TODO item

18 years agoRemove ora2pg; now available at <http://www.samse.fr/GPL/ora2pg/>.
Peter Eisentraut [Sat, 25 Feb 2006 19:18:58 +0000 (19:18 +0000)]
Remove ora2pg; now available at <http://www.samse.fr/GPL/ora2pg/>.

18 years agoAdd intervals:
Bruce Momjian [Sat, 25 Feb 2006 16:34:52 +0000 (16:34 +0000)]
Add intervals:

>  o Allow infinite dates and intervals just like infinite timestamps

18 years agoFix computation of sample table size.
Bruce Momjian [Sat, 25 Feb 2006 04:28:54 +0000 (04:28 +0000)]
Fix computation of sample table size.

18 years agoRemove duplicate:
Bruce Momjian [Sat, 25 Feb 2006 03:40:14 +0000 (03:40 +0000)]
Remove duplicate:

<  o %Disallow dropping of an inherited constraint

18 years agoRemove mention of MIN/MAX() not using indexes.
Bruce Momjian [Fri, 24 Feb 2006 14:59:54 +0000 (14:59 +0000)]
Remove mention of MIN/MAX() not using indexes.

18 years agoMention that the archive history file has the wal start/stop file names.
Bruce Momjian [Fri, 24 Feb 2006 14:03:01 +0000 (14:03 +0000)]
Mention that the archive history file has the wal start/stop file names.

18 years agoThe Makefile was invoking perl scripts as ./script.pl. This fails when
Peter Eisentraut [Fri, 24 Feb 2006 13:25:44 +0000 (13:25 +0000)]
The Makefile was invoking perl scripts as ./script.pl.  This fails when
the script is not executable as UCS_to_most.pl is in CVS.  It also won't
pick up any custom setting of the perl version/location to use.  This
patch calls perl scripts like $(PERL) $(srcdir)/script.pl.

Kris Jurka

18 years agoMake restricted_exec feature for Windows more robust by using the environment
Andrew Dunstan [Fri, 24 Feb 2006 02:02:41 +0000 (02:02 +0000)]
Make restricted_exec feature for Windows more robust by using the environment
to pass the flag instead of the command line - some implementations of
getopt fail if getopt arguments are present after non-getopt arguments.

18 years agomake initdb -U username work as advertised; back out bogus patch at rev 1.42
Andrew Dunstan [Fri, 24 Feb 2006 00:55:49 +0000 (00:55 +0000)]
make initdb -U username work as advertised; back out bogus patch at rev 1.42
and supply real fix for problem it tried to address.

18 years agoFix vacuumlo to avoid unnecessary use of backslash in search pattern.
Tom Lane [Thu, 23 Feb 2006 22:33:59 +0000 (22:33 +0000)]
Fix vacuumlo to avoid unnecessary use of backslash in search pattern.
Per Michael Fuhr.

18 years agoCleanup the usage of ScanDirection: use the symbolic names for the
Neil Conway [Tue, 21 Feb 2006 23:01:54 +0000 (23:01 +0000)]
Cleanup the usage of ScanDirection: use the symbolic names for the
possible ScanDirection alternatives rather than magic numbers
(-1, 0, 1).  Also, use the ScanDirection macros in a few places
rather than directly checking whether `dir == ForwardScanDirection'
and the like. Per patch from James William Pye. His patch also
changed ScanDirection to be a "char" rather than an enum, which
I haven't applied.

18 years agoFix old pg_dump oversight: default values for domains really need to be dumped
Tom Lane [Tue, 21 Feb 2006 18:01:32 +0000 (18:01 +0000)]
Fix old pg_dump oversight: default values for domains really need to be dumped
by decompiling the typdefaultbin expression, not just printing the typdefault
text which may be out-of-date or assume the wrong schema search path.  (It's
the same hazard as for adbin vs adsrc in column defaults.)  The catalogs.sgml
spec for pg_type implies that the correct procedure is to look to
typdefaultbin first and consider typdefault only if typdefaultbin is NULL.
I made dumping of both domains and base types do that, even though in the
current backend code typdefaultbin is always correct for domains and
typdefault for base types --- might as well try to future-proof it a little.
Per bug report from Alexander Galler.

18 years agoAdjust probe for getaddrinfo to cope with macro-ized definitions, such
Tom Lane [Tue, 21 Feb 2006 06:06:50 +0000 (06:06 +0000)]
Adjust probe for getaddrinfo to cope with macro-ized definitions, such
as Tru64's.  Per previous discussion.

18 years agoFix three Python reference leaks in PLy_traceback(). This would result
Neil Conway [Mon, 20 Feb 2006 20:10:37 +0000 (20:10 +0000)]
Fix three Python reference leaks in PLy_traceback(). This would result
in leaking memory when invoking a PL/Python procedure that raises an
exception. Unfortunately this still leaks memory, but at least the
largest leak has been plugged.

This patch also fixes a reference counting mistake in PLy_modify_tuple()
for 8.0, 8.1 and HEAD: we don't actually own a reference to `platt', so
we shouldn't Py_DECREF() it.

18 years agoFixing and improve compound word support. This changes cannot be applied to
Teodor Sigaev [Mon, 20 Feb 2006 17:51:05 +0000 (17:51 +0000)]
Fixing and improve compound word support. This changes cannot be applied to
previous version iwthout recreating tsvector fields...

Thanks to Alexander Presber <aljoscha@weisshuhn.de> to discover a problem.

18 years agoUpdate obsolete comment.
Tom Lane [Sun, 19 Feb 2006 19:59:53 +0000 (19:59 +0000)]
Update obsolete comment.

18 years agoModify logtape.c so that the initial LogicalTapeSetCreate call only
Tom Lane [Sun, 19 Feb 2006 05:58:36 +0000 (05:58 +0000)]
Modify logtape.c so that the initial LogicalTapeSetCreate call only
allocates the control data.  The per-tape buffers are allocated only
on first use.  This saves memory in situations where tuplesort.c
overestimates the number of tapes needed (ie, there are fewer runs
than tapes).  Also, this makes legitimate the coding in inittapes()
that includes tape buffer space in the maximum-memory calculation:
when inittapes runs, we've already expended the whole allowed memory
on tuple storage, and so we'd better not allocate all the tape buffers
until we've flushed some tuples out of memory.

18 years agoImprove tuplesort.c to support variable merge order. The original coding
Tom Lane [Sun, 19 Feb 2006 05:54:06 +0000 (05:54 +0000)]
Improve tuplesort.c to support variable merge order.  The original coding
with fixed merge order (fixed number of "tapes") was based on obsolete
assumptions, namely that tape drives are expensive.  Since our "tapes"
are really just a couple of buffers, we can have a lot of them given
adequate workspace.  This allows reduction of the number of merge passes
with consequent savings of I/O during large sorts.

Simon Riggs with some rework by Tom Lane

18 years agoAdd TABLESPACE and ON COMMIT clauses to CREATE TABLE AS. ON COMMIT is
Neil Conway [Sun, 19 Feb 2006 00:04:28 +0000 (00:04 +0000)]
Add TABLESPACE and ON COMMIT clauses to CREATE TABLE AS. ON COMMIT is
required by the SQL standard, and TABLESPACE is useful functionality.
Patch from Kris Jurka, minor editorialization by Neil Conway.

18 years agoMinor SGML style police work.
Neil Conway [Sat, 18 Feb 2006 23:14:45 +0000 (23:14 +0000)]
Minor SGML style police work.

18 years ago&apos; is not valid HTML 4.01, so print the plain character instead.
Peter Eisentraut [Sat, 18 Feb 2006 22:54:50 +0000 (22:54 +0000)]
&apos; is not valid HTML 4.01, so print the plain character instead.

18 years agoPatch from Marko Kreen:
Neil Conway [Sat, 18 Feb 2006 20:48:51 +0000 (20:48 +0000)]
Patch from Marko Kreen:

pgcrypto crypt()/md5 and hmac() leak memory when compiled against
OpenSSL as openssl.c digest ->reset will do two DigestInit calls
against a context.  This happened to work with OpenSSL 0.9.6
but not with 0.9.7+.

Reason for the messy code was that I tried to avoid creating
wrapper structure to transport algorithm info and tried to use
OpenSSL context for it.  The fix is to create wrapper structure.

It also uses newer digest API to avoid memory allocations
on reset with newer OpenSSLs.

Thanks to Daniel Blaisdell for reporting it.

18 years agoAdd support for Windows codepages 1253, 1254, 1255, and 1257 and clean
Peter Eisentraut [Sat, 18 Feb 2006 16:15:23 +0000 (16:15 +0000)]
Add support for Windows codepages 1253, 1254, 1255, and 1257 and clean
up a bunch of the support utilities.

In src/backend/utils/mb/Unicode remove nearly duplicate copies of the
UCS_to_XXX perl script and replace with one version to handle all generic
files.  Update the Makefile so that it knows about all the map files.
This produces a slight difference in some of the map files, using a
uniform naming convention and not mapping the null character.

In src/backend/utils/mb/conversion_procs create a master utf8<->win
codepage function like the ISO 8859 versions instead of having a separate
handler for each conversion.

There is an externally visible change in the name of the win1258 to utf8
conversion.  According to the documentation notes, it was named
incorrectly and this changes it to a standard name.

Running the Unicode mapping perl scripts has shown some additional mapping
changes in koi8r and iso8859-7.

18 years agoMark unescape_single_char() "static": as far as I can see this function
Neil Conway [Sat, 18 Feb 2006 01:44:35 +0000 (01:44 +0000)]
Mark unescape_single_char() "static": as far as I can see this function
is only used by scan.l/scan.c

18 years agoFix typo in comment.
Neil Conway [Fri, 17 Feb 2006 03:29:02 +0000 (03:29 +0000)]
Fix typo in comment.

18 years agoChange MemSet to use long instead of int32, for better performance on
Peter Eisentraut [Thu, 16 Feb 2006 23:23:50 +0000 (23:23 +0000)]
Change MemSet to use long instead of int32, for better performance on
64-bit platforms.

by ITAGAKI Takahiro

18 years agoPut the first section of a chapter in its own chunk.
Peter Eisentraut [Thu, 16 Feb 2006 01:03:48 +0000 (01:03 +0000)]
Put the first section of a chapter in its own chunk.

18 years agoSince we only use libld on AIX, don't include it in LIBS on any other
Tom Lane [Wed, 15 Feb 2006 17:23:10 +0000 (17:23 +0000)]
Since we only use libld on AIX, don't include it in LIBS on any other
platforms (it does exist on HPUX, for one).  We could probably even make
this a test for specific AIX versions, but I don't know which ones need it.

18 years agoRepair --single-transaction patch so it handles blobs correctly.
Tom Lane [Tue, 14 Feb 2006 23:30:43 +0000 (23:30 +0000)]
Repair --single-transaction patch so it handles blobs correctly.
Simon Riggs

18 years agoMove btbulkdelete's vacuum_delay_point() call to a place in the loop where
Tom Lane [Tue, 14 Feb 2006 17:20:01 +0000 (17:20 +0000)]
Move btbulkdelete's vacuum_delay_point() call to a place in the loop where
we are not holding a buffer content lock; where it was, InterruptHoldoffCount
is positive and so we'd not respond to cancel signals as intended.  Also
add missing vacuum_delay_point() call in btvacuumcleanup.  This should fix
complaint from Evgeny Gridasov about failure to respond to SIGINT/SIGTERM
in a timely fashion (bug #2257).

18 years agoAdd some missing vacuum_delay_point calls in GIST vacuuming.
Tom Lane [Tue, 14 Feb 2006 16:39:32 +0000 (16:39 +0000)]
Add some missing vacuum_delay_point calls in GIST vacuuming.

18 years agoAllocSetStats should probably be using unsigned format to show space totals.
Tom Lane [Tue, 14 Feb 2006 15:34:46 +0000 (15:34 +0000)]
AllocSetStats should probably be using unsigned format to show space totals.

18 years agoNeed a DLLIMPORT for MaxFSMPages, per buildfarm failure on snake.
Tom Lane [Tue, 14 Feb 2006 15:03:59 +0000 (15:03 +0000)]
Need a DLLIMPORT for MaxFSMPages, per buildfarm failure on snake.

18 years agoDocument that GRANT on a table does not affect sequence permissions,
Bruce Momjian [Tue, 14 Feb 2006 03:32:14 +0000 (03:32 +0000)]
Document that GRANT on a table does not affect sequence permissions,
inclusing SERIAL column sequences.

18 years agoDocument that xact commit/abort stats are collected if any stat variable
Bruce Momjian [Tue, 14 Feb 2006 02:03:44 +0000 (02:03 +0000)]
Document that xact commit/abort stats are collected if any stat variable
is set.

18 years agoAdd positive defense against trying to connect when the connection
Tom Lane [Mon, 13 Feb 2006 22:33:57 +0000 (22:33 +0000)]
Add positive defense against trying to connect when the connection
option state hasn't been fully set up.  This is possible via PQreset()
and might occur in other code paths too, so a state flag seems the
most robust solution.  Per report from Arturs Zoldners.

18 years agoIMHO, --single-transaction should wrap *all* the commands in BEGIN/COMMIT,
Tom Lane [Mon, 13 Feb 2006 21:30:19 +0000 (21:30 +0000)]
IMHO, --single-transaction should wrap *all* the commands in BEGIN/COMMIT,
not just some of them.

18 years agoImprove documentation of --single-transaction option: fix markup, and
Tom Lane [Mon, 13 Feb 2006 21:29:08 +0000 (21:29 +0000)]
Improve documentation of --single-transaction option: fix markup, and
don't promise more than the code actually delivers.

18 years agoPlace function names in first column for consistency.
Bruce Momjian [Mon, 13 Feb 2006 17:09:25 +0000 (17:09 +0000)]
Place function names in first column for consistency.

18 years agoFix qual_is_pushdown_safe to not try to push down quals involving a whole-row
Tom Lane [Mon, 13 Feb 2006 16:22:23 +0000 (16:22 +0000)]
Fix qual_is_pushdown_safe to not try to push down quals involving a whole-row
Var referencing the subselect output.  While this case could possibly be made
to work, it seems not worth expending effort on.  Per report from Magnus
Naeslund(f).

18 years agoFix build failure when not USE_READLINE. Sergey E. Koposov
Tom Lane [Mon, 13 Feb 2006 14:57:15 +0000 (14:57 +0000)]
Fix build failure when not USE_READLINE.  Sergey E. Koposov

18 years agoAdd:
Bruce Momjian [Mon, 13 Feb 2006 03:55:02 +0000 (03:55 +0000)]
Add:

>
>  o Allow pg_hba.conf to specify host names along with IP addresses
>
>    Host name lookup could occur when the postmaster reads the
>    pg_hba.conf file, or when the backend starts.  Another
>    solution would be to reverse lookup the connection IP and
>    check that hostname against the host names in pg_hba.conf.
>    We could also then check that the host name maps to the IP
>    address.

18 years agoRevert because C locale uses "" for thousands_sep, meaning "n/a", while
Bruce Momjian [Sun, 12 Feb 2006 23:48:23 +0000 (23:48 +0000)]
Revert because C locale uses "" for thousands_sep, meaning "n/a", while
French uses "" for "don't want".  Seems we have to keep the existing
behavior.

18 years agoUpdate release notes.
Tom Lane [Sun, 12 Feb 2006 22:35:26 +0000 (22:35 +0000)]
Update release notes.

18 years agoFix bug that allowed any logged-in user to SET ROLE to any other database user
Tom Lane [Sun, 12 Feb 2006 22:32:43 +0000 (22:32 +0000)]
Fix bug that allowed any logged-in user to SET ROLE to any other database user
id (CVE-2006-0553).  Also fix related bug in SET SESSION AUTHORIZATION that
allows unprivileged users to crash the server, if it has been compiled with
Asserts enabled.  The escalation-of-privilege risk exists only in 8.1.0-8.1.2.
However, the Assert-crash risk exists in all releases back to 7.3.
Thanks to Akio Ishida for reporting this problem.

18 years agoThrow a warning rather than an error on invalid character from UTF8 to
Bruce Momjian [Sun, 12 Feb 2006 21:15:19 +0000 (21:15 +0000)]
Throw a warning rather than an error on invalid character from UTF8 to
Latin1, like we do for other Latin encodings.

18 years agoFix broken markup.
Tom Lane [Sun, 12 Feb 2006 20:31:58 +0000 (20:31 +0000)]
Fix broken markup.

18 years agoBack out patch pending review.
Bruce Momjian [Sun, 12 Feb 2006 20:08:29 +0000 (20:08 +0000)]
Back out patch pending review.

---------------------------------------------------------------------------

>   I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
>   bug.  I plan on testing it under 8.1.2 at work tommorow with
>   mod_auth_krb5, etc, and expect it'll work there.  Assuming all goes
>   well and unless someone objects I'll forward the patch to -patches.
>   It'd be great to have this fixed as it'll allow us to use Kerberos to
>   authenticate to phppgadmin and other web-based tools which use
>   Postgres.

  While playing with this patch under 8.1.2 at home I discovered a
  mistake in how I manually applied one of the hunks to fe-auth.c.
  Basically, the base code had changed and so the patch needed to be
  modified slightly.  This is because the code no longer either has a
  freeable pointer under 'name' or has 'name' as NULL.

  The attached patch correctly frees the string from pg_krb5_authname
  (where it had been strdup'd) if and only if pg_krb5_authname returned
  a string (as opposed to falling through and having name be set using
  name = pw->name;).  Also added a comment to this effect.
  Please review.

Stephen Frost (sfrost@snowman.net) wrote:

18 years ago> I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
Bruce Momjian [Sun, 12 Feb 2006 20:04:42 +0000 (20:04 +0000)]
>   I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
>   bug.  I plan on testing it under 8.1.2 at work tommorow with
>   mod_auth_krb5, etc, and expect it'll work there.  Assuming all goes
>   well and unless someone objects I'll forward the patch to -patches.
>   It'd be great to have this fixed as it'll allow us to use Kerberos to
>   authenticate to phppgadmin and other web-based tools which use
>   Postgres.

  While playing with this patch under 8.1.2 at home I discovered a
  mistake in how I manually applied one of the hunks to fe-auth.c.
  Basically, the base code had changed and so the patch needed to be
  modified slightly.  This is because the code no longer either has a
  freeable pointer under 'name' or has 'name' as NULL.

  The attached patch correctly frees the string from pg_krb5_authname
  (where it had been strdup'd) if and only if pg_krb5_authname returned
  a string (as opposed to falling through and having name be set using
  name = pw->name;).  Also added a comment to this effect.
  Please review.

Stephen Frost (sfrost@snowman.net) wrote:

18 years agoSupport "" for thousands separator and plus sign in to_char(), per
Bruce Momjian [Sun, 12 Feb 2006 19:52:06 +0000 (19:52 +0000)]
Support "" for thousands separator and plus sign in to_char(), per
report from French Debian user.  psql already handles "" fine.

18 years agoRemove LEFT part of JOIN to pg_roles because of optimizer limitation:
Bruce Momjian [Sun, 12 Feb 2006 19:31:14 +0000 (19:31 +0000)]
Remove LEFT part of JOIN to pg_roles because of optimizer limitation:

> True, but they're not being used where you'd expect. This seems to be
> something to do with the fact that it's not pg_authid which is being
> accessed, but rather the view pg_roles.

I looked into this and it seems the problem is that the view doesn't
get flattened into the main query because of the has_nullable_targetlist
limitation in prepjointree.c.  That's triggered because pg_roles has
        '********'::text AS rolpassword
which isn't nullable, meaning it would produce wrong behavior if
referenced above the outer join.

Ultimately, the reason this is a problem is that the planner deals only
in simple Vars while processing joins; it doesn't want to think about
expressions.  I'm starting to think that it may be time to fix this,
because I've run into several related restrictions lately, but it seems
like a nontrivial project.

In the meantime, reducing the LEFT JOIN to pg_roles to a JOIN as per
Peter's suggestion seems like the best short-term workaround.

18 years agoUpdate README file.
Bruce Momjian [Sun, 12 Feb 2006 19:24:24 +0000 (19:24 +0000)]
Update README file.

Joshua D. Drake

18 years agoNot done:
Bruce Momjian [Sun, 12 Feb 2006 19:13:19 +0000 (19:13 +0000)]
Not done:

>  o %Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME

18 years agoRevert patch becaues of locking concerns:
Bruce Momjian [Sun, 12 Feb 2006 19:11:01 +0000 (19:11 +0000)]
Revert patch becaues of locking concerns:

Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME

Joachim Wieland

18 years ago> Actually, if you submit a patch that says either "SCROLL is the
Bruce Momjian [Sun, 12 Feb 2006 19:02:15 +0000 (19:02 +0000)]
> Actually, if you submit a patch that says either "SCROLL is the
default"
> or "NO SCROLL is the default", it will be rejected as incorrect.  The
> reason is that the default behavior is different from either of these,
> as is explained in the NOTES section.

Ok, so *that's* where the bit about the query plan being simple enough.
Based on that, ISTM that it should be premissable for us to decide that
a cursor requiring a sort isn't "simple enough" to support SCROLL.

In any case, here's a patch that makes the non-standard behavior easier
for people to find.

Jim C. Nasby

18 years agoFix release item ordering.
Bruce Momjian [Sun, 12 Feb 2006 18:13:10 +0000 (18:13 +0000)]
Fix release item ordering.

18 years agoUpdate back branch release notes.
Bruce Momjian [Sun, 12 Feb 2006 17:57:37 +0000 (17:57 +0000)]
Update back branch release notes.

18 years agoFix release markup.
Bruce Momjian [Sun, 12 Feb 2006 17:27:33 +0000 (17:27 +0000)]
Fix release markup.

18 years agoUpdate release checlist.
Bruce Momjian [Sun, 12 Feb 2006 17:23:31 +0000 (17:23 +0000)]
Update release checlist.

18 years agoUpdate for 8.1.3.
Bruce Momjian [Sun, 12 Feb 2006 17:15:57 +0000 (17:15 +0000)]
Update for 8.1.3.

18 years agoUpdate release notes for 8.1.3.
Bruce Momjian [Sun, 12 Feb 2006 17:10:47 +0000 (17:10 +0000)]
Update release notes for 8.1.3.

18 years agoImprove tab completion macro for default keywords.
Bruce Momjian [Sun, 12 Feb 2006 15:25:04 +0000 (15:25 +0000)]
Improve tab completion macro for default keywords.

18 years agoWhen performing a parallel build (make -j N) with ./configure
Bruce Momjian [Sun, 12 Feb 2006 07:29:36 +0000 (07:29 +0000)]
When performing a parallel build (make -j N) with ./configure
--enable-depend it often tries to create the .deps directory twice and
bails out when it already exists due to a race condition of if doesn't
exist, then create.  This patch prevents mkdir from returning an error.

Kris Jurka