1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-05 07:21:24 +03:00
Commit Graph

6764 Commits

Author SHA1 Message Date
d6429e552d Minor code rearrangement & doc improvement in eval_const_expressions(). 2000-03-19 18:20:38 +00:00
cf6420dd94 *** empty log message *** 2000-03-19 10:04:47 +00:00
a73b75615f transformExpr() did the Wrong Thing if applied to a SubLink node that
had already been transformed.  This led to failure in examples like
UPDATE table SET fld = (SELECT ...).  Repair this, and revise the
comments to explain that transformExpr has to be robust against this
condition.  Someday we might want to fix the callers so that
transformExpr is never invoked on its own output, but that someday
is not today.
2000-03-19 07:13:58 +00:00
52d0265736 it seems in the beta2 release DBUSERID in pg_dumpall is the _name_ of the
user, so it doesn't need to be translated from the number to the name.

also ``create database ...'' does not take numbers for the encoding, so
the ENCODING variable does not need to be translated to a number, but left
as the text representation.  a patch is supplied to make the changes i
have found to work.  i was successful dumping and reloading my database
after these changes.
-

John M. Flinchbaugh
2000-03-19 02:19:43 +00:00
cfa929f601 Fix incorrect implementation of log(x) for numeric, as well as
incorrect descriptions of a couple of log-related functions.
I will not force an initdb for this, but log() on a numeric won't
work until you do one...
2000-03-19 01:12:18 +00:00
440b0fea3d Another go-round with resolution of ambiguous functions and operators.
In function parsing, try for an actual function of the given name and
input types before trying to interpret the function call as a type
coercion request, rather than after.  Before, a function that had the
same name as a type and operated on a binary-compatible type wouldn't
get invoked.  Also, cross-pollinate between func_select_candidates and
oper_select_candidates to ensure that they use as nearly the same
resolution rules as possible.  A few other minor code cleanups too.
2000-03-19 00:19:39 +00:00
f11d253e25 In can_coerce_type, verify that a possible type-coercion function
actually returns the type it is named for.
2000-03-19 00:15:39 +00:00
7d392f257b Fixed psql -c "\slashcmd" 2000-03-18 22:48:29 +00:00
f4d452c13c Update bytea type description 2000-03-18 20:50:10 +00:00
d63e05a638 Improve error message wording in unary_op_error() --- suggest that
problem could be lack of parentheses.  This addresses cases like
X UserOp UserOp Y, which will be parsed as (X UserOp) UserOp Y,
whereas what likely was wanted was X UserOp (UserOp Y).
2000-03-18 19:53:54 +00:00
f91dd7880f Clean up minor compiler warnings. 2000-03-18 18:57:16 +00:00
f945f46193 Modify lexing of multi-char operators per pghackers discussion around
16-Mar-00: trailing + or - is not part of the operator unless the operator
also contains characters not present in SQL92-defined operators.  This
solves the 'X=-Y' problem without unduly constraining users' choice of
operator names --- in particular, no existing Postgres operator names
become invalid.

