]> granicus.if.org Git - postgresql/log
postgresql
18 years agoClean up code associated with updating pg_class statistics columns
Tom Lane [Wed, 10 May 2006 23:18:39 +0000 (23:18 +0000)]
Clean up code associated with updating pg_class statistics columns
(relpages/reltuples).  To do this, create formal support in heapam.c for
"overwrite" tuple updates (including xlog replay capability) and use that
instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX.
Take the responsibility for updating stats during CREATE INDEX out of the
individual index AMs, and do it where it belongs, in catalog/index.c.  Aside
from being more modular, this avoids having to update the same tuple twice in
some paths through CREATE INDEX.  It's probably not measurably faster, but
for sure it's a lot cleaner than before.

18 years agoSome optimizations by Volkan YAZICI <yazicivo@ttnet.net.tr>
Teodor Sigaev [Wed, 10 May 2006 11:39:12 +0000 (11:39 +0000)]
Some optimizations by Volkan YAZICI <yazicivo@ttnet.net.tr>

18 years agoReduce size of critical section and remove call of user-defined functions in
Teodor Sigaev [Wed, 10 May 2006 09:19:54 +0000 (09:19 +0000)]
Reduce size of critical section and remove call of user-defined functions in
insertion and deletion, modify gistSplit() to do not use buffers.

 TODO: gistvacuumcleanup and XLOG

18 years agoRevert documentation mention of array dimension checking, in next paragraph.
Bruce Momjian [Tue, 9 May 2006 23:12:54 +0000 (23:12 +0000)]
Revert documentation mention of array dimension checking, in next paragraph.

18 years agoMention array dimmensions are not enforced either.
Bruce Momjian [Tue, 9 May 2006 16:31:23 +0000 (16:31 +0000)]
Mention array dimmensions are not enforced either.

18 years agoBuild server libpgport with all non-FRONTEND object files. This is to
Bruce Momjian [Mon, 8 May 2006 02:18:50 +0000 (02:18 +0000)]
Build server libpgport with all non-FRONTEND object files.  This is to
fix a Win32 bug where pipe.c included a file that used FRONTEND, but it
wasn't on the server-build list.

18 years agoRewrite btree vacuuming to fold the former bulkdelete and cleanup operations
Tom Lane [Mon, 8 May 2006 00:00:17 +0000 (00:00 +0000)]
Rewrite btree vacuuming to fold the former bulkdelete and cleanup operations
into a single mostly-physical-order scan of the index.  This requires some
ticklish interlocking considerations, but should create no material
performance impact on normal index operations (at least given the
already-committed changes to make scans work a page at a time).  VACUUM
itself should get significantly faster in any index that's degenerated to a
very nonlinear page order.  Also, we save one pass over the index entirely,
except in the case where there were no deletions to do and so only one pass
happened anyway.

Original patch by Heikki Linnakangas, rework by Tom Lane.

