aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* pq_getstring doesn't go through pq_getbyte anymore, for better performance.Peter Eisentraut2002-04-20
|
* Scanner performance improvementsPeter Eisentraut2002-04-20
| | | | | | | | Use flex flags -CF. Pass the to-be-scanned string around as StringInfo type, to avoid querying the length repeatedly. Clean up some code and remove lex-compatibility cruft. Escape backslash sequences inline. Use flex-provided yy_scan_buffer() function to set up input, rather than using myinput().
* Change naming rule for ON SELECT rules of views: they're all justTom Lane2002-04-19
| | | | _RETURN now, since there's no need to keep 'em unique anymore.
* pg_trigger's index on tgrelid is replaced by a unique index onTom Lane2002-04-19
| | | | | | | | | | (tgrelid, tgname). This provides an additional check on trigger name uniqueness per-table (which was already enforced by the code anyway). With this change, RelationBuildTriggers will read the triggers in order by tgname, since it's scanning using this index. Since a predictable trigger ordering has been requested for some time, document this behavior as a feature. Also document that rules fire in name order, since yesterday's changes to pg_rewrite indexing cause that too.
* Make PUBLIC an unreserved word (in fact, not a keyword at all),Tom Lane2002-04-18
| | | | per previous discussion.
* Rule names are now unique per-relation, rather than unique globally.Tom Lane2002-04-18
| | | | | | | | DROP RULE and COMMENT ON RULE syntax adds an 'ON tablename' clause, similar to TRIGGER syntaxes. To allow loading of existing pg_dump files containing COMMENT ON RULE, the COMMENT code will still accept the old syntax --- but only if the target rulename is unique across the whole database.
* Opclasses live in namespaces. I also took the opportunity to createTom Lane2002-04-17
| | | | | | | an 'opclass owner' column in pg_opclass. Nothing is done with it at present, but since there are plans to invent a CREATE OPERATOR CLASS command soon, we'll probably want DROP OPERATOR CLASS too, which suggests that a notion of ownership would be a good idea.
* Operators live in namespaces. CREATE/DROP/COMMENT ON OPERATOR takeTom Lane2002-04-16
| | | | | | | | | | qualified operator names directly, for example CREATE OPERATOR myschema.+ ( ... ). To qualify an operator name in an expression you need to write OPERATOR(myschema.+) (thanks to Peter for suggesting an escape hatch). I also took advantage of having to reformat pg_operator to fix something that'd been bugging me for a while: mergejoinable operators should have explicit links to the associated cross-data-type comparison operators, rather than hardwiring an assumption that they are named < and >.
* The patch I sent to -patches a little while ago wasn't applied: itBruce Momjian2002-04-15
| | | | | | | | | | was in the thread "make BufferGetBlockNumber() a macro". Tom objected to the original patch, so I prepared a new one which doesn't change BufferGetBlockNumber() into a macro, it just cleans up some comments and fixes an assertion. The patch is attached. Neil Conway
* The attached patch corrects an inaccuracy in src/backend/catalog/READMEBruce Momjian2002-04-15
| | | | | | and fixes a few spelling mistakes in src/bakckend/lmgr/README. Neil Conway
* CATALOG VERSION UPDATED:Bruce Momjian2002-04-15
| | | | | | | | | The indexes on most system catalogs are named with the suffix "_index"; not so with TOAST table indexes, which use "_idx". This trivial patch changes TOAST table index names to use the "_index" suffix for consistency. Neil Conway
* Disable VACUUM from being called from a function because function memoryBruce Momjian2002-04-15
| | | | would be cleared by vacuum; fix idea from Tom Lane.
* Adjust rules for search_path so that pg_catalog is never implicitlyTom Lane2002-04-15
| | | | | | selected as the creation target namespace; to make that happen, you must explicitly set search_path that way. This makes initdb a hair more complex but seems like a good safety feature.
* Fix text_substr bug intrduced in 7.3 developmentTatsuo Ishii2002-04-15
| | | | | using Joe Conway's patches (submitted at pgsql-patches on 2002/04/08) + small fix.
* Fix oversight in recent change of representation for JOIN aliasTom Lane2002-04-15
| | | | | variables: JOIN/ON should allow references to contained JOINs. Per bug report from Barry Lind.
* The contents of command.c, creatinh.c, define.c, remove.c and rename.cTom Lane2002-04-15
| | | | | | | | | | | | | | | have been divided according to the type of object manipulated - so ALTER TABLE code is in tablecmds.c, aggregate commands in aggregatecmds.c and so on. A few common support routines remain in define.c (prototypes in src/include/commands/defrem.h). No code has been changed except for includes to reflect the new files. The prototypes for aggregatecmds.c, functioncmds.c, operatorcmds.c, and typecmds.c remain in src/include/commands/defrem.h. From John Gray <jgray@azuli.co.uk>
* Fix comment dashes.Bruce Momjian2002-04-14
|
* Patch against 7.2.1 sources. Uses Solaris Intimate Shared MemoryBruce Momjian2002-04-13
| | | | | | | | | | | | | | | for Solaris on SPARC. Scott Brunza (sbrunza@sonalysts.com) gets credit for identifying the issue, making the change, and doing the regression tests. Earlier testing on 7.2rc2 and 7.2 showed performance gains of 1% to 10% on pgbench, osdb-pg, and some locally developed apps. Solaris Intimate Shared Memory is described in "SOLARIS INTERNALS Core Kernel Components" by Jim Mauro and Richard McDougall, Copyright 2001 Sun Microsystem, Inc. ISBN 0-13-022496-0 P.J. "Josh" Rovero
* Checking to decide whether relations are system relations now dependsTom Lane2002-04-12
| | | | | on the namespace not the name; pg_ is not a reserved prefix for table names anymore. From Fernando Nasser.
* Tweak error message wording.Tom Lane2002-04-12
|
* Update new Russian FAQ.Bruce Momjian2002-04-12
|
* Add mention of function CREATE INDEX usage.Bruce Momjian2002-04-11
|
* Restructure representation of aggregate functions so that they have pg_procTom Lane2002-04-11
| | | | | | | | | | entries, per pghackers discussion. This fixes aggregates to live in namespaces, and also simplifies/speeds up lookup in parse_func.c. Also, add a 'proimplicit' flag to pg_proc that controls whether a type coercion function may be invoked implicitly, or only explicitly. The current settings of these flags are more permissive than I would like, but we will need to debate and refine the behavior; for now, I avoided breaking regression tests as much as I could.
* Make sure that usesuper is always accessed through superuser(), so that thePeter Eisentraut2002-04-11
| | | | single-user escape path always works.
* Functions live in namespaces. Qualified function names work, egTom Lane2002-04-09
| | | | | SELECT schema1.func2(...). Aggregate names can be qualified at the syntactic level, but the qualification is ignored for the moment.
* Update comment to clarify fetch limit and LIMIT.Bruce Momjian2002-04-08
|
* Document genbki.sh's ability to auto-assign OIDs for DESCR macros.Tom Lane2002-04-08
| | | | Some other minor wording improvements.
* Implement partial-key searching of syscaches, per recent suggestionTom Lane2002-04-06
| | | | | to pghackers. Use this to do searching for ambiguous functions --- it will get more uses soon.
* This patch adds a missing heap_freetuple() to renamerel(), documentsBruce Momjian2002-04-05
| | | | | | | | | the decision not to make renamerel() update the sequence name that is stored within sequences themselves (thanks to Tom Lane), and adds some rudimentary regression tests for ALTER TABLE ... RENAME on non-table relations. Neil Conway
* Add INSERT(..., DEFAULT, ).Bruce Momjian2002-04-05
| | | | Rod Taylor
* Looks like a small patch is needed as well to do the right thing on Linux.Bruce Momjian2002-04-05
| | | | | | | | | | | The patch enables the mips2 ISA for the ll/sc operations, and then restores it when done. The kernel/libc emulation code will take over on CPUs without ll/sc, and on CPUs with it, it'll use the operations provided by the CPU. Combined with the earlier fix (removing -mips2), postgresql builds again on mips and mipsel. The patch is against 7.2-7. Oliver Elphick
* Undo not-so-hot decision to postpone insertion of default values intoTom Lane2002-04-05
| | | | | | | | INSERT statements to the planner. Taking it out of the parser was right (so that defaults don't get into stored rules), but it has to happen before rewrite rule expansion, else references to NEW.field behave incorrectly. Accordingly, add a step to the rewriter to insert defaults just before rewrite-rule expansion.
* Divide functions into three volatility classes (immutable, stable, andTom Lane2002-04-05
| | | | | | | volatile), rather than the old cachable/noncachable distinction. This allows indexscan optimizations in many places where we formerly didn't. Also, add a pronamespace column to pg_proc (it doesn't do anything yet, however).
* Cleanup of level ordering and add missing LOG entry.Bruce Momjian2002-04-04
|
* Add missing mention of 'log' option for client_min_messages.Bruce Momjian2002-04-04
|
* Authentication improvements:Bruce Momjian2002-04-04
| | | | | | | | | | | | | | A new pg_hba.conf column, USER Allow specifiction of lists of users separated by commas Allow group names specified by + Allow include files containing lists of users specified by @ Allow lists of databases, and database files Allow samegroup in database column to match group name matching dbname Removal of secondary password files Remove pg_passwd utility Lots of code cleanup in user.c and hba.c New data/global/pg_pwd format New data/global/pg_group file
* Locale support is on by default. The choice of locale is done in initdbPeter Eisentraut2002-04-03
| | | | and/or with GUC variables.
* Replace perror() calls by elog()s, so that messages can be routed toTom Lane2002-04-03
| | | | | syslog when appropriate. These were the last perror() calls remaining in the backend; let's not reintroduce any...
* Allow postmaster to start up anyway when PGSTAT code fails to initialize,Tom Lane2002-04-03
| | | | | per recent discussion on pghackers. Also, fix PGSTAT code to report errors via elog, not scribbling directly on stderr.
* Removed obsolete DROP_COLUMN_HACK stuff.Hiroshi Inoue2002-04-02
|
* Tweak SERIAL column creation to emit a fully qualified sequence nameTom Lane2002-04-02
| | | | as argument for nextval().
* Fix CLOG truncation code to not do the Wrong Thing when there are alreadyTom Lane2002-04-02
| | | | | | wrapped-around databases. The unvacuumed databases might be fine, or they might not, but things will definitely not be fine if we remove the wrong CLOG segments. Per trouble report from Gary Wolfe, 1-Apr-2002.
* Make VACUUM handle schema-qualified relation names properly.Tom Lane2002-04-02
|
* Add tgconstrrelid to stored Trigger structures, make RI trigger functionsTom Lane2002-04-01
| | | | | | | | depend on this rather than the trigger argument strings to locate the other relation to test. This makes RI triggers function properly in the presence of schemas and temp tables. Along the way, fix bogus lack of locking in RI triggers, handle quoting of names fully correctly, compute required sizes of query buffers with some semblance of accuracy.
* Attached is a patch which adds 2 missing semi-colons toBruce Momjian2002-04-01
| | | | | | | bootstrap/bootparse.y, so that recent versions of bison don't emit a warning. Neil Conway
* ALTER TABLE SET/DROP NOT NULL, from Christopher Kings-Lynne.Tom Lane2002-04-01
|
* Create a new GUC variable search_path to control the namespace searchTom Lane2002-04-01
| | | | | | | path. The default behavior if no per-user schemas are created is that all users share a 'public' namespace, thus providing behavior backwards compatible with 7.2 and earlier releases. Probably the semantics and default setting will need to be fine-tuned, but this is a start.
* Temporary kluge to let RI triggers work on tables outside the systemTom Lane2002-04-01
| | | | | | | | catalog namespace. This will not do as a production solution because the interpretation of RI trigger arguments will vary depending on the current namespace search path. I'm just putting it in so that the RI regression tests don't fail while schema development proceeds. We must find a better answer before 7.3 can be released.
* Make renamerel take an OID, not a RangeVar, to identify the relationTom Lane2002-03-31
| | | | | to rename. Avoids some corner-case bugs in cluster.c, improves consistency with renameatt.
* Reimplement temp tables using schemas. The temp table map is history;Tom Lane2002-03-31
| | | | temp table entries in pg_class have the names the user would expect.