Commit Graph

12444 Commits

Author SHA1 Message Date
Thomas G. Lockhart 15c7931327 Provide new option "--enable-integer-datetimes". Defaults to disabled for
now, but we may want otherwise on systems which support it.
2002-04-21 19:56:30 +00:00
Thomas G. Lockhart 547df0cc85 Support alternate storage scheme of 64-bit integer for date/time types.
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.
2002-04-21 19:52:18 +00:00
Thomas G. Lockhart 3fab49325d Include stdio.h and stdlib.h for completeness. 2002-04-21 19:51:44 +00:00
Thomas G. Lockhart 37cfb04094 Make WITHOUT TIME ZONE the default for TIMESTAMP and TIME data types.
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.
2002-04-21 19:21:49 +00:00
Thomas G. Lockhart e53f94ad68 Allow more choices for style of value in various SET commands. Formerly,
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.
2002-04-21 19:12:46 +00:00
Thomas G. Lockhart f56e8fec31 Add fields in the control file to check for whether the backend was
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.
2002-04-21 19:08:02 +00:00
Thomas G. Lockhart c05f29e895 Augment the date/time examples in the User's Guide to reflect the newer
capabilities of specifying time zones as intervals per SQL9x.
Put refentrytitle contents on the same line as the tag.
 Otherwise, leading whitespace is propagated into the product, which
 (at least) messes up the ToC layout.
Remove (some) docinfo tags containing dates. Best to omit if the dates
 are not accurate; maybe use CVS dates instead or leave them out.
