]> granicus.if.org Git - postgresql/log
postgresql
21 years agoUpdate for new serial functionality.
Bruce Momjian [Thu, 20 Mar 2003 21:00:49 +0000 (21:00 +0000)]
Update for new serial functionality.

21 years agoThis is not the only place in the system catalogs where NULL is
Bruce Momjian [Thu, 20 Mar 2003 20:05:32 +0000 (20:05 +0000)]
This is not the only place in the system catalogs where NULL is
effectively used to mean a default value that could also be spelled
out explicitly.  (ACLs behave that way, and useconfig/datconfig
do too IIRC.)

It's a bit of a hack, but it saves table space and backend code ---
without this convention the default would have to be inserted "manually"
since we have no mechanism to supply defaults when C code is forming a
new catalog tuple.

I'm inclined to leave the code alone.  But Alvaro is right that it'd be
good to point out the 'infinity' option in the CREATE USER and ALTER
USER man pages.  (Doc patch please?)

Alvaro Herrera

21 years agoThe documentation for SELECT is incorrect in a sense: the syntax for a
Bruce Momjian [Thu, 20 Mar 2003 19:00:01 +0000 (19:00 +0000)]
The documentation for SELECT is incorrect in a sense: the syntax for a
join is defined as:

from_item [ NATURAL ] join_type from_item
    [ ON join_condition | USING ( join_column_list ) ]

However, if the join_type is an INNER or OUTER join, an ON, USING, or
NATURAL clause *must* be specified (it's not optional, as that segment
of the docs suggest).

I'm not exactly sure what the best way to fix this is, so I've attached
a patch adding a FIXME comment to the relevant section of the SGML. If
anyone has any ideas on the proper way to outline join syntax, please
speak up.

Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC

21 years agoplease apply attached patch to current CVS.
Bruce Momjian [Thu, 20 Mar 2003 18:59:18 +0000 (18:59 +0000)]
please apply attached patch to current CVS.
btree_gist now supports int2 !
Thanks Janko Richter for contribution.

21 years agoThis patch creates a function named pg_get_triggerdef that takes the oid of
Bruce Momjian [Thu, 20 Mar 2003 18:58:02 +0000 (18:58 +0000)]
This patch creates a function named pg_get_triggerdef that takes the oid of
a trigger as its parameter.  It is basically copied from the pg_dump
code.

Christopher Kings-Lynne

