]> granicus.if.org Git - postgresql/log
postgresql
21 years agoGROUP BY got confused if there were multiple equal() GROUP BY items.
Tom Lane [Thu, 13 Mar 2003 16:58:35 +0000 (16:58 +0000)]
GROUP BY got confused if there were multiple equal() GROUP BY items.
This bug has been latent since 7.0 or maybe even further back, but it
was only exposed when parse_clause.c stopped suppressing duplicate
items (see its rev 1.96 of 18-Aug-02).

21 years agoBig editing for consistent content and presentation.
Peter Eisentraut [Thu, 13 Mar 2003 01:30:29 +0000 (01:30 +0000)]
Big editing for consistent content and presentation.

21 years agoAdd explicit tests for division by zero to all user-accessible integer
Tom Lane [Tue, 11 Mar 2003 21:01:33 +0000 (21:01 +0000)]
Add explicit tests for division by zero to all user-accessible integer
division and modulo functions, to avoid problems on OS X (which fails to
trap 0 divide at all) and Windows (which traps it in some bizarre
nonstandard fashion).  Standardize on 'division by zero' as the one true
spelling of this error message.  Add regression tests as suggested by
Neil Conway.

21 years agoImplement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options
Tom Lane [Tue, 11 Mar 2003 19:40:24 +0000 (19:40 +0000)]
Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options
for FETCH and MOVE.

21 years agoThis patch fixes a bunch of spelling mistakes in comments throughout the
Tom Lane [Mon, 10 Mar 2003 22:28:22 +0000 (22:28 +0000)]
This patch fixes a bunch of spelling mistakes in comments throughout the
PostgreSQL source code.

Neil Conway

21 years agoUpdate German FAQ
Bruce Momjian [Mon, 10 Mar 2003 16:06:41 +0000 (16:06 +0000)]
Update German FAQ

Ian Barwick

21 years agoCleanup up psql \connect and \pset pager setting display, Dennis
Bruce Momjian [Mon, 10 Mar 2003 15:46:03 +0000 (15:46 +0000)]
Cleanup up psql \connect and \pset pager setting display, Dennis
Bj?rklund.

21 years agoRestructure parsetree representation of DECLARE CURSOR: now it's a
Tom Lane [Mon, 10 Mar 2003 03:53:52 +0000 (03:53 +0000)]
Restructure parsetree representation of DECLARE CURSOR: now it's a
utility statement (DeclareCursorStmt) with a SELECT query dangling from
it, rather than a SELECT query with a few unusual fields in it.  Add
code to determine whether a planned query can safely be run backwards.
If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run
backwards by adding a Materialize plan node if it can't.  Without SCROLL,
you get an error if you try to fetch backwards from a cursor that can't
handle it.  (There is still some discussion about what the exact
behavior should be, but this is necessary infrastructure in any case.)
Along the way, make EXPLAIN DECLARE CURSOR work.

21 years agopg_restore failed to restore blobs if -X disable-triggers is specified.
Tom Lane [Sun, 9 Mar 2003 19:38:52 +0000 (19:38 +0000)]
pg_restore failed to restore blobs if -X disable-triggers is specified.

21 years agotuplestore_donestoring() isn't needed anymore, but provide a no-op
Tom Lane [Sun, 9 Mar 2003 03:34:10 +0000 (03:34 +0000)]
tuplestore_donestoring() isn't needed anymore, but provide a no-op
macro definition so as not to create compatibility problems.

21 years agoRevise tuplestore and nodeMaterial so that we don't have to read the
Tom Lane [Sun, 9 Mar 2003 02:19:13 +0000 (02:19 +0000)]
Revise tuplestore and nodeMaterial so that we don't have to read the
entire contents of the subplan into the tuplestore before we can return
any tuples.  Instead, the tuplestore holds what we've already read, and
we fetch additional rows from the subplan as needed.  Random access to
the previously-read rows works with the tuplestore, and doesn't affect
the state of the partially-read subplan.  This is a step towards fixing
the problems with cursors over complex queries --- we don't want to
stick in Materialize nodes if they'll prevent quick startup for a cursor.

21 years agoApplied patch from Paul Sorenson to correctly handle schema names in updateable resul...
Barry Lind [Sat, 8 Mar 2003 06:06:55 +0000 (06:06 +0000)]
Applied patch from Paul Sorenson to correctly handle schema names in updateable result sets.
Applied patch from Rich Cullingford to fix a NPE in the absolute() method of result set.
Applied patch from Tarjei Skorgenes to fix a NPE when logging is enabled.

 Modified Files:
  jdbc/org/postgresql/core/BaseResultSet.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
  jdbc/org/postgresql/jdbc2/Array.java
  jdbc/org/postgresql/util/PSQLException.java

21 years agoNot done:
Bruce Momjian [Sat, 8 Mar 2003 04:23:05 +0000 (04:23 +0000)]
Not done:

> * Precompile SQL functions to avoid overhead (Neil)

21 years agoReorder items and mark some as completed.
Bruce Momjian [Sat, 8 Mar 2003 03:03:49 +0000 (03:03 +0000)]
Reorder items and mark some as completed.

> * Allow savepoints / nested transactions [transactions] (Bruce)
215d210
<  o Add GUC parameter to control the maximum number of rewrite cycles
227,228c222
<  o Allow parameters to be specified by name and type during
<    definition
>  o Allow parameters to be specified by name and type during definition
304,305d297
< * Overhaul bufmgr/lockmgr/transaction manager
< * Allow savepoints / nested transactions [transactions] (Bruce)
386,387c378,379
< * Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
<   that are too frequent
> * -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
>   that are too frequent (Bruce)
390d381
< * Allow pg_xlog to be moved without symlinks
406c397
< * Precompile SQL functions to avoid overhead (Neil)
> * -Precompile SQL functions to avoid overhead (Neil)

21 years agoCleanup and reorganization.
Barry Lind [Fri, 7 Mar 2003 18:39:46 +0000 (18:39 +0000)]
Cleanup and reorganization.
  - Added a private api layer (org.postgresql.core.Base*)
  - Cleaned up public api (org.postgresql.PG*)
  - Added consistent headers and copywrite info
  - Removed deprecated Serialize functionality
  - Cleaned up imports
  - Moved some files to more appropriate locations

 Modified Files:
  jdbc/org/postgresql/Driver.java.in
  jdbc/org/postgresql/PGConnection.java
  jdbc/org/postgresql/PGNotification.java
  jdbc/org/postgresql/PGStatement.java
  jdbc/org/postgresql/core/Encoding.java
  jdbc/org/postgresql/core/Notification.java
  jdbc/org/postgresql/core/QueryExecutor.java
  jdbc/org/postgresql/core/StartupPacket.java
  jdbc/org/postgresql/fastpath/Fastpath.java
  jdbc/org/postgresql/fastpath/FastpathArg.java
  jdbc/org/postgresql/geometric/PGbox.java
  jdbc/org/postgresql/geometric/PGcircle.java
  jdbc/org/postgresql/geometric/PGline.java
  jdbc/org/postgresql/geometric/PGlseg.java
  jdbc/org/postgresql/geometric/PGpath.java
  jdbc/org/postgresql/geometric/PGpoint.java
  jdbc/org/postgresql/geometric/PGpolygon.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
  jdbc/org/postgresql/jdbc1/Jdbc1CallableStatement.java
  jdbc/org/postgresql/jdbc1/Jdbc1Connection.java
  jdbc/org/postgresql/jdbc1/Jdbc1DatabaseMetaData.java
  jdbc/org/postgresql/jdbc1/Jdbc1PreparedStatement.java
  jdbc/org/postgresql/jdbc1/Jdbc1ResultSet.java
  jdbc/org/postgresql/jdbc1/Jdbc1ResultSetMetaData.java
  jdbc/org/postgresql/jdbc1/Jdbc1Statement.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
  jdbc/org/postgresql/jdbc2/Array.java
  jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java
  jdbc/org/postgresql/jdbc2/Jdbc2Connection.java
  jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java
  jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java
  jdbc/org/postgresql/jdbc2/Jdbc2ResultSetMetaData.java
  jdbc/org/postgresql/jdbc2/Jdbc2Statement.java
  jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java
  jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java
  jdbc/org/postgresql/jdbc3/Jdbc3Connection.java
  jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java
  jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java
  jdbc/org/postgresql/jdbc3/Jdbc3ResultSetMetaData.java
  jdbc/org/postgresql/jdbc3/Jdbc3Statement.java
  jdbc/org/postgresql/largeobject/BlobInputStream.java
  jdbc/org/postgresql/largeobject/BlobOutputStream.java
  jdbc/org/postgresql/largeobject/LargeObject.java
  jdbc/org/postgresql/largeobject/LargeObjectManager.java
  jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
  jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java
  jdbc/org/postgresql/util/MD5Digest.java
  jdbc/org/postgresql/util/MessageTranslator.java
  jdbc/org/postgresql/util/PGbytea.java
  jdbc/org/postgresql/util/PGmoney.java
  jdbc/org/postgresql/util/PGobject.java
  jdbc/org/postgresql/util/PGtokenizer.java
  jdbc/org/postgresql/util/PSQLException.java
  jdbc/org/postgresql/util/UnixCrypt.java
 Added Files:
  jdbc/org/postgresql/core/BaseConnection.java
  jdbc/org/postgresql/core/BaseResultSet.java
  jdbc/org/postgresql/core/BaseStatement.java
  jdbc/org/postgresql/core/Field.java
  jdbc/org/postgresql/core/PGStream.java
 Removed Files:
  jdbc/org/postgresql/Field.java
  jdbc/org/postgresql/PG_Stream.java
  jdbc/org/postgresql/test/jdbc2/SerializeObject.java
  jdbc/org/postgresql/test/jdbc2/SerializeTest.java
  jdbc/org/postgresql/util/Serialize.java

