]> granicus.if.org Git - postgresql/log
postgresql
19 years agoFix typo.
Bruce Momjian [Wed, 24 Aug 2005 14:24:19 +0000 (14:24 +0000)]
Fix typo.

19 years agoMark "easy" items.
Bruce Momjian [Wed, 24 Aug 2005 14:05:37 +0000 (14:05 +0000)]
Mark "easy" items.

Jim C. Nasby

19 years agoUpdate:
Bruce Momjian [Wed, 24 Aug 2005 14:00:36 +0000 (14:00 +0000)]
Update:
<  o Do VACUUM FULL if table is nearly empty?
>  o Suggest VACUUM FULL if a table is nearly empty

19 years agoAdd explaination:
Bruce Momjian [Wed, 24 Aug 2005 13:57:27 +0000 (13:57 +0000)]
Add explaination:

>
>           Currently, if a variable is commented out, it keeps the
>           previous uncommented value until a server restarted.
>

19 years ago - Check for NULL before checking whether argument is an array.
Michael Meskes [Wed, 24 Aug 2005 10:34:19 +0000 (10:34 +0000)]
    - Check for NULL before checking whether argument is an array.
        - Remove stary character from string quoting.
        - Fixed check to report missing varchar pointer implementation.

19 years agoRemove periods on bullet items.
Bruce Momjian [Wed, 24 Aug 2005 03:47:11 +0000 (03:47 +0000)]
Remove periods on bullet items.

19 years agoMark item as complete, add another:
Bruce Momjian [Tue, 23 Aug 2005 23:51:18 +0000 (23:51 +0000)]
Mark item as complete, add another:

< * Allow triggers to be disabled [trigger]
> * -Allow triggers to be disabled [trigger]
> * Allow triggers to be disabled in only the current session.
<   Currently the only way to disable triggers is to modify the system
<   tables.
>   This is currently possible by starting a multi-statement transaction,
>   modifying the system tables, performing the desired SQL, restoring the
>   system tables, and committing the transaction.  ALTER TABLE ...
>   TRIGGER requires a table lock so it is not idea for this usage.

19 years agoRelease note cleanups.
Bruce Momjian [Tue, 23 Aug 2005 23:31:52 +0000 (23:31 +0000)]
Release note cleanups.

19 years agoAdd ALTER TABLE ENABLE/DISABLE TRIGGER commands. Change pg_dump to
Tom Lane [Tue, 23 Aug 2005 22:40:47 +0000 (22:40 +0000)]
Add ALTER TABLE ENABLE/DISABLE TRIGGER commands.  Change pg_dump to
use these instead of its previous hack of changing pg_class.reltriggers.
Documentation is lacking, will add that later.
Patch by Satoshi Nagayasu, review and some extra work by Tom Lane.

19 years agoUpdate pgcrypto items.
Bruce Momjian [Tue, 23 Aug 2005 21:25:56 +0000 (21:25 +0000)]
Update pgcrypto items.

19 years agoUpdate ALTER OWNER description.
Bruce Momjian [Tue, 23 Aug 2005 21:17:15 +0000 (21:17 +0000)]
Update ALTER OWNER description.

19 years agoAdd new file for win32 threading.
Bruce Momjian [Tue, 23 Aug 2005 21:11:22 +0000 (21:11 +0000)]
Add new file for win32 threading.

19 years agoThe attached patch updates the thread test program to run stand-alone on
Bruce Momjian [Tue, 23 Aug 2005 21:02:05 +0000 (21:02 +0000)]
The attached patch updates the thread test program to run stand-alone on
Windows. The test itself is bypassed in configure as discussed, and
libpq has been updated appropriately to allow it to build in thread-safe
mode.

Dave Page

19 years agoFix function name.
Bruce Momjian [Tue, 23 Aug 2005 20:51:27 +0000 (20:51 +0000)]
Fix function name.

19 years agoClean up some very old and crufty code for TID scan planning. Not much
Tom Lane [Tue, 23 Aug 2005 20:49:47 +0000 (20:49 +0000)]
Clean up some very old and crufty code for TID scan planning.  Not much
functional difference really, but make use of stuff added to the planner
since this code was touched last.

19 years agoBack out incorrect commit.
Bruce Momjian [Tue, 23 Aug 2005 20:48:47 +0000 (20:48 +0000)]
Back out incorrect commit.

