]> granicus.if.org Git - postgresql/log
postgresql
19 years agoAttached is a patch that enhances the "\h" capability in psql. I often
Bruce Momjian [Wed, 6 Jul 2005 03:14:48 +0000 (03:14 +0000)]
Attached is a patch that enhances the "\h" capability in psql. I often
find myself typing a command and then wanting to get the syntax for it.
So I do a ctrl-a and add a \h: but psql does not recognize the command,
because I have stuff attached to it (e.g. "alter table foobar"), so I
have to scroll over and delete everything except the name of the command
itself. This patch gives \h three chances to match: if nothing matches
the complete string (current behavior), it tries to match the first two
words (e.g. "ALTER TABLE"). If that fails, it tries to match the first
word (e.g. "DELETE").

Greg Sabino Mullane

19 years agoDept of second thoughts: don't expose rijndael.tbl: rijndael.c dependency
Tom Lane [Tue, 5 Jul 2005 23:18:44 +0000 (23:18 +0000)]
Dept of second thoughts: don't expose rijndael.tbl: rijndael.c dependency
to make.  We ship the table file in the tarball and so this dependency
just opens file timestamp skew problems without doing anything useful.
(Not that it should hurt, either ... except for cross-compile builds.)

19 years agoAdd GUC full_page_writes to control writing full pages to WAL.
Bruce Momjian [Tue, 5 Jul 2005 23:18:10 +0000 (23:18 +0000)]
Add GUC full_page_writes to control writing full pages to WAL.

19 years agoFix contrib/pgcrypto to autoconfigure for OpenSSL when --with-openssl
Tom Lane [Tue, 5 Jul 2005 23:13:57 +0000 (23:13 +0000)]
Fix contrib/pgcrypto to autoconfigure for OpenSSL when --with-openssl
is used in the toplevel configure.  Per Marko Kreen.

19 years agoRemove, now have GUC:
Bruce Momjian [Tue, 5 Jul 2005 22:59:36 +0000 (22:59 +0000)]
Remove, now have GUC:

< * Turn off full page writes if fsync is disabled
<
<   If fsync is off, there is no purpose in writing full pages to WAL
<

19 years agoAdd:
Bruce Momjian [Tue, 5 Jul 2005 19:37:54 +0000 (19:37 +0000)]
Add:
<
881a881,882
>  o Improve xid wraparound detection by recording per-table rather
>    than per-database

19 years agoBack out patch. This should be done like other server-side languages.
Bruce Momjian [Tue, 5 Jul 2005 18:15:51 +0000 (18:15 +0000)]
Back out patch.  This should be done like other server-side languages.

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

This patch allows the PL/Python module to do (SRF) functions.

The patch was taken from the CVS version.

I have modified the plpython.c file and have added a test sql script for
testing the functionality. It was actually the script that was in the
8.0.3 version but have since been removed.

In order to signal the end of a set, the called python function must
simply return plpy.EndOfSet and the set would be returned.

Gerrit van Dyk

19 years agoFix initialization bug in pgcrypto openssl code. Marko Kreen
Tom Lane [Tue, 5 Jul 2005 18:15:36 +0000 (18:15 +0000)]
Fix initialization bug in pgcrypto openssl code. Marko Kreen

19 years agoAdd NO_PGPORT defines to fix win32/cygwin builds for new target platform
Bruce Momjian [Tue, 5 Jul 2005 17:24:30 +0000 (17:24 +0000)]
Add NO_PGPORT defines to fix win32/cygwin builds for new target platform
build of zic.

19 years agoRestructure zic #define fprintf checks to use a NO_PGPORT macro instead.
Bruce Momjian [Mon, 4 Jul 2005 19:54:51 +0000 (19:54 +0000)]
Restructure zic #define fprintf checks to use a NO_PGPORT macro instead.

19 years agoI have to admit that I got the case of the preprocessor symbol on amd64
Bruce Momjian [Mon, 4 Jul 2005 19:05:45 +0000 (19:05 +0000)]
I have to admit that I got the case of the preprocessor symbol on amd64
wrong. __AMD64__ is not defined, __amd64__ is.

Christof Petig

19 years agoThis patch allows the PL/Python module to do (SRF) functions.
Bruce Momjian [Mon, 4 Jul 2005 19:03:30 +0000 (19:03 +0000)]
This patch allows the PL/Python module to do (SRF) functions.

The patch was taken from the CVS version.

I have modified the plpython.c file and have added a test sql script for
testing the functionality. It was actually the script that was in the
8.0.3 version but have since been removed.

In order to signal the end of a set, the called python function must
simply return plpy.EndOfSet and the set would be returned.