21 years agoAdd to mmap emails.
Bruce Momjian [Fri, 7 Mar 2003 17:43:26 +0000 (17:43 +0000)]
Add to mmap emails.

21 years agoUpdate FAQ.
Bruce Momjian [Fri, 7 Mar 2003 05:49:10 +0000 (05:49 +0000)]
Update FAQ.

21 years agoUpdate Russian FAQ, from Viktor Vislobokov.
Bruce Momjian [Fri, 7 Mar 2003 05:46:51 +0000 (05:46 +0000)]
Update Russian FAQ, from Viktor Vislobokov.

21 years agoTweak dependency code to suppress NOTICEs generated by new method for
Tom Lane [Thu, 6 Mar 2003 22:54:49 +0000 (22:54 +0000)]
Tweak dependency code to suppress NOTICEs generated by new method for
cleaning out temp namespaces.  We don't really want the server log to be
cluttered with 'Drop cascades to table foo' every time someone uses a
temp table...

21 years agoAdd missing --globals-only (long form of -g).
Tom Lane [Thu, 6 Mar 2003 21:45:52 +0000 (21:45 +0000)]
Add missing --globals-only (long form of -g).

21 years agoAdd:
Bruce Momjian [Thu, 6 Mar 2003 19:53:07 +0000 (19:53 +0000)]
Add:

>  o Report server version number, database encoding, client encoding

21 years agoAdd for protocol changes:
Bruce Momjian [Thu, 6 Mar 2003 19:52:20 +0000 (19:52 +0000)]
Add for protocol changes:

>  o Report server version number

21 years agoRemove:
Bruce Momjian [Thu, 6 Mar 2003 18:39:18 +0000 (18:39 +0000)]
Remove:

< * Require DROP COLUMN CASCADE for a column that is part of a multi-column index

21 years agoDone:
Bruce Momjian [Thu, 6 Mar 2003 18:05:00 +0000 (18:05 +0000)]
Done:

> * -Modify regression tests to prevent failures do to minor numeric rounding

21 years agoUse poll(2) in preference to select(2), if available. This solves
Tom Lane [Thu, 6 Mar 2003 03:16:55 +0000 (03:16 +0000)]
Use poll(2) in preference to select(2), if available.  This solves
problems in applications that may have a large number of files open,
such that libpq's socket number exceeds the range supported by fd_set.
From Chris Brown.

21 years agoAdd:
Bruce Momjian [Thu, 6 Mar 2003 02:29:44 +0000 (02:29 +0000)]
Add:

>  o Have ALTER TABLE rename SERIAL sequences

21 years agoAdd code to dump contents of free space map into $PGDATA/global/pg_fsm.cache
Tom Lane [Thu, 6 Mar 2003 00:04:27 +0000 (00:04 +0000)]
Add code to dump contents of free space map into $PGDATA/global/pg_fsm.cache
at database shutdown, and then load it again at database startup.  This
preserves our hard-won knowledge of free space across restarts (given
an orderly shutdown, that is).

21 years agoTurns out new IN implementation has got some problems in an UPDATE or
Tom Lane [Wed, 5 Mar 2003 20:01:04 +0000 (20:01 +0000)]
Turns out new IN implementation has got some problems in an UPDATE or
DELETE with inherited target table.  Fix it; add a regression test.
Also, correct ancient misspelling of 'inherited'.

21 years agoRepair bug reported by Laurent Perez: bad plan generated when UPDATE or
Tom Lane [Wed, 5 Mar 2003 18:38:14 +0000 (18:38 +0000)]
Repair bug reported by Laurent Perez: bad plan generated when UPDATE or
DELETE of an inheritance tree references another inherited relation.
This bug has been latent since 7.1; I'm still not quite sure why 7.1 and
7.2 don't manifest it (at least, they don't crash on a simple test case).

21 years agoReimplement free-space-map management as per recent discussions.
Tom Lane [Tue, 4 Mar 2003 21:51:22 +0000 (21:51 +0000)]
Reimplement free-space-map management as per recent discussions.
Adjustable threshold is gone in favor of keeping track of total requested
page storage and doling out proportional fractions to each relation
(with a minimum amount per relation, and some quantization of the results
to avoid thrashing with small changes in page counts).  Provide special-
case code for indexes so as not to waste space storing useless page
free space counts.  Restructure internal data storage to be a flat array
instead of list-of-chunks; this may cost a little more work in data
copying when reorganizing, but allows binary search to be used during
lookup_fsm_page_entry().