21 years agoNow that the CLUSTER ALL machinery is in place, the clusterdb script can
Bruce Momjian [Thu, 20 Mar 2003 18:53:18 +0000 (18:53 +0000)]
Now that the CLUSTER ALL machinery is in place, the clusterdb script can
be simplified (I'd thought that it can even be removed).  This patch
does that.

Alvaro Herrera

21 years agoAdd ALTER TABLE <tablename> CLUSTER ON <indexname>
Bruce Momjian [Thu, 20 Mar 2003 18:52:48 +0000 (18:52 +0000)]
Add ALTER TABLE <tablename> CLUSTER ON <indexname>

Alvaro Herrera

21 years agoIt would also be handy if users could see their own pg_stat_activity
Bruce Momjian [Thu, 20 Mar 2003 18:51:16 +0000 (18:51 +0000)]
It would also be handy if users could see their own pg_stat_activity
queries while the rest remain blank.

Kevin Brown

21 years agoI have updated my pg_autovacuum program (formerly pg_avd, the name
Bruce Momjian [Thu, 20 Mar 2003 18:14:46 +0000 (18:14 +0000)]
I have updated my pg_autovacuum program (formerly pg_avd, the name
changed as per discussion on the patches list).

This version should be a good bit better.  It addresses all the issues
pointed out by Neil Conway. Vacuum and Analyze are now handled
separately.  It now monitors for xid wraparound.  The number of database
connections and queries has been significantly reduced compared the
previous version.  I have moved it from bin to contrib.  More detail on
the changes are in the TODO file.

I have not tested the xid wraparound code as I have to let my AthlonXP
1600 run select 1 in a tight loop for approx. two days in order to
perform the required 500,000,000 xacts.

Matthew T. O'Connor

21 years agoFix typo in SGML tags.
Bruce Momjian [Thu, 20 Mar 2003 17:37:46 +0000 (17:37 +0000)]
Fix typo in SGML tags.

21 years agoRe-add type conversion examples.
Bruce Momjian [Thu, 20 Mar 2003 16:17:32 +0000 (16:17 +0000)]
Re-add type conversion examples.

21 years agoStarted adding date and timestamp.
Michael Meskes [Thu, 20 Mar 2003 15:56:50 +0000 (15:56 +0000)]
Started adding date and timestamp.

21 years agoRemove extern for cancelConn, from Karel Zak
Bruce Momjian [Thu, 20 Mar 2003 15:44:17 +0000 (15:44 +0000)]
Remove extern for cancelConn, from Karel Zak

21 years agoRemove compile warning.
Bruce Momjian [Thu, 20 Mar 2003 15:39:53 +0000 (15:39 +0000)]
Remove compile warning.

21 years agoAt present, dates are put into a dump in the format specified by the
Bruce Momjian [Thu, 20 Mar 2003 07:05:21 +0000 (07:05 +0000)]
At present, dates are put into a dump in the format specified by the
default datestyle.  This is not portable between installations.

This patch sets DATESTYLE to ISO at the start of a pg_dump, so that the
dates written into the dump will be restorable onto any database,
regardless of how its default datestyle is set.

Oliver Elphick

21 years agoTodo items:
Bruce Momjian [Thu, 20 Mar 2003 07:02:11 +0000 (07:02 +0000)]
Todo items:
Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values

Also updated create sequence docs to mention NO MINVALUE, & NO MAXVALUE.

New Files:
doc/src/sgml/ref/alter_sequence.sgml
src/test/regress/expected/sequence.out
src/test/regress/sql/sequence.sql

ALTER SEQUENCE is NOT transactional.  It behaves similarly to setval().
It matches the proposed SQL200N spec, as well as Oracle in most ways --
Oracle lacks RESTART WITH for some strange reason.

--
Rod Taylor <rbt@rbt.ca>

21 years agoDone:
Bruce Momjian [Thu, 20 Mar 2003 07:00:57 +0000 (07:00 +0000)]
Done:

>  o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values

21 years agoAttached is an update to contrib/tablefunc. It implements a new hashed
Bruce Momjian [Thu, 20 Mar 2003 06:46:30 +0000 (06:46 +0000)]
Attached is an update to contrib/tablefunc. It implements a new hashed
version of crosstab. This fixes a major deficiency in real-world use of
the original version. Easiest to undestand with an illustration:

Data:
-------------------------------------------------------------------
select * from cth;
  id | rowid |        rowdt        |   attribute    |      val
----+-------+---------------------+----------------+---------------
   1 | test1 | 2003-03-01 00:00:00 | temperature    | 42
   2 | test1 | 2003-03-01 00:00:00 | test_result    | PASS
   3 | test1 | 2003-03-01 00:00:00 | volts          | 2.6987
   4 | test2 | 2003-03-02 00:00:00 | temperature    | 53
   5 | test2 | 2003-03-02 00:00:00 | test_result    | FAIL
   6 | test2 | 2003-03-02 00:00:00 | test_startdate | 01 March 2003
   7 | test2 | 2003-03-02 00:00:00 | volts          | 3.1234
(7 rows)

Original crosstab:
-------------------------------------------------------------------
SELECT * FROM crosstab(
   'SELECT rowid, attribute, val FROM cth ORDER BY 1,2',4)
AS c(rowid text, temperature text, test_result text, test_startdate
text, volts text);
  rowid | temperature | test_result | test_startdate | volts
-------+-------------+-------------+----------------+--------
  test1 | 42          | PASS        | 2.6987         |
  test2 | 53          | FAIL        | 01 March 2003  | 3.1234
(2 rows)

Hashed crosstab:
-------------------------------------------------------------------
SELECT * FROM crosstab(
   'SELECT rowid, attribute, val FROM cth ORDER BY 1',
   'SELECT DISTINCT attribute FROM cth ORDER BY 1')
AS c(rowid text, temperature int4, test_result text, test_startdate
timestamp, volts float8);
  rowid | temperature | test_result |   test_startdate    | volts
-------+-------------+-------------+---------------------+--------
  test1 |          42 | PASS        |                     | 2.6987
  test2 |          53 | FAIL        | 2003-03-01 00:00:00 | 3.1234
(2 rows)

Notice that the original crosstab slides data over to the left in the
result tuple when it encounters missing data. In order to work around
this you have to be make your source sql do all sorts of contortions
(cartesian join of distinct rowid with distinct attribute; left join
that back to the real source data). The new version avoids this by
building a hash table using a second distinct attribute query.

The new version also allows for "extra" columns (see the README) and
allows the result columns to be coerced into differing datatypes if they
are suitable (as shown above).

In testing a "real-world" data set (69 distinct rowid's, 27 distinct
categories/attributes, multiple missing data points) I saw about a
5-fold improvement in execution time (from about 2200 ms old, to 440 ms
new).

I left the original version intact because: 1) BC, 2) it is probably
slightly faster if you know that you have no missing attributes.

