summaryrefslogtreecommitdiff
path: root/src/backend/commands
AgeCommit message (Collapse)Author
2002-07-14Add COMMENT ON CONSTRAINT facility (from Rod Taylor's pg_constraint patch).Tom Lane
Fix comment.c to not depend on parser token values, per discussion awhile back.
2002-07-12Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.Tom Lane
pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY constraints all have real live entries in pg_constraint. pg_depend exists, and RESTRICT/CASCADE options work on most kinds of DROP; however, pg_depend is not yet very well populated with dependencies. (Most of the ones that are present at this point just replace formerly hardwired associations, such as the implicit drop of a relation's pg_type entry when the relation is dropped.) Need to add more logic to create dependency entries, improve pg_dump to dump constraints in place of indexes and triggers, and add some regression tests.
2002-07-11Add new CREATE CONVERSION/DROP CONVERSION command.Tatsuo Ishii
This is the first cut toward CREATE CONVERSION/DROP CONVERSION implementaion. The commands can now add/remove tuples to the new pg_conversion system catalog, but that's all. Still need work to make them actually working. Documentations, regression tests also need work.
2002-07-06I've fixed up the way domain constraints (not null and type length)Bruce Momjian
are managed as per request. Moved from merging with table attributes to applying themselves during coerce_type() and coerce_type_typmod. Regression tests altered to test the cast() scenarios. Rod Taylor
2002-07-01First phase of applying Rod Taylor's pg_depend patch. This just addsTom Lane
RESTRICT/CASCADE syntax to the DROP commands that need it, and propagates the behavioral option through the parser to the routines that execute drops. Doesn't do anything useful yet, but I figured I'd commit these changes so I could get out of the parser area while working on the rest.
2002-06-20Clean up some copyrights.Bruce Momjian
2002-06-20Update copyright to 2002.Bruce Momjian
2002-06-20Improve COPY syntax to use WITH clause, keep backward compatibility.Bruce Momjian
2002-06-18Change CREATE DATABASE to use DefElem instead of constructing structureBruce Momjian
members in gram.y. This is the prefered method for WITH and arbitrary param/value pairs.
2002-06-17Repair AlterTableOwner --- was failing for relations with indexes.Tom Lane
2002-06-15Fix up memory leakage created by recent changes.Tom Lane
2002-06-15Fix up gcc warnings, improve comments.Tom Lane
2002-06-15WriteBuffer return value:Bruce Momjian
>I'd vote for changing WriteBuffer to >return void, and have it elog() on bad argument. Manfred Koizar
2002-06-15This patch wraps all accesses to t_xmin, t_cmin, t_xmax, and t_cmax inBruce Momjian
HeapTupleHeaderData in setter and getter macros called HeapTupleHeaderGetXmin, HeapTupleHeaderSetXmin etc. It also introduces a "virtual" field xvac by defining HeapTupleHeaderGetXvac and HeapTupleHeaderSetXvac. Xvac is used by VACUUM, in fact it is stored in t_cmin. Manfred Koizar
2002-06-13Allow ANALYZE to run in a transaction.Bruce Momjian
2002-06-13Further tweaks to support display of sort keys in EXPLAIN --- initialTom Lane
implementation didn't work for Sort nodes associated with Append plans.
2002-06-11Katherine Ward wrote:Jan Wieck
> Changes to avoid collisions with WIN32 & MFC names... > 1. Renamed: > a. PROC => PGPROC > b. GetUserName() => GetUserNameFromId() > c. GetCurrentTime() => GetCurrentDateTime() > d. IGNORE => IGNORE_DTF in include/utils/datetime.h & utils/adt/datetim > > 2. Added _P to some lex/yacc tokens: > CONST, CHAR, DELETE, FLOAT, GROUP, IN, OUT Jan
2002-05-25AlterDatabaseSet() forgot to update the indexes on pg_database.Tom Lane
2002-05-24Mark index entries "killed" when they are no longer visible to anyTom Lane
transaction, so as to avoid returning them out of the index AM. Saves repeated heap_fetch operations on frequently-updated rows. Also detect queries on unique keys (equality to all columns of a unique index), and don't bother continuing scan once we have found first match. Killing is implemented in the btree and hash AMs, but not yet in rtree or gist, because there isn't an equally convenient place to do it in those AMs (the outer amgetnext routine can't do it without re-pinning the index page). Did some small cleanup on APIs of HeapTupleSatisfies, heap_fetch, and index_insert to make this a little easier.
2002-05-22Modify sequence state storage to eliminate dangling-pointer problemTom Lane
exemplified by bug #671. Moving the storage to relcache turned out to be a bad idea because relcache might decide to discard the info. Instead, open and close the relcache entry on each sequence operation, and use a record of the current XID to discover whether we already hold AccessShareLock on the sequence.
2002-05-22Add optional "validator" function to languages that can validate thePeter Eisentraut
function body (and other properties) as a function in the language is created. This generalizes ad hoc code that already existed for the built-in languages. The validation now happens after the pg_proc tuple of the new function is created, so it is possible to define recursive SQL functions. Add some regression test cases that cover bogus function definition attempts.
2002-05-21Since COPY fires triggers, it seems like a good idea for it to useTom Lane
a frozen (copied) snapshot too. Move execMain's snapshot copying code out into a subroutine in case we find other places that need it.
2002-05-21Remove global variable scanCommandId in favor of storing a command IDTom Lane
in snapshots, per my proposal of a few days ago. Also, tweak heapam.c routines (heap_insert, heap_update, heap_delete, heap_mark4update) to be passed the command ID to use, instead of doing GetCurrentCommandID. For catalog updates they'll still get passed current command ID, but for updates generated from the main executor they'll get passed the command ID saved in the snapshot the query is using. This should fix some corner cases associated with functions and triggers that advance current command ID while an outer query is still in progress.
2002-05-20Restructure indexscan API (index_beginscan, index_getnext) perTom Lane
yesterday's proposal to pghackers. Also remove unnecessary parameters to heap_beginscan, heap_rescan. I modified pg_proc.h to reflect the new numbers of parameters for the AM interface routines, but did not force an initdb because nothing actually looks at those fields.
2002-05-18Add display of sort keys to the default EXPLAIN output.Tom Lane
2002-05-18Allow functions to be executed with the privileges of the function owner.Peter Eisentraut
I took the opportunity to remove the pg_proc.proistrusted field.
2002-05-17Get rid of the last few uses of typeidTypeName() rather thanTom Lane
format_type_be() in error messages.
2002-05-17Support temporary setting of search path during CREATE SCHEMA; thisTom Lane
allows the example in the CREATE SCHEMA ref page to actually work now. Also, clean up when the transaction that initially creates a temp-table namespace is later aborted. Simplify internal representation of search path by folding special cases into the main list.
2002-05-17Extend syntax of CREATE FUNCTION to resemble SQL99.Peter Eisentraut
2002-05-17Merge the last few variable.c configuration variables into the genericTom Lane
GUC support. It's now possible to set datestyle, timezone, and client_encoding from postgresql.conf and per-database or per-user settings. Also, implement rollback of SET commands that occur in a transaction that later fails. Create a SET LOCAL var = value syntax that sets the variable only for the duration of the current transaction. All per previous discussions in pghackers.
2002-05-13Make operators have their own comments separate from those of theTom Lane
underlying function; but cause psql's \do to show the underlying function's comment if the operator has no comment of its own, to preserve the useful functionality of the original behavior. Also, implement COMMENT ON SCHEMA. Patch from Rod Taylor.
2002-05-12Get rid of long-since-vestigial Iter node type, in favor of adding aTom Lane
returns-set boolean field in Func and Oper nodes. This allows cleaner, more reliable tests for expressions returning sets in the planner and parser. For example, a WHERE clause returning a set is now detected and complained of in the parser, not only at runtime.
2002-05-12First pass at set-returning-functions in FROM, by Joe Conway withTom Lane
some kibitzing from Tom Lane. Not everything works yet, and there's no documentation or regression test, but let's commit this so Joe doesn't need to cope with tracking changes in so many files ...
2002-05-06Accept SET SESSION AUTHORIZATION DEFAULT and RESET SESSION AUTHORIZATIONTom Lane
to reset session userid to the originally-authenticated name. Also, relax SET SESSION AUTHORIZATION to allow specifying one's own username even if one is not superuser, so as to avoid unnecessary error messages when loading a pg_dump file that uses this command. Per discussion from several months ago.
2002-05-05Create an internal semaphore API that is not tied to SysV semaphores.Tom Lane
As proof of concept, provide an alternate implementation based on POSIX semaphores. Also push the SysV shared-memory implementation into a separate file so that it can be replaced conveniently.
2002-05-03Use quote_identifier on relation names in EXPLAIN output, per suggestionTom Lane
from Liam Stewart. Minor code cleanups also.
2002-05-03Retire xlateSqlType/xlateSqlFunc; all type name translations are nowTom Lane
handled as special productions. This is needed to keep us honest about user-schema type names that happen to coincide with system type names. Per pghackers discussion 24-Apr. To avoid bloating the keyword list too much, I removed the translations for datetime, timespan, and lztext, all of which were slated for destruction several versions back anyway.
2002-04-30Code review for ALTER TRIGGER RENAME patch: make better use of index,Tom Lane
don't scribble on tuple returned by table scan.
2002-04-28Minor code cleanup.Tom Lane
2002-04-27Support toasting of shared system relations, and provide toast tables forTom Lane
pg_database, pg_shadow, pg_group, all of which now have potentially-long fields. Along the way, get rid of SharedSystemRelationNames list: shared rels are now identified in their include/pg_catalog/*.h files by a BKI_SHARED_RELATION macro, while indexes and toast rels inherit sharedness automatically from their parent table. Fix some bugs with failure to detoast pg_group.grolist during ALTER GROUP.
2002-04-27Fix write of pg_pwd file for multiple users. Broken recently by myBruce Momjian
pg_hba.conf changes.
2002-04-27Restructure aclcheck error reporting to make permission-failureTom Lane
messages more uniform and internationalizable: the global array aclcheck_error_strings[] is gone in favor of a subroutine aclcheck_error(). Partial implementation of namespace-related permission checks --- not all done yet.
2002-04-26Move renametrig() from tablecmds.c to trigger.c --- if we're going toTom Lane
divide backend/commands by object type, let's try to pay at least minimal attention to respecting that structure, eh? Also reorder the contents of tablecmds.c; it seems odd to me to put ALTER commands before creation/deletion commands.
2002-04-24Restrict comment to the current database in order to prevent them fromBruce Momjian
mysteriously disappearing. ie. \d+ will only ever show the comment for the current database -- which is appropriate since it can only pull comments from the current database. Won't break pgadmin functionality as it enforces this behaviour already. I didn't find any regression tests for COMMENT. Rod Taylor
2002-04-24Attached is a patch for ALTER TRIGGER RENAME per the above thread. IBruce Momjian
left a stub for a future "ALTER RULE RENAME" but did not write that one yet. Bruce, if you want to add my name for for that I'll take it and do it later. Joe Conway
2002-04-24Doc fix for INSERT ... (DEFAULT, ...)Bruce Momjian
Appears I forgot to update the docs earlier. Rod Taylor
2002-04-22Oops, forgot we had a macro to encapsulate test for type toastability.Tom Lane
2002-04-22Fix incorrect Assert; install a more trustworthy check on whetherTom Lane
ALTER COLUMN SET STORAGE should be allowed.
2002-04-22Convert GUC parameters back to strings if input as integers.Thomas G. Lockhart
Change elog(ERROR) messages to say that a variable takes one parameter, rather than saying that it does not take multiple parameters.
2002-04-22Check for multiple arguments on parameters which do not allow them.Thomas G. Lockhart
The last version caught this with an assert because I wasn't sure whether we should elog(ERROR) or just loop through the parameters.