OSDN Git Service
Peter Eisentraut [Sun, 18 Aug 2002 09:36:26 +0000 (09:36 +0000)]
Make pg_dump output more portable and more pleasing to look at.
The -n and -N options were removed. Quoting is now smart enough to
supply quotes if and only if necessary.
Numerical types are now printed without quotes, except in cases of
special values such as NaN.
Boolean values printed as true and false.
Most string literals now do not escape whitespace characters (newlines,
etc.) for portability.
SET SESSION AUTHORIZATION argument is a string literal, to follow SQL.
Made commands output by pg_dump use consistent spacing and indentation.
Tom Lane [Sun, 18 Aug 2002 03:47:08 +0000 (03:47 +0000)]
Add #include <sys/time.h>.
Tom Lane [Sun, 18 Aug 2002 03:35:08 +0000 (03:35 +0000)]
Code review for 'at character n' patch --- point at proper end of
a token scanned by multiple lex rules.
Bruce Momjian [Sun, 18 Aug 2002 03:03:26 +0000 (03:03 +0000)]
Add db-local user names, per discussion on hackers.
Bruce Momjian [Sun, 18 Aug 2002 03:00:17 +0000 (03:00 +0000)]
More changes to match new error format.
Tom Lane [Sun, 18 Aug 2002 02:48:41 +0000 (02:48 +0000)]
Use variable for format to suppress overly-anal-retentive gcc warning
about %c
Bruce Momjian [Sun, 18 Aug 2002 02:48:29 +0000 (02:48 +0000)]
Modify regression tests to match new error reporting format from Gavin.
Bruce Momjian [Sun, 18 Aug 2002 01:39:43 +0000 (01:39 +0000)]
Back out tcl patch, per Tom Lane:
Everytime if I do PQconsumeInput (when the backend channel gets
readable) I check for the return value. (0 == error) and generate a
notification manually, e.g. fixed string connection_closed) and pass it to the
Bruce Momjian [Sun, 18 Aug 2002 01:35:40 +0000 (01:35 +0000)]
Add includes for prototype using timeval.
Bruce Momjian [Sun, 18 Aug 2002 00:06:01 +0000 (00:06 +0000)]
Clean up compile warnings.
Tom Lane [Sat, 17 Aug 2002 20:24:51 +0000 (20:24 +0000)]
Fix typo.
Bruce Momjian [Sat, 17 Aug 2002 15:12:07 +0000 (15:12 +0000)]
Reverse out XLogDir/-X write-ahead log handling, per discussion.
Original patch from Thomas.
Bruce Momjian [Sat, 17 Aug 2002 15:09:41 +0000 (15:09 +0000)]
Add:
> * Use dependency information to dump data in proper order
Bruce Momjian [Sat, 17 Aug 2002 13:14:07 +0000 (13:14 +0000)]
Done:
> o -Add command to display locks
Bruce Momjian [Sat, 17 Aug 2002 13:11:43 +0000 (13:11 +0000)]
Add lock file.
Bruce Momjian [Sat, 17 Aug 2002 13:06:50 +0000 (13:06 +0000)]
In that case, attached is a patch which locates the beginning of the
offending token more efficiently (per your suggestion of using
scanbuf). The new patch does the same as before:
template1=# select * frum pg_class;
ERROR: parser: parse error at or near "frum" at character 10
It also implement's Tom's suggestion:
template1=# select * from pg_class where\g
ERROR: parse: parse error at end of input
Gavin Sherry
Bruce Momjian [Sat, 17 Aug 2002 13:04:19 +0000 (13:04 +0000)]
[ Newest version of patch applied.]
This patch is an updated version of the lock listing patch. I've made
the following changes:
- write documentation
- wrap the SRF in a view called 'pg_locks': all user-level
access should be done through this view
- re-diff against latest CVS
One thing I chose not to do is adapt the SRF to use the anonymous
composite type code from Joe Conway. I'll probably do that eventually,
but I'm not really convinced it's a significantly cleaner way to
bootstrap SRF builtins than the method this patch uses (of course, it
has other uses...)
Neil Conway
Bruce Momjian [Sat, 17 Aug 2002 12:33:18 +0000 (12:33 +0000)]
Add libpq connection timeout parameter.
Denis A Ustimenko
Bruce Momjian [Sat, 17 Aug 2002 12:19:31 +0000 (12:19 +0000)]
What I have done for libpgtcl:
Everytime if I do PQconsumeInput (when the backend channel gets
readable) I check for the return value. (0 == error) and generate a
notification manually, e.g. fixed string connection_closed) and pass it to the
TCL event queue. The only other thing I had to do is to comment out removing
all pending events in PgStopNotifyEventSource whenever the connection was
unexpectedly closed (so the manually generated event will not be deleted).
A broken backend connection triggers a notify event to the client (fixed
notification string "connection_closed") so proper action can be taken to switch
to another database server etc. Remember that this is event driven. If you have
applications, that have idle database connections most of the time, you'll get
immediate feedback of a dying server. Upon connection to the server issue a
pg_notify for notify event "connection_closed" and whenever the backend crashes
(which it does do in very very rare cases) you get an event driven recovery. (of
course the Tcl-Event loop has to be processed). Issuing a notification
"connection_closed" on a still working database could be used for switching to
another db-server (which I've actually impelemented right now).
Gerhard Hintermayer
Bruce Momjian [Sat, 17 Aug 2002 12:15:49 +0000 (12:15 +0000)]
Improve documentation of trigger firing queue handling, cleanup.
Neil Conway
Tom Lane [Sat, 17 Aug 2002 05:07:18 +0000 (05:07 +0000)]
Editorial corrections.
Tom Lane [Sat, 17 Aug 2002 04:09:18 +0000 (04:09 +0000)]
Broken markup.
Tom Lane [Sat, 17 Aug 2002 04:06:48 +0000 (04:06 +0000)]
Cleanup.
Tom Lane [Sat, 17 Aug 2002 04:03:36 +0000 (04:03 +0000)]
Fix broken Makefiles.
Tom Lane [Sat, 17 Aug 2002 03:38:43 +0000 (03:38 +0000)]
Add missing links.
Bruce Momjian [Sat, 17 Aug 2002 02:45:29 +0000 (02:45 +0000)]
Add doc file for pg_resetxlog.
Bruce Momjian [Sat, 17 Aug 2002 02:44:24 +0000 (02:44 +0000)]
Add files for pg_resetxlog.
Bruce Momjian [Sat, 17 Aug 2002 02:43:08 +0000 (02:43 +0000)]
Move pg_controldata to /bin.
Tom Lane [Fri, 16 Aug 2002 23:01:21 +0000 (23:01 +0000)]
Modify pg_dump to dump foreign-key constraints as constraints, not as
sets of triggers. Also modify psql \d command to show foreign key
constraints as such and hide the triggers. pg_get_constraintdef()
function added to backend to support these. From Rod Taylor, code
review and some editorialization by Tom Lane.
Tom Lane [Fri, 16 Aug 2002 21:03:42 +0000 (21:03 +0000)]
Code review for patch to dump primary and unique constraints as
constraints, rather than as CREATE INDEX commands.
Tom Lane [Fri, 16 Aug 2002 20:55:09 +0000 (20:55 +0000)]
Make domain types indexable. Rod Taylor & Tom Lane.
Bruce Momjian [Fri, 16 Aug 2002 20:36:25 +0000 (20:36 +0000)]
Improve wording.
Bruce Momjian [Fri, 16 Aug 2002 20:34:06 +0000 (20:34 +0000)]
Move pg_controldata from /contrib to src/bin.
Dave Cramer [Fri, 16 Aug 2002 19:37:57 +0000 (19:37 +0000)]
removed duplicate code from jdbc2 classes
Dave Cramer [Fri, 16 Aug 2002 19:35:46 +0000 (19:35 +0000)]
applied patch to fix encoding bug supplied by Jun Kawai
Dave Cramer [Fri, 16 Aug 2002 19:34:57 +0000 (19:34 +0000)]
Applied patch for MD5 bug submitted by Jun Kawai
Barry Lind [Fri, 16 Aug 2002 17:51:38 +0000 (17:51 +0000)]
Performance tweaks to StringBuffer suggested by hhaag@gmx.de
Modified Files:
jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
jdbc/org/postgresql/util/PGbytea.java
Bruce Momjian [Fri, 16 Aug 2002 17:05:18 +0000 (17:05 +0000)]
Add "few":
> * Reserve last few process slots for super-user if max_connections reached
Bruce Momjian [Fri, 16 Aug 2002 15:13:13 +0000 (15:13 +0000)]
Add blank line.
Bruce Momjian [Fri, 16 Aug 2002 15:12:43 +0000 (15:12 +0000)]
Add:
<
> * Reserve last process slot for super-user if max_connections reached
Bruce Momjian [Fri, 16 Aug 2002 04:48:16 +0000 (04:48 +0000)]
This patch improves the "Client Authentication" section of the user's
guide in a few minor ways.
Neil Conway
Bruce Momjian [Fri, 16 Aug 2002 04:47:43 +0000 (04:47 +0000)]
This patch improves the "Database Users and Permissions" section of
the Administrator's Guide. This section needs a lot more work, but
this is a start anyway...
Neil Conway
Bruce Momjian [Fri, 16 Aug 2002 04:45:44 +0000 (04:45 +0000)]
Added:
<
> * Prevent mismatch of frontend/backend encodings from converting bytea
> data from being interpreted as encoded strings
512a514,515
> * Fix glibc's mktime() to handle pre-1970's dates
>
Bruce Momjian [Fri, 16 Aug 2002 04:31:52 +0000 (04:31 +0000)]
Added:
> * Allow configuration files to be specified in a different directory
Bruce Momjian [Fri, 16 Aug 2002 04:29:15 +0000 (04:29 +0000)]
Remove interfaces/ssl. Was unclaimed stuff that had no more usefulness.
Bruce Momjian [Thu, 15 Aug 2002 17:47:24 +0000 (17:47 +0000)]
Done:
> o -Prevent loss of indexes, permissions, inheritance
Bruce Momjian [Thu, 15 Aug 2002 17:46:46 +0000 (17:46 +0000)]
Done:
> * -Improve control over user privileges, including table creation
> * -Add PGPASSWORDFILE environment variable or ~/.pgpass to store
> o -Compile under jdk 1.4
Bruce Momjian [Thu, 15 Aug 2002 16:36:08 +0000 (16:36 +0000)]
Tom Lane wrote:
> There's no longer a separate call to heap_storage_create in that routine
> --- the right place to make the test is now in the storage_create
> boolean parameter being passed to heap_create. A simple change, but
> it passeth patch's understanding ...
Thanks.
Attached is a patch against cvs tip as of 8:30 PM PST or so. Turned out
that even after fixing the failed hunks, there was a new spot in
bufmgr.c which needed to be fixed (related to temp relations;
RelationUpdateNumberOfBlocks). But thankfully the regression test code
caught it :-)
Joe Conway
Bruce Momjian [Thu, 15 Aug 2002 14:26:15 +0000 (14:26 +0000)]
Reorder entry to be alphabetical to match others.
Bruce Momjian [Thu, 15 Aug 2002 03:33:36 +0000 (03:33 +0000)]
This fixes some text as well as enforces the use of "drop table cascade"
since we moved from an implicate to explicate implementation.
Greg Copeland
Bruce Momjian [Thu, 15 Aug 2002 03:32:36 +0000 (03:32 +0000)]
Well, that certainly appeared to be very straight forward. pg.py and
syscat.py scripts were both modified. pg.py uses it to cache a list of
pks (which is seemingly does for every db connection) and various
attributes. syscat uses it to walk the list of system tables and
queries the various attributes from these tables.
In both cases, it seemingly makes sense to apply what you've requested.
Greg Copeland
Bruce Momjian [Thu, 15 Aug 2002 03:31:45 +0000 (03:31 +0000)]
archives.postgresql.org/pgsql-bugs/2002-06/msg00086.php and never
saw a fix offered up. Since I'm gearing up to use Postgres and Python
soon, I figured I'd have a hand at trying to get this sucker addressed.
Apologies if this has already been plugged. I looked in the archives
and never saw a response.
At any rate, I must admit I don't think I fully understand the
implications of some of the changes I made even though they appear to be
straight forward. We all know the devil is in the details. Anyone more
knowledgeable is requested to review my changes. :(
I also updated the advanced.py script in a somewhat nonsensical fashion
to make use of an int8 field in an effort to test this change. It seems
to run okay, however, this is by no means an all exhaustive test. So,
it's possible that a bumpy road may lay ahead for some. On the other
hand...overflows (hopefully) previously lurked (long -> int conversion).
Greg Copeland
Bruce Momjian [Thu, 15 Aug 2002 03:04:07 +0000 (03:04 +0000)]
Backed out. It is part of a later patch.
Bruce Momjian [Thu, 15 Aug 2002 03:02:08 +0000 (03:02 +0000)]
August 13, 2002
Use parser of OpenFTS v0.33.
--
Teodor Sigaev
Bruce Momjian [Thu, 15 Aug 2002 03:00:59 +0000 (03:00 +0000)]
PostgreSQL 7.2.1 Documentation
Chapter 1. libpq - C Library
1.3. Command Execution Functions
1.3.3. Escaping binary strings for inclusion in SQL queries
I found the line
"The result string length does not include the terminating zero byte of the result."
is not right.
The result string length does indeed include the terminating zero byte.
Christoph Haller
Bruce Momjian [Thu, 15 Aug 2002 02:59:18 +0000 (02:59 +0000)]
> Neil Conway <nconway@klamath.dyndns.org> writes:
> > This patch improves the documentation of the UPDATE and ALTER TABLE
> > commands to elaborate on the effect of specifying an "ONLY" clause.
>
> Unfortunately this is still only half the truth ... see the
> SQL_INHERITANCE configuration variable.
Okay, I've attached an updated patch with more information on
SQL_INHERITANCE and inheritance behavior in prior releases.
Neil Conway
Bruce Momjian [Thu, 15 Aug 2002 02:58:29 +0000 (02:58 +0000)]
The attached patch changes most of the usages of sprintf() to
snprintf() in contrib/. I didn't touch the places where pointer
arithmatic was being used, or other areas where the fix wasn't
trivial. I would think that few, if any, of the usages of sprintf()
were actually exploitable, but it's probably better to be paranoid...
Neil Conway
Bruce Momjian [Thu, 15 Aug 2002 02:56:19 +0000 (02:56 +0000)]
I'm giving a try at some TODO items. Currently it's the turn of the
PGPASSWORDFILE environment variable. I have modified libpq to make use
of this variable. I present the first cut here.
Currently the format for the file should be
host:port:database:user:password
Alvaro Herrera
Bruce Momjian [Thu, 15 Aug 2002 02:53:35 +0000 (02:53 +0000)]
Appears there is a problem finding the opclass when indexing a domain.
CREATE DOMAIN newint as int4;
CREATE TABLE tab (col newint unique);
ERROR: data type newint has no default operator class for access method
"btree"
You must specify an operator class for the index or define a
default operator class for the data type
Specifically, GetDefaultOpClass() finds 0 exact matches and 3 binary
compatible matches. Fetching getBaseType() of the attribute fixes the
problem for domains (see attachment).
Rod Taylor
Bruce Momjian [Thu, 15 Aug 2002 02:51:27 +0000 (02:51 +0000)]
As discussed on several occasions previously, the new anonymous
composite type capability makes it possible to create a system view
based on a table function in a way that is hopefully palatable to
everyone. The attached patch takes advantage of this, moving
show_all_settings() from contrib/tablefunc into the backend (renamed
all_settings(). It is defined as a builtin returning type RECORD. During
initdb a system view is created to expose the same information presently
available through SHOW ALL. For example:
test=# select * from pg_settings where name like '%debug%';
name | setting
-----------------------+---------
debug_assertions | on
debug_pretty_print | off
debug_print_parse | off
debug_print_plan | off
debug_print_query | off
debug_print_rewritten | off
wal_debug | 0
(7 rows)
Additionally during initdb two rules are created which make it possible
to change settings by updating the system view -- a "virtual table" as
Tom put it. Here's an example:
Joe Conway
Bruce Momjian [Thu, 15 Aug 2002 02:49:04 +0000 (02:49 +0000)]
The second enables tab-complete to analyze. It ignores schema stuff (so
does every tab-completion command AFAICS)
Alvaro Herrera
Tom Lane [Wed, 14 Aug 2002 23:02:59 +0000 (23:02 +0000)]
Really truly enable encrypted passwords by default.
Bruce Momjian [Wed, 14 Aug 2002 22:07:56 +0000 (22:07 +0000)]
Enable encrypted passwords by default.
Barry Lind [Wed, 14 Aug 2002 20:35:40 +0000 (20:35 +0000)]
Added support for JDBC3. The driver will now build under JDBC3 (i.e. Java 1.4).
This concludes my changes that restructured the code to support JDBC3.
The jdbc unit tests were also resturctured to allow different tests between
jdbc2 and jdbc3, although currently make check (aka ant test) for JDBC3 just
runs the JDBC2 tests. Of special note the largeobject/PGblob and PGclob
classes have been moved under the jdbc2/jdbc3 specific directories as they
now differ by jdbc version. Also note that this checkin removes the
PostgresqlDataSource and files in the xa directory. A recent checkin has
added new datasource support that replaces the functionality provided by these
classes.
Modified Files:
jdbc/build.xml
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/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/Jdbc2DatabaseMetaData.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/test/jdbc2/BatchExecuteTest.java
jdbc/org/postgresql/test/jdbc2/BlobTest.java
jdbc/org/postgresql/test/jdbc2/CallableStmtTest.java
jdbc/org/postgresql/test/jdbc2/ConnectionTest.java
jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
jdbc/org/postgresql/test/jdbc2/DateTest.java
jdbc/org/postgresql/test/jdbc2/DriverTest.java
jdbc/org/postgresql/test/jdbc2/JBuilderTest.java
jdbc/org/postgresql/test/jdbc2/MiscTest.java
jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
jdbc/org/postgresql/test/jdbc2/TimeTest.java
jdbc/org/postgresql/test/jdbc2/TimestampTest.java
jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java
Added Files:
jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java
jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java
jdbc/org/postgresql/jdbc2/Jdbc2Blob.java
jdbc/org/postgresql/jdbc2/Jdbc2Clob.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3Blob.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3Clob.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java
jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java
jdbc/org/postgresql/jdbc3/Jdbc3Blob.java
jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java
jdbc/org/postgresql/jdbc3/Jdbc3Clob.java
jdbc/org/postgresql/jdbc3/Jdbc3Connection.java
jdbc/org/postgresql/jdbc3/Jdbc3DatabaseMetaData.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/test/TestUtil.java
jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java
Removed Files:
jdbc/org/postgresql/PostgresqlDataSource.java
jdbc/org/postgresql/largeobject/PGblob.java
jdbc/org/postgresql/largeobject/PGclob.java
jdbc/org/postgresql/test/JDBC2Tests.java
jdbc/org/postgresql/xa/ClientConnection.java
jdbc/org/postgresql/xa/TwoPhaseConnection.java
jdbc/org/postgresql/xa/TxConnection.java
jdbc/org/postgresql/xa/XAConnectionImpl.java
jdbc/org/postgresql/xa/XADataSourceImpl.java
Bruce Momjian [Wed, 14 Aug 2002 18:39:05 +0000 (18:39 +0000)]
Update text:
< o Allow PL/PgSQL function parameters to be passed by name,
> o Allow function parameters to be passed by name,
Bruce Momjian [Wed, 14 Aug 2002 17:45:20 +0000 (17:45 +0000)]
Update:
> o Cluster all tables at once using pg_index.indisclustered set during
> previous CLUSTER
Bruce Momjian [Wed, 14 Aug 2002 05:49:22 +0000 (05:49 +0000)]
I guess I'd vote for changing the code to be
sys = malloc(strlen(editorName) + strlen(fname) + 10 + 1);
if (!sys)
return false;
sprintf(sys, "exec '%s' '%s'", editorName, fname);
(note the added quotes to provide a little protection against spaces
and such). Then it's perfectly obvious what the calculation is doing.
I don't care about wasting 20-some bytes, but confusing readers of the
code is worth avoiding.
regards, tom lane
Tatsuo Ishii [Wed, 14 Aug 2002 05:33:34 +0000 (05:33 +0000)]
Fix memory leak in SetClientEncoding().
Bruce Momjian [Wed, 14 Aug 2002 04:58:17 +0000 (04:58 +0000)]
Add:
> o Add ALTER TABLE tab SET WITHOUT OIDS
Bruce Momjian [Wed, 14 Aug 2002 03:41:09 +0000 (03:41 +0000)]
Oops, not done:
> * Have views on temporary tables exist in the temporary namespace
Bruce Momjian [Wed, 14 Aug 2002 03:40:41 +0000 (03:40 +0000)]
Updated:
< * Allow temporary views
< * Require view using temporary tables to be temporary views
> * -Have views on temporary tables exist in the temporary namespace
Bruce Momjian [Wed, 14 Aug 2002 03:01:43 +0000 (03:01 +0000)]
Spacing improvement.
Bruce Momjian [Wed, 14 Aug 2002 02:51:13 +0000 (02:51 +0000)]
Fix spacing.
Bruce Momjian [Wed, 14 Aug 2002 02:49:42 +0000 (02:49 +0000)]
Added:
<
> o Improve PL/PgSQL exception handling
> o Allow PL/PgSQL parameters to be specified by name and type during
> definition
> o Allow PL/PgSQL function parameters to be passed by name,
> get_employee_salary(emp_id => 12345, tax_year => 2001)
> o Add PL/PgSQL packages
> o Allow array declarations and other data types in PL/PgSQl DECLARE
> o Add PL/PgSQL PROCEDURES that can return multiple values
Tatsuo Ishii [Wed, 14 Aug 2002 02:45:10 +0000 (02:45 +0000)]
Add Cyrillic and other encodings for encoding conversion.
Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).
Bruce Momjian [Wed, 14 Aug 2002 02:28:30 +0000 (02:28 +0000)]
Remove namedatalen from TODO.detail. No longer needed.
Bruce Momjian [Wed, 14 Aug 2002 02:24:47 +0000 (02:24 +0000)]
Done:
> * -Increase identifier length (NAMEDATALEN) if small performance hit,
> * -Increase maximum number of function parameters if little wasted space
Bruce Momjian [Tue, 13 Aug 2002 21:04:36 +0000 (21:04 +0000)]
Put back old code.
Bruce Momjian [Tue, 13 Aug 2002 20:41:13 +0000 (20:41 +0000)]
Update for longer NAMEDATALEN.
Bruce Momjian [Tue, 13 Aug 2002 20:40:44 +0000 (20:40 +0000)]
Change NAMEDATALEN to 64, INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per discussion on hackers.
Tom Lane [Tue, 13 Aug 2002 20:14:24 +0000 (20:14 +0000)]
Fix tuple-chain-moving tests to handle marked-for-update tuples correctly
(they are not part of a chain). When failing to find a parent tuple in
an update chain, emit a warning and abandon repair_frag, but do not give
an error as before. This should eliminate the infamous 'No one parent tuple
was found' failure, which we now realize is not a can't-happen condition
but a perfectly valid database state. Per recent pghackers discussion.
Tom Lane [Tue, 13 Aug 2002 20:11:03 +0000 (20:11 +0000)]
Make sure that t_ctid is reset to equal t_self in heap_delete and
heap_mark4update; this avoids situations where a deleted tuple might
look like it is chained to something else. Also, cause all the WAL
redo routines to set t_ctid to equal t_self, rather than leaving it
undefined as before. Make heap_xlog_clean set the page's LSN and SUI
correctly. All per past discussions in pghackers, ranging back to
last December.
Peter Eisentraut [Tue, 13 Aug 2002 17:22:08 +0000 (17:22 +0000)]
Remove obsolete uses of lanispl. Only used in pg_dump now, but can be
removed altogether if pg_dump doesn't need it anymore.
Bruce Momjian [Tue, 13 Aug 2002 05:08:35 +0000 (05:08 +0000)]
Add bitmap index mention.
Bruce Momjian [Tue, 13 Aug 2002 04:32:28 +0000 (04:32 +0000)]
Update:
> * Use bitmaps to fetch heap pages in sequential order [performance]
> * Use bitmaps to combine existing indexes [performance]
Peter Eisentraut [Mon, 12 Aug 2002 20:02:09 +0000 (20:02 +0000)]
Correct description of sequence privileges.
Tom Lane [Mon, 12 Aug 2002 15:24:07 +0000 (15:24 +0000)]
Remove use of __P so that <sys/cdefs.h> is not needed. Per suggestion
from Martin Renters.
Tom Lane [Mon, 12 Aug 2002 14:47:46 +0000 (14:47 +0000)]
Convert possibly-unsafe sprintf's to snprintf's.
Tom Lane [Mon, 12 Aug 2002 14:35:26 +0000 (14:35 +0000)]
Buffer-overrun paranoia.
Tom Lane [Mon, 12 Aug 2002 14:25:07 +0000 (14:25 +0000)]
Restructure rowtype-parameter handling to eliminate need for possibly-
overflowable buffer for 'name%rowtype'; not to mention avoid problems
with mixed-case type names and other special cases.
Tom Lane [Mon, 12 Aug 2002 00:36:12 +0000 (00:36 +0000)]
Change memory-space accounting mechanism in tuplesort.c and tuplestore.c
to make a reasonable attempt at accounting for palloc overhead, not just
the requested size of each memory chunk. Since in many scenarios this
will make for a significant reduction in the amount of space acquired,
partially compensate by doubling the default value of SORT_MEM to 1Mb.
Per discussion in pgsql-general around 9-Jun-2002..
Tom Lane [Sun, 11 Aug 2002 21:17:35 +0000 (21:17 +0000)]
Code review of CLUSTER patch. Clean up problems with relcache getting
confused, toasted data getting lost, etc.
Peter Eisentraut [Sun, 11 Aug 2002 17:44:12 +0000 (17:44 +0000)]
Create/drop cast now requires ownership of at least one of the types.
Tom Lane [Sun, 11 Aug 2002 02:43:57 +0000 (02:43 +0000)]
Editorial improvements.
Tom Lane [Sun, 11 Aug 2002 02:06:32 +0000 (02:06 +0000)]
Make cluster regress test functional.
Tom Lane [Sun, 11 Aug 2002 00:18:59 +0000 (00:18 +0000)]
Neil's patch was supposed to remove this, too.
Tom Lane [Sun, 11 Aug 2002 00:08:48 +0000 (00:08 +0000)]
Now that we allow ANALYZE to run inside a transaction block, the locks
it takes could be held for quite awhile after the analyze step completes.
Rethink locking of pg_statistic in light of this fact. The original
scheme took an exclusive lock on pg_statistic, which was okay when the
lock could be expected to be released shortly, but that doesn't hold
anymore. Back off to a normal writer's lock (RowExclusiveLock). This
allows concurrent ANALYZE of nonoverlapping sets of tables, at the price
that concurrent ANALYZEs of the same table may fail with 'tuple
concurrently updated'.
Bruce Momjian [Sat, 10 Aug 2002 21:03:33 +0000 (21:03 +0000)]
Mention ANALYZE after CLUSTER.
Bruce Momjian [Sat, 10 Aug 2002 21:00:34 +0000 (21:00 +0000)]
Update with newer version of CLUSTER patch posted August 8.
> Looks like Alvaro got sideswiped by the system catalog indexing changes
> I made over the weekend. It's a simple change, just reduce the whole
> mess to a "CatalogUpdateIndexes()" call.
I update two tuples, so I manually CatalogOpenIndexes() and
CatalogIndexInsert() two times, as per comments in
CatalogUpdateIndexes().
I also removed a couple of useless CommandCounterIncrement(), some
useless definitions in src/include/commands/cluster.h and useless
includes in src/backend/commands/cluster.c. This version passes the
regression test I had made for previous versions.
Alvaro Herrera
Bruce Momjian [Sat, 10 Aug 2002 20:49:37 +0000 (20:49 +0000)]
Remove error files.