OSDN Git Service

pg-rex/syncrep.git
21 years agoSimplify evaluation of TCL_INCLUDE_SPEC.
Peter Eisentraut [Tue, 11 Feb 2003 21:05:35 +0000 (21:05 +0000)]
Simplify evaluation of TCL_INCLUDE_SPEC.

21 years agoUse a varno not chosen at random for dummy variables in the top-level
Tom Lane [Tue, 11 Feb 2003 04:13:06 +0000 (04:13 +0000)]
Use a varno not chosen at random for dummy variables in the top-level
targetlist of a set-operation tree.  I'm not sure that this solution
will really stand the test of time --- perhaps we need to make a special
RTE for such vars to refer to.  But this quick hack fixes Brandon Craig
Rhodes' complaint of 10-Feb-02 about EXCEPT in CREATE RULE, while not
changing any behavior in the better-tested cases where leftmostRTI is
one anyway.

21 years agoFix thinko in new logic about pushing down non-nullability constraints:
Tom Lane [Mon, 10 Feb 2003 17:08:50 +0000 (17:08 +0000)]
Fix thinko in new logic about pushing down non-nullability constraints:
constraints appearing in outer-join qualification clauses are restricted
as to when and where they can be pushed down.  Add regression test
to catch future errors in this area.

21 years agoAdd code to show join rule (for outer and IN joins) in join type name.
Tom Lane [Mon, 10 Feb 2003 17:06:23 +0000 (17:06 +0000)]
Add code to show join rule (for outer and IN joins) in join type name.

21 years agoGet rid of last few vestiges of parsetree dependency on grammar token
Tom Lane [Mon, 10 Feb 2003 04:44:47 +0000 (04:44 +0000)]
Get rid of last few vestiges of parsetree dependency on grammar token
codes, per discussion from last March.  parse.h should now be included
*only* by gram.y, scan.l, keywords.c, parser.c.  This prevents surprising
misbehavior after seemingly-trivial grammar adjustments.

21 years agoDetect case where an outer join can be reduced to a plain inner join
Tom Lane [Sun, 9 Feb 2003 23:57:19 +0000 (23:57 +0000)]
Detect case where an outer join can be reduced to a plain inner join
because there are WHERE clauses that will reject the null-extended rows.
Per suggestion from Brandon Craig Rhodes, 19-Nov-02.

21 years agoupped build# to 201
Barry Lind [Sun, 9 Feb 2003 23:45:45 +0000 (23:45 +0000)]
upped build# to 201

21 years agoBetter error message on character set mismatches during conversion to unicode.
Barry Lind [Sun, 9 Feb 2003 23:14:55 +0000 (23:14 +0000)]
Better error message on character set mismatches during conversion to unicode.
Also applied patch from Lars Stenberg to make callable statements use the form
select * from func() when running against a 7.3 server instead of select func() to allow for set returning functions to be called.

 Modified Files:
  jdbc/org/postgresql/errors.properties
  jdbc/org/postgresql/core/Encoding.java
  jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java

21 years agoCreate a distinction between Lists of integers and Lists of OIDs, to get
Tom Lane [Sun, 9 Feb 2003 06:56:28 +0000 (06:56 +0000)]
Create a distinction between Lists of integers and Lists of OIDs, to get
rid of the assumption that sizeof(Oid)==sizeof(int).  This is one small
step towards someday supporting 8-byte OIDs.  For the moment, it doesn't
do much except get rid of a lot of unsightly casts.

21 years agoRemove bogus comment (too freely copied & pasted).
Tom Lane [Sun, 9 Feb 2003 00:35:55 +0000 (00:35 +0000)]
Remove bogus comment (too freely copied & pasted).

21 years agoMake further use of new bitmapset code: executor's chgParam, extParam,
Tom Lane [Sun, 9 Feb 2003 00:30:41 +0000 (00:30 +0000)]
Make further use of new bitmapset code: executor's chgParam, extParam,
locParam lists can be converted to bitmapsets to speed updating.  Also,
replace 'locParam' with 'allParam', which contains all the paramIDs
relevant to the node (i.e., the union of extParam and locParam); this
saves a step during SetChangedParamList() without costing anything
elsewhere.