2002-04-21 19:02:39 +00:00
Thomas G. Lockhart b76b6f61b0 Minor wording change for readability. 2002-04-21 18:58:00 +00:00
Peter Eisentraut d433a3628e Make pg_dump independent of FUNC_MAX_ARGS. 2002-04-21 05:21:18 +00:00
Tom Lane 5a99671515 Fix typo. 2002-04-21 01:03:33 +00:00
Tom Lane b0bcf8aab2 Restructure AclItem representation so that we can have more than eight
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...
2002-04-21 00:26:44 +00:00
Tatsuo Ishii ad201b8d18 Remove --enable-syslog option 2002-04-21 00:22:52 +00:00
Peter Eisentraut eef5c4f0e5 pq_getstring doesn't go through pq_getbyte anymore, for better performance. 2002-04-20 23:35:43 +00:00
Peter Eisentraut 32c6c99e0b Scanner performance improvements
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().
2002-04-20 21:56:15 +00:00
Peter Eisentraut ff4281472a Add missing include. 2002-04-20 03:46:16 +00:00
Tom Lane 6d6ca2166c Change naming rule for ON SELECT rules of views: they're all just
_RETURN now, since there's no need to keep 'em unique anymore.
2002-04-19 23:13:54 +00:00
Tom Lane 201737168c pg_trigger's index on tgrelid is replaced by a unique index on
(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.
2002-04-19 16:36:08 +00:00
Tom Lane 87d00363cb Make PUBLIC an unreserved word (in fact, not a keyword at all),
per previous discussion.
2002-04-18 21:16:16 +00:00
Tom Lane b3120804ad Rule names are now unique per-relation, rather than unique globally.
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.
2002-04-18 20:01:11 +00:00
Bruce Momjian 4e08a625b0 Suggest another possible solution for funcs using temp tables:
< 	  without using PL/PgSQL EXECUTE, needs cached plan invalidation
> 	  without using PL/PgSQL EXECUTE, needs cache prevention/invalidation
2002-04-18 17:26:03 +00:00
Bruce Momjian 979be308d1 More neutral:
> 	o Abort all, some or, no SET changes made in an aborted transaction
2002-04-18 17:24:47 +00:00
Bruce Momjian 953287768e Update:
> 	o Abort all or commit all SET changes made in an aborted transaction
2002-04-18 14:32:36 +00:00
Bruce Momjian f8c77a089c Correct documention of lo_unlink return value as int, not Oid. 2002-04-18 14:28:14 +00:00
Bruce Momjian a44a0a4509 Update:
> 	o Allow Java server-side programming, http://pljava.sourceforge.net
> 	  [java]
2002-04-18 05:07:38 +00:00
Bruce Momjian 2de427d1ef Ant 1.4.1 now requires for jdbc. Mention in HISTORY release notes. 2002-04-18 04:58:13 +00:00
Bruce Momjian bebe5acaf9 Add how to get database/user listing information. 2002-04-18 04:45:11 +00:00
Bruce Momjian cfa72faf96 Add user:
> * Rod is Rod Taylor <rbt@zort.ca>
2002-04-18 04:21:43 +00:00
Bruce Momjian 654fe4f998 Add to DROP COLUMN. 2002-04-18 04:17:41 +00:00
Bruce Momjian 69cd5efb23 Add to PREPARE archive. 2002-04-18 04:13:00 +00:00
Bruce Momjian b09f67bca1 Update for Neil:
> * Cache most recent query plan(s) (Neil) [prepare]
> * Neil is Neil Conway <nconway@klamath.dyndns.org>
2002-04-18 04:08:22 +00:00
Bruce Momjian bac714b72a Update for Oleg:
>   using a sequential scan for highest/lowest values (Oleg)
2002-04-18 04:07:04 +00:00
Bruce Momjian f1b7e8416a Add:
Add to DROP COLUMN description.
2002-04-18 04:02:10 +00:00
Bruce Momjian 54f91c9f8a Update:
> 	o Abort SET changes made in aborted transactions (?)
2002-04-18 03:59:46 +00:00
Bruce Momjian a770da9d8d Back out python change, needs delay. 2002-04-18 03:38:30 +00:00
Bruce Momjian 3cd9399d86 Change docs to do 20! rather than larger. 2002-04-18 03:37:13 +00:00
Bruce Momjian af03e2edc9 Updated:
> * Add BETWEEN ASYMMETRIC/SYMMETRIC (Christopher)
> * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au>
2002-04-18 03:10:29 +00:00
Bruce Momjian 389ca3500d Add:
> * Add BSD-licensed qsort() for Solaris
2002-04-18 03:07:16 +00:00
Bruce Momjian 6abfa8c540 Add:
> 	o Allow SHOW to output as a query result, like EXPLAIN
2002-04-18 03:04:04 +00:00
Bruce Momjian b2ef38e883 Add mention of -DLINUX_PROFILE to profile mention. 2002-04-18 02:48:19 +00:00
Bruce Momjian afd8067213 Add:
> * Try flex flags -Cf and -CF to see if performance improves
2002-04-18 01:41:23 +00:00
Bruce Momjian ed20cdfc53 Add:
> * Add utility to compute accurate random_page_cost value
2002-04-17 21:52:57 +00:00
Tom Lane 27a54ae282 Opclasses live in namespaces. I also took the opportunity to create
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.
2002-04-17 20:57:57 +00:00
Bruce Momjian d85a81cbc3 Add:
> * Allow easy display of usernames in a group
2002-04-17 20:35:23 +00:00
Bruce Momjian d4963d7342 Add SQL92 document name. 2002-04-17 05:12:39 +00:00
Bruce Momjian bef0ea574c Update to point directly to ANSI store. 2002-04-17 05:10:09 +00:00
Bruce Momjian f417bbfb92 Add mention of standards documents. 2002-04-17 05:00:01 +00:00
Bruce Momjian ff200d9359 Add steps for typical patch. 2002-04-17 02:10:22 +00:00
Tom Lane 6cef5d2549 Operators live in namespaces. CREATE/DROP/COMMENT ON OPERATOR take
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 >.
2002-04-16 23:08:12 +00:00
Dave Cramer 4da51bfd6d Added some rudimentary table and column tests
added a setup/teardown to create and drop the connection, and table
2002-04-16 15:25:17 +00:00
Dave Cramer 710a711ac3 fixed getColumns as per Panu Outinen's email. At this point have only repaired the bug, haven't made it caseInsensitive 2002-04-16 13:28:44 +00:00