summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2003-03-06Use poll(2) in preference to select(2), if available. This solvesTom Lane
problems in applications that may have a large number of files open, such that libpq's socket number exceeds the range supported by fd_set. From Chris Brown.
2003-03-06Add code to dump contents of free space map into $PGDATA/global/pg_fsm.cacheTom Lane
at database shutdown, and then load it again at database startup. This preserves our hard-won knowledge of free space across restarts (given an orderly shutdown, that is).
2003-03-05Turns out new IN implementation has got some problems in an UPDATE orTom Lane
DELETE with inherited target table. Fix it; add a regression test. Also, correct ancient misspelling of 'inherited'.
2003-03-05Repair bug reported by Laurent Perez: bad plan generated when UPDATE orTom Lane
DELETE of an inheritance tree references another inherited relation. This bug has been latent since 7.1; I'm still not quite sure why 7.1 and 7.2 don't manifest it (at least, they don't crash on a simple test case).
2003-03-04Reimplement free-space-map management as per recent discussions.Tom Lane
Adjustable threshold is gone in favor of keeping track of total requested page storage and doling out proportional fractions to each relation (with a minimum amount per relation, and some quantization of the results to avoid thrashing with small changes in page counts). Provide special- case code for indexes so as not to waste space storing useless page free space counts. Restructure internal data storage to be a flat array instead of list-of-chunks; this may cost a little more work in data copying when reorganizing, but allows binary search to be used during lookup_fsm_page_entry().
2003-03-03Prevent clustering on incomplete indexes: partial indexes are verboten,Tom Lane
as are non-amindexnulls AMs unless first column is attnotnull.
2003-03-03Correct/edit comments for geometric operators. No change except toTom Lane
pg_description entries, so I did not force initdb.
2003-03-02Be smart about outer-join qualifications that mention only one side ofTom Lane
the join, per recent discussion on pgsql-sql. Not clear that this will come up often in real queries, but it's not any more expensive to do it right, so we may as well do it right.
2003-03-02Repair memory leak introduced by recent change to make SPI return aTom Lane
tupdesc even with zero tuples returned: some plpgsql routines assumed they didn't need to do SPI_freetuptable() after retrieving no tuples.
2003-02-27Change EXTRACT(EPOCH FROM timestamp) so that a timestamp without time zoneTom Lane
is assumed to be in local time, not GMT. This improves consistency with other operations, which all assume local timezone when it matters. Per bug #897.
2003-02-27up build number to 202 for a new development buildBarry Lind
Modified Files: jdbc/org/postgresql/Driver.java.in
2003-02-27A little cleanup. Removing an unnecessary method.Barry Lind
Modified Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
2003-02-27Added support for SSL in the jdbc driverBarry Lind
Modified Files: jdbc/build.xml jdbc/org/postgresql/Driver.java.in jdbc/org/postgresql/PG_Stream.java jdbc/org/postgresql/errors.properties jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java jdbc/org/postgresql/util/PSQLException.java
2003-02-26The quote function should return a string suitable for dropping into aD'Arcy J.M. Cain
query string. This fixes a bug where bool types sometimes returned with a string that could not be dropped into a query.
2003-02-25Remove REWRITE_INVOKE_MAX in favor of making an accurate check forTom Lane
recursion in RewriteQuery(); also, detect recursion in fireRIRrules(), so as to catch self-referential views per example from Ryan VanderBijl. Minor code restructuring to make it easier to catch recursive case.
2003-02-25Allow SET CONNECTION to be followed by connection object without leading ↵Michael Meskes
"TO" or "=". Allow whenever statement to list function without parameters.
2003-02-24Avoid using a separate query to fetch the default expressions forTom Lane
columns. Improved version of patch by mallah@trade-india.com.
2003-02-24During VACUUM FULL, truncate off any deletable pages that are at theTom Lane
end of a btree index. This isn't super-effective, since we won't move nondeletable pages, but it's better than nothing. Also, improve stats displayed during VACUUM VERBOSE.
2003-02-23Remove no-longer-used FixBTree GUC variable.Tom Lane
2003-02-23btree page recycling can be done as soon as page's next-xact label isTom Lane
older than current Xmin; we don't have to wait till it's older than GlobalXmin.
2003-02-23Adjust btbulkdelete logic so that only one WAL record is issued whileTom Lane
deleting multiple index entries on a single index page. This makes for a very substantial reduction in the amount of WAL traffic during a large delete operation.
2003-02-23Improve coding of log_heap_clean() and heap_xlog_clean().Tom Lane
2003-02-23First cut at recycling space in btree indexes. Still some rough edgesTom Lane
to fix, but it seems to basically work...
2003-02-23If a shutdown request comes in while we're still starting up, don'tTom Lane
service it until after we execute SetThisStartUpID(). Else shutdown process will write the wrong SUI into the shutdown checkpoint, which seems likely to be trouble --- although I've not quite figured out how significant it really is.
2003-02-22Simplify timezone-handling code per proposal to pghackers: get rid ofTom Lane
setting timezone-related variables during transaction start. They were not used anyway in platforms that HAVE_TM_ZONE or HAVE_INT_TIMEZONE, which it appears is *all* the platforms we are currently supporting. For platforms that have neither, we now only support UTC or numeric- offset-from-UTC timezones.
2003-02-22More infrastructure for btree compaction project. Tree-traversal codeTom Lane
now knows what to do upon hitting a dead page (in theory anyway, it's untested...). Add a post-VACUUM-cleanup entry point for index AMs, to provide a place for dead-page scavenging to happen. Also, fix oversight that broke btpo_prev links in temporary indexes. initdb forced due to additions in pg_am.
2003-02-21Revert patch that broke \d commands, until it can be fixed.Tom Lane
2003-02-21Forgot to commit Makefile change.Michael Meskes
2003-02-21Make btree index structure adjustments and WAL logging changes needed toTom Lane
support btree compaction, as per proposal of a few days ago. btree index pages no longer store parent links, instead they have a level indicator (counting up from zero for leaf pages). The FixBTree recovery logic is removed, and replaced by code that detects missing parent-level insertions during WAL replay. Also, generate appropriate WAL entries when updating btree metapage and when building a btree index from scratch. I believe btree indexes are now completely WAL-legal for the first time. initdb forced due to index and WAL changes.
2003-02-20Fix timestamptz_in so that parsing of 'now'::timestamptz gives rightTom Lane
answer when SET TIMEZONE has been done since the start of the current transaction. Per bug report from Robert Haas. I plan some futher cleanup in HEAD, but this is a low-risk patch for the immediate issue in 7.3.
2003-02-19Back out LOCKTAG changes by Rod Taylor, pending code review. Sorry.Bruce Momjian
2003-02-19Fix for GUC client_encoding variable not being handledTatsuo Ishii
correctly. See following thread for more details. Subject: [HACKERS] client_encoding directive is ignored in postgresql.conf From: Tatsuo Ishii <t-ishii@sra.co.jp> Date: Wed, 29 Jan 2003 22:24:04 +0900 (JST)
2003-02-19Added DATABASE command as alias to CONNECT TO.Michael Meskes
2003-02-19This patch makes the following changes to the documentation:Bruce Momjian
- more work from the SGML police - some grammar improvements: rewriting a paragraph or two, replacing contractions where (IMHO) appropriate - fix missing utility commands in lock mode docs - improve CLUSTER, REINDEX, SET SESSION AUTHORIZATION ref pages Neil Conway
2003-02-19Here's the patch I promised over on HACKERS - it alters theBruce Momjian
implementation of '\e' history tracking for systems that have a readline compatability library without replace_history_entry. I fall back to pushing the query onto the history stack after the \e, rather than replacing it. The patch adds one more place to look for readline headers, and a test for replace_history_entry. I've only included the patch for configure.in Ross J. Reedstrom
2003-02-19- Modifies LOCKTAG to include a 'classId'. Relation receive a classId ofBruce Momjian
RelOid_pg_class, and transaction locks XactLockTableId. RelId is renamed to objId. - LockObject() and UnlockObject() functions created, and their use sprinkled throughout the code to do descent locking for domains and types. They accept lock modes AccessShare and AccessExclusive, as we only really need a 'read' and 'write' lock at the moment. Most locking cases are held until the end of the transaction. This fixes the cases Tom mentioned earlier in regards to locking with Domains. If the patch is good, I'll work on cleaning up issues with other database objects that have this problem (most of them). Rod Taylor
2003-02-19Allow PQcmdTuples to return row counts for MOVE and FETCH.Bruce Momjian
Neil Conway
2003-02-19Here's some changes I made last night to psql's common.c (as found inBruce Momjian
7.3.2). It removes some code duplication and #ifdeffing, and some unstructured ugliness such as tacky breaks and an unneeded continue. Breaks up a large function into smaller functions and reduces required nesting levels, and kills a variable or two. Jeroen T. Vermeulen
2003-02-19At present it is impossible to kill createuser except with kill -9Bruce Momjian
Oliver Elphick
2003-02-19The following patches eliminate the overflows in the j2date() and date2j()Bruce Momjian
functions which limited the maximum date for a timestamp to AD 1465001. The new limit is AD 5874897. The files affected are: doc/src/sgml/datatype.sgml: Documentation change due to patch. Included is a notice about the reduced range when using an eight-byte integer for timestamps. src/backend/utils/adt/datetime.c: Replacement functions for j2date() and date2j() functions. src/include/utils/datetime.h: Corrected a bug with the limit on the earliest possible date, Nov 23,-4713 has a Julian day count of -1. The earliest possible date should be Nov 24, -4713 with a day count of 0. src/test/regress/expected/horology-no-DST-before-1970.out: src/test/regress/expected/horology-solaris-1947.out: src/test/regress/expected/horology.out: Copies of expected output for regression testing. Note: Only horology.out has been physically tested. I do not have access to a Solaris box and I don't know how to provoke the "pre-1970" test. src/test/regress/sql/horology.sql: Added some test cases to check extended range. John Cochran
2003-02-18Update README.Bruce Momjian
2003-02-18Async_NotifyHandler must save and restore ImmediateInterruptOK. FixesTom Lane
known problem with failure to respond to 'pg_ctl stop -m fast', and probable problems if SIGINT or SIGTERM arrives while processing a SIGUSR2 interrupt that arrived while waiting for a new client query.
2003-02-18Rename 'holder' references to 'proclock' for PROCLOCK references, forBruce Momjian
consistency.
2003-02-17Added Informix "database" command.Michael Meskes
2003-02-16Back off previous patch to skip projection step in scan plan nodes,Tom Lane
in the case where the node immediately above the scan is a Hash, Sort, or Material node. In these cases it's better to do the projection so that we don't store unneeded columns in the hash/sort/materialize table. Per discussion a few days ago with Anagh Lal.
2003-02-16COALESCE() and NULLIF() are now first-class expressions, not macrosTom Lane
that turn into CASE expressions. They evaluate their arguments at most once. Patch by Kris Jurka, review and (very light) editorializing by me.
2003-02-15Marginal tweaks to make sure that roundoff error won't cause us to makeTom Lane
a bad choice between sorted and hashed aggregation.
2003-02-15Teach planner how to propagate pathkeys from sub-SELECTs in FROM up toTom Lane
the outer query. (The implementation is a bit klugy, but it would take nontrivial restructuring to make it nicer, which this is probably not worth.) This avoids unnecessary sort steps in examples like SELECT foo,count(*) FROM (SELECT ... ORDER BY foo,bar) sub GROUP BY foo which means there is now a reasonable technique for controlling the order of inputs to custom aggregates, even in the grouping case.
2003-02-14Propogate pg_ctl -D to the postmaster as a -D flag for identification byBruce Momjian
ps for multiple postmasters, for Kevin Brown.
2003-02-14Fix SPI result logic for case where there are multiple statements of theTom Lane
same type in a rule. Per bug report from Pavel Hanak.