aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Restrict comment to the current database in order to prevent them fromBruce Momjian2002-04-24
| | | | | | | | | | | | | | | 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
* Attached is a patch for ALTER TRIGGER RENAME per the above thread. IBruce Momjian2002-04-24
| | | | | | | | 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
* Doc fix for INSERT ... (DEFAULT, ...)Bruce Momjian2002-04-24
| | | | | | Appears I forgot to update the docs earlier. Rod Taylor
* Reports missing values as bad.Bruce Momjian2002-04-24
| | | | | | | | | | BAD: INSERT INTO tab (col1, col2) VALUES ('val1'); GOOD: INSERT INTO tab (col1, col2) VALUES ('val1', 'val2'); Regress tests against DEFAULT and normal values as they're managed slightly different. Rod Taylor
* Here's a patch to add unknownin/unknownout support. I also poked aroundBruce Momjian2002-04-24
| | | | | | | | | | looking for places that assume UNKNOWN == TEXT. One of those was the "SET" type in pg_type.h, which was using textin/textout. This one I took care of in this patch. The other suspicious place was in string_to_dataum (which is defined in both selfuncs.c and indxpath.c). I wasn't too sure about those, so I left them be. Joe Conway
* xlog.c: If possible please add the following patch to better support NetWare.Bruce Momjian2002-04-24
| | | | Ulrich Neumann
* [ Patch comments in three pieces.]Bruce Momjian2002-04-24
| | | | | | | | | | | | | | | | | | | | Attached is a pacth against 7.2 which adds locale awareness to the character classes of the regular expression engine. ... > > I still think the xdigit class could be handled the same way the digit > > class is (by enumeration rather than using the isxdigit function). That > > saves you a cicle, and I don't think there's any loss. > > In fact, I will email you when I apply the original patch. I miss that case :-(. Here is the pached patch. ... Here is a patch which addresses Tatsuo's concerns (it does return an static struct instead of constructing it).
* Clean up INT64CONST conflicts. Make the pg_crc code use a macro calledTom Lane2002-04-23
| | | | | UINT64CONST, since unsigned was what it wanted anyway. Centralize macro definitions into c.h.
* Oops, forgot we had a macro to encapsulate test for type toastability.Tom Lane2002-04-22
|
* Fix incorrect Assert; install a more trustworthy check on whetherTom Lane2002-04-22
| | | | ALTER COLUMN SET STORAGE should be allowed.
* Convert GUC parameters back to strings if input as integers.Thomas G. Lockhart2002-04-22
| | | | | Change elog(ERROR) messages to say that a variable takes one parameter, rather than saying that it does not take multiple parameters.
* Check for multiple arguments on parameters which do not allow them.Thomas G. Lockhart2002-04-22
| | | | | The last version caught this with an assert because I wasn't sure whether we should elog(ERROR) or just loop through the parameters.
* Oops. Remove declaration for set_name_needs_quotes(), since it is now gone.Thomas G. Lockhart2002-04-21
|
* Remove the definition for set_name_needs_quotes() on the assumption thatThomas G. Lockhart2002-04-21
| | | | it is now obsolete. Need some regression test cases to prove otherwise...
* Initialize or set a couple of variables to suppress compiler warnings.Thomas G. Lockhart2002-04-21
| | | | | | These were for cases protected by elog(ERROR) exits, but may as well keep the compiler happy. Not sure why they don't show up on my gcc-2.96.x version of the compiler.
* Support alternate storage scheme of 64-bit integer for date/time types.Thomas G. Lockhart2002-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use "--enable-integer-datetimes" in configuration to use this rather than the original float8 storage. I would recommend the integer-based storage for any platform on which it is available. We perhaps should make this the default for the production release. Change timezone(timestamptz) results to return timestamp rather than a character string. Formerly, we didn't have a way to represent timestamps with an explicit time zone other than freezing the info into a string. Now, we can reasonably omit the explicit time zone from the result and return a timestamp with values appropriate for the specified time zone. Much cleaner, and if you need the time zone in the result you can put it into a character string pretty easily anyway. Allow fractional seconds in date/time types even for dates prior to 1BC. Limit timestamp data types to 6 decimal places of precision. Just right for a micro-second storage of int8 date/time types, and reduces the number of places ad-hoc rounding was occuring for the float8-based types. Use lookup tables for precision/rounding calculations for timestamp and interval types. Formerly used pow() to calculate the desired value but with a more limited range there is no reason to not type in a lookup table. Should be *much* better performance, though formerly there were some optimizations to help minimize the number of times pow() was called. Define a HAVE_INT64_TIMESTAMP variable. Based on the configure option "--enable-integer-datetimes" and the existing internal INT64_IS_BUSTED. Add explicit date/interval operators and functions for addition and subtraction. Formerly relied on implicit type promotion from date to timestamp with time zone. Change timezone conversion functions for the timetz type from "timetz()" to "timezone()". This is consistant with other time zone coersion functions for other types. Bump the catalog version to 200204201. Fix up regression tests to reflect changes in fractional seconds representation for date/times in BC eras. All regression tests pass on my Linux box.
* Make WITHOUT TIME ZONE the default for TIMESTAMP and TIME data types.Thomas G. Lockhart2002-04-21
| | | | | | | | | | | | | | | | | This is a big change from past behavior, but the last release was designed to handle this correctly for dump/restore upgrades. Fix up handling of SET value arguments. Allow lists for most options at least at the parser level; multiple values may be rejected at the command processor of course. Allow more variations on values for SET commands, including integer and float values where formerly stringy fields were required. Check precision specification for date/time fields against the true precision range allowed by the data types. Especially useful with the new int8-based storage for these types, where precision is fixed and predictable. Stub out a basic CREATE ASSERTION per SQL9x. Does not do anything (yet) but should be augmented as appropriate. Minor fixups in braces and tabbing.
* Allow more choices for style of value in various SET commands. Formerly,Thomas G. Lockhart2002-04-21
| | | | | | | | | | | most required a stringy syntax in the parser; now integers and floats can (or should) be handled. There is at least one cheesy error message mentioning sending mail to me if there are problems; should be changed prior to release. Allow lists of values from the parser in more cases. If multiple arguments were not allowed previously, they probably are not allowed now, but at least the data structures being passed around are more consistant across more cases.
* Add fields in the control file to check for whether the backend wasThomas G. Lockhart2002-04-21
| | | | | | | | compiled for integer date/time storage and to check the length of storage for the locale fields in the same data structure. Slightly reword some of the error messages to be more accurate on possible recovery options (e.g. recompile *or* re-initdb). Bump version number on this file.
* Fix typo.Tom Lane2002-04-21
|
* Restructure AclItem representation so that we can have more than eightTom Lane2002-04-21
| | | | | | | | | different privilege bits (might as well make use of the space we were wasting on padding). EXECUTE and USAGE bits for procedures, languages now are separate privileges instead of being overlaid on SELECT. Add privileges for namespaces and databases. The GRANT and REVOKE commands work for these object types, but we don't actually enforce the privileges yet...
* Remove --enable-syslog optionTatsuo Ishii2002-04-21
|
* 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.