21 years agoPrevent clustering on incomplete indexes: partial indexes are verboten,
Tom Lane [Mon, 3 Mar 2003 04:37:37 +0000 (04:37 +0000)]
Prevent clustering on incomplete indexes: partial indexes are verboten,
as are non-amindexnulls AMs unless first column is attnotnull.

21 years agoImprove description of geometric operators.
Tom Lane [Mon, 3 Mar 2003 03:31:23 +0000 (03:31 +0000)]
Improve description of geometric operators.

21 years agoCorrect/edit comments for geometric operators. No change except to
Tom Lane [Mon, 3 Mar 2003 03:30:46 +0000 (03:30 +0000)]
Correct/edit comments for geometric operators.  No change except to
pg_description entries, so I did not force initdb.

21 years agoBe smart about outer-join qualifications that mention only one side of
Tom Lane [Sun, 2 Mar 2003 23:46:34 +0000 (23:46 +0000)]
Be smart about outer-join qualifications that mention only one side of
the join, per recent discussion on pgsql-sql.  Not clear that this will
come up often in real queries, but it's not any more expensive to do it
right, so we may as well do it right.

21 years agoRepair memory leak introduced by recent change to make SPI return a
Tom Lane [Sun, 2 Mar 2003 20:45:47 +0000 (20:45 +0000)]
Repair memory leak introduced by recent change to make SPI return a
tupdesc even with zero tuples returned: some plpgsql routines assumed
they didn't need to do SPI_freetuptable() after retrieving no tuples.

21 years agoChange EXTRACT(EPOCH FROM timestamp) so that a timestamp without time zone
Tom Lane [Thu, 27 Feb 2003 21:36:58 +0000 (21:36 +0000)]
Change EXTRACT(EPOCH FROM timestamp) so that a timestamp without time zone
is assumed to be in local time, not GMT.  This improves consistency with
other operations, which all assume local timezone when it matters.  Per
bug #897.

21 years agoup build number to 202 for a new development build
Barry Lind [Thu, 27 Feb 2003 05:58:08 +0000 (05:58 +0000)]
up build number to 202 for a new development build

 Modified Files:
  jdbc/org/postgresql/Driver.java.in

21 years agoA little cleanup. Removing an unnecessary method.
Barry Lind [Thu, 27 Feb 2003 05:56:27 +0000 (05:56 +0000)]
A little cleanup.  Removing an unnecessary method.

Modified Files:
jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java

21 years agoAdded support for SSL in the jdbc driver
Barry Lind [Thu, 27 Feb 2003 05:45:44 +0000 (05:45 +0000)]
Added support for SSL in the jdbc driver

 Modified Files:
  jdbc/build.xml jdbc/org/postgresql/Driver.java.in
  jdbc/org/postgresql/PG_Stream.java
  jdbc/org/postgresql/errors.properties
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
  jdbc/org/postgresql/util/PSQLException.java

21 years agoThe quote function should return a string suitable for dropping into a
D'Arcy J.M. Cain [Wed, 26 Feb 2003 13:16:50 +0000 (13:16 +0000)]
The quote function should return a string suitable for dropping into a
query string.  This fixes a bug where bool types sometimes returned with
a string that could not be dropped into a query.

21 years agoRemove REWRITE_INVOKE_MAX in favor of making an accurate check for
Tom Lane [Tue, 25 Feb 2003 23:47:43 +0000 (23:47 +0000)]
Remove REWRITE_INVOKE_MAX in favor of making an accurate check for
recursion in RewriteQuery(); also, detect recursion in fireRIRrules(),
so as to catch self-referential views per example from Ryan VanderBijl.
Minor code restructuring to make it easier to catch recursive case.

21 years agoAllow SET CONNECTION to be followed by connection object without leading "TO" or...
Michael Meskes [Tue, 25 Feb 2003 15:58:03 +0000 (15:58 +0000)]
Allow SET CONNECTION to be followed by connection object without leading "TO" or "=".
Allow whenever statement to list function without parameters.

21 years agoAvoid using a separate query to fetch the default expressions for
Tom Lane [Mon, 24 Feb 2003 03:54:06 +0000 (03:54 +0000)]
Avoid using a separate query to fetch the default expressions for
columns.  Improved version of patch by mallah@trade-india.com.

21 years agoDuring VACUUM FULL, truncate off any deletable pages that are at the
Tom Lane [Mon, 24 Feb 2003 00:57:17 +0000 (00:57 +0000)]
During VACUUM FULL, truncate off any deletable pages that are at the
end of a btree index.  This isn't super-effective, since we won't move
nondeletable pages, but it's better than nothing.  Also, improve stats
displayed during VACUUM VERBOSE.

21 years agoRemove no-longer-used FixBTree GUC variable.
Tom Lane [Sun, 23 Feb 2003 23:27:21 +0000 (23:27 +0000)]
Remove no-longer-used FixBTree GUC variable.