Gerrit van Dyk

19 years agoI made the patch that improved the performance of replace_text().
Bruce Momjian [Mon, 4 Jul 2005 18:56:44 +0000 (18:56 +0000)]
I made the patch that improved the performance of replace_text().
The content of the patch is as follows:

(1)Create shortcut when subtext was not found.

(2)Stop using LEFT and RIGHT macro.
In LEFT and RIGHT macro, TEXTPOS is executed by the same content as
execution immediately before. The execution frequency of TEXTPOS can be
reduced by using text_substring instead of LEFT and RIGHT macro.

(3)Add appendStringInfoText, and use it instead of
appendStringInfoString.
There is an overhead of PG_TEXT_GET_STR when appendStringInfoString is
executed by text type. This can be reduced by appendStringInfoText.

(4)Reduce execution of TEXTDUP.

The effect of the patch that I measured is as follows:

- The Data for test was created by 'pgbench -i'.

- Test SQL:
 select replace(aid, '9', 'A') from accounts;

- Test results: Linux(CPU: Pentium III, Compiler option: -O2)
 original: 1.515s
 patched:  1.250s

Atsushi Ogawa

19 years agoFix compile if zic because it now doesn't use libpgport.
Bruce Momjian [Mon, 4 Jul 2005 18:21:40 +0000 (18:21 +0000)]
Fix compile if zic because it now doesn't use libpgport.

19 years agoMore TODO list section restructuring.
Bruce Momjian [Mon, 4 Jul 2005 17:43:42 +0000 (17:43 +0000)]
More TODO list section restructuring.

19 years agoRestructure TODO sections.
Bruce Momjian [Mon, 4 Jul 2005 17:00:32 +0000 (17:00 +0000)]
Restructure TODO sections.

19 years agoFix date_trunct for December dates that are in the next year, e.g.:
Bruce Momjian [Mon, 4 Jul 2005 14:38:31 +0000 (14:38 +0000)]
Fix date_trunct for December dates that are in the next year, e.g.:

        SELECT date_trunc('week', '2002-12-31'::date);

Backpatch to 8.0.X.

Per report from Nick Johnson.

19 years agoUpdate
Bruce Momjian [Mon, 4 Jul 2005 12:32:38 +0000 (12:32 +0000)]
Update
> * Allow GIST indexes to create certain complex index types, like digital
>   trees (see Aoki)
>
783a787
>

19 years agoArrange for the postmaster (and standalone backends, initdb, etc) to
Tom Lane [Mon, 4 Jul 2005 04:51:52 +0000 (04:51 +0000)]
Arrange for the postmaster (and standalone backends, initdb, etc) to
chdir into PGDATA and subsequently use relative paths instead of absolute
paths to access all files under PGDATA.  This seems to give a small
performance improvement, and it should make the system more robust
against naive DBAs doing things like moving a database directory that
has a live postmaster in it.  Per recent discussion.

19 years agoReverse this patch:
Bruce Momjian [Mon, 4 Jul 2005 04:17:00 +0000 (04:17 +0000)]
Reverse this patch:

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

> A quick look shows that when you use --with-libraries=/foo/bar the
> generated link line for libraries says
>
>  -L/foo/bar -lpq
>
> and it should probably be the other way around (as it is for the
> executables).
>
> So I suspect we need some makefile tuning.

You were correct. This patch fixes it.

Jim C. Nasby

19 years agoUpdate wording:
Bruce Momjian [Mon, 4 Jul 2005 04:06:43 +0000 (04:06 +0000)]
Update wording:

<   Currently, to protect against partial disk page writes, we write the
>   Currently, to protect against partial disk page writes, we write
877c877
< * Turn off after-change writes if fsync is disabled
> * Turn off full page writes if fsync is disabled

19 years agoFix build break for out of tree (vpath) builds, induced by recent zic
Neil Conway [Mon, 4 Jul 2005 02:55:59 +0000 (02:55 +0000)]
Fix build break for out of tree (vpath) builds, induced by recent zic
changes.

19 years agoBruce, please apply this additional patch, that fixes the
Bruce Momjian [Mon, 4 Jul 2005 02:02:01 +0000 (02:02 +0000)]
Bruce, please apply this additional patch, that fixes the
auto-detection of AES.

Now openssl.c just checks OpenSSL version.  Whoever compiles
newer OpenSSL without AES is on his own.

Marko Kreen

19 years agoFix memory leak in plperl_hash_from_tuple(), per report from Jean-Max Reymond.
Tom Lane [Sun, 3 Jul 2005 21:56:16 +0000 (21:56 +0000)]
Fix memory leak in plperl_hash_from_tuple(), per report from Jean-Max Reymond.