19 years agoFix function name.
Bruce Momjian [Tue, 23 Aug 2005 20:45:11 +0000 (20:45 +0000)]
Fix function name.

19 years agoUpdate release notes.
Bruce Momjian [Tue, 23 Aug 2005 19:44:58 +0000 (19:44 +0000)]
Update release notes.

19 years agoMore release note updates.
Bruce Momjian [Tue, 23 Aug 2005 14:54:06 +0000 (14:54 +0000)]
More release note updates.

19 years agoFix broken lrand48() implementation, per Merlin Moncure.
Tom Lane [Tue, 23 Aug 2005 13:31:11 +0000 (13:31 +0000)]
Fix broken lrand48() implementation, per Merlin Moncure.

19 years agoRelease note updates.
Bruce Momjian [Tue, 23 Aug 2005 12:47:30 +0000 (12:47 +0000)]
Release note updates.

19 years agoRelease note updates.
Bruce Momjian [Tue, 23 Aug 2005 12:46:35 +0000 (12:46 +0000)]
Release note updates.

19 years agoAvoid bullets in subparagraphs.
Bruce Momjian [Tue, 23 Aug 2005 12:14:33 +0000 (12:14 +0000)]
Avoid bullets in subparagraphs.

19 years agoFix markup for para.
Bruce Momjian [Tue, 23 Aug 2005 11:59:09 +0000 (11:59 +0000)]
Fix markup for para.

19 years agoAdjust SGML so major feature items are all not in a single subparagraph.
Bruce Momjian [Tue, 23 Aug 2005 11:53:33 +0000 (11:53 +0000)]
Adjust SGML so major feature items are all not in a single subparagraph.

19 years agoUpdate release notes from community comments.
Bruce Momjian [Tue, 23 Aug 2005 11:32:33 +0000 (11:32 +0000)]
Update release notes from community comments.

19 years agoUpdate release notes for 8.1.
Bruce Momjian [Tue, 23 Aug 2005 02:57:07 +0000 (02:57 +0000)]
Update release notes for 8.1.

19 years agoFix wrong dependency on owner created by ALTER OPCLASS OWNER.
Tom Lane [Tue, 23 Aug 2005 01:41:30 +0000 (01:41 +0000)]
Fix wrong dependency on owner created by ALTER OPCLASS OWNER.
Per Alvaro.

19 years agoFix SGML sect1-3 alignment in the 8.0.X series.
Bruce Momjian [Tue, 23 Aug 2005 01:22:53 +0000 (01:22 +0000)]
Fix SGML sect1-3 alignment in the 8.0.X series.

19 years agoRewrite gather-write patch into something less obviously bolted on
Tom Lane [Mon, 22 Aug 2005 23:59:04 +0000 (23:59 +0000)]
Rewrite gather-write patch into something less obviously bolted on
after the fact.  Fix bug with incorrect test for whether we are at end
of logfile segment.  Arrange for writes triggered by XLogInsert's
is-cache-more-than-half-full test to synchronize with the cache boundaries,
so that in long transactions we tend to write alternating halves of the
cache rather than randomly chosen portions of it; this saves one more
write syscall per cache load.

19 years agoUpdate documentation that non-super users can now do ALTER OWNER.
Bruce Momjian [Mon, 22 Aug 2005 21:32:01 +0000 (21:32 +0000)]
Update documentation that non-super users can now do ALTER OWNER.

19 years agoBack out incorrect use of E'' escape addition.
Bruce Momjian [Mon, 22 Aug 2005 20:25:03 +0000 (20:25 +0000)]
Back  out incorrect use of E'' escape addition.

19 years agoCause ALTER INDEX OWNER to generate a warning and do nothing, rather than
Tom Lane [Mon, 22 Aug 2005 19:40:37 +0000 (19:40 +0000)]
Cause ALTER INDEX OWNER to generate a warning and do nothing, rather than
erroring out as it has done for the last couple weeks.  Document that this
form is now ignored because indexes can't usefully have different owners
from their parent tables.  Fix pg_dump to not generate ALTER OWNER commands
for indexes.

19 years agoFix unwanted denial of ALTER OWNER rights to superusers. There was some
Tom Lane [Mon, 22 Aug 2005 17:38:20 +0000 (17:38 +0000)]
Fix unwanted denial of ALTER OWNER rights to superusers.  There was some
discussion of getting around this by relaxing the checks made for regular
users, but I'm disinclined to toy with the security model right now,
so just special-case it for superusers where needed.

