Bruce Momjian [Sun, 26 Oct 2003 04:51:51 +0000 (04:51 +0000)]
Fix two bugs in funcs.source that made the tutorial script fail.
Make a LOT of fixes to syscat.source to:
* Set search_path properly (and reset it)
* Add schema name to all results
* Add schema name to ORDER BY first
* Make checks for user-defined objects match reality
* format_type all type names
* Respect attisdropped
* Change !~ to 'not like' since it's more standard
Peter Eisentraut [Sat, 25 Oct 2003 20:18:53 +0000 (20:18 +0000)]
Get Tru64/cc to compile. Need to add -ieee so that it doesn't choke on
0.0/0.0. That option appears to affect the regression test result as well.
The compiler documentation doesn't recommend -O4 for universal use, so
let's stick to the conservative -O (== -O2) by default.
Tom Lane [Thu, 23 Oct 2003 13:58:43 +0000 (13:58 +0000)]
Remove obsolete information about altering default optimization flags for
gcc. Per comment from original author, Brian Gallew:
"Ancient history. Kill it fast."
Tom Lane [Wed, 22 Oct 2003 22:28:10 +0000 (22:28 +0000)]
Move docs about index cost estimation functions and writing a procedural
language handler to the 'Internals' area, per my proposal of yesterday.
Clean up the trigger documentation a bit. Push SPI chapter to the end
of its part, and reorder the Internals chapters into what seems a more
sensible order (at the moment anyway).
Tom Lane [Tue, 21 Oct 2003 22:51:14 +0000 (22:51 +0000)]
Update the complex-datatype example to V1 function calling conventions,
and add binary send/receive functions. Fix some other grottiness such
as failure to mark the C functions STRICT.
Bruce Momjian [Tue, 21 Oct 2003 02:48:09 +0000 (02:48 +0000)]
Update per Tom:
< * Allow INET subnet tests using non-constants
> * Allow INET subnet tests to use indexes 101a102
> o Allow MIN()/MAX() on arrays 144c145
< * Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
> * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops) 166c167
< * Improve handling of index scans for NULL
> * Allow use of indexes to search for NULLs 203a205
> * Add optional textual message to NOTIFY 252c254
< o Add SET SCHEMA
> o Add SET PATH for schemas 297a300
> * Allow fastpast to pass values in portable format 344a348
> * Allow statement-level triggers to access modified rows 526d529
< o Add optional textual message to NOTIFY 530d532
< o Allow fastpast to pass values in portable format 533c535
< o Special passing of binary values in platform-neutral format (bytea?)
> o -Special passing of binary values in platform-neutral format (bytea?)
Bruce Momjian [Tue, 21 Oct 2003 01:25:31 +0000 (01:25 +0000)]
Add release info about dollar signs to migration section:
<listitem><para> Dollar sign (<literal>$</>) is no longer allowed
in operator names</para></listitem>
<listitem><para> Dollar sign (<literal>$</>) can be a non-first
character in identifiers</para></listitem>
Tom Lane [Mon, 20 Oct 2003 20:01:59 +0000 (20:01 +0000)]
It is possible for ResolveNew to be used to insert a sublink into a
subquery that didn't previously have one. We have traditionally made
the caller of ResolveNew responsible for updating the hasSubLinks flag
of the outermost query, but this fails to account for hasSubLinks in
subqueries. Fix ResolveNew to handle this. We might later want to
change the calling convention of ResolveNew so that it can fix the
outer query too, simplifying callers. But I went with the localized
fix for now. Per bug report from J Smith, 20-Oct-03.
Tom Lane [Mon, 20 Oct 2003 01:34:33 +0000 (01:34 +0000)]
When building shared libraries on HPUX with gcc, forcibly include -lgcc
to ensure any needed compiler support routines are included. This is
arguably appropriate on *every* gcc platform, but for the moment I'll take
the conservative approach of only doing it on a platform where it's
provably useful. Per complaint from Heiko Lehmann, 13-Feb-03, as well
as personal experience --- contrib/pgstattuple has never worked for me,
but it does now.
Tom Lane [Sun, 19 Oct 2003 21:36:41 +0000 (21:36 +0000)]
Adjust libpq to avoid deadlock when both client and server want to send
data, and both have filled the transmission buffers. One scenario where
this can happen was illustrated here:
http://archives.postgresql.org/pgsql-hackers/2003-04/msg00979.php
Peter Eisentraut [Sat, 18 Oct 2003 22:59:09 +0000 (22:59 +0000)]
Cleanup on --help-config: Now called --describe-config, no further options,
machine readable, without headers, not sorted. Parameter descriptions
adjusted to fit first sentence + rest convention.
Tom Lane [Sat, 18 Oct 2003 19:06:10 +0000 (19:06 +0000)]
Further work on information_schema. _pg_keyissubset() wasn't quite
fully search-path-proof yet; also, element_types view did not work for
parameters and result types of functions, because it didn't generate
the object_name for the function the same way the data_type_privileges
view does. While at it, centralize dependencies on INDEX_MAX_KEYS/
FUNC_MAX_ARGS into a function returning setof int, so that it will be
easier to fix information_schema for nonstandard values of these
parameters.
Tom Lane [Sat, 18 Oct 2003 16:52:15 +0000 (16:52 +0000)]
Repair interaction between IN-join processing and subselect pullup that
I inadvertently broke a few days ago (per report from Sean Thomas).
Add regression test case to try to catch any similar breakage in future.
Peter Eisentraut [Sat, 18 Oct 2003 12:53:35 +0000 (12:53 +0000)]
Information schema fixes:
Use pg_get_constraintdef instead of pg_constraint.consrc
Use UNION ALL instread of UNION
Make use of regclass type for getting OID of system catalogs
Add schema qualifications where necessary
Fix typos
Tom Lane [Fri, 17 Oct 2003 22:38:20 +0000 (22:38 +0000)]
Document all the system views created by initdb (several of these were
never documented anywhere, sigh). Centralize the detailed documentation
of system views into catalogs.sgml, and provide cross-references.
Tom Lane [Fri, 17 Oct 2003 01:14:26 +0000 (01:14 +0000)]
Adjust display of actual runtimes in EXPLAIN output to use three fractional
digits, and label it 'ms' not 'msec', for consistency with psql's \timing
display. Per recent discussions.
Tom Lane [Fri, 17 Oct 2003 00:57:04 +0000 (00:57 +0000)]
Use pg_get_constraintdef() rather than pg_constraint.consrc; this is
a portion of a patch recently submitted by Christopher Kings-Lynne.
Applied by agreement that this is a bug fix.
Tom Lane [Thu, 16 Oct 2003 22:52:22 +0000 (22:52 +0000)]
Set attstattarget to -1 for all system catalog columns. All but a few
of the entries used to be zero, which I think I had deliberately done in
the name of saving cycles during ANALYZE, but it was really a rather
foolish decision. Some of the more complex views in information_schema
were getting really bad plans for lack of statistics on the columns they
were joining over.
I'm not forcing an initdb for this, but I think there will be one soon
anyway to repair some bugs in the information_schema views.
Tom Lane [Thu, 16 Oct 2003 20:59:35 +0000 (20:59 +0000)]
Ensure that all places that are complaining about exhaustion of shared
memory say 'out of shared memory'; some were doing that and some just
said 'out of memory'. Also add a HINT about increasing max_locks_per_transaction
where relevant, per suggestion from Sean Chittenden. (The former change
does not break the strings freeze; the latter does, but I think it's
worth doing anyway.)
Tom Lane [Thu, 16 Oct 2003 20:03:09 +0000 (20:03 +0000)]
Cause tab completion to do something moderately reasonable with mixed-case
identifiers --- it will now complete these correctly with double quoting.
Fix a few other issues in passing.
Tom Lane [Thu, 16 Oct 2003 16:50:41 +0000 (16:50 +0000)]
Fix bad interaction between NOTIFY processing and V3 extended query
protocol, per report from Igor Shevchenko. NOTIFY thought it could
do its thing if transaction blockState is TBLOCK_DEFAULT, but in
reality it had better check the low-level transaction state is
TRANS_DEFAULT as well. Formerly it was not possible to wait for the
client in a state where the first is true and the second is not ...
but now we can have such a state. Minor cleanup in StartTransaction()
as well.