git.postgresql.org Git - postgresql.git/log
Enable IPv6 libpq 'hostaddr' addresses. Update docs.
Use our own version of getopt_long() if the OS doesn't have one.
Fix for systems that don't have INET_ADDRSTRLEN.
Update comments on IPv6 #define.
Add test for netinet/ip6.h and getaddrinfo, to enable IPv6.
Update ipv6 comment, move configure test to the right place
Add prototype for getaddrinfo().
Enable IPv6 connections to the server, and add pg_hba.conf IPv6 entries
if the OS supports it. Code will still compile on non-IPv6-aware
machines (feature added by Bruce).
Nigel Kukard
Tom Lane [Mon, 6 Jan 2003 01:20:40 +0000 (01:20 +0000)]
Add note explaining that a mergejoinable equality operator is now
required if a datatype is to be accepted by GROUP BY, DISTINCT, or
ORDER BY. This is documentation for code changes made pursuant to
pgsql-hackers discussion around 29-Nov-02.
Tom Lane [Mon, 6 Jan 2003 00:31:45 +0000 (00:31 +0000)]
ALTER DOMAIN OWNER, from Rod Taylor.
Revert rpath-mangling patch. See discussion on -patches around Nov 29 for
the rationale.
Tom Lane [Sun, 5 Jan 2003 00:56:40 +0000 (00:56 +0000)]
Fix inherited UPDATE for cases where child column numbering doesn't
match parent table. This used to work, but was broken in 7.3 by
rearrangement of code that handles targetlist sorting. Add a regression
test to catch future breakage.
Tom Lane [Sat, 4 Jan 2003 00:46:08 +0000 (00:46 +0000)]
Partial code review for ALTER DOMAIN patch. Incorporates Rod Taylor's
patches of 9-Dec (permissions fix) and 13-Dec (performance) as well as
a partial fix for locking issues: concurrent DROP COLUMN should not
create trouble anymore. But concurrent DROP TABLE is still a risk, and
there is no protection at all against creating a column of a domain while
we are altering the domain.
Adjust lo type in contrib during pg_restore so that pg_restore could
reload the type.
flockfile/funlockfile is POSIX, so NetBSD has them too --- use them.
Tom Lane [Thu, 2 Jan 2003 19:29:22 +0000 (19:29 +0000)]
Enforces NOT NULL constraints to be applied against new PRIMARY KEY
columns in DefineIndex. So, ALTER TABLE ... PRIMARY KEY will now
automatically add the NOT NULL constraint. It appeared the alter_table
regression test wanted this to occur, as after the change the regression
test better matched in inline 'fails'/'succeeds' comments.
Rod Taylor
Fix BSD/OS thread file locking bug in new fseeko code.
Backpatch to 7.3.X.
Tom Lane [Wed, 1 Jan 2003 21:57:05 +0000 (21:57 +0000)]
fastpath code neglected to check whether user has privileges to call the
target function. Also, move SetQuerySnapshot() call to avoid assert
failure when a fastpath call is attempted in an aborted transaction.
Tom Lane [Wed, 1 Jan 2003 20:35:39 +0000 (20:35 +0000)]
Awhile back I wrote that freebsd.h was probably broken in the places where
it diverged from netbsd.h and openbsd.h. This has now been confirmed.
Accordingly, make all three exactly alike.
Update:
< * Have DEFAULT dependency track use of sequence, for DROP DEFAULT check
> * Disallow changing default expression of a SERIAL column
Add:
> * Have DEFAULT dependency track use of sequence, for DROP DEFAULT check
Add casts between lo and oid.
Tom Lane [2002年12月30日 22:10:54 +0000 (22:10 +0000)]
Adjust Tcl-related code to compile cleanly with Tcl 8.4 (add const modifiers as
needed). Some desultory const-ification of SPI interface to support this.
Attached is a patch to provide makefiles, etc. to allow the compilation
of the libpq interface static and dynamic libraries with the freely
downloadable Borland C++ compiler version 5.5 and/or C++ Builder.
Lester Godwin
Tom Lane [2002年12月30日 19:45:17 +0000 (19:45 +0000)]
Code review for transaction-safe-TRUNCATE patch: minor cleanups.
Tom Lane [2002年12月30日 18:42:17 +0000 (18:42 +0000)]
Code review for CLUSTER ALL patch. Fix bogus locking, incorrect transaction
stop/start nesting, other infelicities.
Tom Lane [2002年12月30日 17:19:54 +0000 (17:19 +0000)]
Make use of TCL_INCLUDE_SPEC if available (it's new in Tcl 8.4, too bad
it took 'em this long to realize it's needed...)
Cause FETCH 1 to return the current cursor row, or zero if at
beginning/end of cursor.
Have MOVE return 0/1 depending on cursor position.
Matches SQL spec.
Pass cursor counter from parser as a long rather than int.
Doc updates.
Tom Lane [2002年12月30日 15:21:23 +0000 (15:21 +0000)]
Better solution to integer overflow problem in hash batch-number
computation: reduce the bucket number mod nbatch. This changes the
association between original bucket numbers and batches, but that
doesn't matter. Minor other cleanups in hashjoin code to help
centralize decisions.
Add missing slash to python install path.
Add:
> * Allow infinite dates just like infinite timestamps
Tom Lane [2002年12月30日 02:18:29 +0000 (02:18 +0000)]
Point does not return a center of lseg.
Kenji Sugita
Tom Lane [2002年12月29日 22:28:50 +0000 (22:28 +0000)]
Adjust hash table sizing algorithm to avoid integer overflow in
ExecHashJoinGetBatch(). Fixes core dump on large hash joins, as in
example from Rae Stiening.
Clean up quoting in configure.in. configure did not change.
Tom Lane [2002年12月27日 20:06:19 +0000 (20:06 +0000)]
Deliver better error message when a relation name is used in an expression.
Per report from Ian Barwick.
Tom Lane [2002年12月27日 17:10:45 +0000 (17:10 +0000)]
Remove overenthusiastic free'ing of comment dependencies; could lead to
core dump in pg_dump when dumping views having comments. See bug #855.
Small fix in documentation and some examples of usage. Please, apply to
7.3 and current CVS
Oleg Bartunov
Trivial patch to increase max_fsm_pages as per earlier discussion.
Philip Warner
Added:
> * Two-phase commit to implement distributed transactions
Tom Lane [2002年12月26日 23:38:42 +0000 (23:38 +0000)]
Clamp the output of estimate_hash_bucketsize() to a sane range;
per example from Bruno Wolff in which it produced a silly result.
Tom Lane [2002年12月26日 22:37:42 +0000 (22:37 +0000)]
Don't try to free executor state of an InitPlan early --- this breaks
EXPLAIN ANALYZE. (Premature optimization is the root of all evil?)
Add developer organizations:
< * Bruce is Bruce Momjian <pgman@candle.pha.pa.us>
< * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au>
< * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
> * Bruce is Bruce Momjian <pgman@candle.pha.pa.us> of Software Research Assoc.
> * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au> of
> Family Health Network
> * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net> of The Cain Gang Ltd.
460,
461c461,462
< * Fernando Nasser <fnasser@redhat.com>
< * Gavin Sherry <swm@linuxworld.com.au>
> * Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
464,
466c465,467
< * Jan is Jan Wieck <wieck@sapserv.debis.de>
< * Liam is Liam Stewart <liams@redhat.com>
< * Marc is Marc Fournier <scrappy@hub.org>
> * Jan is Jan Wieck <JanWieck@Yahoo.com> of PeerDirect Corp.
> * Liam is Liam Stewart <liams@redhat.com> of Red Hat
> * Marc is Marc Fournier <scrappy@hub.org> of PostgreSQL, Inc.
468,
469c469
< * Marko is Marko Kreen <marko@l-t.ee>
< * Michael is Michael Meskes <meskes@postgresql.org>
> * Michael is Michael Meskes <meskes@postgresql.org> of Credativ
472c472
< * Peter M is Peter T Mount <peter@retep.org.uk>
> * Peter M is Peter T Mount <peter@retep.org.uk> of Retep Software
474c474
< * Philip is Philip Warner <pjw@rhyme.com.au>
> * Philip is Philip Warner <pjw@rhyme.com.au> of Albatross Consulting Pty. Ltd.
477d476
< * Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
479,
483c478,481
< * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
< * Thomas is Thomas Lockhart <lockhart@fourpalms.org>
< * Tom is Tom Lane <tgl@sss.pgh.pa.us>
< * TomH is Tom I Helbekkmo <tih@Hamartun.Priv.no>
< * Vadim is Vadim B. Mikheev <vadim4o@email.com>
> * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> of Software Research Assoc.
> * Thomas is Thomas Lockhart <lockhart@fourpalms.org> of Jet Propulsion Labratory
> * Tom is Tom Lane <tgl@sss.pgh.pa.us> of Red Hat
> * Vadim is Vadim B. Mikheev <vadim4o@email.com> of Sector Data
Update SSL error message for improper permissions. Backpatch to 7.3.X.
case sensitive updates by Kris Jurka
Tom Lane [2002年12月21日 22:45:09 +0000 (22:45 +0000)]
pg_dump should consider information_schema to be a system schema.
Also, tweak -C option (emit CREATE DATABASE command) to emit encoding
name rather than encoding number, for consistency with pg_dumpall
and better cross-version portability.
Tom Lane [2002年12月21日 01:07:07 +0000 (01:07 +0000)]
Fix possible buffer overrun in \d command: substr(..., 128) produces
a result of at most 128 chars, but that could be more than 128 bytes.
Also ensure we don't try to pfree uninitialized pointers during error
cleanup.
mike beachy's patch for statement handling
patch for null table in getPrimaryKeys
Update 7.3.1 to give proper attribution to pg_dump item.
Tom Lane [2002年12月19日 23:25:01 +0000 (23:25 +0000)]
Cause planner to include costs of InitPlans in startup cost of parent
plan node. Not sure why this oversight has persisted so long ...
pgindent fe-connect.c --- done to make IPv6 patch easier to apply.
MVCC doc improvements:
> I'm not objecting to improving the text. I am objecting to deleting it
> outright...
Ok, fair enough. I've attached a revised version of the patch -- let me
know you think it needs further improvements.
Neil Conway
Update Russian FAQ. Update all FAQ's for 7.3.X branch.
Update RELEASE checklist.
Tom Lane [2002年12月18日 19:01:25 +0000 (19:01 +0000)]
Add some items to development-branch release notes.
From the SSL_CTX_new man page:
"SSLv23_method(void), SSLv23_server_method(void), SSLv23_client_method(void)
A TLS/SSL connection established with these methods will understand the SSLv2,
SSLv3, and TLSv1 protocol. A client will send out SSLv2 client hello messages
and will indicate that it also understands SSLv3 and TLSv1. A server will
understand SSLv2, SSLv3, and TLSv1 client hello messages. This is the best
choice when compatibility is a concern."
This will maintain backwards compatibility for those us that don't use
TLS connections ...
*** empty log message ***
incorporates latest changes in the English original.
Ian Barwick
Stamp 7.3.1
Stamp 7.3.1.
Tom Lane [2002年12月18日 00:14:47 +0000 (00:14 +0000)]
Update EvalPlanQual() to work with new executor memory management method.
It doesn't leak memory anymore ...
Tom Lane [2002年12月18日 00:14:24 +0000 (00:14 +0000)]
Prevent core dump when ExecMarkPos is called before any tuples have been
retrieved. This cannot happen in ordinary execution, but it can happen
under EvalPlanQual().
Improvement to CREATE TRIGGER and catalog documentation.
Neil Conway
Tom Lane [2002年12月17日 15:51:59 +0000 (15:51 +0000)]
Skip unnecessary plan-copying now that plan trees are read-only in the
executor.
Tom Lane [2002年12月17日 15:45:01 +0000 (15:45 +0000)]
Fix typo.
Tom Lane [2002年12月17日 01:18:35 +0000 (01:18 +0000)]
To suppress memory leakage in long-lived Lists, lremove() should pfree
the cons cell it's deleting from the list. Do this, and fix a few callers
that were bogusly assuming it wouldn't free the cons cell.
Tom Lane [2002年12月16日 21:30:30 +0000 (21:30 +0000)]
Fix GEQO to work again in CVS tip, by being more careful about memory
allocation in best_inner_indexscan(). While at it, simplify GEQO's
interface to the main planner --- make_join_rel() offers exactly the
API it really wants, whereas calling make_rels_by_clause_joins() and
make_rels_by_clauseless_joins() required jumping through hoops.
Rewrite gimme_tree for clarity (sometimes iteration is much better than
recursion), and approximately halve GEQO's runtime by recognizing that
tours of the forms (a,b,c,d,...) and (b,a,c,d,...) are equivalent
because of symmetry in make_join_rel().
Tom Lane [2002年12月16日 19:08:25 +0000 (19:08 +0000)]
Document that zero-column tables are allowed (and non-standard).
Update release to mark 7.3.
Tom Lane [2002年12月16日 18:39:22 +0000 (18:39 +0000)]
Fix ALTER TABLE ADD COLUMN to disallow the same column types that are
disallowed by CREATE TABLE (eg, pseudo-types); also disallow these types
from being introduced by the range-function syntax. While at it, allow
CREATE TABLE to create zero-column tables, per recent pghackers discussion.
I am back-patching this into 7.3 since failure to disallow pseudo-types
is arguably a security hole.
Tom Lane [2002年12月16日 16:22:46 +0000 (16:22 +0000)]
Code review for palloc0 patch --- avoid dangerous and unnecessary
practice of evaluating MemSet's arguments multiple times, except for
the special case of newNode(), where we can assume the argument is
a constant sizeof() operator.
Also, add GetMemoryChunkContext() to mcxt.c's API, in preparation for
fixing recent GEQO breakage.
Tom Lane [2002年12月15日 21:01:34 +0000 (21:01 +0000)]
Tweak default memory context allocation policy so that a context is not
given any malloc block until something is first allocated in it; but
thereafter, MemoryContextReset won't release that first malloc block.
This preserves the quick-reset property of the original policy, without
forcing 8K to be allocated to every context whether any of it is ever
used or not. Also, remove some more no-longer-needed explicit freeing
during ExecEndPlan.
Tom Lane [2002年12月15日 16:17:59 +0000 (16:17 +0000)]
Revise executor APIs so that all per-query state structure is built in
a per-query memory context created by CreateExecutorState --- and destroyed
by FreeExecutorState. This provides a final solution to the longstanding
problem of memory leaked by various ExecEndNode calls.
Improve comment.
Add major/minor release changes info to RELEASE_CHANGES file.
The actual segfault was caused by a double pfree(), but ISTM that
failing to find pg_hba.conf should be a fatal error anyway, so I
increased the priority of the elog() from LOG to FATAL and refactored
the code a little bit.
Neil Conway
Ok, I think I've gotten this figured out now. I saw this comment in
pqcomm.c, switched the ERROR logs to COMMERROR logs and it all works.
I've attached a patch to be-secure.c that fixes all my problems.
Nathan Mueller
Initial version of the SQL information schema
Tom Lane [2002年12月14日 00:17:59 +0000 (00:17 +0000)]
Clean up plantree representation of SubPlan-s --- SubLink does not appear
in the planned representation of a subplan at all any more, only SubPlan.
This means subselect.c doesn't scribble on its input anymore, which seems
like a good thing; and there are no longer three different possible
interpretations of a SubLink. Simplify node naming and improve comments
in primnodes.h. No change to stored rules, though.
Increment libpq major number for 7.3.1 and minor for 7.4.
Tom Lane [2002年12月13日 20:35:57 +0000 (20:35 +0000)]
Admit defeat on the prospect of keeping straight exactly which platforms
produce which output in the geometry test, even with the problem narrowed
down to only whether they print minus zero or not. Instead, use
pg_regress' locale-variant mechanism to automatically consider the test
to pass if it matches either supplied comparison file. geometry_1.out
replaces the former geometry-positive-zeros.out.
Protect from null param on ecpg disconnect, verified by Roland Karch
Tom Lane [2002年12月13日 20:16:11 +0000 (20:16 +0000)]
Add a basic regression test for IS DISTINCT FROM, which has spent way too
much time in a broken state for lack of anyone noticing.
Tom Lane [2002年12月13日 19:46:01 +0000 (19:46 +0000)]
Phase 3 of read-only-plans project: ExecInitExpr now builds expression
execution state trees, and ExecEvalExpr takes an expression state tree
not an expression plan tree. The plan tree is now read-only as far as
the executor is concerned. Next step is to begin actually exploiting
this property.
Tom Lane [2002年12月13日 17:29:25 +0000 (17:29 +0000)]
Adjust costsize calculations to avoid introducing unnecessary roundoff
error. This seems to explain the differing choice of plan that's been
causing geometry regress test to fail for the last few days.
Remove strerror output for openssl SYSCALL error check.
This patch fixes minor bugs in dictionary generator in contrib/tsearch
(contrib/tsearch/makedict/makedict.pl)
[ Backpatched to 7.3.]
Teodor Sigaev
This patch fixes a few typos in the documentation for the '~/.pgpass'
libpq feature.
Neil Conway
Here's the patch I mentioned on HACKERS to fix up ALTER command tab
completion. Note that it's based on 7.3 tarball, not CVS HEAD, or 7.3rel
branch. Damn, looking at CVS, this will patch into 7.3rel (just tested,
it does) probably collide with Rod Taylor's patch adding ALTER TRIGGER
stuff. O.K, second patch attached against HEAD - not tested, hand
merged.
Ross Reedstrom
> There is an ugly little problem with the DB wrapper class.
>
> In pg.py the attributes of DB are defined as being the same as
> the attributes of the corresponding pgobject "db", using the following
...
> The problem is that the attributes of db (which are read only)
> are not static (they are actually function calls to PostgreSQL),
> especially "status" and "error", but those attributes are copied
> and this is done only once when initializing the DB object.
>
> So, in effect, only the attribute "db.error" of a DB instance
> will be updated, but not the attribute "error". Same with "status".
> Don't copy the (read only) attributes of the pgobject to the
> DB object, but only the methods, and all of them, like this:
>
> --------------- change in pg.py ------------------
> # Create convience methods, in a way that is still overridable.
> for e in self.db.__methods__:
> setattr(self, e, getattr(self.db, e))
> ----------------------------------------------------
>
> Furthermore, make an addition to the documentation of the
> DB wrapper class (i.e. in pygresql-pg-db.html):
> After the sentence "All pgobject methods are included in this class also."
> add the following sentence "The pgobject read-only attributes can be
> accessed py adding the prefix 'db.' to them."
Christoph Zwerschke
Check SSL_get_error() value SSL_ERROR_SYSCALL to see if SSL_read()
returned -1, per SSL_get_error() documentation.
Nathan Mueller
While porting my TPC-C implementation from Oracle, I discovered the
attached problem with the EXEC SQL COMMIT RELEASE statement.
Roland Karch
Tom Lane [2002年12月12日 21:03:24 +0000 (21:03 +0000)]
Don't produce bogus COPY command when there are no undropped columns
in a table.
TODO marked as done:
* Add schema, cast, and conversion backslash commands to psql
I had to create a new publically available function,
pg_conversion_is_visible, as it seemed to be missing from the catalogs.
This required me to do no small amount of hacking around in namespace.c
I have updated the \? help and sgml docs.
\dc - list conversions [PATTERN]
\dC - list casts
\dn list schemas
I didn't support patterns with casts as there's nothing obvious to match
against.
Catalog version incremented --- initdb required.
Christopher Kings-Lynne
Done:
> * -Add schema, cast, and conversion backslash commands to psql (Christopher)
Tom Lane [2002年12月12日 21:02:00 +0000 (21:02 +0000)]
Don't force rebuild of all of backend/parser when we only need
keywords.o.
Tom Lane [2002年12月12日 20:35:16 +0000 (20:35 +0000)]
Preliminary code review for domain CHECK constraints patch: add documentation,
make VALUE a non-reserved word again, use less invasive method of passing
ConstraintTestValue into transformExpr, fix problems with nested constraint
testing, do correct thing with NULL result from a constraint expression,
remove memory leak. Domain checks still need much more work if we are going
to allow ALTER DOMAIN, however.
Tom Lane [2002年12月12日 19:16:55 +0000 (19:16 +0000)]
Guard against overrunning CTZName buffer when TZ is bogus.
Tom Lane [2002年12月12日 15:49:42 +0000 (15:49 +0000)]
Phase 2 of read-only-plans project: restructure expression-tree nodes
so that all executable expression nodes inherit from a common supertype
Expr. This is somewhat of an exercise in code purity rather than any
real functional advance, but getting rid of the extra Oper or Func node
formerly used in each operator or function call should provide at least
a little space and speed improvement.
initdb forced by changes in stored-rules representation.
Add for protocol changes:
> o Compression?
This is the main PostgreSQL git repository.
RSS
Atom