21 years agoReplace planner's representation of relation sets, per pghackers discussion.
Tom Lane [Sat, 8 Feb 2003 20:20:55 +0000 (20:20 +0000)]
Replace planner's representation of relation sets, per pghackers discussion.
Instead of Lists of integers, we now store variable-length bitmap sets.
This should be faster as well as less error-prone.

21 years agoapplied Kris Jurka's patch for numeric
Dave Cramer [Fri, 7 Feb 2003 12:47:29 +0000 (12:47 +0000)]
applied Kris Jurka's patch for numeric

21 years agoRevise mechanism for getting rid of temp tables at backend shutdown.
Tom Lane [Fri, 7 Feb 2003 01:33:06 +0000 (01:33 +0000)]
Revise mechanism for getting rid of temp tables at backend shutdown.
Instead of grovelling through pg_class to find them, make use of the
handy dandy dependency mechanism: just delete everything that depends
on our temp schema.  Unlike the pg_class scan, the dependency mechanism
is smart enough to delete things in an order that doesn't fall foul of
any dependency restrictions.  Fixes problem reported by David Heggie:
a temp table with a serial column may cause a backend FATAL exit at
shutdown time, if it chances to try to delete the temp sequence first.

21 years agoMake flatten_join_alias_vars() do the right thing when expanding an alias
Tom Lane [Thu, 6 Feb 2003 22:21:11 +0000 (22:21 +0000)]
Make flatten_join_alias_vars() do the right thing when expanding an alias
referenced from a subquery.  Per example from Stefanos Harhalakis.

21 years agoCreate a GUC variable REGEX_FLAVOR to control the type of regular
Tom Lane [Thu, 6 Feb 2003 20:25:33 +0000 (20:25 +0000)]
Create a GUC variable REGEX_FLAVOR to control the type of regular
expression accepted by the regex operators, per discussion yesterday.

Along the way, reduce deadlock_timeout from PGC_POSTMASTER to PGC_SIGHUP
category.  It is probably best to insist that all backends share the same
setting, but that doesn't mean it has to be frozen at startup.

21 years agoFix core dump when pltcl_elog is called with wrong number of parameters,
Tom Lane [Thu, 6 Feb 2003 17:02:11 +0000 (17:02 +0000)]
Fix core dump when pltcl_elog is called with wrong number of parameters,
per report from Ian Harding.