21 years agobtree page recycling can be done as soon as page's next-xact label is
Tom Lane [Sun, 23 Feb 2003 23:20:52 +0000 (23:20 +0000)]
btree page recycling can be done as soon as page's next-xact label is
older than current Xmin; we don't have to wait till it's older than
GlobalXmin.

21 years agoAdjust btbulkdelete logic so that only one WAL record is issued while
Tom Lane [Sun, 23 Feb 2003 22:43:09 +0000 (22:43 +0000)]
Adjust btbulkdelete logic so that only one WAL record is issued while
deleting multiple index entries on a single index page.  This makes for
a very substantial reduction in the amount of WAL traffic during a
large delete operation.

21 years agoImprove coding of log_heap_clean() and heap_xlog_clean().
Tom Lane [Sun, 23 Feb 2003 20:32:12 +0000 (20:32 +0000)]
Improve coding of log_heap_clean() and heap_xlog_clean().

21 years agoFirst cut at recycling space in btree indexes. Still some rough edges
Tom Lane [Sun, 23 Feb 2003 06:17:13 +0000 (06:17 +0000)]
First cut at recycling space in btree indexes.  Still some rough edges
to fix, but it seems to basically work...

21 years agoIf a shutdown request comes in while we're still starting up, don't
Tom Lane [Sun, 23 Feb 2003 04:48:19 +0000 (04:48 +0000)]
If a shutdown request comes in while we're still starting up, don't
service it until after we execute SetThisStartUpID().  Else shutdown
process will write the wrong SUI into the shutdown checkpoint, which
seems likely to be trouble --- although I've not quite figured out
how significant it really is.

21 years agoSimplify timezone-handling code per proposal to pghackers: get rid of
Tom Lane [Sat, 22 Feb 2003 05:57:45 +0000 (05:57 +0000)]
Simplify timezone-handling code per proposal to pghackers: get rid of
setting timezone-related variables during transaction start.  They were
not used anyway in platforms that HAVE_TM_ZONE or HAVE_INT_TIMEZONE,
which it appears is *all* the platforms we are currently supporting.
For platforms that have neither, we now only support UTC or numeric-
offset-from-UTC timezones.

21 years agoMore infrastructure for btree compaction project. Tree-traversal code
Tom Lane [Sat, 22 Feb 2003 00:45:05 +0000 (00:45 +0000)]
More infrastructure for btree compaction project.  Tree-traversal code
now knows what to do upon hitting a dead page (in theory anyway, it's
untested...).  Add a post-VACUUM-cleanup entry point for index AMs, to
provide a place for dead-page scavenging to happen.
Also, fix oversight that broke btpo_prev links in temporary indexes.
initdb forced due to additions in pg_am.

21 years agoRevert patch that broke \d commands, until it can be fixed.
Tom Lane [Fri, 21 Feb 2003 21:34:27 +0000 (21:34 +0000)]
Revert patch that broke \d commands, until it can be fixed.

21 years agoForgot to commit Makefile change.
Michael Meskes [Fri, 21 Feb 2003 15:19:18 +0000 (15:19 +0000)]
Forgot to commit Makefile change.

21 years agoMake btree index structure adjustments and WAL logging changes needed to
Tom Lane [Fri, 21 Feb 2003 00:06:22 +0000 (00:06 +0000)]
Make btree index structure adjustments and WAL logging changes needed to
support btree compaction, as per proposal of a few days ago.  btree index
pages no longer store parent links, instead they have a level indicator
(counting up from zero for leaf pages).  The FixBTree recovery logic is
removed, and replaced by code that detects missing parent-level insertions
during WAL replay.  Also, generate appropriate WAL entries when updating
btree metapage and when building a btree index from scratch.  I believe
btree indexes are now completely WAL-legal for the first time.
initdb forced due to index and WAL changes.

21 years agoFix timestamptz_in so that parsing of 'now'::timestamptz gives right
Tom Lane [Thu, 20 Feb 2003 05:24:55 +0000 (05:24 +0000)]
Fix timestamptz_in so that parsing of 'now'::timestamptz gives right
answer when SET TIMEZONE has been done since the start of the current
transaction.  Per bug report from Robert Haas.
I plan some futher cleanup in HEAD, but this is a low-risk patch for
the immediate issue in 7.3.

21 years agoBack out LOCKTAG changes by Rod Taylor, pending code review. Sorry.
Bruce Momjian [Wed, 19 Feb 2003 23:41:15 +0000 (23:41 +0000)]
Back out LOCKTAG changes by Rod Taylor, pending code review. Sorry.

21 years agoFix for GUC client_encoding variable not being handled
Tatsuo Ishii [Wed, 19 Feb 2003 14:31:26 +0000 (14:31 +0000)]
Fix for GUC client_encoding variable not being handled
correctly. See following thread for more details.

