aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands
Commit message (Collapse)AuthorAge
...
* Implement DROP CONVERSIONTatsuo Ishii2002-07-25
| | | | Add regression test
* Remove _deadcode.Peter Eisentraut2002-07-24
|
* Remove unused system table columns:Peter Eisentraut2002-07-24
| | | | | | | | | | | | | | | | | | | | | | | | pg_language.lancompiler pg_operator.oprprec pg_operator.oprisleft pg_proc.proimplicit pg_proc.probyte_pct pg_proc.properbyte_cpu pg_proc.propercall_cpu pg_proc.prooutin_ratio pg_shadow.usetrace pg_type.typprtlen pg_type.typreceive pg_type.typsend Attempts to use the obsoleted attributes of pg_operator or pg_proc in the CREATE commands will be greeted by a warning. For pg_type, there is no warning (yet) because pg_dump scripts still contain these attributes. Also remove new but already obsolete spellings isVolatile, isStable, isImmutable in WITH clause. (Use new syntax instead.)
* Add unique index on pg_cast.oid, and document pg_cast table.Peter Eisentraut2002-07-22
|
* Tweak CreateTrigger() so that the OID used in the name of anTom Lane2002-07-20
| | | | | RI_ConstraintTrigger is the same OID assigned to the pg_trigger row. This reduces consumption of OIDs and may ease debugging.
* Code review for SHOW output changes; fix horology expected files forTom Lane2002-07-20
| | | | new SHOW output format.
* Fix problems caused by code drift of API for without-oids.Bruce Momjian2002-07-20
|
* > 2. This patch includes the same Table Function API fixes that IBruce Momjian2002-07-20
| | | | | | | | | | | | | | | > submitted on July 9: > > http://archives.postgresql.org/pgsql-patches/2002-07/msg00056.php > > Please disregard that one *if* this one is applied. If this one is > rejected please go ahead with the July 9th patch. The July 9th Table Function API patch mentioned above is now in CVS, so here is an updated version of the guc patch which should apply cleanly against CVS tip. Joe Conway
* Patch problems caused by code drift since OID patch creation.Bruce Momjian2002-07-20
|
* oid is needed, it is added at the end of the struct (after the nullBruce Momjian2002-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitmap, if present). Per Tom Lane's suggestion the information whether a tuple has an oid or not is carried in the tuple descriptor. For debugging reasons tdhasoid is of type char, not bool. There are predefined values for WITHOID, WITHOUTOID and UNDEFOID. This patch has been generated against a cvs snapshot from last week and I don't expect it to apply cleanly to current sources. While I post it here for public review, I'm working on a new version against a current snapshot. (There's been heavy activity recently; hope to catch up some day ...) This is a long patch; if it is too hard to swallow, I can provide it in smaller pieces: Part 1: Accessor macros Part 2: tdhasoid in TupDesc Part 3: Regression test Part 4: Parameter withoid to heap_addheader Part 5: Eliminate t_oid from HeapTupleHeader Part 2 is the most hairy part because of changes in the executor and even in the parser; the other parts are straightforward. Up to part 4 the patched postmaster stays binary compatible to databases created with an unpatched version. Part 5 is small (100 lines) and finally breaks compatibility. Manfred Koizar
* This patch fixes a regression caused by my recent changes to heapBruce Momjian2002-07-20
| | | | | | | | | | | | | | tuple header. The fix is based on the thought that HEAP_MOVED_IN is not needed any more as soon as HEAP_XMIN_COMMITTED has been set. So in tqual.c and vacuum.c the HEAP_MOVED bits are cleared when HEAP_XMIN_COMMITTED is set. Vacuum robustness is enhanced by rearranging ifs, so that we have a chance to elog(ERROR, ...) before an assertion fails. A new regression test is included. Manfred Koizar
* pg_cast table, and standards-compliant CREATE/DROP CAST commands, plusPeter Eisentraut2002-07-18
| | | | | | | | | | | extension to create binary compatible casts. Includes dependency tracking as well. pg_proc.proimplicit is now defunct, but will be removed in a separate commit. pg_dump provides a migration path from the previous scheme to declare casts. Dumping binary compatible casts is currently impossible, though.
* Implement DROP SCHEMA. It lacks support for dropping conversions andTom Lane2002-07-18
| | | | | operator classes, both of which are schema-local and so should really be droppable.
* The attached patch (against HEAD) implementsBruce Momjian2002-07-18
| | | | | | | | | | | | | | | COPY x (a,d,c,b) from stdin; COPY x (a,c) to stdout; as well as the corresponding changes to pg_dump to use the new functionality. This functionality is not available when using the BINARY option. If a column is not specified in the COPY FROM statement, its default values will be used. In addition to this functionality, I tweaked a couple of the error messages emitted by the new COPY <options> checks. Brent Verner
* I have committed many support files for CREATE CONVERSION. DefaultTatsuo Ishii2002-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conversion procs and conversions are added in initdb. Currently supported conversions are: UTF-8(UNICODE) <--> SQL_ASCII, ISO-8859-1 to 16, EUC_JP, EUC_KR, EUC_CN, EUC_TW, SJIS, BIG5, GBK, GB18030, UHC, JOHAB, TCVN EUC_JP <--> SJIS EUC_TW <--> BIG5 MULE_INTERNAL <--> EUC_JP, SJIS, EUC_TW, BIG5 Note that initial contents of pg_conversion system catalog are created in the initdb process. So doing initdb required is ideal, it's possible to add them to your databases by hand, however. To accomplish this: psql -f your_postgresql_install_path/share/conversion_create.sql your_database So I did not bump up the version in cataversion.h. TODO: Add more conversion procs Add [CASCADE|RESTRICT] to DROP CONVERSION Add tuples to pg_depend Add regression tests Write docs Add SQL99 CONVERT command? -- Tatsuo Ishii
* Add more dependency insertions --- this completes the basic pg_dependTom Lane2002-07-16
| | | | | functionality. Of note: dropping a table that has a SERIAL column defined now drops the associated sequence automatically.
* Add code to extract dependencies from an expression tree, and use itTom Lane2002-07-16
| | | | | | | to build dependencies for rules, constraint expressions, and default expressions. Repair some problems in the original design of recursiveDeletion() exposed by more complex dependency sets. Fix regression tests that were deleting things in illegal sequences.
* Use the dependency mechanism to manage column defaults. We need thisTom Lane2002-07-15
| | | | | so that dependencies in default expressions (on operators, functions, etc) can be expressed properly.
* Add COMMENT ON CONSTRAINT facility (from Rod Taylor's pg_constraint patch).Tom Lane2002-07-14
| | | | | Fix comment.c to not depend on parser token values, per discussion awhile back.
* Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.Tom Lane2002-07-12
| | | | | | | | | | | | 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.
* Add new CREATE CONVERSION/DROP CONVERSION command.Tatsuo Ishii2002-07-11
| | | | | | | 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.
* I've fixed up the way domain constraints (not null and type length)Bruce Momjian2002-07-06
| | | | | | | | | | | 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
* First phase of applying Rod Taylor's pg_depend patch. This just addsTom Lane2002-07-01
| | | | | | | 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.
* Clean up some copyrights.Bruce Momjian2002-06-20
|
* Update copyright to 2002.Bruce Momjian2002-06-20
|
* Improve COPY syntax to use WITH clause, keep backward compatibility.Bruce Momjian2002-06-20
|
* Change CREATE DATABASE to use DefElem instead of constructing structureBruce Momjian2002-06-18
| | | | | members in gram.y. This is the prefered method for WITH and arbitrary param/value pairs.
* Repair AlterTableOwner --- was failing for relations with indexes.Tom Lane2002-06-17
|
* Fix up memory leakage created by recent changes.Tom Lane2002-06-15
|
* Fix up gcc warnings, improve comments.Tom Lane2002-06-15
|
* WriteBuffer return value:Bruce Momjian2002-06-15
| | | | | | | >I'd vote for changing WriteBuffer to >return void, and have it elog() on bad argument. Manfred Koizar
* This patch wraps all accesses to t_xmin, t_cmin, t_xmax, and t_cmax inBruce Momjian2002-06-15
| | | | | | | | | | | 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
* Allow ANALYZE to run in a transaction.Bruce Momjian2002-06-13
|
* Further tweaks to support display of sort keys in EXPLAIN --- initialTom Lane2002-06-13
| | | | implementation didn't work for Sort nodes associated with Append plans.
* Katherine Ward wrote:Jan Wieck2002-06-11
| | | | | | | | | | | | | | > 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
* AlterDatabaseSet() forgot to update the indexes on pg_database.Tom Lane2002-05-25
|
* Mark index entries "killed" when they are no longer visible to anyTom Lane2002-05-24
| | | | | | | | | | | | | | | 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.
* Modify sequence state storage to eliminate dangling-pointer problemTom Lane2002-05-22
| | | | | | | | 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.
* Add optional "validator" function to languages that can validate thePeter Eisentraut2002-05-22
| | | | | | | | | | | | 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.
* Since COPY fires triggers, it seems like a good idea for it to useTom Lane2002-05-21
| | | | | a frozen (copied) snapshot too. Move execMain's snapshot copying code out into a subroutine in case we find other places that need it.
* Remove global variable scanCommandId in favor of storing a command IDTom Lane2002-05-21
| | | | | | | | | | | 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.
* Restructure indexscan API (index_beginscan, index_getnext) perTom Lane2002-05-20
| | | | | | | 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.
* Add display of sort keys to the default EXPLAIN output.Tom Lane2002-05-18
|
* Allow functions to be executed with the privileges of the function owner.Peter Eisentraut2002-05-18
| | | | I took the opportunity to remove the pg_proc.proistrusted field.
* Get rid of the last few uses of typeidTypeName() rather thanTom Lane2002-05-17
| | | | format_type_be() in error messages.
* Support temporary setting of search path during CREATE SCHEMA; thisTom Lane2002-05-17
| | | | | | | 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.
* Extend syntax of CREATE FUNCTION to resemble SQL99.Peter Eisentraut2002-05-17
|
* Merge the last few variable.c configuration variables into the genericTom Lane2002-05-17
| | | | | | | | | 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.
* Make operators have their own comments separate from those of theTom Lane2002-05-13
| | | | | | | 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.
* Get rid of long-since-vestigial Iter node type, in favor of adding aTom Lane2002-05-12
| | | | | | | 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.