21 years agoAllow qualified type names in CREATE CAST, DROP CAST. Also allow the
Tom Lane [Wed, 5 Feb 2003 20:16:42 +0000 (20:16 +0000)]
Allow qualified type names in CREATE CAST, DROP CAST.  Also allow the
construction 'SETOF type[]' which for some reason was previously
overlooked (you'd have to name the array type directly to make it work).

21 years agoReplace regular expression package with Henry Spencer's latest version
Tom Lane [Wed, 5 Feb 2003 17:41:33 +0000 (17:41 +0000)]
Replace regular expression package with Henry Spencer's latest version
(extracted from Tcl 8.4.1 release, as Henry still hasn't got round to
making it a separate library).  This solves a performance problem for
multibyte, as well as upgrading our regexp support to match recent Tcl
and nearly match recent Perl.

21 years agopatch from Oliver Jowett to implement some of the jdbc3 methods
Dave Cramer [Wed, 5 Feb 2003 11:12:39 +0000 (11:12 +0000)]
patch from Oliver Jowett to implement some of the jdbc3 methods

21 years agoUpdate Hungarian FAQ, from Laszlo Hornyak
Bruce Momjian [Tue, 4 Feb 2003 12:32:41 +0000 (12:32 +0000)]
Update Hungarian FAQ, from Laszlo Hornyak

21 years agoRevert doc change so we mention moving past the last row of a cursor.
Bruce Momjian [Tue, 4 Feb 2003 11:23:58 +0000 (11:23 +0000)]
Revert doc change so we mention moving past the last row of a cursor.

21 years agoApplied Kris Jurkas patch to fix rollback and SQLException
Dave Cramer [Tue, 4 Feb 2003 11:01:52 +0000 (11:01 +0000)]
Applied Kris Jurkas patch to fix rollback and SQLException

21 years agoapplied patch from Oliver Jowett
Dave Cramer [Tue, 4 Feb 2003 10:44:37 +0000 (10:44 +0000)]
applied patch from Oliver Jowett

21 years agoTwo patches from Kris Jurka. One fixes a problem with incorrect type for double
Barry Lind [Tue, 4 Feb 2003 10:09:32 +0000 (10:09 +0000)]
Two patches from Kris Jurka.  One fixes a problem with incorrect type for double
and the other fixes a NPE in Statement.toString() under some circumstances.
The second patch was originally submitted by Oliver Jowett and updated by Kris

21 years agoPatch from Nic Ferrier to add support for result sets being cursor based
Barry Lind [Tue, 4 Feb 2003 09:20:12 +0000 (09:20 +0000)]
Patch from Nic Ferrier to add support for result sets being cursor based
so that rows can be fetched incrementally.  This is enabled by using
setFetchSize()

21 years agoMinor code cleanup: remove no-longer-useful pull_subplans() function,
Tom Lane [Tue, 4 Feb 2003 00:50:01 +0000 (00:50 +0000)]
Minor code cleanup: remove no-longer-useful pull_subplans() function,
and convert pull_agg_clause() into count_agg_clause(), which is a more
efficient way of doing what it's really being used for.

21 years agoDetect duplicate aggregate calls and evaluate only one copy. This
Tom Lane [Tue, 4 Feb 2003 00:48:23 +0000 (00:48 +0000)]
Detect duplicate aggregate calls and evaluate only one copy.  This
speeds up some useful real-world cases like
SELECT x, COUNT(*) FROM t GROUP BY x HAVING COUNT(*) > 100.

21 years ago#ifdef out stuff that shouldn't be compiled when not USE_SSL.
Tom Lane [Mon, 3 Feb 2003 22:33:51 +0000 (22:33 +0000)]
#ifdef out stuff that shouldn't be compiled when not USE_SSL.
Curious that gcc doesn't complain about unreferenced static variables.

21 years agoDetermine the set of constraints applied to a domain at executor
Tom Lane [Mon, 3 Feb 2003 21:15:45 +0000 (21:15 +0000)]
Determine the set of constraints applied to a domain at executor
startup, not in the parser; this allows ALTER DOMAIN to work correctly
with domain constraint operations stored in rules.  Rod Taylor;
code review by Tom Lane.

21 years agoAdd mention of CURRENT_SCHEMA for object creation.
Bruce Momjian [Mon, 3 Feb 2003 15:56:50 +0000 (15:56 +0000)]
Add mention of CURRENT_SCHEMA for object creation.

21 years agoDon't print NO ACTION foreign key actions in dumps and psql \d.
Bruce Momjian [Mon, 3 Feb 2003 15:17:24 +0000 (15:17 +0000)]
Don't print NO ACTION foreign key actions in dumps and psql \d.

21 years agoTweak planner and executor to avoid doing ExecProject() in table scan
Tom Lane [Mon, 3 Feb 2003 15:07:08 +0000 (15:07 +0000)]
Tweak planner and executor to avoid doing ExecProject() in table scan
nodes where it's not really necessary.  In many cases where the scan node
is not the topmost plan node (eg, joins, aggregation), it's possible to
just return the table tuple directly instead of generating an intermediate
projection tuple.  In preliminary testing, this reduced the CPU time
needed for 'SELECT COUNT(*) FROM foo' by about 10%.

21 years agoMove pg_service.conf.sample to /interfaces/libpq.
Bruce Momjian [Mon, 3 Feb 2003 14:24:07 +0000 (14:24 +0000)]
Move pg_service.conf.sample to /interfaces/libpq.

21 years agoChange MOVE LAST to MOVE ALL.
Bruce Momjian [Mon, 3 Feb 2003 14:04:24 +0000 (14:04 +0000)]
Change MOVE LAST to MOVE ALL.

Standard says FETCH LAST is after last row, and we don't do that.

21 years agoImplement EXPLAIN EXECUTE. By Neil Conway, with some kibitzing from
Tom Lane [Sun, 2 Feb 2003 23:46:38 +0000 (23:46 +0000)]
Implement EXPLAIN EXECUTE.  By Neil Conway, with some kibitzing from
Tom Lane.

21 years agoUpdate release history for 7.3.2.
Tom Lane [Sun, 2 Feb 2003 19:48:20 +0000 (19:48 +0000)]
Update release history for 7.3.2.

21 years agoFix nodeUnique to behave correctly when reversing direction after reaching
Tom Lane [Sun, 2 Feb 2003 19:08:57 +0000 (19:08 +0000)]
Fix nodeUnique to behave correctly when reversing direction after reaching
either end of subplan results.  This prevents misbehavior of cursors
on SELECT DISTINCT ... queries.  Per bug report 1-Feb-02.

21 years agoRemove restriction that cast functions cannot be volatile. This
Tom Lane [Sat, 1 Feb 2003 22:09:26 +0000 (22:09 +0000)]
Remove restriction that cast functions cannot be volatile.  This
restriction was debatable to begin with, but it has now become obvious
that it breaks forward-porting of user-defined types; contrib/lo being
the most salient example.

21 years agoCleaner solution to the problem of loading pre-7.3 dumps containing
Tom Lane [Sat, 1 Feb 2003 22:06:59 +0000 (22:06 +0000)]
Cleaner solution to the problem of loading pre-7.3 dumps containing
columns of type lo (see contrib/lo).  Rather than hacking the function
definitions on-the-fly, just modify the queries issued by FixupBlobRefs
so that they work even if CREATE CAST hasn't been issued.

21 years agoChanges of 6-Sep-02 broke pg_restore's ability to recognize tar-format
Tom Lane [Sat, 1 Feb 2003 19:29:16 +0000 (19:29 +0000)]
Changes of 6-Sep-02 broke pg_restore's ability to recognize tar-format
files.  Fix it.

21 years agoFix assign_session_authorization() to not be confused by all-numeric
Tom Lane [Sat, 1 Feb 2003 18:31:28 +0000 (18:31 +0000)]
Fix assign_session_authorization() to not be confused by all-numeric
user names.  Per recent reports.

21 years agoPrevent core dump from calling Tcl_DontCallWhenDeleted() with a null
Tom Lane [Sat, 1 Feb 2003 00:22:12 +0000 (00:22 +0000)]
Prevent core dump from calling Tcl_DontCallWhenDeleted() with a null
interp pointer.  Per report from Gerhard Hintermayer.

21 years agoApply ljb's patch to prevent both memory leak and core dump during
Tom Lane [Sat, 1 Feb 2003 00:07:03 +0000 (00:07 +0000)]
Apply ljb's patch to prevent both memory leak and core dump during
connection shutdown.  This is a grotty workaround for a Tcl bug, but
said bug has been there long enough that I'm not holding my breath
for a real fix.  Per discussions and testing from ljb and g.hintermayer.

21 years agoMake plpython's spi_execute interface handle NULLs properly.
Tom Lane [Fri, 31 Jan 2003 22:35:24 +0000 (22:35 +0000)]
Make plpython's spi_execute interface handle NULLs properly.
From Andrew Bosma.

21 years agoClean up plpython error reporting so that its regression test passes
Tom Lane [Fri, 31 Jan 2003 22:25:14 +0000 (22:25 +0000)]
Clean up plpython error reporting so that its regression test passes
with some amount of cleanliness.  I see no need to report the internal
Python name rather than the SQL procedure name in error tracebacks.

21 years agoTweak bison build rules so that we get the same error messages from
Tom Lane [Fri, 31 Jan 2003 20:58:00 +0000 (20:58 +0000)]
Tweak bison build rules so that we get the same error messages from
bison 1.875 and later as we did from earlier bison releases.  Eventually
we will probably want to adopt the newer message spelling ... but not yet.
Per recent discussion on pgpatches.
Note: I didn't change the build rules for bootstrap, ecpg, or plpgsql
grammars, since these do not affect regression test results.

21 years agoAllow a time zone to be specified (and silently ignored) in the input
Tom Lane [Fri, 31 Jan 2003 01:08:08 +0000 (01:08 +0000)]
Allow a time zone to be specified (and silently ignored) in the input
for type 'time without time zone', as we already did for type
'timestamp without time zone'.  This patch was proposed by Tom Lockhart
on 7-Nov-02, but he never got around to applying it.  Adjust regression
tests and documentation to match.

21 years agoHandle mixed-case names properly in plpgsql_parse_tripwordtype.
Tom Lane [Fri, 31 Jan 2003 00:31:53 +0000 (00:31 +0000)]
Handle mixed-case names properly in plpgsql_parse_tripwordtype.
From Neil Conway.

21 years agoFix typo, per Neil Conway.
Tom Lane [Fri, 31 Jan 2003 00:10:51 +0000 (00:10 +0000)]
Fix typo, per Neil Conway.

21 years agoFix regression in .pgpass support. From Neil Conway.
Tom Lane [Thu, 30 Jan 2003 19:49:54 +0000 (19:49 +0000)]
Fix regression in .pgpass support.  From Neil Conway.

21 years agoUpdate release history for 7.2.4.
Tom Lane [Wed, 29 Jan 2003 22:14:08 +0000 (22:14 +0000)]
Update release history for 7.2.4.

21 years agoSPI_exec shouldn't return SPI_OK_SELECT if it hasn't actually returned
Tom Lane [Wed, 29 Jan 2003 15:24:46 +0000 (15:24 +0000)]
SPI_exec shouldn't return SPI_OK_SELECT if it hasn't actually returned
a tuple table.  Fixes core dump in pltcl (and probably other PLs) when
executing a query rewritten by a rule.  Per bug report from Wolfgang Walter.

21 years agoUpdate release steps.
Bruce Momjian [Wed, 29 Jan 2003 03:41:54 +0000 (03:41 +0000)]
Update release steps.

21 years agoTweak ArrayCount() to forestall possible access to temp[-1]. Problem
Tom Lane [Wed, 29 Jan 2003 01:28:33 +0000 (01:28 +0000)]
Tweak ArrayCount() to forestall possible access to temp[-1].  Problem
cannot actually happen at present because ArrayCount() is only called
on strings beginning with '{', but seems best to prevent it going forward.
Per report from Yichen Xie.

21 years agoGuard against array overrun, per report from Yichen Xie. This case
Tom Lane [Wed, 29 Jan 2003 01:18:21 +0000 (01:18 +0000)]
Guard against array overrun, per report from Yichen Xie.  This case
can only occur if the constant DEFAULT_CLIENT_AUTHSVC is given a bogus
value, so it doesn't seem worth back-patching, but I'll fix it in HEAD.

21 years agoRepair array subscript overrun identified by Yichen Xie. Reduce the
Tom Lane [Wed, 29 Jan 2003 01:08:42 +0000 (01:08 +0000)]
Repair array subscript overrun identified by Yichen Xie.  Reduce the
value of MAX_TIME_PRECISION in floating-point-timestamp-storage case
from 13 to 10, which is as much as time_out is actually willing to print.
(The alternative of increasing the number of digits we are willing to
print looks risky; we might find ourselves printing roundoff garbage.)

21 years agoFix array subscript overruns identified by Yichen Xie.
Tom Lane [Wed, 29 Jan 2003 01:01:05 +0000 (01:01 +0000)]
Fix array subscript overruns identified by Yichen Xie.

21 years agoExtend join-selectivity API (oprjoin interface) so that join type is
Tom Lane [Tue, 28 Jan 2003 22:13:41 +0000 (22:13 +0000)]
Extend join-selectivity API (oprjoin interface) so that join type is
passed to join selectivity estimators.  Make use of this in eqjoinsel
to derive non-bogus selectivity for IN clauses.  Further tweaking of
cost estimation for IN.
initdb forced because of pg_proc.h changes.

21 years agoFactor out the code that detects the long long int snprintf format into a
Peter Eisentraut [Tue, 28 Jan 2003 21:57:12 +0000 (21:57 +0000)]
Factor out the code that detects the long long int snprintf format into a
separate macro.  Also add support for %I64d which is the way on Windows.

The code that checks for the 64-bit int type now gives more reasonable
results when cross-compiling: In that case we just take the compiler's
information and trust that the arithmetic works.  Disabling int64 is too
pessimistic.

21 years agoConvert variable name to canonical spelling before checking for matches
Tom Lane [Tue, 28 Jan 2003 18:04:02 +0000 (18:04 +0000)]
Convert variable name to canonical spelling before checking for matches
in GUCArrayAdd/GUCArrayDelete.  This prevents the multiple-entry bug
exhibited by Frank Lupo 28-Jan-2003.

21 years agoRevert off setting mention for client_min_messages.
Bruce Momjian [Tue, 28 Jan 2003 03:43:47 +0000 (03:43 +0000)]
Revert off setting mention for client_min_messages.

Set log_min_error_messages to the proper and agreed-upon default, PANIC
(off).  (BACKPATCH)

21 years agoRevert optimizer page count change.
Bruce Momjian [Tue, 28 Jan 2003 03:34:29 +0000 (03:34 +0000)]
Revert optimizer page count change.

21 years agoSet log_min_error_messages to the proper and agreed-upon default, PANIC (off).
Bruce Momjian [Mon, 27 Jan 2003 23:55:38 +0000 (23:55 +0000)]
Set log_min_error_messages to the proper and agreed-upon default, PANIC (off).

Backpatch to 7.3.X.

21 years agoAdd blank line.
Bruce Momjian [Mon, 27 Jan 2003 23:19:18 +0000 (23:19 +0000)]
Add blank line.

21 years agoMove:
Bruce Momjian [Mon, 27 Jan 2003 23:16:52 +0000 (23:16 +0000)]
Move:

> * Add the concept of dataspaces/tablespaces [tablespaces]
307d307
< * Add the concept of dataspaces/tablespaces [tablespaces]

21 years agoFix typo 233 pages -> 333 pages.
Bruce Momjian [Mon, 27 Jan 2003 22:40:56 +0000 (22:40 +0000)]
Fix typo 233 pages -> 333 pages.

21 years agoUpgrade cost estimation for joins, per discussion with Bradley Baetz.
Tom Lane [Mon, 27 Jan 2003 20:51:54 +0000 (20:51 +0000)]
Upgrade cost estimation for joins, per discussion with Bradley Baetz.
Try to model the effect of rescanning input tuples in mergejoins;
account for JOIN_IN short-circuiting where appropriate.  Also, recognize
that mergejoin and hashjoin clauses may now be more than single operator
calls, so we have to charge appropriate execution costs.

21 years agoRemove mention of 6.5 max backends.
Bruce Momjian [Mon, 27 Jan 2003 06:25:03 +0000 (06:25 +0000)]
Remove mention of 6.5 max backends.

21 years agoGet rid of last few unadorned 'permission denied' messages.
Tom Lane [Mon, 27 Jan 2003 00:51:06 +0000 (00:51 +0000)]
Get rid of last few unadorned 'permission denied' messages.

21 years agoPrevent core dump when die_horribly() is called with null AH pointer.
Tom Lane [Mon, 27 Jan 2003 00:23:38 +0000 (00:23 +0000)]
Prevent core dump when die_horribly() is called with null AH pointer.
Problem reported and fixed by Oliver Elphick.

21 years agoMark IN performance problem as fixed in 7.4
Bruce Momjian [Sun, 26 Jan 2003 02:43:55 +0000 (02:43 +0000)]
Mark IN performance problem as fixed in 7.4

21 years agoInclude IPv6 addresses in pg_hba.conf even if IPv6 is not supported; at
Bruce Momjian [Sun, 26 Jan 2003 01:19:22 +0000 (01:19 +0000)]
Include IPv6 addresses in pg_hba.conf even if IPv6 is not supported;  at
suggestion of Peter.

21 years agoAdd:
Bruce Momjian [Sun, 26 Jan 2003 01:13:34 +0000 (01:13 +0000)]
Add:

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

21 years agoAllow the planner to collapse explicit inner JOINs together, rather than
Tom Lane [Sat, 25 Jan 2003 23:10:30 +0000 (23:10 +0000)]
Allow the planner to collapse explicit inner JOINs together, rather than
necessarily following the JOIN syntax to develop the query plan.  The old
behavior is still available by setting GUC variable JOIN_COLLAPSE_LIMIT
to 1.  Also create a GUC variable FROM_COLLAPSE_LIMIT to control the
similar decision about when to collapse sub-SELECT lists into their parent
lists.  (This behavior existed already, but the limit was always
GEQO_THRESHOLD/2; now it's separately adjustable.)

21 years agoWhere available, use utime() or utimes() to update the file mod time
Tom Lane [Sat, 25 Jan 2003 05:19:47 +0000 (05:19 +0000)]
Where available, use utime() or utimes() to update the file mod time
of the socket file and socket lock file; this should prevent both of them
from being removed by even the stupidest varieties of /tmp-cleaning
script.  Per suggestion from Giles Lean.

21 years agoUse stat(2) to probe for existing xlog segments in InstallXLogFileSegment,
Tom Lane [Sat, 25 Jan 2003 03:06:04 +0000 (03:06 +0000)]
Use stat(2) to probe for existing xlog segments in InstallXLogFileSegment,
rather than actually opening the files.  This eliminates some corner cases
where the file indeed exists but open() fails for another reason, such
as being out of file descriptors.  The net reliability gain is probably
tiny, since xlog.c is full of other file open calls that will elog(PANIC)
if they fail for any reason; but this specific failure mode has been
observed in the field, so we may as well fix it.

21 years agoSuppress gcc warnings.
Tom Lane [Fri, 24 Jan 2003 21:53:29 +0000 (21:53 +0000)]
Suppress gcc warnings.

21 years agoModify planner's implied-equality-deduction code so that when a set
Tom Lane [Fri, 24 Jan 2003 03:58:44 +0000 (03:58 +0000)]
Modify planner's implied-equality-deduction code so that when a set
of known-equal expressions includes any constant expressions (including
Params from outer queries), we actively suppress any 'var = var'
clauses that are or could be deduced from the set, generating only the
deducible 'var = const' clauses instead.  The idea here is to push down
the restrictions implied by the equality set to base relations whenever
possible.  Once we have applied the 'var = const' clauses, the 'var = var'
clauses are redundant, and should be suppressed both to save work at
execution and to avoid double-counting restrictivity.

21 years agoGrant options, and cascading revoke. Grant options are allowed only for
Peter Eisentraut [Thu, 23 Jan 2003 23:39:07 +0000 (23:39 +0000)]
Grant options, and cascading revoke.  Grant options are allowed only for
users right now, not groups.  Extension of has_foo_privileges functions to
query the grant options.  Extension of aclitem type to store grantor.

21 years agoadded fix from Joel Hock to get the inserted row into the current buffer
Dave Cramer [Thu, 23 Jan 2003 18:49:22 +0000 (18:49 +0000)]
added fix from Joel Hock to get the inserted row into the current buffer

21 years agoFix obsolete error message (isImmutable doesn't exist).
Tom Lane [Thu, 23 Jan 2003 15:18:40 +0000 (15:18 +0000)]
Fix obsolete error message (isImmutable doesn't exist).

21 years agoChange CREATE TABLE AS / SELECT INTO to create the new table with OIDs,
Tom Lane [Thu, 23 Jan 2003 05:10:41 +0000 (05:10 +0000)]
Change CREATE TABLE AS / SELECT INTO to create the new table with OIDs,
for backwards compatibility with pre-7.3 behavior.  Per discussion on
pgsql-general and pgsql-hackers.

21 years agoUpdate 'Mathematical Functions' table to reflect 7.3 addition of float8
Tom Lane [Thu, 23 Jan 2003 01:22:59 +0000 (01:22 +0000)]
Update 'Mathematical Functions' table to reflect 7.3 addition of float8
forms of ceil(), floor(), sign().  Back-patch this and other recent
doc fixes in this file to the 7.3 branch.

21 years agoFix sloppy comment.
Tom Lane [Wed, 22 Jan 2003 20:44:20 +0000 (20:44 +0000)]
Fix sloppy comment.

21 years agoMake estimation of mergejoin scan selectivities more robust, per recent
Tom Lane [Wed, 22 Jan 2003 20:16:42 +0000 (20:16 +0000)]
Make estimation of mergejoin scan selectivities more robust, per recent
example from RaÇl GutiÅrrez.

21 years agoImprove print_expr() a little. It's still not very bright though.
Tom Lane [Wed, 22 Jan 2003 19:26:35 +0000 (19:26 +0000)]
Improve print_expr() a little.  It's still not very bright though.

21 years agoImplement choice between hash-based and sort-based grouping for doing
Tom Lane [Wed, 22 Jan 2003 00:07:00 +0000 (00:07 +0000)]
Implement choice between hash-based and sort-based grouping for doing
DISTINCT processing on the output of an IN sub-select.

21 years agoFix coredump problem in plpgsql's RETURN NEXT. When a SELECT INTO
Tom Lane [Tue, 21 Jan 2003 22:06:12 +0000 (22:06 +0000)]
Fix coredump problem in plpgsql's RETURN NEXT.  When a SELECT INTO
that's selecting into a RECORD variable returns zero rows, make it
assign an all-nulls row to the RECORD; this is consistent with what
happens when the SELECT INTO target is not a RECORD.  In support of
this, tweak the SPI code so that a valid tuple descriptor is returned
even when a SPI select returns no rows.

21 years agoSynced parser.
Michael Meskes [Tue, 21 Jan 2003 20:01:12 +0000 (20:01 +0000)]
Synced parser.

21 years agoAvoid gratuitous variation in spelling of same error message.
Tom Lane [Tue, 21 Jan 2003 19:44:26 +0000 (19:44 +0000)]
Avoid gratuitous variation in spelling of same error message.

21 years agoFix sed expression for BSD sed.
Peter Eisentraut [Tue, 21 Jan 2003 10:11:52 +0000 (10:11 +0000)]
Fix sed expression for BSD sed.

21 years agoIN clauses appearing at top level of WHERE can now be handled as joins.
Tom Lane [Mon, 20 Jan 2003 18:55:07 +0000 (18:55 +0000)]
IN clauses appearing at top level of WHERE can now be handled as joins.
There are two implementation techniques: the executor understands a new
JOIN_IN jointype, which emits at most one matching row per left-hand row,
or the result of the IN's sub-select can be fed through a DISTINCT filter
and then joined as an ordinary relation.
Along the way, some minor code cleanup in the optimizer; notably, break
out most of the jointree-rearrangement preprocessing in planner.c and
put it in a new file prep/prepjointree.c.

21 years agoThis patch includes a lot of minor cleanups to the SGML documentation,
Bruce Momjian [Sun, 19 Jan 2003 00:13:31 +0000 (00:13 +0000)]
This patch includes a lot of minor cleanups to the SGML documentation,
including:

- replacing all the appropriate usages of <citetitle>PostgreSQL
...</citetitle> with &cite-user;, &cite-admin;, and so on

- fix an omission in the EXECUTE documentation

- add some more text to the EXPLAIN documentation

- improve the PL/PgSQL RETURN NEXT documentation (more work to do here)

- minor markup fixes

Neil Conway

21 years agoImprove symlink handling for C tags file.
Bruce Momjian [Sat, 18 Jan 2003 06:06:51 +0000 (06:06 +0000)]
Improve symlink handling for C tags file.

21 years agoAdd section on testing index scan.
Bruce Momjian [Fri, 17 Jan 2003 17:15:14 +0000 (17:15 +0000)]
Add section on testing index scan.

21 years agoAdd dash to:
Bruce Momjian [Fri, 17 Jan 2003 03:28:18 +0000 (03:28 +0000)]
Add dash to:

     set-returning functions or SRF's.

for clarity.

21 years agoFix parse_agg.c to detect ungrouped Vars in sub-SELECTs; remove code
Tom Lane [Fri, 17 Jan 2003 03:25:04 +0000 (03:25 +0000)]
Fix parse_agg.c to detect ungrouped Vars in sub-SELECTs; remove code
that used to do it in planner.  That was an ancient kluge that was
never satisfactory; errors should be detected at parse time when possible.
But at the time we didn't have the support mechanism (expression_tree_walker
et al) to make it convenient to do in the parser.

21 years agoAdjust API of expression_tree_mutator and query_tree_mutator to
Tom Lane [Fri, 17 Jan 2003 02:01:21 +0000 (02:01 +0000)]
Adjust API of expression_tree_mutator and query_tree_mutator to
simplify callers.  It turns out the common case is that the caller
does want to recurse into sub-queries, so push support for that into
these subroutines.

21 years agoAdd code to print information about a detected deadlock cycle. The
Tom Lane [Thu, 16 Jan 2003 21:01:45 +0000 (21:01 +0000)]
Add code to print information about a detected deadlock cycle.  The
printed data is comparable to what you could read in the pg_locks view,
were you fortunate enough to have been looking at it at the right time.