Subject: [HACKERS] client_encoding directive is ignored in postgresql.conf
From: Tatsuo Ishii <t-ishii@sra.co.jp>
Date: Wed, 29 Jan 2003 22:24:04 +0900 (JST)

21 years agoAdded DATABASE command as alias to CONNECT TO.
Michael Meskes [Wed, 19 Feb 2003 12:36:39 +0000 (12:36 +0000)]
Added DATABASE command as alias to CONNECT TO.

21 years agoThis patch makes the following changes to the documentation:
Bruce Momjian [Wed, 19 Feb 2003 04:06:28 +0000 (04:06 +0000)]
This patch makes the following changes to the documentation:

- more work from the SGML police

- some grammar improvements: rewriting a paragraph or two, replacing
contractions where (IMHO) appropriate

- fix missing utility commands in lock mode docs

- improve CLUSTER, REINDEX, SET SESSION AUTHORIZATION ref pages

Neil Conway

21 years agoAutoconf run for readline/libedit patch.
Bruce Momjian [Wed, 19 Feb 2003 04:05:07 +0000 (04:05 +0000)]
Autoconf run for readline/libedit patch.

21 years agoHere's the patch I promised over on HACKERS - it alters the
Bruce Momjian [Wed, 19 Feb 2003 04:04:04 +0000 (04:04 +0000)]
Here's the patch I promised over on HACKERS - it alters the
implementation
of '\e' history tracking for systems that have a readline compatability
library without replace_history_entry.  I fall back to pushing the query
onto the history stack after the \e, rather than replacing it.

The patch adds one more place to look for readline headers, and a test
for replace_history_entry. I've only included the patch for configure.in

Ross J. Reedstrom

21 years ago- Modifies LOCKTAG to include a 'classId'. Relation receive a classId of
Bruce Momjian [Wed, 19 Feb 2003 04:02:54 +0000 (04:02 +0000)]
- Modifies LOCKTAG to include a 'classId'. Relation receive a classId of
RelOid_pg_class, and transaction locks XactLockTableId. RelId is renamed
to objId.

- LockObject() and UnlockObject() functions created, and their use
sprinkled throughout the code to do descent locking for domains and
types. They accept lock modes AccessShare and AccessExclusive, as we
only really need a 'read' and 'write' lock at the moment.  Most locking
cases are held until the end of the transaction.

This fixes the cases Tom mentioned earlier in regards to locking with
Domains.  If the patch is good, I'll work on cleaning up issues with
other database objects that have this problem (most of them).

Rod Taylor

21 years agoAllow PQcmdTuples to return row counts for MOVE and FETCH.
Bruce Momjian [Wed, 19 Feb 2003 03:59:02 +0000 (03:59 +0000)]
Allow PQcmdTuples to return row counts for MOVE and FETCH.

Neil Conway

