Commit Graph

12671 Commits

Author SHA1 Message Date
Bruce Momjian 30571b5496 I'm at the win32 error messages once more. The DLL load thingy doesn't
work on all win9x machines, so i made it go thru a l ookup table
instead, using the DLL as last resort.  I also moved this out of the
fe-misc.c file because of the size of the lookup ta ble. Who knows, we
might add more other win32 specific code there in the future.

I also fixed a small typo in the pg_config.h.win32 that made the
compiler compla in about the gnu snprintf declaration.

I tried to make this patch with psql coding style. I've successfully
tested this on win2k and win98 and it works fine (i.e. the mes sage
shows on win98 too, it didn't with the old implementation).

Magnus Naeslund
2002-04-24 02:26:06 +00:00
Bruce Momjian dd4ca824cc Reports missing values as bad.
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
2002-04-24 02:22:54 +00:00
Bruce Momjian e975123454 Speed improvement for large object restore.
Mario Weilguni
2002-04-24 02:21:04 +00:00
Bruce Momjian 5d2fdf6e6d Here's a patch to add unknownin/unknownout support. I also poked around
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
2002-04-24 02:12:53 +00:00
Bruce Momjian be9728acf1 pgdb.connect() seems to be broken on Python 2.0.1 (which ships with
Slackware 8), and perhaps on other Pythons, haven't checked.  Something in
the _pg.connect() call isn't working.  I think the problem stems from the
fact that 'host' is a named parameter of both _pg.connect and pgdb.connect,
and so Python treats it as a variable assignment, not a named parameter.

Uses non-named parameters.

Andrew Johnson
2002-04-24 01:58:31 +00:00
Bruce Momjian 2d81019493 Sorry for the package, but the following patch need to be applied to get
the new verion compiled on SCO Openserver 5.0.5 and Unixware 7.1.1

Nicolas Bazin
2002-04-24 01:56:20 +00:00
Bruce Momjian d37134085b xlog.c: If possible please add the following patch to better support NetWare.
Ulrich Neumann
2002-04-24 01:54:43 +00:00
Bruce Momjian f71c924f10 [ Patch comments in three pieces.]
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).
2002-04-24 01:51:11 +00:00
Bruce Momjian 450e728d24 Update to my2pg 1.24. 2002-04-24 01:42:29 +00:00
Bruce Momjian 42f2e5bd11 Based on this report, I am adding a FUNC_MAX_ARGS define to
src/include/pg_config.h.win32.  Certainly if we have INDEX_MAX_KEYS in
there, we should have FUNC_MAX_ARGS too.

Report from Chris Ryan
2002-04-23 23:46:37 +00:00
Bruce Momjian 695a042532 Add item:
> * Improve ability to display optimizer analysis using OPTIMIZER_DEBUG
2002-04-23 20:26:29 +00:00
Bruce Momjian c11d9353f1 Update as done:
> * -Use faster flex flags for performance improvement (Peter E)
2002-04-23 18:59:30 +00:00
Bruce Momjian 0666ac296b Update for syslog and name Tom in trigger:
> * -Allow user to control trigger firing order (Tom)
> * -Compile in syslog functionaility by default (Tatsuo)
2002-04-23 16:59:51 +00:00
Bruce Momjian 44cd58e47e Update:
> * -Allow user to control trigger firing order
> * Add ALTER TRIGGER ... RENAME
2002-04-23 16:56:24 +00:00
Tom Lane 28a898ad54 Clean up INT64CONST conflicts. Make the pg_crc code use a macro called
UINT64CONST, since unsigned was what it wanted anyway.  Centralize macro
definitions into c.h.
2002-04-23 15:45:30 +00:00
Hiroshi Inoue bf1f2e545c 1) Fix SQLProcedures().
2) Handle timestamp without time zone.
3) Improve SQLForeignKeys() in multibyte mode.
2002-04-23 04:14:13 +00:00
Tom Lane 0c1fe3d2b9 Update SQL-command reference pages for schema features. 2002-04-23 02:07:16 +00:00
Tom Lane 5dd1c713d0 Oops, forgot we had a macro to encapsulate test for type toastability. 2002-04-22 21:56:06 +00:00
Tom Lane 3faf224ace Fix incorrect Assert; install a more trustworthy check on whether
ALTER COLUMN SET STORAGE should be allowed.
2002-04-22 21:46:11 +00:00
Tom Lane fccda9eb90 Update GRANT example and discussion to match current sources. 2002-04-22 19:17:40 +00:00
Michael Meskes 75c33220ad Synced preproc.y and keywords.c. 2002-04-22 18:54:43 +00:00
Thomas G. Lockhart 3c184d18ef Convert GUC parameters back to strings if input as integers.
Change elog(ERROR) messages to say that a variable takes one parameter,
 rather than saying that it does not take multiple parameters.
2002-04-22 15:13:53 +00:00
Thomas G. Lockhart 58ca6e091e Check for multiple arguments on parameters which do not allow them.
The last version caught this with an assert because I wasn't sure whether
 we should elog(ERROR) or just loop through the parameters.
2002-04-22 14:34:27 +00:00
Thomas G. Lockhart 8d2441e55c Oops. Remove declaration for set_name_needs_quotes(), since it is now gone. 2002-04-21 21:53:23 +00:00
Thomas G. Lockhart d19439f7cd Remove the definition for set_name_needs_quotes() on the assumption that
it is now obsolete. Need some regression test cases to prove otherwise...
2002-04-21 21:37:03 +00:00
Thomas G. Lockhart b875b599f3 Initialize or set a couple of variables to suppress compiler warnings.
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.
2002-04-21 21:35:17 +00:00
Tom Lane 67ef699ff4 Update horology-no-DST-before-1970.out (tested on HPUX), plus an extrapolated horology-solaris-1947.out
(needs verification).
2002-04-21 21:06:21 +00:00
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