Tom Lane [Sun, 4 Jan 2004 00:07:32 +0000 (00:07 +0000)]
Rewrite OR indexscan processing to be more flexible. We can now for the
first time generate an OR indexscan for a two-column index when the WHERE
condition is like 'col1 = foo AND (col2 = bar OR col2 = baz)' --- before,
the OR had to be on the first column of the index or we'd not notice the
possibility of using it. Some progress towards extracting OR indexscans
from subclauses of an OR that references multiple relations, too, although
this code is #ifdef'd out because it needs more work.
Tom Lane [Sat, 3 Jan 2004 05:47:44 +0000 (05:47 +0000)]
Must test for __hppa__ as well as __hppa to make linux-hppa happy.
Tom Lane [Thu, 1 Jan 2004 19:27:15 +0000 (19:27 +0000)]
Do an explicit fflush after writing a progress message with puts.
This ensures stdout is kept in sync with messages on stderr.
Per report from Olaf Ferger.
Bruce Momjian [Wed, 31 Dec 2003 16:14:44 +0000 (16:14 +0000)]
Make Solaris non-gcc thread flag "-mt" a compile flag, not a link flag.
Tom Lane [Tue, 30 Dec 2003 23:53:15 +0000 (23:53 +0000)]
Adjust the definition of RestrictInfo's left_relids and right_relids
fields: now they are valid whenever the clause is a binary opclause,
not only when it is a potential join clause (there is a new boolean
field canjoin to signal the latter condition). This lets us avoid
recomputing the relid sets over and over while examining indexes.
Still more work to do to make this as useful as it could be, because
there are places that could use the info but don't have access to the
RestrictInfo node.
Tom Lane [Tue, 30 Dec 2003 23:36:19 +0000 (23:36 +0000)]
Recommend SHOW, instead of pg_controldata, for checking LC_COLLATE and
LC_CTYPE settings of a database.
Bruce Momjian [Tue, 30 Dec 2003 23:13:51 +0000 (23:13 +0000)]
Add "-mt" link flag for Solaris non-gcc compiles when using threads ---
required.
Tom Lane [Tue, 30 Dec 2003 21:49:19 +0000 (21:49 +0000)]
Instead of trying to force WHERE clauses into CNF or DNF normal form,
just look for common clauses that can be pulled out of ORs. Per recent
discussion, extracting common clauses seems to be the only really useful
effect of normalization, and if we do it explicitly then we can avoid
cluttering the qual with partially-redundant duplicated expressions, which
was an unpleasant side-effect of the old approach.
Tom Lane [Tue, 30 Dec 2003 20:05:05 +0000 (20:05 +0000)]
Avoid running out of memory during hash_create, by not passing a
number-of-buckets that exceeds the size we actually plan to allow
the hash table to grow to. Per trouble report from Sean Shanny.
Tom Lane [Tue, 30 Dec 2003 00:03:03 +0000 (00:03 +0000)]
ShmemInitHash forgot to specify HASH_ALLOC flag bit in its hash_create
call. You'd think this would cause some problems, but because of the
way hash_create is coded, the only side-effect was creation of a useless
memory context for the hashtable.
Tom Lane [Mon, 29 Dec 2003 23:54:22 +0000 (23:54 +0000)]
Use hash table name, not one-size-fits-all 'DynaHashTable', to identify
memory contexts belonging to hash tables. Makes the memory stats printout
a little more useful.
Tom Lane [Mon, 29 Dec 2003 22:22:45 +0000 (22:22 +0000)]
Using canonicalize_qual() to get rid of duplicate index predicate
conditions is overkill; set_union() does the job about as well, and
much more efficiently. Furthermore this avoids assuming that
canonicalize_qual() will check for duplicate clauses at all, which
it may not always do.
Tom Lane [Mon, 29 Dec 2003 21:44:49 +0000 (21:44 +0000)]
Improve comment.
Tom Lane [Mon, 29 Dec 2003 21:33:09 +0000 (21:33 +0000)]
Tweak OpernameGetCandidates() to reduce palloc overhead --- profiling
showed that for common operator names such as '=', the pallocs done by
this routine occupied a surprisingly large fraction of the total time
for the parser to process an operator.
Michael Meskes [Mon, 29 Dec 2003 13:53:04 +0000 (13:53 +0000)]
Added missing whitespaces to array argument parsing.
Tom Lane [Sun, 28 Dec 2003 21:57:37 +0000 (21:57 +0000)]
Clean up the usage of canonicalize_qual(): in particular, be consistent
about whether it is applied before or after eval_const_expressions().
I believe there were some corner cases where the system would fail to
recognize that a partial index is applicable because of the previous
inconsistency. Store normal rather than 'implicit AND' representations
of constraints and index predicates in the catalogs.
initdb forced due to representation change of constraints/predicates.
Tom Lane [Sun, 28 Dec 2003 17:43:57 +0000 (17:43 +0000)]
Fix sanity-check code that mistakenly assumed error and notice messages
could never exceed 30K. Per report from Andreas Pflug.
Tom Lane [Sun, 28 Dec 2003 17:29:41 +0000 (17:29 +0000)]
Avoid infinite loop if connection is lost during PQexecStart() or
PQexecFinish(). Per report from Andreas Pflug.
Tom Lane [Sat, 27 Dec 2003 20:58:58 +0000 (20:58 +0000)]
Improve spinlock code for recent x86 processors: insert a PAUSE
instruction in the s_lock() wait loop, and use test before test-and-set
in TAS() macro to avoid unnecessary bus traffic. Patch from Manfred
Spraul, reworked a bit by Tom.
Tom Lane [Sat, 27 Dec 2003 18:20:18 +0000 (18:20 +0000)]
Remove incorrect remark about having to restart backend to load a new
version of a shared library.
Tom Lane [Fri, 26 Dec 2003 21:30:48 +0000 (21:30 +0000)]
Be a little more consistent about which terms are uppercased in
index entries.
Michael Meskes [Fri, 26 Dec 2003 20:00:00 +0000 (20:00 +0000)]
Fixed docs to clearly note that ecpg is originally a C precompiler and C++ stuff is not 100%.
Bruce Momjian [Thu, 25 Dec 2003 03:52:51 +0000 (03:52 +0000)]
Continued rearrangement to permit pgstat + BootstrapMain processes to be
fork/exec'd, in the same mode as the previous patch for backends.
Claudio Natoli
Bruce Momjian [Thu, 25 Dec 2003 03:44:05 +0000 (03:44 +0000)]
Patch that makes quoting "sameuser", "samegroup", and "all" remove
special meaning of these terms in pg_hba.conf.
Also changes ugly pg_hba.conf IPv6 netmask of
ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff to ::1/128.
Andrew Dunstan
Bruce Momjian [Thu, 25 Dec 2003 03:36:24 +0000 (03:36 +0000)]
> > I have no idea if this in Oracle or not. But it's something I
> > needed, and other people in the past asked about it too.
>
> It is in Oracle, but you aren't exactly on the spot. It should be
>
> IYYY - 4 digits ('2003')
> IYY - 3 digits ('003')
> IY - 2 digits ('03')
> I - 1 digit ('3')
Here is an updated patch that does that.
Kurt Roeckx
Michael Meskes [Wed, 24 Dec 2003 22:04:09 +0000 (22:04 +0000)]
Fixed segfault in parsing of EXEC SQL SELECT * FROM foo() AS TBL( c int, i int);
Bruce Momjian [Tue, 23 Dec 2003 23:13:14 +0000 (23:13 +0000)]
Supress non-temp schemas from psql \dn display.
Tom Lane [Tue, 23 Dec 2003 22:15:07 +0000 (22:15 +0000)]
Use inlined TAS() on PA-RISC, if we are compiling with gcc.
Patch inspired by original submission from ViSolve.
Tom Lane [Tue, 23 Dec 2003 21:56:21 +0000 (21:56 +0000)]
Fix a number of places where reconfiguring with a different installation
prefix would fail, because the new path did not get propagated to where
it needed to be. Note this would fail even with --enable-depend.
Tom Lane [Tue, 23 Dec 2003 21:50:38 +0000 (21:50 +0000)]
Fix compile warning.
Tom Lane [Tue, 23 Dec 2003 20:34:45 +0000 (20:34 +0000)]
More bogosity in alter_table test: sometimes causes prepare test to fail
by means of arbitrarily renaming tables the other test depends on.
Tom Lane [Tue, 23 Dec 2003 20:17:47 +0000 (20:17 +0000)]
alter_table test sometimes failed in parallel mode, because of transient
table name conflict against rangefuncs test.
Tom Lane [Tue, 23 Dec 2003 18:40:53 +0000 (18:40 +0000)]
Push responsibility for selecting out-of-line-assembler TAS code out to
the platform template files, instead of doing it directly in configure.in.
This seems cleaner, and also opens the door to making the choice be
dependent on the compiler being used.
Tom Lane [Tue, 23 Dec 2003 18:13:17 +0000 (18:13 +0000)]
Mop-up for HAS_TEST_AND_SET refactoring. Un-break two or three platforms
that were broken, try to make layout of s_lock.h entries consistent,
use HAVE_SPINLOCKS in preference to HAS_TEST_AND_SET everywhere outside
s_lock.h itself.
Bruce Momjian [Tue, 23 Dec 2003 03:52:10 +0000 (03:52 +0000)]
Have configure --without-spinlocks actually not use spinlock code, even
if supported by the cpu.
Bruce Momjian [Tue, 23 Dec 2003 03:31:30 +0000 (03:31 +0000)]
Move slock_t typdefs into s_lock.h from include/port files for
centralization and easier maintanence.
Bruce Momjian [Tue, 23 Dec 2003 00:34:04 +0000 (00:34 +0000)]
Remove __alpha__ additions in main.c but document that they are missing.
Bruce Momjian [Tue, 23 Dec 2003 00:32:06 +0000 (00:32 +0000)]
Remove NEED_I386_TAS_ASM and just test for compiler defines.
Tom Lane [Tue, 23 Dec 2003 00:01:57 +0000 (00:01 +0000)]
Allow plpgsql variables' default value expressions to reference
existing variables (such as function parameters). Per gripe from
David Fetter.
Bruce Momjian [Mon, 22 Dec 2003 23:39:53 +0000 (23:39 +0000)]
This applied patch remove NEED_SPARC_TAS_ASM and instead uses __sparc ||
__sparc__.
Bruce Momjian [Mon, 22 Dec 2003 23:36:38 +0000 (23:36 +0000)]
Test for __alpha and __alpha__.
Bruce Momjian [Mon, 22 Dec 2003 16:30:27 +0000 (16:30 +0000)]
Clarification:
< * Have psql \dn show only visible schemas using current_schemas()
> * Have psql \dn show only visible temp schemas using current_schemas()
Bruce Momjian [Mon, 22 Dec 2003 07:28:29 +0000 (07:28 +0000)]
Regenerate HISTORY for release.
Tom Lane [Sun, 21 Dec 2003 18:06:15 +0000 (18:06 +0000)]
Fix broken markup, adjust 7.4.1 release date, re-sync HEAD with branch.
Tom Lane [Sun, 21 Dec 2003 17:52:34 +0000 (17:52 +0000)]
Further cleanup in _bt_first: eliminate duplicate code paths.
Bruce Momjian [Sun, 21 Dec 2003 05:23:36 +0000 (05:23 +0000)]
Update 7.4.1 release notes in preparation for release.
Bruce Momjian [Sun, 21 Dec 2003 04:34:36 +0000 (04:34 +0000)]
Back out:
> Attached is a patch that addressed all the discussed issues
> that did not break backward compatability, including the
> ability to output ISO-8601 compliant intervals by setting
> datestyle to iso8601basic.
Bruce Momjian [Sun, 21 Dec 2003 04:30:10 +0000 (04:30 +0000)]
[ This description should have been on the earlier fork/exec
commit, but I am adding it now so it is in CVS.]
The patch basically is a slight rearrangement of the code to allow
fork/exec on Unix, with the ultimate goal of doing CreateProcess on
Win32. The changes are:
o Write out postmaster global variables and per-backend
variables to be read by the exec'ed backend
o Mark some static variables as global when exec is used so
then can be dumped from postmaster.c, marked NON_EXEC_STATIC
o Remove value passing with -p now that we have per-backend
file
o Move some pointer storage out of shared memory for easier
dumping.
o Modified pgsql_temp directory cleanup to handle per-database
directories and the backend exec directory under datadir.
Claudio Natoli
Tom Lane [Sun, 21 Dec 2003 03:00:04 +0000 (03:00 +0000)]
Previous change exposed some opportunities for further simplification
in _bt_first().
Tom Lane [Sun, 21 Dec 2003 01:23:06 +0000 (01:23 +0000)]
Improve btree's initial-positioning-strategy code so that we never need
to step more than one entry after descending the search tree to arrive at
the correct place to start the scan. This can improve the behavior
substantially when there are many entries equal to the chosen boundary
value. Per suggestion from Dmitry Tkach, 14-Jul-03.
Tom Lane [Sun, 21 Dec 2003 00:33:33 +0000 (00:33 +0000)]
The recent DUMMY_PROCS patch broke accounting for the number of semaphores
needed. This caused us to fail all the time on Darwin, and we'd fail for
some values of maxBackends on SysV-sema platforms, too.
Tom Lane [Sat, 20 Dec 2003 22:18:02 +0000 (22:18 +0000)]
bufmgr.c failed to compile on Darwin, because it didn't include
<sys/time.h> where struct timeval is defined.
Tom Lane [Sat, 20 Dec 2003 18:45:49 +0000 (18:45 +0000)]
Dept. of third thoughts: in fact, libpq should support SCM_CREDS challenge
even when HAVE_GETPEEREID is defined, else it will be unable to connect to
pre-7.4 backends that are using IDENT authentication.
Tom Lane [Sat, 20 Dec 2003 18:24:52 +0000 (18:24 +0000)]
Fix broken IDENT support for FreeBSD (appears to have been broken by
ill-considered conditional logic in getpeereid patch of 3-Dec-2002).
Per bug #1021.
Bruce Momjian [Sat, 20 Dec 2003 17:31:21 +0000 (17:31 +0000)]
This patch is the next step towards (re)allowing fork/exec.
Claudio Natoli
Bruce Momjian [Sat, 20 Dec 2003 16:06:54 +0000 (16:06 +0000)]
Another markup fix for recent patch.
Bruce Momjian [Sat, 20 Dec 2003 15:59:25 +0000 (15:59 +0000)]
Fix broken markup.
Bruce Momjian [Sat, 20 Dec 2003 15:32:55 +0000 (15:32 +0000)]
In my mind there were two categories of open issues
a) ones that are 100% backward (such as the comment about
outputting this format)
and
b) ones that aren't (such as deprecating the current
postgresql shorthand of
'1Y1M'::interval = 1 year 1 minute
in favor of the ISO-8601
'P1Y1M'::interval = 1 year 1 month.
Attached is a patch that addressed all the discussed issues that
did not break backward compatability, including the ability to
output ISO-8601 compliant intervals by setting datestyle to
iso8601basic.
Interval values can now be written as ISO 8601 time intervals, using
the "Format with time-unit designators". This format always starts with
the character 'P', followed by a string of values followed
by single character time-unit designators. A 'T' separates the date and
time parts of the interval.
Ron Mayer
Bruce Momjian [Sat, 20 Dec 2003 00:57:22 +0000 (00:57 +0000)]
Update HISTORY file for 7.4.1.
Bruce Momjian [Fri, 19 Dec 2003 23:29:15 +0000 (23:29 +0000)]
Supress ecpg thread test if configure didn't enable threads. Fix
tools/thread to run even if configure didn't enable threads because this
test is used before enabling threads for the OS.
Bruce Momjian [Fri, 19 Dec 2003 21:50:54 +0000 (21:50 +0000)]
Prevent service dbname from defaulting to service name, per bug report
from Michael Fuhr
Peter Eisentraut [Fri, 19 Dec 2003 20:06:20 +0000 (20:06 +0000)]
7.4.1 release note improvements
Peter Eisentraut [Fri, 19 Dec 2003 14:21:56 +0000 (14:21 +0000)]
Forbid REVOKE on untrusted languages, and don't dump privileges of
untrusted languages (in case they sneak in).
Peter Eisentraut [Fri, 19 Dec 2003 11:54:25 +0000 (11:54 +0000)]
Add missing $(X).
Tom Lane [Fri, 19 Dec 2003 04:56:41 +0000 (04:56 +0000)]
Make to_hex() behave portably on negative input values (treat them as
unsigned integers). Per report from Jim Crate.
Joe Conway [Fri, 19 Dec 2003 00:02:11 +0000 (00:02 +0000)]
Use a shutdown callback to ensure proper clean up when rescanning
partially-evaluated SRFs. Per report found here:
http://archives.postgresql.org/pgsql-general/2003-12/msg00851.php
Tom Lane [Thu, 18 Dec 2003 22:49:26 +0000 (22:49 +0000)]
Fix memory leak with SSL connections due to missing X509_free() calls.
Per Neil Conway.
Tom Lane [Thu, 18 Dec 2003 22:23:42 +0000 (22:23 +0000)]
Use a shutdown callback to clear setArgsValid in a FuncExprState that is
evaluating a set-valued function. This fixes some additional problems
with rescanning partially-evaluated SRFs.
Peter Eisentraut [Thu, 18 Dec 2003 20:25:58 +0000 (20:25 +0000)]
Forgot to change one compatlib.h.
Tom Lane [Thu, 18 Dec 2003 20:21:37 +0000 (20:21 +0000)]
Ensure set-returning functions in the targetlist of a plan node will be
shut down cleanly if the plan node is ReScanned before the SRFs are run
to completion. This fixes the problem for SQL-language functions, but
still need work on functions using the SRF_XXX() macros.
Teodor Sigaev [Thu, 18 Dec 2003 19:27:53 +0000 (19:27 +0000)]
Fix signed char in comparison and check memory allocation
Peter Eisentraut [Thu, 18 Dec 2003 18:55:09 +0000 (18:55 +0000)]
Move Informix compatibility include files out of the way. compatlib.h
was integrated into ecpg_informix.h, the other ones go into their own
subdirectory that is automatically considered by the embedded preprocessor
when in Informix mode.
Dave Cramer [Thu, 18 Dec 2003 04:17:17 +0000 (04:17 +0000)]
patch for new OID74Test
Dave Cramer [Thu, 18 Dec 2003 04:08:30 +0000 (04:08 +0000)]
fixed up OID74 test to conform with other tests, by Kris Jurka
Bruce Momjian [Thu, 18 Dec 2003 03:59:07 +0000 (03:59 +0000)]
Please find enclosed a patch exemplifying typical use of the ARE
Class-Shorthand Escapes<C2><AE>. I believe it will help intrepid regex
users. :)
David Fetter
Bruce Momjian [Thu, 18 Dec 2003 03:46:45 +0000 (03:46 +0000)]
Here is the definition of relation_byte_size() in optimizer/path/costsize.c:
----------------------------------------------------------------------
/*
* relation_byte_size
* Estimate the storage space in bytes for a given number of tuples
* of a given width (size in bytes).
*/
static double
relation_byte_size(double tuples, int width)
{
return tuples * (MAXALIGN(width) + MAXALIGN(sizeof(HeapTupleData)));
}
----------------------------------------------------------------------
Shouldn't this be HeapTupleHeaderData and not HeapTupleData ?
(Of course, from a costing perspective these shouldn't be very different but ...)
Sailesh Krishnamurthy
Dave Cramer [Thu, 18 Dec 2003 03:27:15 +0000 (03:27 +0000)]
patch by Kris Jurka to use the correct protocol based upon server information
Tom Lane [Thu, 18 Dec 2003 01:48:53 +0000 (01:48 +0000)]
Adjust rules output for unknown-vs-any change (affects expected contents
of pg_stats view definition).
Tom Lane [Thu, 18 Dec 2003 00:22:12 +0000 (00:22 +0000)]
Be a little smarter in group_clauses_by_indexkey_for_join: detect cases
where a joinclause is redundant with a restriction clause. Original coding
believed this was impossible and didn't need to be checked for, but that
was a thinko ...
Tom Lane [Wed, 17 Dec 2003 22:11:30 +0000 (22:11 +0000)]
information_schema.constraint_column_usage and key_column_usage should
not discriminate against system columns, since we support constraints on
system columns, and in fact constraints on OID are moderately useful.
Tom Lane [Wed, 17 Dec 2003 21:45:44 +0000 (21:45 +0000)]
Fix DecodeInterval to handle '-0.1' sanely, per gripe from Tilo Schwarz.
Tom Lane [Wed, 17 Dec 2003 20:15:41 +0000 (20:15 +0000)]
Repair badly broken estimation of output buffer size in lquery_out().
Tom Lane [Wed, 17 Dec 2003 19:49:39 +0000 (19:49 +0000)]
Reorder tests in parse_coerce so that ANY/ANYELEMENT/ANYARRAY coercion
does not affect UNKNOWN-type literals or Params. This fixes the recent
complaint about count('x') being broken, and improves consistency in
a few other respects too.
Peter Eisentraut [Wed, 17 Dec 2003 18:44:09 +0000 (18:44 +0000)]
Remove pg_id.
Tom Lane [Wed, 17 Dec 2003 17:07:48 +0000 (17:07 +0000)]
Repair planner failure when there are multiple IN clauses, each with
a join in its subselect. In this situation we *must* build a bushy
plan because there are no valid left-sided or right-sided join trees.
Accordingly, hoary sanity check needs an update. Per report from
Alessandro Depase.
Dave Cramer [Wed, 17 Dec 2003 15:45:05 +0000 (15:45 +0000)]
revoked patch from Kris Jurka to fix multiarguments, and changed test to create
a temp table
Dave Cramer [Wed, 17 Dec 2003 15:38:42 +0000 (15:38 +0000)]
patch from Kris Jurka to fix large object 7.1 compatible protocol issues
modified test case from Alexey Yudichev to be part of the testsuite
Michael Meskes [Wed, 17 Dec 2003 15:23:45 +0000 (15:23 +0000)]
- Added just another patch by Dave that fixes a reversed order in
variable listing for output variables in cursor definitions
- Fixed incorrect if call in long=>numeric conversion.
Dave Cramer [Wed, 17 Dec 2003 13:25:14 +0000 (13:25 +0000)]
added polish translation submitted by Piotr Maj
Bruce Momjian [Wed, 17 Dec 2003 07:07:00 +0000 (07:07 +0000)]
Restore information schema upgrade instructions of Peter.
Peter Eisentraut [Tue, 16 Dec 2003 15:27:58 +0000 (15:27 +0000)]
Add example for converting epoch back to timestamp.
Peter Eisentraut [Tue, 16 Dec 2003 14:57:20 +0000 (14:57 +0000)]
Fix constraint_column_usage for foreign keys.
Peter Eisentraut [Tue, 16 Dec 2003 09:47:55 +0000 (09:47 +0000)]
Repair name.
Bruce Momjian [Tue, 16 Dec 2003 01:35:40 +0000 (01:35 +0000)]
Add mention of non-standard extension:
< o Make SET CONNECTION thread-aware
> o Make SET CONNECTION thread-aware, non-standard?
Bruce Momjian [Tue, 16 Dec 2003 01:08:40 +0000 (01:08 +0000)]
Add for ecpg:
> o Make SET CONNECTION thread-aware
Bruce Momjian [Tue, 16 Dec 2003 01:06:39 +0000 (01:06 +0000)]
Mention ecpg SET CONNECTION is not thread-aware.
Peter Eisentraut [Mon, 15 Dec 2003 23:58:12 +0000 (23:58 +0000)]
Override some of the changes in DocBook DSSSL stylesheets 1.78 to restore
previous behavior of <literal>, <envar>, <acronym>, and others.
Bruce Momjian [Mon, 15 Dec 2003 22:56:44 +0000 (22:56 +0000)]
Add mention with might need to use cp -R someday for portability.
Bruce Momjian [Mon, 15 Dec 2003 22:24:59 +0000 (22:24 +0000)]
Update HISTORY and release notes for 7.4.1.
Neil Conway [Sun, 14 Dec 2003 00:55:46 +0000 (00:55 +0000)]
Fix two typos in the documentation for PREPARE.