21 years agoHere's some changes I made last night to psql's common.c (as found in
Bruce Momjian [Wed, 19 Feb 2003 03:54:39 +0000 (03:54 +0000)]
Here's some changes I made last night to psql's common.c (as found in
7.3.2).  It removes some code duplication and #ifdeffing, and some
unstructured ugliness such as tacky breaks and an unneeded continue.
Breaks up a large function into smaller functions and reduces required
nesting levels, and kills a variable or two.

Jeroen T. Vermeulen

21 years agoAt present it is impossible to kill createuser except with kill -9
Bruce Momjian [Wed, 19 Feb 2003 03:52:57 +0000 (03:52 +0000)]
At present it is impossible to kill createuser except with kill -9

Oliver Elphick

21 years agoPlease apply patches for contrib/ltree.
Bruce Momjian [Wed, 19 Feb 2003 03:50:09 +0000 (03:50 +0000)]
Please apply patches for contrib/ltree.

ltree_73.patch.gz - for 7.3 :
        Fix ~ operation bug: eg '1.1.1' ~ '*.1'

ltree_74.patch.gz - for current CVS
    Fix ~ operation bug: eg '1.1.1' ~ '*.1'
    Add ? operation
    Optimize index storage

Last change needs drop/create all ltree indexes, so only for 7.4

Teodor Sigaev

21 years agoThe following patches eliminate the overflows in the j2date() and date2j()
Bruce Momjian [Wed, 19 Feb 2003 03:48:11 +0000 (03:48 +0000)]
The following patches eliminate the overflows in the j2date() and date2j()
functions which limited the maximum date for a timestamp to AD 1465001.
The new limit is AD 5874897.
The files affected are:

doc/src/sgml/datatype.sgml:
    Documentation change due to patch. Included is a notice about
    the reduced range when using an eight-byte integer for timestamps.

src/backend/utils/adt/datetime.c:
    Replacement functions for j2date() and date2j() functions.

src/include/utils/datetime.h:
    Corrected a bug with the limit on the earliest possible date,
    Nov 23,-4713 has a Julian day count of -1. The earliest possible
    date should be Nov 24, -4713 with a day count of 0.

src/test/regress/expected/horology-no-DST-before-1970.out:
src/test/regress/expected/horology-solaris-1947.out:
src/test/regress/expected/horology.out:
    Copies of expected output for regression testing.
    Note: Only horology.out has been physically tested. I do not have access
    to a Solaris box and I don't know how to provoke the "pre-1970" test.

src/test/regress/sql/horology.sql:
    Added some test cases to check extended range.

John Cochran

21 years agoWe just released new version of contrib/btree_gist
Bruce Momjian [Wed, 19 Feb 2003 03:46:00 +0000 (03:46 +0000)]
We just released new version of contrib/btree_gist
(7.3 and current CVS) with support of int8, float4, float8
in addition to int4. Thanks Janko Richter for contribution.

Oleg Bartunov

21 years agoThis patch includes more SGML markup fixes as well as a few minor
Bruce Momjian [Wed, 19 Feb 2003 03:13:25 +0000 (03:13 +0000)]
This patch includes more SGML markup fixes as well as a few minor
additions to the docs.

Neil Conway

21 years agoThis patch adds a note to the documentation describing why the
Bruce Momjian [Wed, 19 Feb 2003 03:12:22 +0000 (03:12 +0000)]
This patch adds a note to the documentation describing why the
performance of min() and max() is slow when applied to the entire table,
and suggesting the simple workaround most experienced Pg users
eventually learn about (SELECT xyz ... ORDER BY xyz LIMIT 1).

Neil Conway

21 years agoAdd SQL 200X standards URL.
Bruce Momjian [Wed, 19 Feb 2003 01:38:41 +0000 (01:38 +0000)]
Add SQL 200X standards URL.

21 years agoMark as done, fix grammar:
Bruce Momjian [Wed, 19 Feb 2003 01:36:32 +0000 (01:36 +0000)]
Mark as done, fix grammar:

< * Prevent index uniqueness checks when UPDATE does not modifying column
> * Prevent index uniqueness checks when UPDATE does not modify the column
235c235
<  o Make PL/PgSQL %TYPE schema-aware
>  o -Make PL/PgSQL %TYPE schema-aware

21 years agoUpdate URL.
Bruce Momjian [Tue, 18 Feb 2003 17:23:08 +0000 (17:23 +0000)]
Update URL.

21 years agoHungarian FAQ is text, not HTML, so remove it.
Bruce Momjian [Tue, 18 Feb 2003 17:20:37 +0000 (17:20 +0000)]
Hungarian FAQ is text, not HTML, so remove it.

21 years agoNew URL.
Bruce Momjian [Tue, 18 Feb 2003 16:38:05 +0000 (16:38 +0000)]
New URL.

21 years agoNew URL for FAQ.
Bruce Momjian [Tue, 18 Feb 2003 16:37:30 +0000 (16:37 +0000)]
New URL for FAQ.

21 years agoAdd:
Bruce Momjian [Tue, 18 Feb 2003 05:15:51 +0000 (05:15 +0000)]
Add:

> * Allow WAL information to recover corrupted pg_controldata

21 years agoUpdate German FAQ, from Ian Barwick.
Bruce Momjian [Tue, 18 Feb 2003 05:08:12 +0000 (05:08 +0000)]
Update German FAQ, from Ian Barwick.

21 years ago*** empty log message ***
Bruce Momjian [Tue, 18 Feb 2003 05:07:42 +0000 (05:07 +0000)]
*** empty log message ***

21 years agoUpdate changes from Ian Barwick.
Bruce Momjian [Tue, 18 Feb 2003 05:07:04 +0000 (05:07 +0000)]
Update changes from Ian Barwick.

21 years agoAdd:
Bruce Momjian [Tue, 18 Feb 2003 03:47:39 +0000 (03:47 +0000)]
Add:

> * Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE

21 years agoUpdate README.
Bruce Momjian [Tue, 18 Feb 2003 03:33:50 +0000 (03:33 +0000)]
Update README.

21 years agoAsync_NotifyHandler must save and restore ImmediateInterruptOK. Fixes
Tom Lane [Tue, 18 Feb 2003 02:53:29 +0000 (02:53 +0000)]
Async_NotifyHandler must save and restore ImmediateInterruptOK.  Fixes
known problem with failure to respond to 'pg_ctl stop -m fast', and
probable problems if SIGINT or SIGTERM arrives while processing a
SIGUSR2 interrupt that arrived while waiting for a new client query.

21 years agoAdd:
Bruce Momjian [Tue, 18 Feb 2003 02:49:30 +0000 (02:49 +0000)]
Add:

> * Add a script to ask system configuration questions and tune postgresql.conf

21 years agoRename 'holder' references to 'proclock' for PROCLOCK references, for
Bruce Momjian [Tue, 18 Feb 2003 02:13:24 +0000 (02:13 +0000)]
Rename 'holder' references to 'proclock' for PROCLOCK references, for
consistency.

21 years agoAdd:
Bruce Momjian [Mon, 17 Feb 2003 20:47:29 +0000 (20:47 +0000)]
Add:

> * Allow CIDR format to be used in pg_hba.conf

21 years agoUpdate marks:
Bruce Momjian [Mon, 17 Feb 2003 18:48:29 +0000 (18:48 +0000)]
Update marks:

<  o Allow CLUSTER to cluster all tables (Alvaro Herrera)
>  o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
243c243
< * Allow pg_dump to dump a specific schema (Neil Conway)
> * -Allow pg_dump to dump a specific schema (Neil Conway)
398c398
< * Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
> * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)