18 years agoRewrite btree index scans to work a page at a time in all cases (both
Tom Lane [Sun, 7 May 2006 01:21:30 +0000 (01:21 +0000)]
Rewrite btree index scans to work a page at a time in all cases (both
btgettuple and btgetmulti).  This eliminates the problem of "re-finding" the
exact stopping point, since the stopping point is effectively always a page
boundary, and index items are never moved across pre-existing page boundaries.
A small penalty is that the keys_are_unique optimization is effectively
disabled (and, therefore, is removed in this patch), causing us to apply
_bt_checkkeys() to at least one more tuple than necessary when looking up a
unique key.  However, the advantages for non-unique cases seem great enough to
accept this tradeoff.  Aside from simplifying and (sometimes) speeding up the
indexscan code, this will allow us to reimplement btbulkdelete as a largely
sequential scan instead of index-order traversal, thereby significantly
reducing the cost of VACUUM.  Those changes will come in a separate patch.

Original patch by Heikki Linnakangas, rework by Tom Lane.

18 years agoUse $(LIBS:-lpgport=) rather than $(patsubst -lpgport,, $(LIBS)), for consistency.
Bruce Momjian [Sun, 7 May 2006 01:05:11 +0000 (01:05 +0000)]
Use $(LIBS:-lpgport=) rather than $(patsubst -lpgport,, $(LIBS)), for consistency.

18 years agoAdd description:
Bruce Momjian [Sat, 6 May 2006 23:35:32 +0000 (23:35 +0000)]
Add description:

* %Disallow changing DEFAULT expression of a SERIAL column?

>
>   This should be done only if the existing SERIAL problems cannot be
>   fixed.
>

18 years agoRecommend more clearly custom pg_dump format over tar, buy showing
Bruce Momjian [Sat, 6 May 2006 23:25:37 +0000 (23:25 +0000)]
Recommend more clearly custom pg_dump format over tar, buy showing
custom format examples first.

18 years agoDocument SSL CRL usage by libpq.
Bruce Momjian [Sat, 6 May 2006 16:25:11 +0000 (16:25 +0000)]
Document SSL CRL usage by libpq.

18 years agoFurther minor simplification of relcache startup: don't need a static
Tom Lane [Sat, 6 May 2006 15:51:07 +0000 (15:51 +0000)]
Further minor simplification of relcache startup: don't need a static
needNewCacheFile flag anymore, it can just be local in RelationCacheInitializePhase2.

18 years agoAdd SSL CRL support to libpq. Recently added to the backend.
Bruce Momjian [Sat, 6 May 2006 02:24:39 +0000 (02:24 +0000)]
Add SSL CRL support to libpq.  Recently added to the backend.

18 years agoIssue a log message if a CRL file exists and the SSL library does not
Bruce Momjian [Sat, 6 May 2006 01:31:38 +0000 (01:31 +0000)]
Issue a log message if a CRL file exists and the SSL library does not
support CRL certificates.

18 years agoSeems some NetBSD 3.0 x86 systems still need float8-small-is-zero, so
Bruce Momjian [Fri, 5 May 2006 18:10:35 +0000 (18:10 +0000)]
Seems some NetBSD 3.0 x86 systems still need float8-small-is-zero, so
patch reverted.

18 years agoOn Solaris ASM, / '/' is the comment for x86, while '!' is the comment
Bruce Momjian [Fri, 5 May 2006 16:23:20 +0000 (16:23 +0000)]
On Solaris ASM, / '/' is the comment for x86, while '!' is the comment
for Sparc

Robert Lor

18 years agoUse regression results float8-small-is-zero only for NetBSD < 3.0.
Bruce Momjian [Fri, 5 May 2006 16:16:49 +0000 (16:16 +0000)]
Use regression results float8-small-is-zero only for NetBSD < 3.0.

Backpatch to 8.1.X.

Simon Burge

18 years agoChange Solaris comments from / to !.
Bruce Momjian [Fri, 5 May 2006 12:22:42 +0000 (12:22 +0000)]
Change Solaris comments from / to !.

Robert Lor

18 years agoUpdate standards URL.
Bruce Momjian [Fri, 5 May 2006 09:51:53 +0000 (09:51 +0000)]
Update standards URL.

Robert Treat

18 years agoAdd/ cleanup:
Bruce Momjian [Fri, 5 May 2006 09:35:58 +0000 (09:35 +0000)]
Add/ cleanup:

< * %Disallow changing default expression of a SERIAL column?
> * %Disallow changing DEFAULT expression of a SERIAL column?
472a473,476
> * Add DEFAULT .. AS OWNER so permission checks are done as the table
>   owner
>
>   This would be useful for SERIAL nextval() calls and CHECK constraints.

18 years agoDon't try to compile SSL CRL support if local SSL installation hasn't
Tom Lane [Thu, 4 May 2006 22:18:38 +0000 (22:18 +0000)]
Don't try to compile SSL CRL support if local SSL installation hasn't
got it.  Per buildfarm failure on 'canary'.

18 years agoCode review for contrib/pg_freespacemap. Add a storedpages column to
Tom Lane [Thu, 4 May 2006 20:39:34 +0000 (20:39 +0000)]
Code review for contrib/pg_freespacemap.  Add a storedpages column to
pg_freespacemap_relations --- while one could theoretically get that
number by counting rows in pg_freespacemap_pages, it's surely the hard
way to do it.  Avoid expensive and inconvenient conversion to and from
text format.  Minor code and docs cleanup.

18 years agoSimplify relcache startup sequence. With the new design of InitPostgres
Tom Lane [Thu, 4 May 2006 18:51:36 +0000 (18:51 +0000)]
Simplify relcache startup sequence.  With the new design of InitPostgres
it's not necessary to have three separate calls anymore.  This patch also
fixes things so we don't try to read pg_internal.init until after we've
obtained lock on the target database; which was fairly harmless, but it's
certainly cleaner this way.

18 years agoRethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE.
Tom Lane [Thu, 4 May 2006 16:07:29 +0000 (16:07 +0000)]
Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE.
The former approach used ExclusiveLock on pg_database, which being a
cluster-wide lock meant only one of these operations could proceed at
a time; worse, it also blocked all incoming connections in ReverifyMyDatabase.
Now that we have LockSharedObject(), we can use locks of different types
applied to databases considered as objects.  This allows much more
flexible management of the interlocking: two CREATE DATABASEs need not
block each other, and need not block connections except to the template
database being used.  Similarly DROP DATABASE doesn't block unrelated
operations.  The locking used in flatfiles.c is also much narrower in
scope than before.  Per recent proposal.

18 years agoCreate a syscache for pg_database-indexed-by-oid, and make use of it
Tom Lane [Wed, 3 May 2006 22:45:26 +0000 (22:45 +0000)]
Create a syscache for pg_database-indexed-by-oid, and make use of it
in various places that were previously doing ad hoc pg_database searches.
This may speed up database-related privilege checks a little bit, but
the main motivation is to eliminate the performance reason for having
ReverifyMyDatabase do such a lot of stuff (viz, avoiding repeat scans
of pg_database during backend startup).  The locking reason for having
that routine is about to go away, and it'd be good to have the option
to break it up.

18 years agoMake GIN opclass worked with intarray extensions
Teodor Sigaev [Wed, 3 May 2006 16:31:07 +0000 (16:31 +0000)]
Make GIN opclass worked with intarray extensions

18 years agoFix typo noticed by Alvaro Herrera
Teodor Sigaev [Wed, 3 May 2006 06:56:47 +0000 (06:56 +0000)]
Fix typo noticed by Alvaro Herrera

18 years agoFix calculation of plan node extParams to account for the possibility that one
Tom Lane [Wed, 3 May 2006 00:24:56 +0000 (00:24 +0000)]
Fix calculation of plan node extParams to account for the possibility that one
initPlan sets a parameter for another.  This could not (I think) happen before
8.1, but it's possible now because the initPlans generated by MIN/MAX
optimization might themselves use initPlans.  We attach those initPlans as
siblings of the MIN/MAX ones, not children, to avoid duplicate computation
when multiple MIN/MAX aggregates are present; so this leads to the case of an
initPlan needing the result of a sibling initPlan, which is not possible with
ordinary query nesting.  Hadn't been noticed because in most contexts having
too much stuff listed in extParam is fairly harmless.  Fixes "plan should not
reference subplan's variable" bug reported by Catalin Pitis.

18 years agoClean up API for ambulkdelete/amvacuumcleanup as per today's discussion.
Tom Lane [Tue, 2 May 2006 22:25:10 +0000 (22:25 +0000)]
Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion.
This formulation requires every AM to provide amvacuumcleanup, unlike before,
but it's surely a whole lot cleaner.  Also, add an 'amstorage' column to
pg_am so that we can get rid of hardwired knowledge in DefineOpClass().

18 years agoFix broken markup.
Tom Lane [Tue, 2 May 2006 18:07:51 +0000 (18:07 +0000)]
Fix broken markup.

18 years agoSuppress some gcc warnings.
Tom Lane [Tue, 2 May 2006 15:48:11 +0000 (15:48 +0000)]
Suppress some gcc warnings.

18 years agoFix grammar of new error message.
Tom Lane [Tue, 2 May 2006 15:45:37 +0000 (15:45 +0000)]
Fix grammar of new error message.

18 years agoAdd GIN opclases for another types
Teodor Sigaev [Tue, 2 May 2006 15:23:16 +0000 (15:23 +0000)]
Add GIN opclases for another types

18 years agoGIN: Generalized Inverted iNdex.
Teodor Sigaev [Tue, 2 May 2006 11:28:56 +0000 (11:28 +0000)]
GIN: Generalized Inverted iNdex.
text[], int4[], Tsearch2 support for GIN.

18 years agoAvoid assuming that statistics for a parent relation reflect the properties of
Tom Lane [Tue, 2 May 2006 04:34:18 +0000 (04:34 +0000)]
Avoid assuming that statistics for a parent relation reflect the properties of
the union of its child relations as well.  This might have been a good idea
when it was originally coded, but it's a fatally bad idea when inheritance is
being used for partitioning.  It's better to have no stats at all than
completely misleading stats.  Per report from Mark Liberman.

The bug arguably exists all the way back, but I've only patched HEAD and 8.1
because we weren't particularly trying to support partitioning before 8.1.

Eventually we ought to look at deriving union statistics instead of just
punting, but for now the drop kick looks good.

18 years agoProvide a namespace.c function for lookup of an operator with exact
Tom Lane [Mon, 1 May 2006 23:22:43 +0000 (23:22 +0000)]
Provide a namespace.c function for lookup of an operator with exact
input datatypes given, and use this before trying OpernameGetCandidates.
This is faster than the old method when there's an exact match, and it
does not seem materially slower when there's not.  And it definitely
makes some of the callers cleaner, because they didn't really want to
know about a list of candidates anyway.  Per discussion with Atsushi Ogawa.

18 years agoCode review for GRANT CONNECT patch. Spell the privilege as CONNECT not
Tom Lane [Sun, 30 Apr 2006 21:15:33 +0000 (21:15 +0000)]
Code review for GRANT CONNECT patch.  Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.

18 years agoImprove the representation of FOR UPDATE/FOR SHARE so that we can
Tom Lane [Sun, 30 Apr 2006 18:30:40 +0000 (18:30 +0000)]
Improve the representation of FOR UPDATE/FOR SHARE so that we can
support both FOR UPDATE and FOR SHARE in one command, as well as both
NOWAIT and normal WAIT behavior.  The more general code is actually
simpler and cleaner.

18 years agoDone:
Bruce Momjian [Sun, 30 Apr 2006 02:10:41 +0000 (02:10 +0000)]
Done:
>  o -Allow per-database permissions to be set via GRANT

18 years agoAdd GRANT CONNECTION ON DATABASE, to be used in addition to pg_hba.conf.
Bruce Momjian [Sun, 30 Apr 2006 02:09:07 +0000 (02:09 +0000)]
Add GRANT CONNECTION ON DATABASE, to be used in addition to pg_hba.conf.

Gevik Babakhani

18 years agoAdd question mark:
Bruce Momjian [Sun, 30 Apr 2006 01:45:26 +0000 (01:45 +0000)]
Add question mark:

> * %Disallow changing default expression of a SERIAL column?

18 years agoRevert patch pending more discussion:
Bruce Momjian [Sun, 30 Apr 2006 01:08:07 +0000 (01:08 +0000)]
Revert patch pending more discussion:

Disallow changing DEFAULT expression of a SERIAL column.

18 years agoRemove sema.c, superseded by win32_sema.c.
Tom Lane [Sat, 29 Apr 2006 20:52:56 +0000 (20:52 +0000)]
Remove sema.c, superseded by win32_sema.c.

18 years agoRearrange some configure.in comments for better readability.
Tom Lane [Sat, 29 Apr 2006 20:47:31 +0000 (20:47 +0000)]
Rearrange some configure.in comments for better readability.
Commit configure and pg_config.h.in, missed in last configure.in
update.

18 years agoWe only need to add thread.c on non-WIN32 platforms, since get_home_path
Tom Lane [Sat, 29 Apr 2006 20:13:07 +0000 (20:13 +0000)]
We only need to add thread.c on non-WIN32 platforms, since get_home_path
doesn't use pqGetpwuid on WIN32.  Rather than try to figure out why it
won't build on WIN32, just remove it.

18 years agoDone:
Bruce Momjian [Sat, 29 Apr 2006 16:44:31 +0000 (16:44 +0000)]
Done:

> * -Disallow changing default expression of a SERIAL column

18 years agoDisallow changing DEFAULT expression of a SERIAL column.
Bruce Momjian [Sat, 29 Apr 2006 16:43:54 +0000 (16:43 +0000)]
Disallow changing DEFAULT expression of a SERIAL column.

Dhanaraj M

18 years agoAdd Win32 semaphore implementation, rather than mimicking SysV
Bruce Momjian [Sat, 29 Apr 2006 16:34:41 +0000 (16:34 +0000)]
Add Win32 semaphore implementation, rather than mimicking SysV
semaphores.

Qingqing Zhou

18 years agoSolaris tas() uses 'int' now.
Bruce Momjian [Sat, 29 Apr 2006 11:55:19 +0000 (11:55 +0000)]
Solaris tas() uses 'int' now.

Theo Schlossnagle

18 years agoIntel compiler has a bug/misoptimization in checking for division by NAN
Bruce Momjian [Sat, 29 Apr 2006 00:51:41 +0000 (00:51 +0000)]
Intel compiler has a bug/misoptimization in checking for division by NAN
(NaN == 0), -mp1 fixes it, so add it to the CFLAGS.  Autoconf run.

Jeremy Drake

18 years agoFix s_lock_test to use tas.o file, if needed.
Bruce Momjian [Fri, 28 Apr 2006 22:54:31 +0000 (22:54 +0000)]
Fix s_lock_test to use tas.o file, if needed.

18 years agoRemove the restriction originally coded into optimize_minmax_aggregates() that
Tom Lane [Fri, 28 Apr 2006 20:57:49 +0000 (20:57 +0000)]
Remove the restriction originally coded into optimize_minmax_aggregates() that
MIN/MAX not be converted to use an index if the query WHERE clause contains
any volatile functions or subplans.

I had originally feared that the conversion might alter the behavior of such a
query with respect to a volatile function.  Well, so it might, but only in the
sense that the function would get evaluated at a subset of the table rows
rather than all of them --- and we have never made any such guarantee anyway.
(For instance, we don't refuse to use an index for an ordinary non-aggregate
query when one of the non-indexable filter conditions contains a volatile
function.)

The prohibition against subplans was because of worry that that case wasn't
adequately tested, which it wasn't, but it turns out to be possible to make
8.1 fail anyway:

regression=# select o.ten, (select max(unique2) from tenk1 i where ten = o.ten
or ten = (select f1 from int4_tbl limit 1)) from tenk1 o;
ERROR:  direct correlated subquery unsupported as initplan

