Bruce Momjian [Sun, 10 Jul 2005 13:46:29 +0000 (13:46 +0000)]
Add missing pgcrypto files from previous commit.
Bruce Momjian [Sun, 10 Jul 2005 05:06:42 +0000 (05:06 +0000)]
Update.
< computations should adjust based on the time zone rules, e.g.
< adding 24 hours to a timestamp would yield a different result from
< adding one day.
<
> computations should adjust based on the time zone rules.
Bruce Momjian [Sun, 10 Jul 2005 04:56:55 +0000 (04:56 +0000)]
This patch addresses the problem mentioned in the "process crash
when a plpython function returns unicode" thread:
http://archives.postgresql.org/pgsql-bugs/2005-06/msg00105.php
In several places PL/Python was calling PyObject_Str() and then
PyString_AsString() without checking if the former had returned
NULL to indicate an error. PyString_AsString() doesn't expect a
NULL argument, so passing one causes a segmentation fault. This
patch adds checks for NULL and raises errors via PLy_elog(), which
prints details of the underlying Python exception. The patch also
adds regression tests for these checks. All tests pass on my
Solaris 9 box running HEAD and Python 2.4.1.
In one place the patch doesn't call PLy_elog() because that could
cause infinite recursion; see the comment I added. I'm not sure
how to test that particular case or whether it's even possible to
get an error there: the value that the code should check is the
Python exception type, so I wonder if a NULL value "shouldn't
happen." This patch converts NULL to "Unknown Exception" but I
wonder if an Assert() would be appropriate.
The patch is against HEAD but the same changes should be applied
to earlier versions because they have the same problem. The patch
might not apply cleanly against earlier versions -- will the committer
take care of little differences or should I submit different versions
of the patch?
Michael Fuhr
Bruce Momjian [Sun, 10 Jul 2005 04:54:33 +0000 (04:54 +0000)]
I made the patch that implements regexp_replace again.
The specification of this function is as follows.
regexp_replace(source text, pattern text, replacement text, [flags
text])
returns text
Replace string that matches to regular expression in source text to
replacement text.
- pattern is regular expression pattern.
- replacement is replace string that can use '\1'-'\9', and '\&'.
'\1'-'\9': back reference to the n'th subexpression.
'\&' : entire matched string.
- flags can use the following values:
g: global (replace all)
i: ignore case
When the flags is not specified, case sensitive, replace the first
instance only.
Atsushi Ogawa
Bruce Momjian [Sun, 10 Jul 2005 03:57:55 +0000 (03:57 +0000)]
Major pgcrypto changes:
of password-based encryption from RFC2440 (OpenPGP).
The goal of this code is to be more featureful encryption solution
than current encrypt(), which only functionality is running cipher
over data.
Compared to encrypt(), pgp_encrypt() does following:
* It uses the equvialent of random Inital Vector to get cipher
into random state before it processes user data
* Stores SHA-1 of the data into result so any modification
will be detected.
* Remembers if data was text or binary - thus it can decrypt
to/from text data. This was a major nuisance for encrypt().
* Stores info about used algorithms with result, so user needs
not remember them - more user friendly!
* Uses String2Key algorithms (similar to crypt()) with random salt
to generate full-length binary key to be used for encrypting.
* Uses standard format for data - you can feed it to GnuPG, if needed.
Optional features (off by default):
* Can use separate session key - user data will be encrypted
with totally random key, which will be encrypted with S2K
generated key and attached to result.
* Data compression with zlib.
* Can convert between CRLF<->LF line-endings - to get fully
RFC2440-compliant behaviour. This is off by default as
pgcrypto does not know the line-endings of user data.
Interface is simple:
pgp_encrypt(data text, key text) returns bytea
pgp_decrypt(data text, key text) returns text
pgp_encrypt_bytea(data bytea, key text) returns bytea
pgp_decrypt_bytea(data bytea, key text) returns bytea
To change parameters (cipher, compression, mdc):
pgp_encrypt(data text, key text, parms text) returns bytea
pgp_decrypt(data text, key text, parms text) returns text
pgp_encrypt_bytea(data bytea, key text, parms text) returns bytea
pgp_decrypt_bytea(data bytea, key text, parms text) returns bytea
Parameter names I lifted from gpg:
pgp_encrypt('message', 'key', 'compress-algo=1,cipher-algo=aes256')
For text data, pgp_encrypt simply encrypts the PostgreSQL internal data.
This maps to RFC2440 data type 't' - 'extenally specified encoding'.
But this may cause problems if data is dumped and reloaded into database
which as different internal encoding. My next goal is to implement data
type 'u' - which means data is in UTF-8 encoding by converting internal
encoding to UTF-8 and back. And there wont be any compatibility
problems with current code, I think its ok to submit this without UTF-8
encoding by converting internal encoding to UTF-8 and back. And there
wont be any compatibility problems with current code, I think its ok to
submit this without UTF-8 support.
Here is v4 of PGP encrypt. This depends on previously sent
Fortuna-patch, as it uses the px_add_entropy function.
- New function: pgp_key_id() for finding key id's.
- Add SHA1 of user data and key into RNG pools. We need to get
randomness from somewhere, and it is in user best interests
to contribute.
- Regenerate pgp-armor test for SQL_ASCII database.
- Cleanup the key handling so that the pubkey support is less
hackish.
Marko Kreen
Bruce Momjian [Sun, 10 Jul 2005 03:55:28 +0000 (03:55 +0000)]
- Add Fortuna PRNG to pgcrypto.
- Move openssl random provider to openssl.c and builtin provider
to internal.c
- Make px_random_bytes use Fortuna, instead of giving error.
- Retarget random.c to aquiring system randomness, for initial seeding
of Fortuna. There is ATM 2 functions for Windows,
reader from /dev/urandom and the regular time()/getpid() silliness.
Marko Kreen
Bruce Momjian [Sun, 10 Jul 2005 03:52:56 +0000 (03:52 +0000)]
This patch adds implementation of SHA2 to pgcrypto.
New hashes: SHA256, SHA384, SHA512.
Marko Kreen
Bruce Momjian [Sun, 10 Jul 2005 03:46:13 +0000 (03:46 +0000)]
Add psql \pset numericsep to allow output numbers like 100,000.0 or
100.000,0.
Eugen Nedelcu
Tom Lane [Sat, 9 Jul 2005 01:53:22 +0000 (01:53 +0000)]
Fix inadequate error checking: you can't assume that fcinfo->resultinfo
is a ReturnSetInfo unless you've tested it with IsA.
Tom Lane [Fri, 8 Jul 2005 18:41:40 +0000 (18:41 +0000)]
Fix config file lexer to not barf if postgresql.conf ends with a comment
that has no terminating newline. Per report from maps.on at gmx.net.
Tom Lane [Fri, 8 Jul 2005 16:51:30 +0000 (16:51 +0000)]
Try connecting to both postgres and template1 databases to do the initial
inspection of shared catalogs. This allows pg_dumpall to continue to
work with pre-8.1 servers that likely won't have a database named postgres.
Also, suppress output of SYSID options for users and groups, since server
no longer does anything with these except emit a rude message.
There is much more to be done to update pg_dumpall for the roles feature,
but this at least makes it usable again. Per gripe from Chris K-L.
Tom Lane [Fri, 8 Jul 2005 15:24:41 +0000 (15:24 +0000)]
Make libpq_gettext save and restore errno in a Windows-compatible way.
Also, back-patch fix into back branches.
PostgreSQL Daemon [Fri, 8 Jul 2005 15:13:09 +0000 (15:13 +0000)]
testing activitymail
Neil Conway [Fri, 8 Jul 2005 04:27:49 +0000 (04:27 +0000)]
This patch updates the DDL for contrib/pgcrypto to create all
functions as STRICT, and all functions except gen_salt() as IMMUTABLE.
gen_salt() is VOLATILE.
Although the functions are now STRICT, I left their PG_ARGISNULL()
checks in place as a protective measure for users who install the
new code but use old (non-STRICT) catalog entries (e.g., restored
from a dump). Per recent discussion in pgsql-hackers.
Patch from Michael Fuhr.
Neil Conway [Fri, 8 Jul 2005 04:12:27 +0000 (04:12 +0000)]
Remove some dead code for handling XLOG_DBASE_CREATE_OLD and
XLOG_DBASE_DROP_OLD WAL records -- these records are no longer created in
current sources. Adjust numbering of XLOG_DBASE_CREATE and XLOG_DBASE_DROP
and bump the catversion. Patch from Gavin Sherry, adjusted by Neil Conway.
Tom Lane [Fri, 8 Jul 2005 04:07:26 +0000 (04:07 +0000)]
Even though I'd like to see full_page_writes go away before 8.1,
a minimum requirement is that it not completely break the system
meanwhile. Put the test in the right place.
Bruce Momjian [Fri, 8 Jul 2005 02:44:37 +0000 (02:44 +0000)]
Done:
> * -Prevent dropping user that still owns objects, or auto-drop the objects
Tom Lane [Thu, 7 Jul 2005 20:40:02 +0000 (20:40 +0000)]
Track dependencies on shared objects (which is to say, roles; we already
have adequate mechanisms for tracking the contents of databases and
tablespaces). This solves the longstanding problem that you can drop a
user who still owns objects and/or has access permissions.
Alvaro Herrera, with some kibitzing from Tom Lane.
Bruce Momjian [Thu, 7 Jul 2005 16:02:06 +0000 (16:02 +0000)]
Update:
< writer.
> writer. It might cause problems for applying WAL on recovery
> into a partially-written page, but later the full page will be
> replaced from WAL.
Bruce Momjian [Thu, 7 Jul 2005 15:18:26 +0000 (15:18 +0000)]
Update:
>
> o -Add ability to turn off full page writes
> o When off, write CRC to WAL and check file system blocks
> on recovery
> o Write full pages during file system write and not when
> the page is modified in the buffer cache
>
> This allows most full page writes to happen in the background
> writer.
Bruce Momjian [Thu, 7 Jul 2005 04:41:01 +0000 (04:41 +0000)]
Fix plperl expected output.
Andrew Dunstan
Bruce Momjian [Thu, 7 Jul 2005 04:36:08 +0000 (04:36 +0000)]
pg_column_size() cleanup for messages and code cleanup.
Mark Kirkwood
Bruce Momjian [Wed, 6 Jul 2005 22:44:49 +0000 (22:44 +0000)]
Currently, nonfatal warnings are not trapped (as they should be) by
plperl - the attached small patch remedies that omission, and adds a
small regression test for error and warning output - the new regression
input and expected output are in separate attached files.
Andrew Dunstan
Bruce Momjian [Wed, 6 Jul 2005 22:33:39 +0000 (22:33 +0000)]
Currently, nonfatal warnings are not trapped (as they should be) by
plperl - the attached small patch remedies that omission.
Andrew Dunstan
Bruce Momjian [Wed, 6 Jul 2005 21:40:09 +0000 (21:40 +0000)]
Complete zic patch backout by removing NO_PGPORT workaround.
Bruce Momjian [Wed, 6 Jul 2005 21:04:14 +0000 (21:04 +0000)]
Reverse out because the lack of using pgport in timezone/ is causing
problems:
---------------------------------------------------------------------------
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.
Bruce Momjian [Wed, 6 Jul 2005 19:02:54 +0000 (19:02 +0000)]
Add pg_column_size() to return storage size of a column, including
possible compression.
Mark Kirkwood
Tom Lane [Wed, 6 Jul 2005 16:55:58 +0000 (16:55 +0000)]
Sync dlopen error handling for the *BSDs ... seems to me I've done this
before, but they were out of sync again. Per Kris Jurka.
Tom Lane [Wed, 6 Jul 2005 16:42:10 +0000 (16:42 +0000)]
Add a check for trigger function with declared arguments. This path
could not be reached before, but now that there is a plpgsql validator
function, it can be. Check is needed to prevent core dump reported by
Satoshi Nagayasu. Besides, this gives a more specific and useful
error message for a fairly common novice error.
Tom Lane [Wed, 6 Jul 2005 16:25:59 +0000 (16:25 +0000)]
Save and restore errno across bindtextdomain call, per discussion.
Tom Lane [Wed, 6 Jul 2005 16:14:42 +0000 (16:14 +0000)]
Fix incorrect PG_CPPFLAGS initialization, per Marko.
Bruce Momjian [Wed, 6 Jul 2005 14:45:12 +0000 (14:45 +0000)]
Update description of GUC full_page_writes.
Michael Paesold
Bruce Momjian [Wed, 6 Jul 2005 03:40:15 +0000 (03:40 +0000)]
Done:
> * -Add function to return compressed length of TOAST data values
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
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.)
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.
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.
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
<
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
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
Tom Lane [Tue, 5 Jul 2005 18:15:36 +0000 (18:15 +0000)]
Fix initialization bug in pgcrypto openssl code. Marko Kreen
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.
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.
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
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
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
Bruce Momjian [Mon, 4 Jul 2005 18:21:40 +0000 (18:21 +0000)]
Fix compile if zic because it now doesn't use libpgport.
Bruce Momjian [Mon, 4 Jul 2005 17:43:42 +0000 (17:43 +0000)]
More TODO list section restructuring.
Bruce Momjian [Mon, 4 Jul 2005 17:00:32 +0000 (17:00 +0000)]
Restructure TODO sections.
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.
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
>
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.
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
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
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.
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
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.
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.
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.
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.
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
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
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.
Bruce Momjian [Sat, 2 Jul 2005 20:08:27 +0000 (20:08 +0000)]
Remove GIST concurrency limitations section.
Christopher Kings-Lynne
Bruce Momjian [Sat, 2 Jul 2005 19:16:36 +0000 (19:16 +0000)]
Add SGML markup for on/off values in run-time section.
Bruce Momjian [Sat, 2 Jul 2005 18:46:45 +0000 (18:46 +0000)]
Improve wrapping of long lines in postgresql.conf.
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.
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.
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
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.
Tom Lane [Fri, 1 Jul 2005 23:18:01 +0000 (23:18 +0000)]
Fix platform-dependency in recently added regression tests.
Per buildfarm results.
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.
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.
Tom Lane [Fri, 1 Jul 2005 19:23:07 +0000 (19:23 +0000)]
Remove contrib version of rtree_gist --- now in core system.
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.
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
Bruce Momjian [Fri, 1 Jul 2005 17:40:29 +0000 (17:40 +0000)]
Clarify code to double \\ and '.
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
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
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
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
Bruce Momjian [Fri, 1 Jul 2005 14:51:49 +0000 (14:51 +0000)]
Done:
> o -Add dumping and restoring of LOB comments
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.
Bruce Momjian [Fri, 1 Jul 2005 13:29:25 +0000 (13:29 +0000)]
Clarify documentation about log_min_duration_statement.
Teodor Sigaev [Fri, 1 Jul 2005 13:18:17 +0000 (13:18 +0000)]
Improve error messages and add comment
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.
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.
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
Peter Eisentraut [Thu, 30 Jun 2005 10:02:22 +0000 (10:02 +0000)]
Issue fatal error if no TCP/IP sockets could be created
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.)
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.
Neil Conway [Thu, 30 Jun 2005 07:01:57 +0000 (07:01 +0000)]
Fix ecpg's test/ Makefile for out-of-tree (vpath) builds.
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.
Tom Lane [Thu, 30 Jun 2005 03:03:04 +0000 (03:03 +0000)]
Dump comments for large objects.
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.
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.
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.
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.
Teodor Sigaev [Wed, 29 Jun 2005 14:06:14 +0000 (14:06 +0000)]
Cleanup, remove unneeded pallocs
Bruce Momjian [Wed, 29 Jun 2005 01:52:56 +0000 (01:52 +0000)]
Improve gettimeofday() documentation.
Karl O. Pinc