21 years agoRemove IN/EXISTS TODO.detail item.
Bruce Momjian [Mon, 17 Feb 2003 18:48:14 +0000 (18:48 +0000)]
Remove IN/EXISTS TODO.detail item.

21 years agoMark as done:
Bruce Momjian [Mon, 17 Feb 2003 18:47:02 +0000 (18:47 +0000)]
Mark as done:

>  o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)

>  o -Allow CLUSTER to cluster all tables (Alvaro Herrera)

> * -Allow pg_dump to dump a specific schema (Neil Conway)

> * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)

> * Rod is Rod Taylor <pg@rbt.ca)>

21 years agoUpdate:
Bruce Momjian [Mon, 17 Feb 2003 18:37:12 +0000 (18:37 +0000)]
Update:
< * -Make a transaction-safe TRUNCATE
> * -Make a transaction-safe TRUNCATE (Rod)

21 years agoDone:
Bruce Momjian [Mon, 17 Feb 2003 18:36:24 +0000 (18:36 +0000)]
Done:

> * -Make a transaction-safe TRUNCATE

21 years agoAdded Informix "database" command.
Michael Meskes [Mon, 17 Feb 2003 14:06:40 +0000 (14:06 +0000)]
Added Informix "database" command.

21 years agoBack off previous patch to skip projection step in scan plan nodes,
Tom Lane [Sun, 16 Feb 2003 06:06:32 +0000 (06:06 +0000)]
Back off previous patch to skip projection step in scan plan nodes,
in the case where the node immediately above the scan is a Hash, Sort,
or Material node.  In these cases it's better to do the projection
so that we don't store unneeded columns in the hash/sort/materialize
table.  Per discussion a few days ago with Anagh Lal.

21 years agoCOALESCE() and NULLIF() are now first-class expressions, not macros
Tom Lane [Sun, 16 Feb 2003 02:30:39 +0000 (02:30 +0000)]
COALESCE() and NULLIF() are now first-class expressions, not macros
that turn into CASE expressions.  They evaluate their arguments at most
once.  Patch by Kris Jurka, review and (very light) editorializing by me.

21 years agoUpdate wording:
Bruce Momjian [Sun, 16 Feb 2003 00:29:49 +0000 (00:29 +0000)]
Update wording:
< * Disallow DROP COLUMN on a column that is part of a multi-column index
> * Require DROP COLUMN CASCADE for a column that is part of a multi-column index

21 years agoMarginal tweaks to make sure that roundoff error won't cause us to make
Tom Lane [Sat, 15 Feb 2003 21:39:58 +0000 (21:39 +0000)]
Marginal tweaks to make sure that roundoff error won't cause us to make
a bad choice between sorted and hashed aggregation.

21 years agoTeach planner how to propagate pathkeys from sub-SELECTs in FROM up to
Tom Lane [Sat, 15 Feb 2003 20:12:41 +0000 (20:12 +0000)]
Teach planner how to propagate pathkeys from sub-SELECTs in FROM up to
the outer query.  (The implementation is a bit klugy, but it would take
nontrivial restructuring to make it nicer, which this is probably not
worth.)  This avoids unnecessary sort steps in examples like
SELECT foo,count(*) FROM (SELECT ... ORDER BY foo,bar) sub GROUP BY foo
which means there is now a reasonable technique for controlling the
order of inputs to custom aggregates, even in the grouping case.

21 years agoAdd:
Bruce Momjian [Sat, 15 Feb 2003 18:30:06 +0000 (18:30 +0000)]
Add:

> * Disallow DROP COLUMN on a column that is part of a multi-column index

21 years agoPropogate pg_ctl -D to the postmaster as a -D flag for identification by
Bruce Momjian [Fri, 14 Feb 2003 22:18:25 +0000 (22:18 +0000)]
Propogate pg_ctl -D to the postmaster as a -D flag for identification by
ps for multiple postmasters, for Kevin Brown.