19 years agoDon't try to constant-fold functions returning RECORD. We were never
Tom Lane [Sun, 3 Jul 2005 21:14:18 +0000 (21:14 +0000)]
Don't try to constant-fold functions returning RECORD.  We were never
able to do this before, but I had tried to make an exception for functions
with OUT parameters.  Michael Fuhr found one problem with it already, and
I found another, which was it didn't work for strict functions with a
NULL input.  While both of these could be worked around, the probability
that there are more gotchas seems high; I think prudence dictates just
reverting to the former behavior for now.  Accordingly, remove the kluge
added to get_expr_result_type() for Michael's case.

19 years agoSupport cross compilation by compiling "zic" with a native compiler. This
Peter Eisentraut [Sun, 3 Jul 2005 18:54:28 +0000 (18:54 +0000)]
Support cross compilation by compiling "zic" with a native compiler.  This
relies on the output of zic being platform independent, but that is
currently the case.

19 years agoImprove outer-join-deduction logic to be able to propagate equalities
Tom Lane [Sun, 3 Jul 2005 18:26:32 +0000 (18:26 +0000)]
Improve outer-join-deduction logic to be able to propagate equalities
through multiple join clauses.

19 years agoThis patch allows contrib/pgcrypto to build with OpenSSL 0.9.8
Bruce Momjian [Sun, 3 Jul 2005 02:32:56 +0000 (02:32 +0000)]
This patch allows contrib/pgcrypto to build with OpenSSL 0.9.8
(currently in beta) when cryptolib = openssl.  According to the
following checkin message from several years ago, OpenSSL application
developers should no longer rely on <openssl/evp.h> to include
everything they need:

http://cvs.openssl.org/chngview?cn=9888

This patch adds the necessary header files.  It doesn't appear to
break anything when building against OpenSSL 0.9.7.

BTW, core appears to build and work fine with OpenSSL 0.9.8.  I've
built 7.3 through HEAD against 0.9.8-beta6 without noticing any
problems.

Michael Fuhr

19 years ago> A quick look shows that when you use --with-libraries=/foo/bar the
Bruce Momjian [Sat, 2 Jul 2005 23:28:22 +0000 (23:28 +0000)]
> A quick look shows that when you use --with-libraries=/foo/bar the
> generated link line for libraries says
>
>  -L/foo/bar -lpq
>
> and it should probably be the other way around (as it is for the
> executables).
>
> So I suspect we need some makefile tuning.

You were correct. This patch fixes it.

Jim C. Nasby

19 years agoTeach planner about some cases where a restriction clause can be
Tom Lane [Sat, 2 Jul 2005 23:00:42 +0000 (23:00 +0000)]
Teach planner about some cases where a restriction clause can be
propagated inside an outer join.  In particular, given
LEFT JOIN ON (A = B) WHERE A = constant, we cannot conclude that
B = constant at the top level (B might be null instead), but we
can nonetheless put a restriction B = constant into the quals for
B's relation, since no inner-side rows not meeting that condition
can contribute to the final result.  Similarly, given
FULL JOIN USING (J) WHERE J = constant, we can't directly conclude
that either input J variable = constant, but it's OK to push such
quals into each input rel.  Per recent gripe from Kim Bisgaard.
Along the way, remove 'valid_everywhere' flag from RestrictInfo,
as on closer analysis it was not being used for anything, and was
defined backwards anyway.

19 years agoRemove GIST concurrency limitations section.
Bruce Momjian [Sat, 2 Jul 2005 20:08:27 +0000 (20:08 +0000)]
Remove GIST concurrency limitations section.

Christopher Kings-Lynne

19 years agoAdd SGML markup for on/off values in run-time section.
Bruce Momjian [Sat, 2 Jul 2005 19:16:36 +0000 (19:16 +0000)]
Add SGML markup for on/off values in run-time section.

19 years agoImprove wrapping of long lines in postgresql.conf.
Bruce Momjian [Sat, 2 Jul 2005 18:46:45 +0000 (18:46 +0000)]
Improve wrapping of long lines in postgresql.conf.

19 years agoUse on/off consistently for GUC variables in postgresql.conf and the
Bruce Momjian [Sat, 2 Jul 2005 18:29:04 +0000 (18:29 +0000)]
Use on/off consistently for GUC variables in postgresql.conf and the
documentation, to match SHOW.

19 years agoAdd E'' to internally created SQL strings that contain backslashes.
Bruce Momjian [Sat, 2 Jul 2005 17:01:59 +0000 (17:01 +0000)]
Add E'' to internally created SQL strings that contain backslashes.