This is due to bogus code in SS_make_initplan_from_plan (it's an initplan,
ergo it can't have any parParams).  Having fixed that, we might as well allow
subplans as well as initplans.

18 years agoModify Solaris compiler build rules to use the cpp preprocessor, the the
Bruce Momjian [Fri, 28 Apr 2006 17:09:16 +0000 (17:09 +0000)]
Modify Solaris compiler build rules to use the cpp preprocessor, the the
x86 file.

18 years agoDarin -> Darwin.
Bruce Momjian [Fri, 28 Apr 2006 04:39:41 +0000 (04:39 +0000)]
Darin -> Darwin.

18 years agoRemove extra 'else' in solaris compiler code.
Bruce Momjian [Fri, 28 Apr 2006 04:32:10 +0000 (04:32 +0000)]
Remove extra 'else' in solaris compiler code.

18 years agoRemove "volatile" from tas function, per TOm.
Bruce Momjian [Fri, 28 Apr 2006 03:43:19 +0000 (03:43 +0000)]
Remove "volatile" from tas function, per TOm.

18 years agoUpdate list of platforms that have a list of exported symbols.
Bruce Momjian [Fri, 28 Apr 2006 02:59:11 +0000 (02:59 +0000)]
Update list of platforms that have a list of exported symbols.

18 years agoArrange to strip libpq.so of symbols that aren't officially supposed to
Tom Lane [Fri, 28 Apr 2006 02:53:20 +0000 (02:53 +0000)]
Arrange to strip libpq.so of symbols that aren't officially supposed to
be exported on Linux and Darwin.  We already did this on Windows but
that's not enough, as evidenced by the fact that libecpg had an unexpected
dependency on one such symbol.  We should try to do it on more platforms.
Fix ecpg's oversight, and bump libpq's major .so version number to reflect
the unwanted but nonetheless real ABI break.

18 years agoAdd info on pgport linking requirements.
Bruce Momjian [Fri, 28 Apr 2006 02:52:57 +0000 (02:52 +0000)]
Add info on pgport linking requirements.

18 years agoRewrite Solaris compiler tas() assembly routines, merge i386 and x86_64
Bruce Momjian [Thu, 27 Apr 2006 22:28:42 +0000 (22:28 +0000)]
Rewrite Solaris compiler tas() assembly routines, merge i386 and x86_64
assembler files, renamed as solaris_x86.s.

Theo Schlossnagle

18 years agoFix ltreeparentsel so it actually works ...
Tom Lane [Thu, 27 Apr 2006 18:24:35 +0000 (18:24 +0000)]
Fix ltreeparentsel so it actually works ...

18 years agoGeneralize mcv_selectivity() to support both VAR OP CONST and CONST OP VAR
Tom Lane [Thu, 27 Apr 2006 17:52:40 +0000 (17:52 +0000)]
Generalize mcv_selectivity() to support both VAR OP CONST and CONST OP VAR
cases.  This was not needed in the existing uses within selfuncs.c, but if
we're gonna export it for general use, the extra generality seems helpful.
Motivated by looking at ltree example.

18 years agoChange log message about vacuuming database name from LOG to DEBUG1.
Bruce Momjian [Thu, 27 Apr 2006 15:57:10 +0000 (15:57 +0000)]
Change log message about vacuuming database name from LOG to DEBUG1.
Prevents duplicate meaningless log messsages.

18 years agoAdd to item log_min_error_messages item:
Bruce Momjian [Thu, 27 Apr 2006 15:56:17 +0000 (15:56 +0000)]
Add to item log_min_error_messages item:

>   Another idea is to allow separate configuration files for each module,
>   or allow arbitrary SET commands to be passed to them.

18 years agoOn second thought, keep SSL CRL as a log, and wait for feedback from 8.2.
Bruce Momjian [Thu, 27 Apr 2006 15:35:15 +0000 (15:35 +0000)]
On second thought, keep SSL CRL as a log, and wait for feedback from 8.2.

18 years agoDowngrade SSL CRL file missing message from LOG to DEBUG1.
Bruce Momjian [Thu, 27 Apr 2006 15:25:04 +0000 (15:25 +0000)]
Downgrade SSL CRL file missing message from LOG to DEBUG1.

18 years agoTurn off strict aliasing when using AIX xlc compiler.
Bruce Momjian [Thu, 27 Apr 2006 14:27:04 +0000 (14:27 +0000)]
Turn off strict aliasing when using AIX xlc compiler.

autoconf run.

18 years agoRevert patch, causing plpython regression failues:
Bruce Momjian [Thu, 27 Apr 2006 14:18:07 +0000 (14:18 +0000)]
Revert patch, causing plpython regression failues:

> >> >> > 1) named parameters additionally to args[]
> >> >> > 2) return composite-types from plpython as dictionary
> >> >> > 3) return result-set from plpython as list, iterator or generator