Also, remove processing of // comments, as agreed in the same thread.
2000-03-18 18:03:12 +00:00
2b23e86447 Repair typos: <xb> EOF rule should be <xh>, likewise <xq> to <xd> 2000-03-18 05:44:21 +00:00
15115344f0 Just noticed that the grammar actually has no provision for '+' as a
prefix operator :-(.  Bad enough that we have no implementation of
unary plus, but at least with this fix the grammar will take it.
2000-03-18 04:32:35 +00:00
caa6fc1ba2 Add translation of timespan to interval. 2000-03-18 00:33:45 +00:00
3faa9bab07 Patch possible portability problem: a few places had // style comments,
which is not ANSI C, even though some compilers will take it...
2000-03-17 23:26:36 +00:00
64ef5c82de Typo correction (// -> /) 2000-03-17 23:17:23 +00:00
0e314d747e Add safety check on expression nesting depth. Default value is set by
a config.h #define, and the runtime value can be controlled via SET.
2000-03-17 05:29:07 +00:00
341b328b18 Fix a bunch of minor portability problems and maybe-bugs revealed by
running gcc and HP's cc with warnings cranked way up.  Signed vs unsigned
comparisons, routines declared static and then defined not-static,
that kind of thing.  Tedious, but perhaps useful...
2000-03-17 02:36:41 +00:00
bc1f117094 Update config.guess and config.sub to latest versions available from
the GNU Autoconf CVS server.
2000-03-16 20:41:17 +00:00
6a4b7d83f3 Tweak horology regress test to ensure platform-independent ordering of
results in conversions tests.  Update horology-no-DST-before-1970.out.
2000-03-16 17:03:41 +00:00
a7e0ee9a0e Since it has been confirmed working on the bugs list, please apply the
attached patch.

Andreas Kardos
2000-03-16 15:35:34 +00:00
3e4708c45c libpq++ Makefile uses -DDEBUG to turn on debugging trace to
/tmp/trace.out.
However, elog.h uses DEBUG as a log-level flag.  As a result, tracing is
turned on even if the libpq++.so is built with DEBUG commented out in
the Makefile.

This patch changes libpq++ to use DEBUGFILE instead (which is not
defined anywhere else).

Oliver Elphick
2000-03-16 15:34:36 +00:00
1f3122e26d Fix typo (introduced by xemacs markup normalization) in the syntax summary. 2000-03-16 14:39:30 +00:00
9e7166096e Support full POSIX-style time zone: EST+3, PST-3, etc.
We probably support a superset of the spec, but I don't have the spec
 to confirm this.
Update regression tests to include tests for this format.
2000-03-16 14:38:42 +00:00
90c4bab7ea Support full POSIX-style time zone: EST+3, PST-3, etc.
We probably support a superset of the spec, but I don't have the spec
 to confirm this.
Update regression tests to include tests for this format.
Update geometry.out with results from Linux RH 5.2 system
(for last decimal place).
2000-03-16 14:38:31 +00:00
ff0a420c92 Support full POSIX-style time zone: EST+3, PST-3, etc.
We probably support a superset of the spec, but I don't have the spec
 to confirm this.
Update regression tests to include tests for this format.
Fix single-space typo in printed message in regress.sh.
2000-03-16 14:37:33 +00:00
0e1043b760 Fixes for char_length() change. 2000-03-16 11:55:43 +00:00
805e0c4589 Fixes for char_length() changes. 2000-03-16 11:53:16 +00:00
d14c8aab99 Turns out that Mazurkiewicz's gripe about 'function inheritance' is
actually a type-coercion problem.  If you have a function defined on
class A, and class B inherits from A, then the function ought to work
on class B as well --- but coerce_type didn't know that.  Now it does.
2000-03-16 06:35:07 +00:00
d4a2c86eaf Fix for char_length() changes 2000-03-16 05:07:21 +00:00
e64a331179 Fix some (more) problems with subselects in rules. Rewriter failed to
mark query as having subselects if a subselect was added from a rule
WHERE condition (as opposed to a rule action).  Also, fix adjustment
of varlevelsup so that it actually has some prospect of working when
inserting an expression containing a subselect into a subquery.
2000-03-16 03:23:18 +00:00
4a3a1e2cf1 Hi,
small changes in formatting.c code (better memory usage ...etc.) and
better
to_char's cache (will fastly for more to_char()s in one query).

(It is probably end of to_char() development in 7.0 cycle.)

                                                Karel
2000-03-16 01:35:41 +00:00
6358e654ca Update comment obsoleted by Thomas's latest fixes. 2000-03-15 23:42:14 +00:00
1763a7c1ea Tweak GROUP BY so that it will still accept result-column names, but only
after trying to resolve the item as an input-column name.  This allows us
to be compliant with the SQL92 spec for queries that fall within the spec,
while still accepting the same out-of-spec queries as 6.5 did.  You'll only
lose if there is an output column name that is the same as an input
column name, but doesn't refer to the same value.  7.0 will interpret
such a GROUP BY spec differently than 6.5 did.  No way around that, because
6.5 was clearly not spec compliant.
2000-03-15 23:31:19 +00:00
8e0790519a *** empty log message *** 2000-03-15 19:09:10 +00:00
77f4885393 Fix busted TRANSLATE() code --- it coredumped due to pfree()'ing the
wrong pointer.
2000-03-15 17:24:18 +00:00
795878d2dd Fix " to ' on lobj docs. 2000-03-15 17:07:41 +00:00
84b9507f78 Remove another incorrect UserAbortTransactionBlock() call. 2000-03-15 07:02:56 +00:00
fe189063b8 Remove gratuitous and incorrect begin/commit transaction calls in
CREATE DB/DROP DB.  If you didn't think they were wrong, try what
happens when you compile with -DCLOBBER_FREED_MEMORY --- database
name displayed in error messages is trashed, because transaction
abort freed it.  Also, remove trailing periods in error messages,
per our prevailing style.
2000-03-15 06:50:51 +00:00
c397e264db Fix a couple of missed changes in expected results. 2000-03-15 06:24:58 +00:00
ce3b489b97 Add 'datetime' -> 'timestamp' conversion to xlateSqlFunc() to ease
the pain of updating apps to 7.0.  Should we also translate some of
the 'datetime_foo' functions that exist in 6.* ?
2000-03-15 05:31:55 +00:00
a50f2fd76e Repair unintentional damage to MULTIBYTE code. 2000-03-14 23:59:23 +00:00
34235a295b Cache fmgr lookup data for index's getnext() function in IndexScanDesc,
so that the fmgr lookup only has to happen once per index scan and not
once per tuple.  Seems to save 5% or so of CPU time for an indexscan.
2000-03-14 23:52:01 +00:00
6456810078 Implement column aliases on views "CREATE VIEW name (collist)".
Implement TIME WITH TIME ZONE type (timetz internal type).
Remap length() for character strings to CHAR_LENGTH() for SQL92
 and to remove the ambiguity with geometric length() functions.
Keep length() for character strings for backward compatibility.
Shrink stored views by removing internal column name list from visible rte.
Implement min(), max() for time and timetz data types.
Implement conversion of TIME to INTERVAL.
Implement abs(), mod(), fac() for the int8 data type.
Rename some math functions to generic names:
 round(), sqrt(), cbrt(), pow(), etc.
Rename NUMERIC power() function to pow().
Fix int2 factorial to calculate result in int4.
Enhance the Oracle compatibility function translate() to work with string
 arguments (from Edwin Ramirez).
Modify pg_proc system table to remove OID holes.
2000-03-14 23:06:59 +00:00
ce543b2121 Write up new TIME WITH TIME ZONE type. 2000-03-14 22:52:53 +00:00
c40a0a1b52 Marginal performance improvement in LockBuffer --- calculate address
of BufferLocks[] entry just once.  Seems to save 10% or so of the
routine's runtime, which'd not be worth worrying about if it weren't
such a hotspot.
2000-03-14 22:46:27 +00:00
e02cde4b0a > I have improved the System V semaphore emulation of the QNX4 port.
Please
> apply the attached patch to
>
> backend/port/qnx4
>
> Andreas Kardos
>
2000-03-14 18:12:06 +00:00
e3fb902991 > To make PostgreSQL compilable on Digital Unix I had to modify the
alpha_cc
> template file. Patch attached.
>
> Andreas Kardos
>
2000-03-14 16:00:22 +00:00
5e3eda41db > Here is an extension of the regression test suite for Digital Unix
(Alpha).
>
> Andreas Kardos
2000-03-14 15:59:39 +00:00