Improve code clarity by using macros for E'' processing.

19 years agoUpdate:
Bruce Momjian [Sat, 2 Jul 2005 14:30:38 +0000 (14:30 +0000)]
Update:

< * Add rtree index support for line, lseg, path, point
> * Add more gist index support for geometric data types

19 years agoIn PL/PgSQL, allow a block's label to be optionally specified at the
Neil Conway [Sat, 2 Jul 2005 08:59:48 +0000 (08:59 +0000)]
In PL/PgSQL, allow a block's label to be optionally specified at the
end of the block:

<<label>>
begin
    ...
end label;

Similarly for loops. This is per PL/SQL. Update the documentation and
add regression tests. Patch from Pavel Stehule, code review by Neil
Conway.

19 years agoFix platform-dependency in recently added regression tests.
Tom Lane [Fri, 1 Jul 2005 23:18:01 +0000 (23:18 +0000)]
Fix platform-dependency in recently added regression tests.
Per buildfarm results.

19 years agoAdd code to pg_dump to use E'' strings when backslashes are used in dump
Bruce Momjian [Fri, 1 Jul 2005 21:03:25 +0000 (21:03 +0000)]
Add code to pg_dump to use E'' strings when backslashes are used in dump
files.

19 years agoAvoid function name conflict when plpgsql and rangefuncs regression tests
Tom Lane [Fri, 1 Jul 2005 20:29:02 +0000 (20:29 +0000)]
Avoid function name conflict when plpgsql and rangefuncs regression tests
execute in parallel.  Spotted by Peter.

19 years agoRemove contrib version of rtree_gist --- now in core system.
Tom Lane [Fri, 1 Jul 2005 19:23:07 +0000 (19:23 +0000)]
Remove contrib version of rtree_gist --- now in core system.

19 years agoMigrate rtree_gist functionality into the core system, and add some
Tom Lane [Fri, 1 Jul 2005 19:19:05 +0000 (19:19 +0000)]
Migrate rtree_gist functionality into the core system, and add some
basic regression tests for GiST to the standard regression tests.
I took the opportunity to add an rtree-equivalent gist opclass for
circles; the contrib version only covered boxes and polygons, but
indexing circles is very handy for distance searches.

19 years agoUpdate to autoconf 2.59 as well as updates of related scripts
Peter Eisentraut [Fri, 1 Jul 2005 18:17:31 +0000 (18:17 +0000)]
Update to autoconf 2.59 as well as updates of related scripts

19 years agoClarify code to double \\ and '.
Bruce Momjian [Fri, 1 Jul 2005 17:40:29 +0000 (17:40 +0000)]
Clarify code to double \\ and '.

19 years agoClarify:
Bruce Momjian [Fri, 1 Jul 2005 17:35:22 +0000 (17:35 +0000)]
Clarify:

<  o Replace crude DELETE FROM method of pg_dumpall for cleaning of
<    roles with separate DROP commands
>  o Replace crude DELETE FROM method of pg_dumpall --clean for
>           cleaning of roles with separate DROP commands

19 years agoUpdate for roles:
Bruce Momjian [Fri, 1 Jul 2005 17:32:21 +0000 (17:32 +0000)]
Update for roles:

< * Allow limits on per-db/user connections
> * Allow limits on per-db/role connections
< * Prevent default re-use of sysids for dropped users and roles
<
<   Currently, if a user is removed while he still owns objects, a new
<   user given might be given their user id and inherit the
<   previous users objects.
<
450c444
< * Add COMMENT ON for all cluster global objects (users, roles, databases
> * Add COMMENT ON for all cluster global objects (roles, databases
609c603
<    users and roles with separate DROP commands
>    roles with separate DROP commands

19 years agoUpdate for roles:
Bruce Momjian [Fri, 1 Jul 2005 17:05:58 +0000 (17:05 +0000)]
Update for roles:

< * Prevent default re-use of sysids for dropped users and groups
> * Prevent default re-use of sysids for dropped users and roles
450c450
< * Add COMMENT ON for all cluster global objects (users, groups, databases
> * Add COMMENT ON for all cluster global objects (users, roles, databases
609c609
<    users and groups with separate DROP commands
>    users and roles with separate DROP commands

19 years agoItem superceeded now that groups exist:
Bruce Momjian [Fri, 1 Jul 2005 15:08:25 +0000 (15:08 +0000)]
Item superceeded now that groups exist:

< * Add group object ownership, so groups can rename/drop/grant on objects,
<   so we can implement roles

19 years agoDone:
Bruce Momjian [Fri, 1 Jul 2005 14:51:49 +0000 (14:51 +0000)]
Done:

>  o -Add dumping and restoring of LOB comments

19 years agoFixes from Janko Richter <jankorichter@yahoo.de>
Teodor Sigaev [Fri, 1 Jul 2005 13:44:56 +0000 (13:44 +0000)]
Fixes from Janko Richter <jankorichter@yahoo.de>
- Fix wrong index results on text, char, varchar for multibyte strings
- Fix some SIGFPE signals
- Add support for infinite timestamps
- Because of locale settings, btree_gist can not be a prefix index anymore (for text).
  Each node holds now just the lower and upper boundary.

19 years agoClarify documentation about log_min_duration_statement.
Bruce Momjian [Fri, 1 Jul 2005 13:29:25 +0000 (13:29 +0000)]
Clarify documentation about log_min_duration_statement.

19 years agoImprove error messages and add comment
Teodor Sigaev [Fri, 1 Jul 2005 13:18:17 +0000 (13:18 +0000)]
Improve error messages and add comment

19 years agoAdds some missing error handling to PGTYPESnumeric_div() in ecpg's
Neil Conway [Fri, 1 Jul 2005 05:13:58 +0000 (05:13 +0000)]
Adds some missing error handling to PGTYPESnumeric_div() in ecpg's
pgtypeslib: (1) we need to check the return value of sub_abs() (2) we
need to check the return value of 4 calls to digitbuf_alloc().

Per Coverity static analysis performed by EnterpriseDB.

19 years agoFix some minor infelicities in ecpg's pgtypeslib: (1) `pstr' must be
Neil Conway [Fri, 1 Jul 2005 05:12:06 +0000 (05:12 +0000)]
Fix some minor infelicities in ecpg's pgtypeslib: (1) `pstr' must be
non-NULL in this function, so there is no need to check for it (2) we
should check the return value of pgtypes_strdup(). Patch from Eric
Astor at EnterpriseDB, with slight cleanup by myself, per a report
from the Coverity tool.

19 years agoBug fixes for GiST crash recovery.
Teodor Sigaev [Thu, 30 Jun 2005 17:52:14 +0000 (17:52 +0000)]
Bug fixes for GiST crash recovery.
- add forgotten check of lsn for insert completion
- remove level of pages: hard to check in recovery
- some cleanups

19 years agoIssue fatal error if no TCP/IP sockets could be created
Peter Eisentraut [Thu, 30 Jun 2005 10:02:22 +0000 (10:02 +0000)]
Issue fatal error if no TCP/IP sockets could be created

19 years agoMinor ecpg tweak: the return value of calloc() is guaranteed to be NULL
Neil Conway [Thu, 30 Jun 2005 07:27:31 +0000 (07:27 +0000)]
Minor ecpg tweak: the return value of calloc() is guaranteed to be NULL
or zero-filled; therefore zero-filling it via memset() is pointless.
(I think setting `errno' is probably a waste of cycles as well, but I
haven't changed that.)

19 years agoWarning cleanups for ecpg tests. Avoid doing pointer arithmetic on void *,
Neil Conway [Thu, 30 Jun 2005 07:08:59 +0000 (07:08 +0000)]
Warning cleanups for ecpg tests. Avoid doing pointer arithmetic on void *,
remove old-style function declarations, and mark a function "static".
There are some remaining warnings, but this fixes most of them, anyway.

19 years agoFix ecpg's test/ Makefile for out-of-tree (vpath) builds.
Neil Conway [Thu, 30 Jun 2005 07:01:57 +0000 (07:01 +0000)]
Fix ecpg's test/ Makefile for out-of-tree (vpath) builds.

19 years agoFix build break on BSD, OSX, and other systems: add missing <sys/time.h>
Neil Conway [Thu, 30 Jun 2005 03:48:58 +0000 (03:48 +0000)]
Fix build break on BSD, OSX, and other systems: add missing <sys/time.h>
include.

19 years agoDump comments for large objects.
Tom Lane [Thu, 30 Jun 2005 03:03:04 +0000 (03:03 +0000)]
Dump comments for large objects.

19 years agoFix a theoretical memory leak in pg_password_sendauth(). If the first
Neil Conway [Thu, 30 Jun 2005 01:59:20 +0000 (01:59 +0000)]
Fix a theoretical memory leak in pg_password_sendauth(). If the first
malloc() succeeded but the second failed, the buffer allocated by the
first malloc() would be leaked. Fix this by allocating both buffers
via a single malloc(), as suggested by Tom.

Per Coverity static analysis performed by EnterpriseDB.

19 years agoImprove the checkpoint signaling mechanism so that the bgwriter can tell
Tom Lane [Thu, 30 Jun 2005 00:00:52 +0000 (00:00 +0000)]
Improve the checkpoint signaling mechanism so that the bgwriter can tell
the difference between checkpoints forced due to WAL segment consumption
and checkpoints forced for other reasons (such as CREATE DATABASE).  Avoid
generating 'checkpoints are occurring too frequently' messages when the
checkpoint wasn't caused by WAL segment consumption.  Per gripe from
Chris K-L.

19 years agoClean up the rather historically encumbered interface to now() and
Tom Lane [Wed, 29 Jun 2005 22:51:57 +0000 (22:51 +0000)]
Clean up the rather historically encumbered interface to now() and
current time: provide a GetCurrentTimestamp() function that returns
current time in the form of a TimestampTz, instead of separate time_t
and microseconds fields.  This is what all the callers really want
anyway, and it eliminates low-level dependencies on AbsoluteTime,
which is a deprecated datatype that will have to disappear eventually.

19 years agoMore cleanup on roles patch. Allow admin option to be inherited through
Tom Lane [Wed, 29 Jun 2005 20:34:15 +0000 (20:34 +0000)]
More cleanup on roles patch.  Allow admin option to be inherited through
role memberships; make superuser/createrole distinction do something
useful; fix some locking and CommandCounterIncrement issues; prevent
creation of loops in the membership graph.

19 years agoCleanup, remove unneeded pallocs
Teodor Sigaev [Wed, 29 Jun 2005 14:06:14 +0000 (14:06 +0000)]
Cleanup, remove unneeded pallocs

19 years agoImprove gettimeofday() documentation.
Bruce Momjian [Wed, 29 Jun 2005 01:52:56 +0000 (01:52 +0000)]
Improve gettimeofday() documentation.

Karl O. Pinc

19 years agoImproved words spacing.
Bruce Momjian [Wed, 29 Jun 2005 01:23:49 +0000 (01:23 +0000)]
Improved words spacing.

Victor Y. Yegorov

19 years agoUpdate typedefs for pgindent.
Bruce Momjian [Tue, 28 Jun 2005 23:55:30 +0000 (23:55 +0000)]
Update typedefs for pgindent.

19 years agoChange awk ~ pattern from "" to //.
Bruce Momjian [Tue, 28 Jun 2005 23:16:33 +0000 (23:16 +0000)]
Change awk ~ pattern from "" to //.

Remove extra backslash in pattern.  Luke Lonergan

19 years agoFix up problems in write_auth_file and parsing of the auth file.
Tom Lane [Tue, 28 Jun 2005 22:16:45 +0000 (22:16 +0000)]
Fix up problems in write_auth_file and parsing of the auth file.
In particular, make hba.c cope with zero-length tokens, which it
never did properly before.  Also, enforce rolcanlogin.

19 years agoBring syntax of role-related commands into SQL compliance. To avoid
Tom Lane [Tue, 28 Jun 2005 19:51:26 +0000 (19:51 +0000)]
Bring syntax of role-related commands into SQL compliance.  To avoid
syntactic conflicts, both privilege and role GRANT/REVOKE commands have
to use the same production for scanning the list of tokens that might
eventually turn out to be privileges or role names.  So, change the
existing GRANT/REVOKE code to expect a list of strings not pre-reduced
AclMode values.  Fix a couple other minor issues while at it, such as
InitializeAcl function name conflicting with a Windows system function.

19 years agoCode cleanup. gistfillbuffer accepts InvalidOffsetNumber.
Teodor Sigaev [Tue, 28 Jun 2005 15:51:00 +0000 (15:51 +0000)]
Code cleanup. gistfillbuffer accepts InvalidOffsetNumber.

19 years agoFix broken initdb -W option, per Michael Fuhr.
Tom Lane [Tue, 28 Jun 2005 15:38:12 +0000 (15:38 +0000)]
Fix broken initdb -W option, per Michael Fuhr.

19 years agoReplace pg_shadow and pg_group by new role-capable catalogs pg_authid
Tom Lane [Tue, 28 Jun 2005 05:09:14 +0000 (05:09 +0000)]
Replace pg_shadow and pg_group by new role-capable catalogs pg_authid
and pg_auth_members.  There are still many loose ends to finish in this
patch (no documentation, no regression tests, no pg_dump support for
instance).  But I'm going to commit it now anyway so that Alvaro can
make some progress on shared dependencies.  The catalog changes should
be pretty much done.

19 years agoDone:
Bruce Momjian [Mon, 27 Jun 2005 23:21:58 +0000 (23:21 +0000)]
Done:

> * -Add concurrency to GIST

19 years agoConcurrency for GiST
Teodor Sigaev [Mon, 27 Jun 2005 12:45:23 +0000 (12:45 +0000)]
Concurrency for GiST
- full concurrency for insert/update/select/vacuum:
        - select and vacuum never locks more than one page simultaneously
        - select (gettuple) hasn't any lock across it's calls
        - insert never locks more than two page simultaneously:
                - during search of leaf to insert it locks only one page
                  simultaneously
                - while walk upward to the root it locked only parent (may be
                  non-direct parent) and child. One of them X-lock, another may
                  be S- or X-lock
- 'vacuum full' locks index
- improve gistgetmulti
- simplify XLOG records

Fix bug in index_beginscan_internal: LockRelation may clean
  rd_aminfo structure, so move GET_REL_PROCEDURE after LockRelation

19 years agoModify pg_dump to assume that a check constraint is inherited if its
Tom Lane [Mon, 27 Jun 2005 02:17:47 +0000 (02:17 +0000)]
Modify pg_dump to assume that a check constraint is inherited if its
name matches the name of any parent-table constraint, without looking
at the constraint text.  This is a not-very-bulletproof workaround for
the problem exhibited by Berend Tober last month.  We really ought to
record constraint inheritance status in pg_constraint, but it's looking
like that may not get done for 8.1 --- and even if it does, we will
need this kluge for dumping from older servers.

19 years agoDone:
Bruce Momjian [Mon, 27 Jun 2005 02:17:20 +0000 (02:17 +0000)]
Done:
> * -Remove kerberos4 from source tree

19 years agoRemove support for Kerberos V4. It seems no one is using this, it has
Neil Conway [Mon, 27 Jun 2005 02:04:26 +0000 (02:04 +0000)]
Remove support for Kerberos V4. It seems no one is using this, it has
some security issues, and upstream has declared it "dead". Patch from
Magnus Hagander, minor editorialization from Neil Conway.

19 years agoDone:
Bruce Momjian [Mon, 27 Jun 2005 01:53:52 +0000 (01:53 +0000)]
Done:
>  o -Allow PL/pgSQL EXECUTE query_var INTO record_var;

19 years agoRemove the << >> &< and &> operators for contrib/cube, which were
Tom Lane [Mon, 27 Jun 2005 01:19:43 +0000 (01:19 +0000)]
Remove the << >> &< and &> operators for contrib/cube, which were
wrong, but nobody noticed because they were also useless.

19 years agoAdjust contrib/seg &< and &> operators so that r-tree indexing logic
Tom Lane [Mon, 27 Jun 2005 00:48:07 +0000 (00:48 +0000)]
Adjust contrib/seg &< and &> operators so that r-tree indexing logic
works properly for 1-D comparisons.  Fix some other errors such as
bogus commutator specifications.

19 years agoTweak dynahash.c to not allocate so many entries at once when dealing
Tom Lane [Sun, 26 Jun 2005 23:32:34 +0000 (23:32 +0000)]
Tweak dynahash.c to not allocate so many entries at once when dealing
with a table that has a small predicted size.  Avoids wasting several
hundred K on the timezone hash table, which is likely to have only one
or a few entries, but the entries use up 10Kb apiece ...

19 years agoAdd Oracle-compatible GREATEST and LEAST functions. Pavel Stehule
Tom Lane [Sun, 26 Jun 2005 22:05:42 +0000 (22:05 +0000)]
Add Oracle-compatible GREATEST and LEAST functions.  Pavel Stehule

19 years agoCode review for escape-strings patch. Sync psql and plpgsql lexers
Tom Lane [Sun, 26 Jun 2005 19:16:07 +0000 (19:16 +0000)]
Code review for escape-strings patch.  Sync psql and plpgsql lexers
with main, avoid using a SQL-defined SQLSTATE for what is most definitely
not a SQL-compatible error condition, fix documentation omissions,
adhere to message style guidelines, don't use two GUC_REPORT variables
when one is sufficient.  Nothing done about pg_dump issues.

19 years agoFix overlooked regression output file.
Tom Lane [Sun, 26 Jun 2005 17:20:04 +0000 (17:20 +0000)]
Fix overlooked regression output file.

19 years agoAdd E'' syntax so eventually normal strings can treat backslashes
Bruce Momjian [Sun, 26 Jun 2005 03:04:37 +0000 (03:04 +0000)]
Add E'' syntax so eventually normal strings can treat backslashes
literally.

Add GUC variables:

        "escape_string_warning" - warn about backslashes in non-E strings
        "escape_string_syntax" - supports E'' syntax?
        "standard_compliant_strings" - treats backslashes literally in ''

Update code to use E'' when escapes are used.

19 years agoFix a couple of items that should be declared Oid not int. Purely
Tom Lane [Sat, 25 Jun 2005 23:58:58 +0000 (23:58 +0000)]
Fix a couple of items that should be declared Oid not int.  Purely
cosmetic at the moment, but someday Oid might be 64 bits ...

19 years agoRemove forced CHECKPOINT in regression tests --- redundant now that
Tom Lane [Sat, 25 Jun 2005 23:04:06 +0000 (23:04 +0000)]
Remove forced CHECKPOINT in regression tests --- redundant now that
CREATE DATABASE does one internally.

19 years agoForce a checkpoint before committing a CREATE DATABASE command. This
Tom Lane [Sat, 25 Jun 2005 22:47:29 +0000 (22:47 +0000)]
Force a checkpoint before committing a CREATE DATABASE command.  This
should fix the recent reports of "index is not a btree" failures,
as well as preventing a more obscure race condition involving changes
to a template database just after copying it with CREATE DATABASE.

19 years agoFix ancient memory leak in index_create(): RelationInitIndexAccessInfo
Tom Lane [Sat, 25 Jun 2005 16:53:49 +0000 (16:53 +0000)]
Fix ancient memory leak in index_create(): RelationInitIndexAccessInfo
was being called twice in normal operation, leading to a leak of one set
of relcache subsidiary info.  Per report from Jeff Gold.

19 years agoAdd:
Bruce Momjian [Sat, 25 Jun 2005 15:24:11 +0000 (15:24 +0000)]
Add:

>  o Pass arrays natively instead of as text between plperl and postgres
>  o Add support for polymorphic arguments and return types to plperl

19 years agoUpdate:
Bruce Momjian [Sat, 25 Jun 2005 12:37:43 +0000 (12:37 +0000)]
Update:

< * Allow per-user, per-group quotas per-tablespace
> * Allow per-tablespace quotas

19 years agoUpdate:
Bruce Momjian [Sat, 25 Jun 2005 02:42:00 +0000 (02:42 +0000)]
Update:

< * Allow per-user and per-tablespaces quotas
> * Allow per-user, per-group quotas per-tablespace

19 years agoAdd:
Bruce Momjian [Sat, 25 Jun 2005 02:40:43 +0000 (02:40 +0000)]
Add:

> * Allow per-user and per-tablespaces quotas

19 years agoAdd item:
Bruce Momjian [Sat, 25 Jun 2005 01:32:02 +0000 (01:32 +0000)]
Add item:

> * Add NUMERIC division operator that doesn't round?
>
>   Currently NUMERIC _rounds_ the result to the specified precision.
>   This means division can return a result that multiplied by the
>   divisor is greater than the dividend, e.g. this returns a value > 10:
>
>     SELECT (10::numeric(2,0) / 6::numeric(2,0))::numeric(2,0) * 6;
>
>   The positive modulus result returned by NUMERICs might be considered
>   inaccurate, in one sense.
>

19 years agoAdd desciption for terminate:
Bruce Momjian [Fri, 24 Jun 2005 21:28:30 +0000 (21:28 +0000)]
Add desciption for terminate:

>
>   Currently SIGTERM of a backend can lead to lock table corruption.
>

19 years agoExtend r-tree operator classes to handle Y-direction tests equivalent
Tom Lane [Fri, 24 Jun 2005 20:53:34 +0000 (20:53 +0000)]
Extend r-tree operator classes to handle Y-direction tests equivalent
to the existing X-direction tests.  An rtree class now includes 4 actual
2-D tests, 4 1-D X-direction tests, and 4 1-D Y-direction tests.
This involved adding four new Y-direction test operators for each of
box and polygon; I followed the PostGIS project's lead as to the names
of these operators.
NON BACKWARDS COMPATIBLE CHANGE: the poly_overleft (&<) and poly_overright
(&>) operators now have semantics comparable to box_overleft and box_overright.
This is necessary to make r-tree indexes work correctly on polygons.
Also, I changed circle_left and circle_right to agree with box_left and
box_right --- formerly they allowed the boundaries to touch.  This isn't
actually essential given the lack of any r-tree opclass for circles, but
it seems best to sync all the definitions while we are at it.

19 years agounbreak unicode/utf8 test
Tatsuo Ishii [Fri, 24 Jun 2005 15:12:00 +0000 (15:12 +0000)]
unbreak unicode/utf8 test