18 years agoTab alignment cleanup.
Bruce Momjian [Thu, 27 Apr 2006 14:02:36 +0000 (14:02 +0000)]
Tab alignment cleanup.

18 years agoAdd underscores to SSL CERT macro names, for clarity and consistency
Bruce Momjian [Thu, 27 Apr 2006 14:01:46 +0000 (14:01 +0000)]
Add underscores to SSL CERT macro names, for clarity and consistency
with be-secure.c.

18 years agoAdd SSL include needed for psql, after libpq adjustments.
Bruce Momjian [Thu, 27 Apr 2006 02:58:08 +0000 (02:58 +0000)]
Add SSL include needed for psql, after libpq adjustments.

18 years agoAdd:
Bruce Momjian [Thu, 27 Apr 2006 02:41:36 +0000 (02:41 +0000)]
Add:

> * Invalidate prepared queries, like INSERT, when the table definition
>   is altered

18 years agoAdd support for SSL Certificate Revocation List (CRL) files, root.crl.
Bruce Momjian [Thu, 27 Apr 2006 02:29:14 +0000 (02:29 +0000)]
Add support for SSL Certificate Revocation List (CRL) files, root.crl.

Libor Hoho?

18 years agoplpython improvements:
Bruce Momjian [Thu, 27 Apr 2006 01:05:05 +0000 (01:05 +0000)]
plpython improvements:

1) named parameters additionally to args[]
2) return composite-types from plpython as dictionary
3) return result-set from plpython as list, iterator or generator

Hannu Krosing
Sven Suursoho

18 years agoUn-break ltree.
Tom Lane [Thu, 27 Apr 2006 00:58:20 +0000 (00:58 +0000)]
Un-break ltree.

18 years agoChange libpq's PQgetssl() to return a void*, rather than SSL *, so that
Bruce Momjian [Thu, 27 Apr 2006 00:53:58 +0000 (00:53 +0000)]
Change libpq's PQgetssl() to return a void*, rather than SSL *, so that
applications don't need the SSL headers.

Martijn van Oosterhout

18 years agoIf we're going to expose VariableStatData for contrib modules to use,
Tom Lane [Thu, 27 Apr 2006 00:46:59 +0000 (00:46 +0000)]
If we're going to expose VariableStatData for contrib modules to use,
then we should export a reasonable set of the supporting routines too.

18 years agoRemove unused function SSL_CTX_set_tmp_dh_callback() from libpq:
Bruce Momjian [Thu, 27 Apr 2006 00:36:34 +0000 (00:36 +0000)]
Remove unused function SSL_CTX_set_tmp_dh_callback() from libpq:

In the SSL code in libpq it does some processing with DH parameters:

SSL_CTX_set_tmp_dh_callback()

This function is marked as server use only[1], the client always uses
the DH parameters in the server, so all the code in the client dealing
with the DH parameters is useless. This patch removes it.

It's not clear why the code was added in the first place, it's been
there almost since the beginning[2]. At the time there was a suggestion
of merging the front-end and backend SSL code, but looking at the
changes since, that seems unlikely.

As a further example, the s_server program allows you to specify DH
params, but s_client doesn't. In the GnuTLS documentation under
gnutls_dh_params_generate2() it says[3]:

  Also note that the DH parameters are only useful to servers. Since
  clients use the parameters sent by the server, it's of no use to call
  this in client side.

18 years agoUse schema search path to find the first matching contraint name for SET
Bruce Momjian [Thu, 27 Apr 2006 00:33:46 +0000 (00:33 +0000)]
Use schema search path to find the first matching contraint name for SET
CONSTRAINT, rather than affecting all constraints in all schemas (which
is what we used to do).  Also allow schema specifications.

Kris Jurka

18 years agoDelay write of pg_stats file to once every five minutes, during
Bruce Momjian [Thu, 27 Apr 2006 00:06:59 +0000 (00:06 +0000)]
Delay write of pg_stats file to once every five minutes, during
shutdown, or when requested by a backend:

It changes so the file is only written once every 5 minutes (changeable
of course, I just picked something) instead of once every half second.
It's still written when the stats collector shuts down, just as before.
And it is now also written on backend request. A backend requests a
rewrite by simply sending a special stats message. It operates on the
assumption that the backends aren't actually going to read the
statistics file very often, compared to how frequent it's written today.

Magnus Hagander

18 years agoAdd tablespace display to psql \l+.
Bruce Momjian [Wed, 26 Apr 2006 23:15:45 +0000 (23:15 +0000)]
Add tablespace display to psql \l+.

Philip Yarra

18 years agoImprove /contrib/pg_buffercache installation to use BEGIN/COMMIT,
Bruce Momjian [Wed, 26 Apr 2006 22:50:17 +0000 (22:50 +0000)]
Improve /contrib/pg_buffercache installation to use BEGIN/COMMIT,
improve examples.

Mark Kirkwood

18 years agoSplit out pg_freespace views to one for relations and another for pages,
Bruce Momjian [Wed, 26 Apr 2006 22:46:09 +0000 (22:46 +0000)]
Split out pg_freespace views to one for relations and another for pages,
pg_freespacemap_relations and pg_freespacemap_pages.

Mark Kirkwood

18 years agoAdjust /contrib/pg_freespace to show index free space as NULL (FSM only
Bruce Momjian [Wed, 26 Apr 2006 22:41:18 +0000 (22:41 +0000)]
Adjust /contrib/pg_freespace to show index free space as NULL (FSM only
tracks index pages, not free space on pages):

1/ Index free bytes set to NULL
2/ Comment added to the README briefly mentioning the index business
3/ Columns reordered more logically
4/ 'Blockid' column removed
5/ Free bytes column renamed to just 'bytes' instead of 'blockfreebytes'

Mark Kirkwood

18 years agoMove ltree parentsel() selectivity function into /contrib/ltree.
Bruce Momjian [Wed, 26 Apr 2006 22:33:36 +0000 (22:33 +0000)]
Move ltree parentsel() selectivity function into /contrib/ltree.

18 years agoIn pg_resetxlog.c, uint -> uint32, for Win32 port.
Bruce Momjian [Wed, 26 Apr 2006 21:52:31 +0000 (21:52 +0000)]
In pg_resetxlog.c, uint -> uint32, for Win32 port.

18 years agoAdd missing ControlFile.checkPointCopy.ThisTimeLineID line for 'guess'
Bruce Momjian [Wed, 26 Apr 2006 18:56:56 +0000 (18:56 +0000)]
Add missing ControlFile.checkPointCopy.ThisTimeLineID line for 'guess'
pg_resetxlog.

Simon

18 years agoUpdate catalog version for ltree changes.
Bruce Momjian [Wed, 26 Apr 2006 18:30:10 +0000 (18:30 +0000)]
Update catalog version for ltree changes.

18 years agoEnhanced containment selectivity function for /contrib/ltree
Bruce Momjian [Wed, 26 Apr 2006 18:28:34 +0000 (18:28 +0000)]
Enhanced containment selectivity function for /contrib/ltree

Matteo Beccati

18 years agoAllow pg_resetxlog -f to reset pg_control counters using xlog
Bruce Momjian [Wed, 26 Apr 2006 02:17:15 +0000 (02:17 +0000)]
Allow pg_resetxlog -f to reset pg_control counters using xlog
information, and add a -r option to reset pg_control without affecting
xlog.

yuanjia lee

18 years agoDone:
Bruce Momjian [Wed, 26 Apr 2006 02:15:20 +0000 (02:15 +0000)]
Done:

* -Allow WAL information to recover corrupted pg_controldata

18 years agoRevise large-object access routines to avoid running with CurrentMemoryContext
Tom Lane [Wed, 26 Apr 2006 00:34:57 +0000 (00:34 +0000)]
Revise large-object access routines to avoid running with CurrentMemoryContext
set to the large object context ("fscxt"), as this is inevitably a source of
transaction-duration memory leaks.  Not sure why we'd not noticed it before;
maybe people weren't touching a whole lot of LOs in the same transaction
before the 8.1 pg_dump changes.  Per report from Wayne Conrad.

Backpatched as far as 8.1, but the problem doubtless goes all the way back.
I'm disinclined to spend the time to try to verify that the older branches
would still work if patched, seeing that this code was significantly modified
for 8.0 and again for 8.1, and that we don't have any trouble reports before
8.1.  (Maybe the leaks were smaller before?)

18 years agoArrange to cache btree metapage data in the relcache entry for the index,
Tom Lane [Tue, 25 Apr 2006 22:46:05 +0000 (22:46 +0000)]
Arrange to cache btree metapage data in the relcache entry for the index,
thereby saving a visit to the metapage in most index searches/updates.
This wouldn't actually save any I/O (since in the old regime the metapage
generally stayed in cache anyway), but it does provide a useful decrease
in bufmgr traffic in high-contention scenarios.  Per my recent proposal.