19 years agoenable_constraint_exclusion => constraint_exclusion
Bruce Momjian [Mon, 22 Aug 2005 17:35:03 +0000 (17:35 +0000)]
enable_constraint_exclusion => constraint_exclusion

Also improve wording.

19 years agoImprove xid wraparound message (the server isn't really shut down, just
Bruce Momjian [Mon, 22 Aug 2005 16:59:47 +0000 (16:59 +0000)]
Improve xid wraparound message (the server isn't really shut down, just
not accepting queries).

         errmsg("database is not accepting queries to avoid
 wraparound data loss in database \"%s\"",
         errhint("Stop the postmaster and use a standalone
 backend to VACUUM database \"%s\".",

19 years agoUse an initdb-time test to see if the local version of getaddrinfo()
Tom Lane [Mon, 22 Aug 2005 16:27:36 +0000 (16:27 +0000)]
Use an initdb-time test to see if the local version of getaddrinfo()
chokes on IPv6 addresses, and comment out the IPv6 entry in the default
pg_hba.conf if so.  Per Andrew Dunstan.

19 years agoFix some inconsistent choices of datatypes in xlog.c. Make buffer
Tom Lane [Mon, 22 Aug 2005 00:41:28 +0000 (00:41 +0000)]
Fix some inconsistent choices of datatypes in xlog.c.  Make buffer
indexes all be int, rather than variously int, uint16 and uint32;
add some casts where necessary to support large buffer arrays.

19 years agoMinor GUC cleanups: document krb_server_hostname and custom_variable_classes
Tom Lane [Sun, 21 Aug 2005 03:39:37 +0000 (03:39 +0000)]
Minor GUC cleanups: document krb_server_hostname and custom_variable_classes
in postgresql.conf.sample, mark custom_variable_classes as SIGHUP not
POSTMASTER to agree with the documentation (I can't see a reason it has
to be POSTMASTER so I think the docs are right).

19 years agoAdd:
Bruce Momjian [Sun, 21 Aug 2005 01:04:45 +0000 (01:04 +0000)]
Add:

> * Fix problems with wrong runtime encoding conversion for NLS message files

19 years agoSeems that the childXids list would be better based on Oid lists than
Tom Lane [Sat, 20 Aug 2005 23:45:08 +0000 (23:45 +0000)]
Seems that the childXids list would be better based on Oid lists than
integer lists.

19 years agoConvert the arithmetic for shared memory size calculation from 'int'
Tom Lane [Sat, 20 Aug 2005 23:26:37 +0000 (23:26 +0000)]
Convert the arithmetic for shared memory size calculation from 'int'
to 'Size' (that is, size_t), and install overflow detection checks in it.
This allows us to remove the former arbitrary restrictions on NBuffers
etc.  It won't make any difference in a 32-bit machine, but in a 64-bit
machine you could theoretically have terabytes of shared buffers.
(How efficiently we could manage 'em remains to be seen.)  Similarly,
num_temp_buffers, work_mem, and maintenance_work_mem can be set above
2Gb on a 64-bit machine.  Original patch from Koichi Suzuki, additional
work by moi.

19 years agoInvoke mksafefunc and mkunsafefunc with :: decoration. This seems a good
Tom Lane [Sat, 20 Aug 2005 19:19:21 +0000 (19:19 +0000)]
Invoke mksafefunc and mkunsafefunc with :: decoration.  This seems a good
idea on consistency grounds, whether or not it really fixes bug #1831.
Michael Fuhr

19 years agoMake GetMultiXactIdMembers() a public function.
Tatsuo Ishii [Sat, 20 Aug 2005 01:29:27 +0000 (01:29 +0000)]
Make GetMultiXactIdMembers() a public function.

19 years agoAdd BackendXidGetPid().
Tatsuo Ishii [Sat, 20 Aug 2005 01:26:36 +0000 (01:26 +0000)]
Add BackendXidGetPid().

19 years agoRepair problems with VACUUM destroying t_ctid chains too soon, and with
Tom Lane [Sat, 20 Aug 2005 00:40:32 +0000 (00:40 +0000)]
Repair problems with VACUUM destroying t_ctid chains too soon, and with
insufficient paranoia in code that follows t_ctid links.  (We must do both
because even with VACUUM doing it properly, the intermediate state with
a dangling t_ctid link is visible concurrently during lazy VACUUM, and
could be seen afterwards if either type of VACUUM crashes partway through.)
Also try to improve documentation about what's going on.  Patch is a bit
bulky because passing the XMAX information around required changing the
APIs of some low-level heapam.c routines, but it's not conceptually very
complicated.  Per trouble report from Teodor and subsequent analysis.
This needs to be back-patched, but I'll do that after 8.1 beta is out.

19 years agoFix LRU/ALL description mismatch for GUC parameter.
Bruce Momjian [Fri, 19 Aug 2005 18:58:18 +0000 (18:58 +0000)]
Fix LRU/ALL description mismatch for GUC parameter.

19 years agoConsistently align comments in postgresql.conf, move some slightly to
Bruce Momjian [Fri, 19 Aug 2005 01:55:18 +0000 (01:55 +0000)]
Consistently align comments in postgresql.conf, move some slightly to
the right to stand out.

19 years agoUpdate some obsolete comments --- code is using t_self now, not t_ctid.
Tom Lane [Thu, 18 Aug 2005 21:34:20 +0000 (21:34 +0000)]
Update some obsolete comments --- code is using t_self now, not t_ctid.

19 years agoFix up LIMIT/OFFSET planning so that we cope with non-constant LIMIT
Tom Lane [Thu, 18 Aug 2005 17:51:12 +0000 (17:51 +0000)]
Fix up LIMIT/OFFSET planning so that we cope with non-constant LIMIT
or OFFSET clauses by using estimate_expression_value().  The main advantage
of this is that if the expression is a Param and we have a value for the
Param, we'll use that value rather than defaulting.  Also, fix some
thinkos in the logic for combining LIMIT/OFFSET with an externally
supplied tuple fraction (this covers cases like EXISTS(...LIMIT...)).
And make sure the results of all this are shown by EXPLAIN.  Per a
gripe from Merlin Moncure.

19 years agoAdd:
Bruce Momjian [Thu, 18 Aug 2005 14:14:31 +0000 (14:14 +0000)]
Add:

>  o Remove unnecessary abstractions in pg_dump source code

19 years agoAdd hint for to_char(interval) invalid format specifications.
Bruce Momjian [Thu, 18 Aug 2005 13:43:08 +0000 (13:43 +0000)]
Add hint for to_char(interval) invalid format specifications.

19 years agoDone:
Bruce Momjian [Thu, 18 Aug 2005 04:42:41 +0000 (04:42 +0000)]
Done:

> * -Prevent to_char() on interval from returning meaningless values

19 years agoFix to_char(interval) to return proper year and century values.
Bruce Momjian [Thu, 18 Aug 2005 04:37:08 +0000 (04:37 +0000)]
Fix to_char(interval) to return proper year and century values.
Fix to_char(interval) to return large year/month/day/hour values that
are larger than possible timestamp values.
Prevent to_char(interval) format specifications that make no sense, like
Month.
Clean up formatting.c code to more logically handle return lengths.

19 years agoAvoid an Assert failure if OuterUserId hasn't been set yet during
Tom Lane [Wed, 17 Aug 2005 22:14:34 +0000 (22:14 +0000)]
Avoid an Assert failure if OuterUserId hasn't been set yet during
AbortTransaction.  This can happen if a backend's InitPostgres transaction
fails (eg, because the given username is invalid).  Per Alvaro.

19 years agoMore formatting.c cleanups.
Bruce Momjian [Wed, 17 Aug 2005 22:06:53 +0000 (22:06 +0000)]
More formatting.c cleanups.

19 years agoSmall cleanup.
Bruce Momjian [Wed, 17 Aug 2005 21:54:50 +0000 (21:54 +0000)]
Small cleanup.

19 years agoAdjust to_char/from_char code to use boolean "is_to_char" rather than
Bruce Momjian [Wed, 17 Aug 2005 21:47:55 +0000 (21:47 +0000)]
Adjust to_char/from_char code to use boolean "is_to_char" rather than
integer with flags.

19 years agoRemove unnecessary configure test for inet_ntop(), per Andrew Dunstan.
Tom Lane [Wed, 17 Aug 2005 20:20:10 +0000 (20:20 +0000)]
Remove unnecessary configure test for inet_ntop(), per Andrew Dunstan.

19 years agoFix declaration of dumpacl, per Alvaro.
Tom Lane [Wed, 17 Aug 2005 19:45:51 +0000 (19:45 +0000)]
Fix declaration of dumpacl, per Alvaro.

19 years agoFix FSM warning to mention increasing max_fsm_pages. Was incorrectly
Bruce Momjian [Wed, 17 Aug 2005 03:50:59 +0000 (03:50 +0000)]
Fix FSM warning to mention increasing max_fsm_pages.  Was incorrectly
max_fsm_relations.

19 years agoMinor cleanup.
Bruce Momjian [Wed, 17 Aug 2005 01:45:20 +0000 (01:45 +0000)]
Minor cleanup.

19 years agoUpdate comments.
Bruce Momjian [Tue, 16 Aug 2005 19:29:38 +0000 (19:29 +0000)]
Update comments.

19 years agoImprove comment.
Bruce Momjian [Tue, 16 Aug 2005 19:23:31 +0000 (19:23 +0000)]
Improve comment.

19 years agoUpdate pgcvslog comment on how to find branch start time.
Bruce Momjian [Tue, 16 Aug 2005 17:46:57 +0000 (17:46 +0000)]
Update pgcvslog comment on how to find branch start time.

Run autoconf/autoheader in case someone forgot in the past.

19 years agoReject operator names >= NAMEDATALEN characters. These will not work
Tom Lane [Tue, 16 Aug 2005 00:48:12 +0000 (00:48 +0000)]
Reject operator names >= NAMEDATALEN characters.  These will not work
anyway, and in assert-enabled builds you are likely to get an assertion
failure.  Backpatch as far as 7.3; 7.2 seems not to have the problem.

19 years agoRename pg_stat_file columns to be more consistent. Split apart change
Bruce Momjian [Mon, 15 Aug 2005 23:00:14 +0000 (23:00 +0000)]
Rename pg_stat_file columns to be more consistent.  Split apart change
and creation columns to behave for Unix or Win32.

19 years agoClean up recent patch for PL handler functions in pg_catalog: the patch
Tom Lane [Mon, 15 Aug 2005 21:50:15 +0000 (21:50 +0000)]
Clean up recent patch for PL handler functions in pg_catalog: the patch
caused PL languages and handlers to be dumped ALWAYS, even in the face
of contrary --schema or --table switches.  Adopt a slightly saner
definition.

19 years agoMake createlang and droplang proof against weird search_path settings
Tom Lane [Mon, 15 Aug 2005 21:02:26 +0000 (21:02 +0000)]
Make createlang and droplang proof against weird search_path settings
by forcing search_path to be just pg_catalog.

19 years agoarray_in() and array_recv() need to be more paranoid about validating
Tom Lane [Mon, 15 Aug 2005 19:40:20 +0000 (19:40 +0000)]
array_in() and array_recv() need to be more paranoid about validating
their OID parameter.  It was possible to crash the backend with
select array_in('{123}',0,0); because that would bypass the needed step
of initializing the workspace.  These seem to be the only two places
with a problem, though (record_in and record_recv don't have the issue,
and the other array functions aren't depending on user-supplied input).
Back-patch as far as 7.4; 7.3 does not have the bug.

19 years agoint_array_enum function should be using fcinfo->flinfo->fn_extra for
Tom Lane [Mon, 15 Aug 2005 19:05:16 +0000 (19:05 +0000)]
int_array_enum function should be using fcinfo->flinfo->fn_extra for
working state, not fcinfo->context.  Silly oversight on my part in last
go-round of fixes.

19 years agoAllow the pgstat views to show toast tables as well as regular tables
Tom Lane [Mon, 15 Aug 2005 16:25:19 +0000 (16:25 +0000)]
Allow the pgstat views to show toast tables as well as regular tables
(the stats system has always collected this info, but the views were
filtering it out).  Modify autovacuum so that over-threshold activity
in a toast table can trigger a VACUUM of the parent table, even if the
parent didn't appear to need vacuuming itself.  Per discussion a month
or so back about "short, wide tables".

19 years agoClean up some stray remaining references to pg_shadow, pg_user, pg_group.
Tom Lane [Mon, 15 Aug 2005 02:40:36 +0000 (02:40 +0000)]
Clean up some stray remaining references to pg_shadow, pg_user, pg_group.

19 years agoChange pg_dump to use pg_roles instead of pg_user on 8.1 and up,
Tom Lane [Mon, 15 Aug 2005 02:36:30 +0000 (02:36 +0000)]
Change pg_dump to use pg_roles instead of pg_user on 8.1 and up,
so that it will correctly dump owners of objects owned by non-login roles.

19 years agoUpdate administrator's guide chapters for ROLEs patch.
Tom Lane [Sun, 14 Aug 2005 23:35:38 +0000 (23:35 +0000)]
Update administrator's guide chapters for ROLEs patch.

19 years agoChange standard_compliant_strings to standard_conforming_strings.
Peter Eisentraut [Sun, 14 Aug 2005 22:19:50 +0000 (22:19 +0000)]
Change standard_compliant_strings to standard_conforming_strings.

19 years agoUpdate the createuser utility for the ROLEs world. Alvaro Herrera
Tom Lane [Sun, 14 Aug 2005 20:16:03 +0000 (20:16 +0000)]
Update the createuser utility for the ROLEs world.  Alvaro Herrera

19 years agoFix psql's \d commands to use pg_roles instead of pg_user, so that
Tom Lane [Sun, 14 Aug 2005 19:20:45 +0000 (19:20 +0000)]
Fix psql's \d commands to use pg_roles instead of pg_user, so that
they don't miss owners that are NOLOGIN.

19 years agoFix up tab completion for ROLEs and add some more completion logic for
Tom Lane [Sun, 14 Aug 2005 18:49:30 +0000 (18:49 +0000)]
Fix up tab completion for ROLEs and add some more completion logic for
other stuff; change \du and \dg to be role-aware (Stefan Kaltenbrunner).
Also make tab completion fetch the list of GUC variables from pg_settings
instead of having a hard-wired copy of the list (Tom Lane).

19 years agoTweak catalog cache management algorithms to reduce cost of
Tom Lane [Sat, 13 Aug 2005 22:18:07 +0000 (22:18 +0000)]
Tweak catalog cache management algorithms to reduce cost of
SearchCatCacheList and ReleaseCatCacheList.  Previously, we incremented
and decremented the refcounts of list member tuples along with the list
itself, but that's unnecessary, and very expensive when the list is big.
It's cheaper to change only the list refcount.  When we are considering
deleting a cache entry, we have to check not only its own refcount but
its parent list's ... but it's easy to arrange the code so that this
check is not made in any commonly-used paths, so the cost is really nil.
The bigger gain though is to refrain from DLMoveToFront'ing each individual
member tuple each time the list is referenced.  To keep some semblance
of fair space management, lists are just marked as used or not since the
last cache cleanout search, and we do a MoveToFront pass only when about
to run a cleanout.  In combination, these changes reduce the costs of
SearchCatCacheList and ReleaseCatCacheList from about 4.5% of pgbench
runtime to under 1%, according to my gprof results.

19 years agoMake pg_stat_file() use OUT parameters so that the user doesn't have to
Tom Lane [Sat, 13 Aug 2005 19:02:34 +0000 (19:02 +0000)]
Make pg_stat_file() use OUT parameters so that the user doesn't have to
remember the output parameter set for himself.  It's a bit of a kluge
but fixing array_in to work in bootstrap mode looks worse.
I removed the separate pg_file_length() function, as it no longer has any
real notational advantage --- you can write (pg_stat_file(...)).length.

19 years agoRemove API file.
Bruce Momjian [Sat, 13 Aug 2005 15:27:41 +0000 (15:27 +0000)]
Remove API file.

Marko Kreen

19 years agoCREATE TABLE has optional column names, so change {} to [].
Bruce Momjian [Sat, 13 Aug 2005 02:48:18 +0000 (02:48 +0000)]
CREATE TABLE has optional column names, so change {} to [].

Alvaro.

19 years agoThe large one adds support for RSA keys and reorganizes
Bruce Momjian [Sat, 13 Aug 2005 02:06:21 +0000 (02:06 +0000)]
The large one adds support for RSA keys and reorganizes
the pubkey functions a bit.  The actual RSA-specific code
there is tiny, most of the patch consists of reorg of the
pubkey code, as lots of it was written as elgamal-only.

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

The SHLIB section was copy-pasted from somewhere and contains
several unnecessary libs.  This cleans it up a bit.

 -lcrypt
   we don't use system crypt()

 -lssl, -lssleay32
   no SSL here

 -lz in win32 section
   already added on previous line

 -ldes
   The chance anybody has it is pretty low.
   And the chance pgcrypto works with it is even lower.

Also trim the win32 section.

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

It is already disabled in Makefile, remove code too.

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

I was bit hasty making the random exponent 'k' a prime.  Further researh
shows that Elgamal encryption has no specific needs in respect to k,
any random number is fine.

It is bit different for signing, there it needs to be 'relatively prime'
to p - 1,  that means GCD(k, p-1) == 1, which is also a lot lighter than
full primality.  As we don't do signing, this can be ignored.

This brings major speedup to Elgamal encryption.

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

o  pgp_mpi_free: Accept NULLs
o  pgp_mpi_cksum: result should be 16bit
o  Remove function name from error messages - to be similar to other
   SQL functions, and it does not match anyway the called function
o  remove couple junk lines

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

o  Support for RSA encryption
o  Big reorg to better separate generic and algorithm-specific code.
o  Regression tests for RSA.

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

o  Tom stuck a CVS id into file.  I doubt the usefulness of it,
   but if it needs to be in the file then rather at the end.
   Also tag it as comment for asciidoc.
o  Mention bytea vs. text difference
o  Couple clarifications

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

There is a choice whether to update it with pgp functions or
remove it.  I decided to remove it, updating is pointless.

I've tried to keep the core of pgcrypto relatively independent
from main PostgreSQL, to make it easy to use externally if needed,
and that is good.  Eg. that made development of PGP functions much
nicer.

But I have no plans to release it as generic library, so keeping such
doc
up-to-date is waste of time.  If anyone is interested in using it in
other products, he can probably bother to read the source too.

Commented source is another thing - I'll try to make another pass
over code to see if there is anything non-obvious that would need
more comments.

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

Marko Kreen

19 years agoAdd documentation:
Bruce Momjian [Sat, 13 Aug 2005 01:55:41 +0000 (01:55 +0000)]
Add documentation:

>>>I think a more accurate description would be "permissions not
>>>inherited by children," and that isn't necessarily a bug.
>>
>>I agree it may not be a bug - but it's more than the permissions not
>>being inherited: the parent is affected.
>
>
> Not really, once you understand what's happening.  Unless you use
> FROM ONLY, selecting from the parent selects from the parent *and*
> its children.  The parent itself isn't affected, as queries with
> FROM ONLY should demonstrate.  I understand what you're saying --
> that there's an apparent effect on the parent -- but there really
> isn't.

Sean Burlington

19 years agoDisable strtoul() ERANGE check on Win32, because it isn't thread safe,
Bruce Momjian [Sat, 13 Aug 2005 01:34:30 +0000 (01:34 +0000)]
Disable strtoul() ERANGE check on Win32, because it isn't thread safe,
and it isn't really required.

19 years agoReverse out Assert addition.
Bruce Momjian [Fri, 12 Aug 2005 23:13:54 +0000 (23:13 +0000)]
Reverse out Assert addition.

19 years agoPass the type OID as the typioparam for all non-array types, rather than
Tom Lane [Fri, 12 Aug 2005 21:49:47 +0000 (21:49 +0000)]
Pass the type OID as the typioparam for all non-array types, rather than
only composite types as we did in 8.0.  Per discussion with Martijn
van Oosterhout.

19 years agoBack out plpython makefile change.
Bruce Momjian [Fri, 12 Aug 2005 21:44:51 +0000 (21:44 +0000)]
Back out plpython makefile change.

19 years agoImprove documention on loading large data sets into plperl.
Bruce Momjian [Fri, 12 Aug 2005 21:42:53 +0000 (21:42 +0000)]
Improve documention on loading large data sets into plperl.

David Fetter

19 years agoThis patch fixes the event type used to log output from the
Bruce Momjian [Fri, 12 Aug 2005 21:36:59 +0000 (21:36 +0000)]
This patch fixes the event type used to log output from the
stderr-in-service or output-from-syslogger-in-service code. Previously
everything was flagged as ERRORs there, which caused all instances to
log "LOG: logger shutting down" as error...

Please apply for 8.1. I'd also like it considered for 8.0 since logging
non-errors as errors can be cause for alarm amongst people who actually
look at their logs...

Magnus Hagander

19 years agoUn-break plperl for non-set case.
Tom Lane [Fri, 12 Aug 2005 21:26:32 +0000 (21:26 +0000)]
Un-break plperl for non-set case.

19 years ago[ backpatched to 8.0.X.]
Bruce Momjian [Fri, 12 Aug 2005 21:23:10 +0000 (21:23 +0000)]
[ backpatched to 8.0.X.]

> >> 3) I restarted the postmaster both times. I got this error
> both times.
> >> :25: ERROR:  could not load library "C:/Program
> >> Files/PostgreSQL/8.0/lib/testtrigfuncs.dll": dynamic load error
>
> > Yes. We really need to look at fixing that error message. I had
> > forgotten it completely :-(
>
> > Bruce, you think we can sneak that in after feature freeze? I would
> > call it a bugfix :-)
>
> Me too.  That's been on the radar for awhile --- please do
> send in a patch.

Here we go, that wasn't too hard :-)

Apart from adding the error handling, it does one more thing: it changes
the errormode when loading the DLLs. Previously if a DLL was broken, or
referenced other DLLs that couldn't be found, a popup dialog box would
appear on the screen. Which had to be clicked before the backend could
continue. This patch also disables the popup error message for DLL
loads.

I think this is something we should consider doing for the entire
backend - disable those popups, and say we deal with it ourselves. What
do you other win32 hackers thinnk about this?

In the meantime, this patch fixes the error msgs. Please apply for 8.1
and please consider a backpatch to 8.0.

Magnus Hagander

19 years ago> Gavin Sherry <swm@linuxworld.com.au> writes:
Bruce Momjian [Fri, 12 Aug 2005 21:20:24 +0000 (21:20 +0000)]
> Gavin Sherry <swm@linuxworld.com.au> writes:
> > I ran across this yesterday on HEAD:
>
> > template1=# grant select on foo, foo to swm;
> > ERROR:  tuple already updated by self
>
> Seems to fail similarly in every version back to 7.2; probably further,
> but that's all I have running at the moment.
>
> > We could do away with the error by producing a unique list of object names
> > -- but that would impose an extra cost on the common case.
>
> CommandCounterIncrement in the GRANT loop would be easier, likely.
> I'm having a hard time getting excited about it though...

Yeah, its not that exciting but that error message would throw your
average user.

I've attached a patch which calls CommandCounterIncrement() in each of the
grant loops.

Gavin Sherry

19 years agoMore rsi assignment line too.
Bruce Momjian [Fri, 12 Aug 2005 21:09:34 +0000 (21:09 +0000)]
More rsi assignment line too.

19 years agoFix up canonicalize_path to do the right thing in all cases (I think ...
Tom Lane [Fri, 12 Aug 2005 21:07:53 +0000 (21:07 +0000)]
Fix up canonicalize_path to do the right thing in all cases (I think ...
this was harder than it seemed at first glance).  Also push code for
checking for ".." in file names into path.c where it belongs.

19 years agoFix this:
Bruce Momjian [Fri, 12 Aug 2005 21:02:25 +0000 (21:02 +0000)]
Fix this:

$ ./configure --without-docdir
..
$ cd contrib/pgstattuple/
$ make install
mkdir -p -- /contrib
mkdir: cannot create directory `/contrib': Permission denied
make: *** [installdirs] Error 1

ISHIDA Akio

19 years agoCleanups for FreeBSD linking (PIC) and plpython compiles.
Bruce Momjian [Fri, 12 Aug 2005 20:57:11 +0000 (20:57 +0000)]
Cleanups for FreeBSD linking (PIC) and plpython compiles.

FreeBSD ports, supplied by Jim C. Nasby

19 years ago> The attached patch moves a plperl sanity check into the correct
Bruce Momjian [Fri, 12 Aug 2005 20:48:03 +0000 (20:48 +0000)]
> The attached patch moves a plperl sanity check into the correct
> position. Performing the check in the existing position allows the call
> to go through to perl first, possibly resulting in a SEGV.

Andrew Dunstan

19 years agoNo server version of snprintf needed, so remove Makefile rule.
Bruce Momjian [Fri, 12 Aug 2005 19:45:14 +0000 (19:45 +0000)]
No server version of snprintf needed, so remove Makefile rule.