summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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.
2003-02-14Make pg_dump/restore safer for autocommit=off in postgresql.conf.Bruce Momjian
2003-02-14In Informix mode ecpg should still be able to parse preprocessor directives.Michael Meskes
2003-02-14Update FAQ's in head and 7.3.X.Bruce Momjian
2003-02-14- Synced parser and keyword file.Michael Meskes
- More work on Informix compatibility.
2003-02-14Fix some of the breakage from the IPV6 patch.Tom Lane
2003-02-14Remove bogus manipulation of SIGPIPE; the backend already runs withTom Lane
SIGPIPE disabled, and does not need to waste two syscalls per I/O on it.
2003-02-13Repair incorrect indexing for atttypmod, per Brad McLean.Tom Lane
2003-02-13Result of lo_read() is int, not size_t. Per Oleg Drokin.Tom Lane
2003-02-13Parser was dropping foreign-key constraints on the floor if present inTom Lane
an ALTER TABLE ADD COLUMN command. Per bug #896.
2003-02-13Repair rule permissions-checking bug reported by Tim Burgess 10-Feb-02:Tom Lane
the table(s) modified by the original query would get checked for the type of write permission needed by a rule query.
2003-02-13Arrange to give error when a SetOp member statement refers to a variableTom Lane
of the containing query (which really can only happen in a rule context). Per example from Brandon Craig Rhodes. Also, make the error message more specific for the similar case with sub-select in FROM. The revised coding should be easier to adapt to SQL99's LATERAL(), when we get around to supporting that.
2003-02-13Just intermediate results for backup reasons.Michael Meskes
2003-02-13transformExpr() was missing some cases it ought to allow; per reportTom Lane
from Greg Stark. Also, twiddle the FuncCall case to not scribble on the input structure, which was the proximate cause of the problem. Someday we ought to fix things so that transformExpr() isn't called on already-transformed trees ...
2003-02-13Suppress gcc warning.Tom Lane
2003-02-13Prevent timetz2tm() from scribbling on its input in HAVE_INT64_TIMESTAMP case.Tom Lane
2003-02-13- Applied error reporting patch by Matthew VanecekMichael Meskes
- Started with an Informix compatibility option.
2003-02-13[ Revert patch ]Bruce Momjian
> ================================================================= > User interface proposal for multi-row function targetlist entries > ================================================================= > 1. Only one targetlist entry may return a set. > 2. Each targetlist item (other than the set returning one) is > repeated for each item in the returned set. > Having gotten no objections (actually, no response at all), I can only assume no one had heartburn with this change. The attached patch covers the first of the two proposals, i.e. restricting the target list to only one set returning function. Joe Conway
2003-02-13This patch fixes an error in the usage message for 'clusterdb', andBruce Momjian
makes a few editorial changes to the documentation. Neil Conway
2003-02-13This trivial patch removes the usage of some old statistics code that noBruce Momjian
longer works -- IncrHeapAccessStat() didn't actually *do* anything anymore, so no reason to keep it around AFAICS. I also fixed a grammatical error in a comment. Neil Conway
2003-02-13Adds in NO MAXVALUE and NO MINVALUE options for create sequence per 200XBruce Momjian
spec, which will also make alter sequence a touch easier. sequence.c init_params() will check for settings which have been defined twice, and complain. Rod Taylor
2003-02-13The "random" regression test uses a function called oidrand(), whichBruce Momjian
takes two parameters, an OID x and an integer y, and returns "true" with probability 1/y (the OID argument is ignored). This can be useful -- for example, it can be used to select a random sampling of the rows in a table (which is what the "random" regression test uses it for). This patch removes that function, because it was old and messy. The old function had the following problems: - it was undocumented - it was poorly named - it was designed to workaround an optimizer bug that no longer exists (the OID argument is to ensure that the optimizer won't optimize away calls to the function; AFAIK marking the function as 'volatile' suffices nowadays) - it used a different random-number generation technique than the other PSRNG-related functions in the backend do (it called random() like they do, but it had its own logic for setting a set and deciding when to reseed the RNG). Ok, this patch removes oidrand(), oidsrand(), and userfntest(), and improves the SGML docs a little bit (un-commenting the setseed() documentation). Neil Conway
2003-02-13Code for WITHOUT OIDS.Bruce Momjian
On Wed, 2003-01-08 at 21:59, Christopher Kings-Lynne wrote: > I agree. I want to remove OIDs from heaps of our tables when we go to 7.3. > I'd rather not have to do it in the dump due to down time. Rod Taylor <rbt@rbt.ca>
2003-02-13This patch makes pg_get_constraintdef support UNIQUE, PRIMARY KEY andBruce Momjian
CHECK constraints. There are apparently no other types of constraint in pg_constraint, so now all bases are covered. Also, this patch assumes that consrc for a CHECK constraint is always bracketed so that it's not necessary to add extra brackets. Christopher Kings-Lynne
2003-02-13> =================================================================Bruce Momjian
> User interface proposal for multi-row function targetlist entries > ================================================================= > 1. Only one targetlist entry may return a set. > 2. Each targetlist item (other than the set returning one) is > repeated for each item in the returned set. > Having gotten no objections (actually, no response at all), I can only assume no one had heartburn with this change. The attached patch covers the first of the two proposals, i.e. restricting the target list to only one set returning function. It compiles cleanly, and passes all regression tests. If there are no objections, please apply. Any suggestions on where this should be documented (other than maybe sql-select)? Thanks, Joe p.s. Here's what the previous example now looks like: CREATE TABLE bar(f1 int, f2 text, f3 int); INSERT INTO bar VALUES(1, 'Hello', 42); INSERT INTO bar VALUES(2, 'Happy', 45); CREATE TABLE foo(a int, b text); INSERT INTO foo VALUES(42, 'World'); INSERT INTO foo VALUES(42, 'Everyone'); INSERT INTO foo VALUES(45, 'Birthday'); INSERT INTO foo VALUES(45, 'New Year'); CREATE TABLE foo2(a int, b text); INSERT INTO foo2 VALUES(42, '!!!!'); INSERT INTO foo2 VALUES(42, '????'); INSERT INTO foo2 VALUES(42, '####'); INSERT INTO foo2 VALUES(45, '$$$$'); CREATE OR REPLACE FUNCTION getfoo(int) RETURNS SETOF text AS ' SELECT b FROM foo WHERE a = $1 ' language 'sql'; CREATE OR REPLACE FUNCTION getfoo2(int) RETURNS SETOF text AS ' SELECT b FROM foo2 WHERE a = $1 ' language 'sql'; regression=# SELECT f1, f2, getfoo(f3) AS f4 FROM bar; f1 | f2 | f4 ----+-------+---------- 1 | Hello | World 1 | Hello | Everyone 2 | Happy | Birthday 2 | Happy | New Year (4 rows) regression=# SELECT f1, f2, getfoo(f3) AS f4, getfoo2(f3) AS f5 FROM bar; ERROR: Only one target list entry may return a set result Joe Conway
2003-02-13[ dumping schemas ]Bruce Momjian
> I don't care what you use for short options if all useful ones are taken. > But the long option should be --schema. Ok, fair enough: a revised patch is attached that uses the '-n' short option and the '--schema' long option. Neil Conway