aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Remove optimization whereby parser would make only one sort-list entryTom Lane2002-08-18
| | | | | | | | when two equal() targetlist items were to be added to an ORDER BY or DISTINCT list. Although indeed this would make sorting fractionally faster by sometimes saving a comparison, it confuses the heck out of later stages of processing, because it makes it look like the user wrote DISTINCT ON rather than DISTINCT. Bug reported by joe@piscitella.com.
* Make CREATE CONSTRAINT TRIGGER check for REFERENCES privilege on bothPeter Eisentraut2002-08-18
| | | | master and slave tables.
* Make pg_dump output more portable and more pleasing to look at.Peter Eisentraut2002-08-18
| | | | | | | | | | | | | | | | | The -n and -N options were removed. Quoting is now smart enough to supply quotes if and only if necessary. Numerical types are now printed without quotes, except in cases of special values such as NaN. Boolean values printed as true and false. Most string literals now do not escape whitespace characters (newlines, etc.) for portability. SET SESSION AUTHORIZATION argument is a string literal, to follow SQL. Made commands output by pg_dump use consistent spacing and indentation.
* Code review for 'at character n' patch --- point at proper end ofTom Lane2002-08-18
| | | | a token scanned by multiple lex rules.
* Add db-local user names, per discussion on hackers.Bruce Momjian2002-08-18
|
* Reverse out XLogDir/-X write-ahead log handling, per discussion.Bruce Momjian2002-08-17
| | | | Original patch from Thomas.
* Add lock file.Bruce Momjian2002-08-17
|
* In that case, attached is a patch which locates the beginning of theBruce Momjian2002-08-17
| | | | | | | | | | | | | | | offending token more efficiently (per your suggestion of using scanbuf). The new patch does the same as before: template1=# select * frum pg_class; ERROR: parser: parse error at or near "frum" at character 10 It also implement's Tom's suggestion: template1=# select * from pg_class where\g ERROR: parse: parse error at end of input Gavin Sherry
* [ Newest version of patch applied.]Bruce Momjian2002-08-17
| | | | | | | | | | | | | | | | | | This patch is an updated version of the lock listing patch. I've made the following changes: - write documentation - wrap the SRF in a view called 'pg_locks': all user-level access should be done through this view - re-diff against latest CVS One thing I chose not to do is adapt the SRF to use the anonymous composite type code from Joe Conway. I'll probably do that eventually, but I'm not really convinced it's a significantly cleaner way to bootstrap SRF builtins than the method this patch uses (of course, it has other uses...) Neil Conway
* Improve documentation of trigger firing queue handling, cleanup.Bruce Momjian2002-08-17
| | | | Neil Conway
* Modify pg_dump to dump foreign-key constraints as constraints, not asTom Lane2002-08-16
| | | | | | | sets of triggers. Also modify psql \d command to show foreign key constraints as such and hide the triggers. pg_get_constraintdef() function added to backend to support these. From Rod Taylor, code review and some editorialization by Tom Lane.
* Make domain types indexable. Rod Taylor & Tom Lane.Tom Lane2002-08-16
|
* Tom Lane wrote:Bruce Momjian2002-08-15
| | | | | | | | | | | | | | | | | > There's no longer a separate call to heap_storage_create in that routine > --- the right place to make the test is now in the storage_create > boolean parameter being passed to heap_create. A simple change, but > it passeth patch's understanding ... Thanks. Attached is a patch against cvs tip as of 8:30 PM PST or so. Turned out that even after fixing the failed hunks, there was a new spot in bufmgr.c which needed to be fixed (related to temp relations; RelationUpdateNumberOfBlocks). But thankfully the regression test code caught it :-) Joe Conway
* Backed out. It is part of a later patch.Bruce Momjian2002-08-15
|
* Appears there is a problem finding the opclass when indexing a domain.Bruce Momjian2002-08-15
| | | | | | | | | | | | | | | | CREATE DOMAIN newint as int4; CREATE TABLE tab (col newint unique); ERROR: data type newint has no default operator class for access method "btree" You must specify an operator class for the index or define a default operator class for the data type Specifically, GetDefaultOpClass() finds 0 exact matches and 3 binary compatible matches. Fetching getBaseType() of the attribute fixes the problem for domains (see attachment). Rod Taylor
* As discussed on several occasions previously, the new anonymousBruce Momjian2002-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | composite type capability makes it possible to create a system view based on a table function in a way that is hopefully palatable to everyone. The attached patch takes advantage of this, moving show_all_settings() from contrib/tablefunc into the backend (renamed all_settings(). It is defined as a builtin returning type RECORD. During initdb a system view is created to expose the same information presently available through SHOW ALL. For example: test=# select * from pg_settings where name like '%debug%'; name | setting -----------------------+--------- debug_assertions | on debug_pretty_print | off debug_print_parse | off debug_print_plan | off debug_print_query | off debug_print_rewritten | off wal_debug | 0 (7 rows) Additionally during initdb two rules are created which make it possible to change settings by updating the system view -- a "virtual table" as Tom put it. Here's an example: Joe Conway
* Really truly enable encrypted passwords by default.Tom Lane2002-08-14
|
* Enable encrypted passwords by default.Bruce Momjian2002-08-14
|
* Fix memory leak in SetClientEncoding().Tatsuo Ishii2002-08-14
|
* Add Cyrillic and other encodings for encoding conversion.Tatsuo Ishii2002-08-14
| | | | Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).
* Fix tuple-chain-moving tests to handle marked-for-update tuples correctlyTom Lane2002-08-13
| | | | | | | | (they are not part of a chain). When failing to find a parent tuple in an update chain, emit a warning and abandon repair_frag, but do not give an error as before. This should eliminate the infamous 'No one parent tuple was found' failure, which we now realize is not a can't-happen condition but a perfectly valid database state. Per recent pghackers discussion.
* Make sure that t_ctid is reset to equal t_self in heap_delete andTom Lane2002-08-13
| | | | | | | | | heap_mark4update; this avoids situations where a deleted tuple might look like it is chained to something else. Also, cause all the WAL redo routines to set t_ctid to equal t_self, rather than leaving it undefined as before. Make heap_xlog_clean set the page's LSN and SUI correctly. All per past discussions in pghackers, ranging back to last December.
* Remove obsolete uses of lanispl. Only used in pg_dump now, but can bePeter Eisentraut2002-08-13
| | | | removed altogether if pg_dump doesn't need it anymore.
* Convert possibly-unsafe sprintf's to snprintf's.Tom Lane2002-08-12
|
* Change memory-space accounting mechanism in tuplesort.c and tuplestore.cTom Lane2002-08-12
| | | | | | | | to make a reasonable attempt at accounting for palloc overhead, not just the requested size of each memory chunk. Since in many scenarios this will make for a significant reduction in the amount of space acquired, partially compensate by doubling the default value of SORT_MEM to 1Mb. Per discussion in pgsql-general around 9-Jun-2002..
* Code review of CLUSTER patch. Clean up problems with relcache gettingTom Lane2002-08-11
| | | | confused, toasted data getting lost, etc.
* Create/drop cast now requires ownership of at least one of the types.Peter Eisentraut2002-08-11
|
* Neil's patch was supposed to remove this, too.Tom Lane2002-08-11
|
* Now that we allow ANALYZE to run inside a transaction block, the locksTom Lane2002-08-11
| | | | | | | | | | | it takes could be held for quite awhile after the analyze step completes. Rethink locking of pg_statistic in light of this fact. The original scheme took an exclusive lock on pg_statistic, which was okay when the lock could be expected to be released shortly, but that doesn't hold anymore. Back off to a normal writer's lock (RowExclusiveLock). This allows concurrent ANALYZE of nonoverlapping sets of tables, at the price that concurrent ANALYZEs of the same table may fail with 'tuple concurrently updated'.
* Update with newer version of CLUSTER patch posted August 8.Bruce Momjian2002-08-10
| | | | | | | | | | | | | | | | | > Looks like Alvaro got sideswiped by the system catalog indexing changes > I made over the weekend. It's a simple change, just reduce the whole > mess to a "CatalogUpdateIndexes()" call. I update two tuples, so I manually CatalogOpenIndexes() and CatalogIndexInsert() two times, as per comments in CatalogUpdateIndexes(). I also removed a couple of useless CommandCounterIncrement(), some useless definitions in src/include/commands/cluster.h and useless includes in src/backend/commands/cluster.c. This version passes the regression test I had made for previous versions. Alvaro Herrera
* > create view pg_locks as select l.relation, l.database, l.backendpid,Bruce Momjian2002-08-10
| | | | | | | | | | | | | > l.mode, l.isgranted from pg_lock_info() as l(relation oid, database oid, > backendpid int4, mode text, isgranted bool); > ERROR: badly formatted planstring "COLUMNDEF "... > Reported by Neil Conway -- I never implemented readfuncs.c support for ColumnDef or TypeName, which is needed so that views can be created on functions returning type RECORD. Here's a patch. Joe Conway
* Major improvement in CLUSTER which preserves table characteristics usingBruce Momjian2002-08-10
| | | | | | | | | | | | relfilenode. I sent the CLUSTER patch a few days ago and I think it was missed. I append it again, this time including the regression test files. For the committer, please note that you have to cvs add the files as they don't exist. Maybe add to the parallel and serial schedules also, but I don't know such stuff. Alvaro Herrera (<alvherre[a]atentus.com>)
* This patch removes a lot of unused code related to assertions andBruce Momjian2002-08-10
| | | | | | | | | | | | error handling, and simplifies the code that remains. Apparently, the code that left Berkeley had a whole "error handling subsystem", which exceptions and whatnot. Since we don't use that anymore, there's no reason to keep it around. The regression tests pass with the patch applied. Unless anyone sees a problem, please apply. Neil Conway
* Allow schema-qualified operator names to be used in the optionalTom Lane2002-08-10
| | | | arguments of CREATE OPERATOR.
* Fix failure to relink postmaster executable in the first make run if only aPeter Eisentraut2002-08-10
| | | | single source file a few directories deep in the backend tree has changed.
* Make sure monetary, numeric, and time locale categories are set to C andPeter Eisentraut2002-08-09
| | | | are only activated temporarily to read out formatting information.
* has_table_privilege spawns scions has_database_privilege, ↵Tom Lane2002-08-09
| | | | | | | | | | | has_function_privilege, has_language_privilege, has_schema_privilege to let SQL queries test all the new privilege types in 7.3. Also, add functions pg_table_is_visible, pg_type_is_visible, pg_function_is_visible, pg_operator_is_visible, pg_opclass_is_visible to test whether objects contained in schemas are visible in the current search path. Do some minor cleanup to centralize accesses to pg_database, as well.
* Cause view/rule display to work as expected after rename of an underlyingTom Lane2002-08-08
| | | | table or column, or of an output column of the view itself.
* Address build problems on cygwin and (hopefully) AIX.Tatsuo Ishii2002-08-08
|
* Load and keep conversion function info when SET CLIENT_ENCODING TO isTatsuo Ishii2002-08-08
| | | | | executed to prevent database access while performing encoding conversion.
* Remove #ifdef MULTIBYTETatsuo Ishii2002-08-08
|
* Cause schema-qualified FROM items and schema-qualified variable referencesTom Lane2002-08-08
| | | | | | to behave according to SQL92 (or according to my current understanding of same, anyway). Per pghackers discussion way back in March 2002: thread 'Do FROM items of different schemas conflict?'
* parseTypeString wasn't quite paranoid enough.Tom Lane2002-08-08
|
* Fix permission checking for temp-table namespace.Tom Lane2002-08-07
|
* Improve 'failed to initialize' messages.Tom Lane2002-08-07
|
* Still more paranoia in PageAddItem: disallow specification of an itemTom Lane2002-08-06
| | | | | | | | | offset past the last-used-item-plus-one, since that would result in leaving uninitialized holes in the item pointer array. AFAICT the only place that was depending on this was btree index build, which was being cavalier about when to fill in the P_HIKEY pointer; easily fixed. Also a small performance improvement: shuffle itemid's by means of memmove, not a one-at-a-time loop.
* Add SQL99 CONVERT() function.Tatsuo Ishii2002-08-06
|
* >> Hm. I'd sort of expect the "z" to become both the table and columnBruce Momjian2002-08-06
| | | | | | | | | | | | | | | | | | | | | >> alias in this case. What do you think? > > I guess that would make sense. I'll make a separate patch just for that > change if that's OK. > Simple change -- patch attached. test=# select * from myfoo1() as z; z ---- 1 2 3 (3 rows) Joe Conway
* The attached patch disallows the use of coldeflists for functions thatBruce Momjian2002-08-06
| | | | | | | | | don't return type RECORD. It also catches a core dump condition when a function returning RECORD had an alias list instead of a coldeflist. Now both conditions throw an ERROR. Joe Conway
* This patch changes the behavior of PostgreSQL so that if any queries areBruce Momjian2002-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executed in an implicitely aborted transaction (e.g. after an occur occurs), we return an error (and not just a warning). For example: nconway=# begin; BEGIN nconway=# insert; -- syntax error ERROR: parser: parse error at or near ";" nconway=# select * from a; ERROR: current transaction is aborted, queries ignored until end of transaction block The old behavior was: nconway=# begin; BEGIN nconway=# insert; ERROR: parser: parse error at or near ";" nconway=# select * from a; WARNING: current transaction is aborted, queries ignored until end of transaction block *ABORT STATE* Which can be confusing: if the client isn't paying careful attention, they will conclude that the query has executed (because no error is returned). Neil Conway