README and regression test adjustments included. If there are no
objections, please apply.

Joe Conway

21 years agoI'm continuing to work on cleaning up code in psql. As things appear
Bruce Momjian [Thu, 20 Mar 2003 06:43:35 +0000 (06:43 +0000)]
I'm continuing to work on cleaning up code in psql.  As things appear
now, my changes seem to work.  Some possible minor bugs got squished
on the way but I can't be sure without more feedback from people who
really put the code to the test.

The new patch mostly simplifies variable handling and reduces code
duplication.  Changes in the command parser eliminate some redundant
variables (boolean state + depth counter), replaces some
"else if" constructs with switches, and so on.  It is meant to be
applied together with my previous patch, although I hope they don't
conflict; I went back to the CVS version for this one.

One more thing I thought should perhaps be changed: an IGNOREEOF
value of n will ignore only n-1 EOFs.  I didn't want to touch this
for fear of breaking existing applications, but it does seem a tad
illogical.

Jeroen T. Vermeulen

21 years agoIt has been tested only against CVS backend, however. Some checking of the
Bruce Momjian [Thu, 20 Mar 2003 06:26:30 +0000 (06:26 +0000)]
It has been tested only against CVS backend, however.  Some checking of the
changes to the SQL to retrieve attributes for older versions of Postgres is
probably wise.  Also, please make sure that I have mapped the storage types
to the correct storage names, as this is relatively poorly documented.

I think that this patch might need to be considered for back-porting to
7.3.3 since at the moment, people will be losing valuable information after
upgrades.

Will dump:

CREATE TABLE test (
    a text,
    b text,
    c text,
    d text
);
ALTER TABLE ONLY test ALTER COLUMN a SET STATISTICS 55;
ALTER TABLE ONLY test ALTER COLUMN a SET STORAGE PLAIN;
ALTER TABLE ONLY test ALTER COLUMN b SET STATISTICS 1000;
ALTER TABLE ONLY test ALTER COLUMN c SET STORAGE EXTERNAL;
ALTER TABLE ONLY test ALTER COLUMN d SET STORAGE MAIN;

Christopher Kings-Lynne

21 years agoPGRES_POLLING_ACTIVE is unused, keep for backward compatibility.
Bruce Momjian [Thu, 20 Mar 2003 06:23:30 +0000 (06:23 +0000)]
PGRES_POLLING_ACTIVE is unused, keep for backward compatibility.

Lennert Buytenhek

21 years agoAttached is a patch that limits the range tested by horology to
Bruce Momjian [Thu, 20 Mar 2003 06:03:00 +0000 (06:03 +0000)]
Attached is a patch that limits the range tested by horology to
what is capable using integer-datatime timestamps. It does attempt
to exercise the maximum allowable timestamp range.
Also is a small error check when converting a timestamp from external
to internal format that prevents out of range timestamps from being
entered.

Files patched:
        Index: src/backend/utils/adt/timestamp.c
                Added range check to prevent out of range timestamps
                from being used.

        Index: src/test/regress/sql/horology.sql
        Index: src/test/regress/expected/horology-no-DST-before-1970.out
        Index: src/test/regress/expected/horology-solaris-1947.out
                Limited range of timestamps being checked to
                Jan 1, 4713 BC  to Dec 31, 294276