18 years agoAdjust SGML spacing.
Bruce Momjian [Tue, 25 Apr 2006 21:02:33 +0000 (21:02 +0000)]
Adjust SGML spacing.

18 years agoBack out the rest of the RESET CONNECTION patch.
Tom Lane [Tue, 25 Apr 2006 18:58:37 +0000 (18:58 +0000)]
Back out the rest of the RESET CONNECTION patch.

18 years agoThe 8.1 planner removes WHERE quals from the plan when the quals are
Tom Lane [Tue, 25 Apr 2006 16:54:09 +0000 (16:54 +0000)]
The 8.1 planner removes WHERE quals from the plan when the quals are
implied by the predicate of a partial index being used to scan a table.
However, this optimization is unsafe in an UPDATE, DELETE, or SELECT FOR
UPDATE query, because the quals need to be rechecked by EvalPlanQual if
there's an update conflict.  Per example from Jean-Samuel Reynaud.

18 years agoRemove equals sign from environment variable with not defaults for
Bruce Momjian [Tue, 25 Apr 2006 15:19:16 +0000 (15:19 +0000)]
Remove equals sign from environment variable with not defaults for
configure.

18 years agoMake configure environment variable options without defaults not have an
Bruce Momjian [Tue, 25 Apr 2006 15:17:04 +0000 (15:17 +0000)]
Make configure environment variable options without defaults not have an
equals sign.

18 years agoAdd documentation about configure environment variabbles used.
Bruce Momjian [Tue, 25 Apr 2006 15:14:16 +0000 (15:14 +0000)]
Add documentation about configure environment variabbles used.

 David Wheeler