In creating this patch, I have seen some definite problems with integer
timestamps and how they react when used near their limits. For example,
the following statement gives the correct result:

        SELECT timestamp without time zone 'Jan 1, 4713 BC'
               + interval '109203489 days' AS "Dec 31, 294276";

However, this statement which is the logical inverse of the above
gives incorrect results:

        SELECT timestamp without time zone '12/31/294276'
             - timestamp without time zone 'Jan 1, 4713 BC' AS "109203489 Days";

John Cochran

21 years agoHere's some changes I made last night to psql's common.c (as found in
Bruce Momjian [Thu, 20 Mar 2003 06:00:12 +0000 (06:00 +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 ago Peter found bug in the to_char() routine for PL/MI options. This
Bruce Momjian [Thu, 20 Mar 2003 05:19:26 +0000 (05:19 +0000)]
 Peter found bug in the to_char() routine for PL/MI options. This
 patch fix it -- but this patch doesn't contains tests or docs fixes. I
 will send it later.

 Fixed outputs:

select  to_char(x, '9999.999')  as x,
        to_char(x, 'S9999.999') as s,
        to_char(x, 'SG9999.999') as sg,
        to_char(x, 'MI9999.999') as mi,
        to_char(x, 'PL9999.999') as pl,
        to_char(x, 'PLMI9999.999') as plmi,
        to_char(x, '9999.999SG') as sg2,
        to_char(x, '9999.999PL') as pl2,
        to_char(x, '9999.999MI') as mi2 from num;

Karel Zak

21 years ago> > - Move SEQ_MAXVALUE, SEQ_MINVALUE definitions to sequence.h
Bruce Momjian [Thu, 20 Mar 2003 05:18:15 +0000 (05:18 +0000)]
> > - Move SEQ_MAXVALUE, SEQ_MINVALUE definitions to sequence.h
> >
> > - Add check in pg_dump to see if the value returned is the max /min
> > values and replace with NO MAXVALUE, NO MINVALUE.
> >
> > - Change START and INCREMENT to use START WITH and INCREMENT BY syntax.
> > This makes it a touch easier to port to other databases with sequences
> > (Oracle).  PostgreSQL supports both syntaxes already.
>
> +       char            bufm[100],
> +                               bufx[100];
>
> This seems to be an arbitary size. Why not set it to the actual maximum
> length?
>
> Also:
>
> +       snprintf(bufm, 100, INT64_FORMAT, SEQ_MINVALUE);
> +       snprintf(bufx, 100, INT64_FORMAT, SEQ_MAXVALUE);
>
> sizeof(bufm), sizeof(bufx) is probably the more
> maintenance-friendly/standard way to do it.

I changed the code to use sizeof - but will wait for a response from
Peter before changing the size.  It's consistent throughout the sequence
code to be 100 for this purpose.

Rod Taylor <rbt@rbt.ca>

21 years ago"Information_schema" changes
Bruce Momjian [Thu, 20 Mar 2003 05:06:55 +0000 (05:06 +0000)]
"Information_schema" changes

- Add domain check constraints to "check_constraints" view
- Create "domains" view
- Create "domain_constraints" view

--
Rod Taylor <rbt@rbt.ca>

21 years ago(Now featuring documentation: fixed some typos, expanded the
Bruce Momjian [Thu, 20 Mar 2003 05:00:14 +0000 (05:00 +0000)]
(Now featuring documentation: fixed some typos, expanded the
Envrironment and Files section, explained exactly what -w
does)

This is a patch which allows pg_ctl to make an intelligent
guess as to the proper port when running 'psql -l' to
determine if the database has started up (the -w flag).

The environment variable PGPORT is used. If that is not found,
it checks if a specific port has been set inside the postgresql.conf
file. If it is has not, it uses the port that Postgres was
compiled with.

Greg Sabino Mullane  greg@turnstep.com

21 years agoThis trivial cleans up a little bit of the code in
Bruce Momjian [Thu, 20 Mar 2003 04:52:35 +0000 (04:52 +0000)]
This trivial cleans up a little bit of the code in
src/test/regress/regress.c (e.g. removing K & R style parameter
declarations, improving sprintf() usage, etc.)

Neil Conway

21 years ago> I can see a couple possible downsides: (a) the library might have some
Bruce Momjian [Thu, 20 Mar 2003 04:51:44 +0000 (04:51 +0000)]
> I can see a couple possible downsides: (a) the library might have some
> weird behavior across fork boundaries; (b) the additional memory space
> that has to be duplicated into child processes will cost something per
> child launch, even if the child never uses it.  But these are only
> arguments that it might not *always* be a prudent thing to do, not that
> we shouldn't give the DBA the tool to do it if he wants.  So fire away.

Here is a patch for the above, including a documentation update. It
creates a new GUC variable "preload_libraries", that accepts a list in
the form:

   preload_libraries = '$libdir/mylib1:initfunc,$libdir/mylib2'

If ":initfunc" is omitted or not found, no initialization function is
executed, but the library is still preloaded. If "$libdir/mylib" isn't
found, the postmaster refuses to start.

In my testing with PL/R, it reduces the first call to a PL/R function
(after connecting) from almost 2 seconds, down to about 8 ms.

Joe Conway

21 years ago> Mph. It fails for me too when I use --enable-integer-datetimes. Looks
Bruce Momjian [Thu, 20 Mar 2003 04:49:18 +0000 (04:49 +0000)]
> Mph.  It fails for me too when I use --enable-integer-datetimes.  Looks
> like that patch still needs some work...

Yeah.  I'm really, really, *really* sorry for submitting it in the state
it was in.  I shouldn't have done that just before moving to another
country.  I found the problem last night, but couldn't get to a Net
connection until now.

The problem is in src/bin/psql/common.c, around line 250-335 somewhere
depending on the version.  The 2nd and 3rd clauses of the "while" loop
condition:

        (rstatus == PGRES_COPY_IN) &&
        (rstatus == PGRES_COPY_OUT))

should of course be:

        (rstatus != PGRES_COPY_IN) &&
        (rstatus != PGRES_COPY_OUT))

Jeroen T. Vermeulen

21 years agoMinor doc patch: create function
Bruce Momjian [Thu, 20 Mar 2003 04:41:13 +0000 (04:41 +0000)]
Minor doc patch: create function

Gavin Sherry

21 years agoJust some fixups to a couple contrib directories I was trying out.
Bruce Momjian [Thu, 20 Mar 2003 04:39:27 +0000 (04:39 +0000)]
Just some fixups to a couple contrib directories I was trying out.

. replace CREATE OR REPLACE AGGREGATE with a separate DROP and CREATE
. add DROP for all CREATE OPERATORs
. use IMMUTABLE and STRICT instead of WITH (isStrict)
. add IMMUTABLE and STRICT to int_array_aggregate's accumulator function

Gregory Stark

21 years agoThe attatched patch fixes a memory error with contrib/dbmirror/pending.c
Bruce Momjian [Thu, 20 Mar 2003 03:58:13 +0000 (03:58 +0000)]
The attatched patch fixes a memory error with contrib/dbmirror/pending.c
when running it with older(Pre 7.3.x) versions of Postgresql.

Backpatched to 7.3.X.

Steven Singer

21 years agoItem done:
Bruce Momjian [Thu, 20 Mar 2003 03:40:33 +0000 (03:40 +0000)]
Item done:

> * -Add start time to pg_stat_activity

21 years agoAdd start time to pg_stat_activity
Bruce Momjian [Thu, 20 Mar 2003 03:34:57 +0000 (03:34 +0000)]
Add start time to pg_stat_activity

Neil Conway

21 years agoThis patch fixes a very small memory leak in psql, spotted with
Bruce Momjian [Wed, 19 Mar 2003 22:49:43 +0000 (22:49 +0000)]
This patch fixes a very small memory leak in psql, spotted with
valgrind.

Neil Conway

21 years agoRemove typecasting section that isn't needed anymore.
Bruce Momjian [Wed, 19 Mar 2003 21:20:52 +0000 (21:20 +0000)]
Remove typecasting section that isn't needed anymore.

21 years agoSet up the privileges on the default schemas in initdb with real GRANT
Peter Eisentraut [Wed, 19 Mar 2003 16:08:59 +0000 (16:08 +0000)]
Set up the privileges on the default schemas in initdb with real GRANT
commands, to arrive at a valid and dumpable state.

21 years agoAvoid mysterious warning about possibly uninitialized variable.
Peter Eisentraut [Wed, 19 Mar 2003 16:05:41 +0000 (16:05 +0000)]
Avoid mysterious warning about possibly uninitialized variable.

21 years agoApplied patch to work around server bug.
Barry Lind [Wed, 19 Mar 2003 04:06:20 +0000 (04:06 +0000)]
Applied patch to work around server bug.

Modified Files:
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java

21 years agoFix typo:
Bruce Momjian [Wed, 19 Mar 2003 03:53:21 +0000 (03:53 +0000)]
Fix typo:

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

21 years agoReimplement create and drop scripts in C, to reduce repetitive
Peter Eisentraut [Tue, 18 Mar 2003 22:19:47 +0000 (22:19 +0000)]
Reimplement create and drop scripts in C, to reduce repetitive
connections, increase robustness, add NLS, and prepare for Windows port.
(vacuumdb and clusterdb will follow later.)

21 years agoMake the printing code somewhat more independent by not relying on
Peter Eisentraut [Tue, 18 Mar 2003 22:15:44 +0000 (22:15 +0000)]
Make the printing code somewhat more independent by not relying on
functions and global variables from the rest of psql.  Also clean up some
data type mismatches created by the last pager patch.

21 years agoImprove error message.
Peter Eisentraut [Tue, 18 Mar 2003 22:11:48 +0000 (22:11 +0000)]
Improve error message.

21 years agoFix off-by-one error in the maxlen parameter handling.
Peter Eisentraut [Tue, 18 Mar 2003 22:09:37 +0000 (22:09 +0000)]
Fix off-by-one error in the maxlen parameter handling.

21 years agoCompiling anything that uses InvalidOid under g++ yields a warning about
Bruce Momjian [Tue, 18 Mar 2003 17:21:07 +0000 (17:21 +0000)]
Compiling anything that uses InvalidOid under g++ yields a warning about
the expression using an "old-style cast."  Therefore, would it be okay
to patch postgres_ext.h as follows:

Jeroen T. Vermeulen

21 years agoRemove duplicate ANALYZE recommendation in pg_dump.
Bruce Momjian [Tue, 18 Mar 2003 17:05:01 +0000 (17:05 +0000)]
Remove duplicate ANALYZE recommendation in pg_dump.

21 years agoSome bugfixes for numerical library.
Michael Meskes [Tue, 18 Mar 2003 10:46:39 +0000 (10:46 +0000)]
Some bugfixes for numerical library.

21 years agoApplied updated translation patch
Barry Lind [Tue, 18 Mar 2003 05:26:50 +0000 (05:26 +0000)]
Applied updated translation patch

 Modified Files:
  errors_zh_TW.properties

21 years agoAdd to mmap discussion.
Bruce Momjian [Tue, 18 Mar 2003 01:36:01 +0000 (01:36 +0000)]
Add to mmap discussion.

21 years agoAdd mention of ANALYZE after object restore.
Bruce Momjian [Tue, 18 Mar 2003 00:02:11 +0000 (00:02 +0000)]
Add mention of ANALYZE after object restore.

21 years agoAdd mention of new sets returning functions capability.
Bruce Momjian [Mon, 17 Mar 2003 19:53:08 +0000 (19:53 +0000)]
Add mention of new sets returning functions capability.

21 years agoUpdate links, from Ian Barwick
Bruce Momjian [Mon, 17 Mar 2003 19:47:28 +0000 (19:47 +0000)]
Update links, from Ian Barwick

21 years agoAdd:
Bruce Momjian [Mon, 17 Mar 2003 18:50:06 +0000 (18:50 +0000)]
Add:

> * Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple columns

21 years agoReorder crypt.h include for SunOS compile problem.
Bruce Momjian [Mon, 17 Mar 2003 17:58:57 +0000 (17:58 +0000)]
Reorder crypt.h include for SunOS compile problem.

Fred Houweling

21 years agoIncrease max known database size.
Bruce Momjian [Mon, 17 Mar 2003 16:33:12 +0000 (16:33 +0000)]
Increase max known database size.

21 years agoForgot some files...
Michael Meskes [Sun, 16 Mar 2003 10:49:51 +0000 (10:49 +0000)]
Forgot some files...

21 years agoStarted working on a seperate pgtypes library. First test work. PLEASE test compilati...
Michael Meskes [Sun, 16 Mar 2003 10:42:54 +0000 (10:42 +0000)]
Started working on a seperate pgtypes library. First test work. PLEASE test compilation on iother systems.

21 years agoArrange to print the relevant key values when reporting a foreign-key
Tom Lane [Sat, 15 Mar 2003 21:19:40 +0000 (21:19 +0000)]
Arrange to print the relevant key values when reporting a foreign-key
violation.  Also, factor out some duplicate code in the RI triggers.
Patch by Dmitry Tkach, reviewed by Stephan Szabo and Tom Lane.

21 years agoA typo in src/backend/libpq/hba.c breaks local ident authentication
Bruce Momjian [Sat, 15 Mar 2003 16:18:25 +0000 (16:18 +0000)]
A typo in src/backend/libpq/hba.c breaks local ident authentication
in the SO_PEERCRED case. elif is misspelled as elsif for the test.
A patch is attached.

Bruno Wolff III

21 years agopg_dumpall failed on groups having no members. Per report from
Tom Lane [Fri, 14 Mar 2003 22:45:49 +0000 (22:45 +0000)]
pg_dumpall failed on groups having no members.  Per report from
Nick Eskelinen.

21 years agoRemove unneeded dash blocks around function start comments.
Bruce Momjian [Fri, 14 Mar 2003 22:40:31 +0000 (22:40 +0000)]
Remove unneeded dash blocks around function start comments.

21 years agoUpdate name of GUC var:
Bruce Momjian [Fri, 14 Mar 2003 20:19:59 +0000 (20:19 +0000)]
Update name of GUC var:

< * Add GUC log_statement_duration to print statement and >= min duration
> * Add GUC log_statement_and_duration to print statement and >= min duration

21 years agoAdd:
Bruce Momjian [Fri, 14 Mar 2003 19:27:49 +0000 (19:27 +0000)]
Add:

> * Add GUC log_statement_duration to print statement and >= min duration

21 years agoFixed parsing to handle \n for updateable result sets. Bug reported by Rich Cullingford.
Barry Lind [Fri, 14 Mar 2003 05:36:58 +0000 (05:36 +0000)]
Fixed parsing to handle \n for updateable result sets.  Bug reported by Rich Cullingford.

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

21 years agoRepair incorrect prorettype entry for timestamptz_izone. Can't force
Tom Lane [Fri, 14 Mar 2003 04:43:52 +0000 (04:43 +0000)]
Repair incorrect prorettype entry for timestamptz_izone.  Can't force
initdb in the 7.3 branch, but we can at least make it right for people
who install 7.3.3 from scratch.

21 years agoImproved error message and added some log messages in batch update functionality
Barry Lind [Fri, 14 Mar 2003 01:21:47 +0000 (01:21 +0000)]
Improved error message and added some log messages in batch update functionality

 Modified Files:
  jdbc/org/postgresql/errors.properties
  jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
  jdbc/org/postgresql/util/PSQLException.java

21 years agoMake eval_const_expressions simplify FieldSelect from a whole-row Var
Tom Lane [Fri, 14 Mar 2003 00:55:17 +0000 (00:55 +0000)]
Make eval_const_expressions simplify FieldSelect from a whole-row Var
into an ordinary one-field Var.  Per example from Chris Mungall.

21 years agoPrevent infinite loop in ln_var() due to roundoff error.
Tom Lane [Fri, 14 Mar 2003 00:15:32 +0000 (00:15 +0000)]
Prevent infinite loop in ln_var() due to roundoff error.
Per report from Dave Marin.

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.