OSDN Git Service
Bruce Momjian [Thu, 23 Mar 2000 15:09:56 +0000 (15:09 +0000)]
Update history/sgml.
Bruce Momjian [Thu, 23 Mar 2000 15:00:11 +0000 (15:00 +0000)]
Please apply the attached patch to interfaces/libpq/libpq-fe.h. This would
allow to write applications which do not have a link to postgres_ext.h in
their source directory.
Andreas Kardos
Michael Meskes [Thu, 23 Mar 2000 07:53:48 +0000 (07:53 +0000)]
*** empty log message ***
Tom Lane [Thu, 23 Mar 2000 07:42:13 +0000 (07:42 +0000)]
subselect regress test was kind of silly; it claimed to test correlation
cases but actually did no such thing. Make it test some more cases than
before (including things that didn't work in 6.5).
Tom Lane [Thu, 23 Mar 2000 07:40:00 +0000 (07:40 +0000)]
Float-to-int conversion functions should return NULL when given NULL
input, not throw a gratuitous elog().
Tom Lane [Thu, 23 Mar 2000 07:38:30 +0000 (07:38 +0000)]
Remove no-longer-necessary restriction against uplevel correlation vars
outside WHERE clause. Fix a couple of places that didn't handle uplevel
refs cleanly.
Tom Lane [Thu, 23 Mar 2000 07:36:03 +0000 (07:36 +0000)]
Hack parse_coerce so it won't try to constant-fold the dummy Const
nodes introduced by make_subplan(). It'd be better if we used a
different node type for subplan result placeholders, but for now...
Tom Lane [Thu, 23 Mar 2000 07:32:58 +0000 (07:32 +0000)]
ExecSubPlan needs to be able to cope with RelabelType nodes atop the
Const placeholder nodes for subplan result values.
Bruce Momjian [Thu, 23 Mar 2000 06:35:58 +0000 (06:35 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Mar 2000 06:30:58 +0000 (06:30 +0000)]
Update HISTORY file for 7.0.
Tatsuo Ishii [Thu, 23 Mar 2000 02:04:07 +0000 (02:04 +0000)]
Prepare for 7.0 release
Tom Lane [Thu, 23 Mar 2000 00:58:36 +0000 (00:58 +0000)]
If we cannot get a real estimate for the selectivity of a range query,
use a default value that's fairly small. We were generating a result
of about 0.1, but I think 0.01 is probably better --- want to encourage
use of an indexscan in this situation.
Tom Lane [Thu, 23 Mar 2000 00:55:42 +0000 (00:55 +0000)]
Improve selectivity estimation involving string constants: pay attention
to more than one character, and try to do the right thing in non-ASCII
locales.
Tom Lane [Wed, 22 Mar 2000 22:08:35 +0000 (22:08 +0000)]
Repair logic flaw in cost estimator: cost_nestloop() was estimating CPU
costs using the inner path's parent->rows count as the number of tuples
processed per inner scan iteration. This is wrong when we are using an
inner indexscan with indexquals based on join clauses, because the rows
count in a Relation node reflects the selectivity of the restriction
clauses for that rel only. Upshot was that if join clause was very
selective, we'd drastically overestimate the true cost of the join.
Fix is to calculate correct output-rows estimate for an inner indexscan
when the IndexPath node is created and save it in the path node.
Change of path node doesn't require initdb, since path nodes don't
appear in saved rules.
Bruce Momjian [Wed, 22 Mar 2000 05:25:06 +0000 (05:25 +0000)]
Update pg_dumpall again.
Bruce Momjian [Wed, 22 Mar 2000 05:10:22 +0000 (05:10 +0000)]
Fix pg_dumpall for new psql output.
Tom Lane [Tue, 21 Mar 2000 06:35:22 +0000 (06:35 +0000)]
Forgot that odbc had its own copies of config.sub/config.guess.
Update those to latest Autoconf sources, too.
Thomas G. Lockhart [Tue, 21 Mar 2000 06:02:22 +0000 (06:02 +0000)]
Fix query for primary keys to reflect new DISTINCT ON () syntax.
Reported by "Tibor Laszlo" <ltibor@mail.tiszanet.hu> and fix suggested by
"Hiroshi Inoue" <Inoue@tpf.co.jp>.
Thomas G. Lockhart [Tue, 21 Mar 2000 06:00:41 +0000 (06:00 +0000)]
Add syntax for BIT() and BIT VARYING(), but no underlying implementation
is available yet.
Remove redundant call to xlateSqlType() in the character
type handling code.
Thomas G. Lockhart [Tue, 21 Mar 2000 05:59:14 +0000 (05:59 +0000)]
Update test for new ORDER BY clause from Tom Lane.
Tom Lane [Tue, 21 Mar 2000 05:12:12 +0000 (05:12 +0000)]
Restructure planning code so that preprocessing of targetlist and quals
to simplify constant expressions and expand SubLink nodes into SubPlans
is done in a separate routine subquery_planner() that calls union_planner().
We formerly did most of this work in query_planner(), but that's the
wrong place because it may never see the real targetlist. Splitting
union_planner into two routines also allows us to avoid redundant work
when union_planner is invoked recursively for UNION and inheritance
cases. Upshot is that it is now possible to do something like
select float8(count(*)) / (select count(*) from int4_tbl) from int4_tbl
group by f1;
which has never worked before.
Tom Lane [Tue, 21 Mar 2000 04:20:45 +0000 (04:20 +0000)]
Correct typo in error message.
Bruce Momjian [Tue, 21 Mar 2000 01:52:12 +0000 (01:52 +0000)]
This patch corrects spelling, grammar and euphony for the psql reference
page for 7.0:
Oliver Elphick
Bruce Momjian [Mon, 20 Mar 2000 15:42:47 +0000 (15:42 +0000)]
Reverse out BYTEA type coersion.
Vadim B. Mikheev [Mon, 20 Mar 2000 07:25:39 +0000 (07:25 +0000)]
Turn XLOG off (do not create log file).
Tom Lane [Mon, 20 Mar 2000 05:20:34 +0000 (05:20 +0000)]
Emit 'this operator is deprecated' warnings for ':' and ';'.
Tom Lane [Mon, 20 Mar 2000 05:19:11 +0000 (05:19 +0000)]
Convert float8 regress test to use exp() and ln() instead of ':' and
';' operators.
Bruce Momjian [Mon, 20 Mar 2000 04:26:01 +0000 (04:26 +0000)]
Update for BYTEAOID.
Tom Lane [Mon, 20 Mar 2000 04:22:11 +0000 (04:22 +0000)]
Sorry, I have read the misspelling 'coersion' one time too many.
Tom Lane [Mon, 20 Mar 2000 04:20:52 +0000 (04:20 +0000)]
Add exp(), ln(), and some other functions to numeric-functions table.
Tom Lane [Mon, 20 Mar 2000 04:19:47 +0000 (04:19 +0000)]
Add note that ':' and ';' operators are deprecated.
Bruce Momjian [Mon, 20 Mar 2000 04:02:47 +0000 (04:02 +0000)]
Add compatiblity information for bytea.
Hiroshi Inoue [Mon, 20 Mar 2000 00:24:37 +0000 (00:24 +0000)]
Add FORCE keyword to ColID
Tom Lane [Sun, 19 Mar 2000 22:48:30 +0000 (22:48 +0000)]
Make use of pre-existing regexp match capability to eliminate redundant
entries in template selection rules. Also, change alpha-dec-osf pattern
to cope with version info attached to the 'alpha' part.
Tom Lane [Sun, 19 Mar 2000 22:46:56 +0000 (22:46 +0000)]
Autoconf run
Tom Lane [Sun, 19 Mar 2000 22:46:22 +0000 (22:46 +0000)]
Change configure.in to note that since we are using expr(1)'s regex match
command, the entries in template/.similar can really be regular
expressions. This isn't a new feature, just an observation of what the
code already did.
Tom Lane [Sun, 19 Mar 2000 22:10:52 +0000 (22:10 +0000)]
cash_words_out function truncated its output by 1 character due to
incorrect use of StrNCpy.
Tom Lane [Sun, 19 Mar 2000 22:10:08 +0000 (22:10 +0000)]
Several calls to StrNCpy incorrectly subtracted 1 from the length arg,
leading to postmaster accepting args 1 shorter than it had room for.
Tom Lane [Sun, 19 Mar 2000 22:08:51 +0000 (22:08 +0000)]
Change MemSet and StrNCpy to evaluate their arguments only once.
Fix inadequate parenthesization in several other macros.
Tom Lane [Sun, 19 Mar 2000 21:59:30 +0000 (21:59 +0000)]
Since PORTNAME is no longer used at the level of C code (it's only in
Makefiles now), there's no reason for os2client to maintain its own
copy of c.h just to change #define PORTNAME. Simplify Makefile
accordingly. Get rid of horribly-out-of-date modified copy of c.h,
which should never have been in the distribution to start with,
since it's actually a derived file. Now it's not needed anyway.
Bruce Momjian [Sun, 19 Mar 2000 19:52:44 +0000 (19:52 +0000)]
Proper unpack de_DE.ISO-8859-1
Tom Lane [Sun, 19 Mar 2000 18:20:38 +0000 (18:20 +0000)]
Minor code rearrangement & doc improvement in eval_const_expressions().
Michael Meskes [Sun, 19 Mar 2000 10:04:47 +0000 (10:04 +0000)]
*** empty log message ***
Tom Lane [Sun, 19 Mar 2000 07:13:58 +0000 (07:13 +0000)]
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.
Bruce Momjian [Sun, 19 Mar 2000 02:19:43 +0000 (02:19 +0000)]
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
Tom Lane [Sun, 19 Mar 2000 01:12:18 +0000 (01:12 +0000)]
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...
Tom Lane [Sun, 19 Mar 2000 00:19:39 +0000 (00:19 +0000)]
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.
Tom Lane [Sun, 19 Mar 2000 00:15:39 +0000 (00:15 +0000)]
In can_coerce_type, verify that a possible type-coercion function
actually returns the type it is named for.
Peter Eisentraut [Sat, 18 Mar 2000 22:48:29 +0000 (22:48 +0000)]
Fixed psql -c "\slashcmd"
Bruce Momjian [Sat, 18 Mar 2000 20:50:10 +0000 (20:50 +0000)]
Update bytea type description
Tom Lane [Sat, 18 Mar 2000 19:53:54 +0000 (19:53 +0000)]
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).
Tom Lane [Sat, 18 Mar 2000 18:57:16 +0000 (18:57 +0000)]
Clean up minor compiler warnings.
Tom Lane [Sat, 18 Mar 2000 18:03:12 +0000 (18:03 +0000)]
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.
Tom Lane [Sat, 18 Mar 2000 05:44:21 +0000 (05:44 +0000)]
Repair typos: <xb> EOF rule should be <xh>, likewise <xq> to <xd>
Tom Lane [Sat, 18 Mar 2000 04:32:35 +0000 (04:32 +0000)]
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.
Bruce Momjian [Sat, 18 Mar 2000 00:33:45 +0000 (00:33 +0000)]
Add translation of timespan to interval.
Tom Lane [Fri, 17 Mar 2000 23:26:36 +0000 (23:26 +0000)]
Patch possible portability problem: a few places had // style comments,
which is not ANSI C, even though some compilers will take it...
Tom Lane [Fri, 17 Mar 2000 23:17:23 +0000 (23:17 +0000)]
Typo correction (// -> /)
Tom Lane [Fri, 17 Mar 2000 05:29:07 +0000 (05:29 +0000)]
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.
Tom Lane [Fri, 17 Mar 2000 02:36:41 +0000 (02:36 +0000)]
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...
Tom Lane [Thu, 16 Mar 2000 20:41:17 +0000 (20:41 +0000)]
Update config.guess and config.sub to latest versions available from
the GNU Autoconf CVS server.
Tom Lane [Thu, 16 Mar 2000 17:03:41 +0000 (17:03 +0000)]
Tweak horology regress test to ensure platform-independent ordering of
results in conversions tests. Update horology-no-DST-before-1970.out.
Bruce Momjian [Thu, 16 Mar 2000 15:35:34 +0000 (15:35 +0000)]
Since it has been confirmed working on the bugs list, please apply the
attached patch.
Andreas Kardos
Bruce Momjian [Thu, 16 Mar 2000 15:34:36 +0000 (15:34 +0000)]
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
Thomas G. Lockhart [Thu, 16 Mar 2000 14:39:30 +0000 (14:39 +0000)]
Fix typo (introduced by xemacs markup normalization) in the syntax summary.
Thomas G. Lockhart [Thu, 16 Mar 2000 14:38:42 +0000 (14:38 +0000)]
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.
Thomas G. Lockhart [Thu, 16 Mar 2000 14:38:31 +0000 (14:38 +0000)]
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).
Thomas G. Lockhart [Thu, 16 Mar 2000 14:37:33 +0000 (14:37 +0000)]
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.
Tatsuo Ishii [Thu, 16 Mar 2000 11:55:43 +0000 (11:55 +0000)]
Fixes for char_length() change.
Tatsuo Ishii [Thu, 16 Mar 2000 11:53:16 +0000 (11:53 +0000)]
Fixes for char_length() changes.
Tom Lane [Thu, 16 Mar 2000 06:35:07 +0000 (06:35 +0000)]
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.
Tatsuo Ishii [Thu, 16 Mar 2000 05:07:21 +0000 (05:07 +0000)]
Fix for char_length() changes
Tom Lane [Thu, 16 Mar 2000 03:23:18 +0000 (03:23 +0000)]
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.
Bruce Momjian [Thu, 16 Mar 2000 01:35:41 +0000 (01:35 +0000)]
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
Tom Lane [Wed, 15 Mar 2000 23:42:14 +0000 (23:42 +0000)]
Update comment obsoleted by Thomas's latest fixes.
Tom Lane [Wed, 15 Mar 2000 23:31:19 +0000 (23:31 +0000)]
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.
Michael Meskes [Wed, 15 Mar 2000 19:09:10 +0000 (19:09 +0000)]
*** empty log message ***
Tom Lane [Wed, 15 Mar 2000 17:24:18 +0000 (17:24 +0000)]
Fix busted TRANSLATE() code --- it coredumped due to pfree()'ing the
wrong pointer.
Bruce Momjian [Wed, 15 Mar 2000 17:07:41 +0000 (17:07 +0000)]
Fix " to ' on lobj docs.
Tom Lane [Wed, 15 Mar 2000 07:02:56 +0000 (07:02 +0000)]
Remove another incorrect UserAbortTransactionBlock() call.
Tom Lane [Wed, 15 Mar 2000 06:50:51 +0000 (06:50 +0000)]
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.
Tom Lane [Wed, 15 Mar 2000 06:24:58 +0000 (06:24 +0000)]
Fix a couple of missed changes in expected results.
Tom Lane [Wed, 15 Mar 2000 05:31:55 +0000 (05:31 +0000)]
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.* ?
Tom Lane [Tue, 14 Mar 2000 23:59:23 +0000 (23:59 +0000)]
Repair unintentional damage to MULTIBYTE code.
Tom Lane [Tue, 14 Mar 2000 23:52:01 +0000 (23:52 +0000)]
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.
Thomas G. Lockhart [Tue, 14 Mar 2000 23:06:59 +0000 (23:06 +0000)]
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.
Thomas G. Lockhart [Tue, 14 Mar 2000 22:52:53 +0000 (22:52 +0000)]
Write up new TIME WITH TIME ZONE type.
Tom Lane [Tue, 14 Mar 2000 22:46:27 +0000 (22:46 +0000)]
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.
Bruce Momjian [Tue, 14 Mar 2000 18:12:06 +0000 (18:12 +0000)]
> I have improved the System V semaphore emulation of the QNX4 port.
Please
> apply the attached patch to
>
> backend/port/qnx4
>
> Andreas Kardos
>
Bruce Momjian [Tue, 14 Mar 2000 16:00:22 +0000 (16:00 +0000)]
> To make PostgreSQL compilable on Digital Unix I had to modify the
alpha_cc
> template file. Patch attached.
>
> Andreas Kardos
>
Bruce Momjian [Tue, 14 Mar 2000 15:59:39 +0000 (15:59 +0000)]
> Here is an extension of the regression test suite for Digital Unix
(Alpha).
>
> Andreas Kardos
Bruce Momjian [Tue, 14 Mar 2000 15:55:54 +0000 (15:55 +0000)]
> Here is an extension of the regression test suite for Digital Unix
(Alpha).
>
Bruce Momjian [Tue, 14 Mar 2000 15:55:17 +0000 (15:55 +0000)]
> The snprintf stuff in interfaces/ecpg/preproc/Makefile.in is broken.
Please
> apply the attached patch.
>
> Andreas Kardos
>
>
Tatsuo Ishii [Tue, 14 Mar 2000 08:34:47 +0000 (08:34 +0000)]
Detect postmaster being ready by calling psql -l rathern than
checking postmaster.pid. It's not enough to check the existence
of postmaster.pid since DB recovery might be running.
Tom Lane [Tue, 14 Mar 2000 02:23:15 +0000 (02:23 +0000)]
Fix some bogosities in the code that deals with estimating the fraction
of tuples we are going to retrieve from a sub-SELECT. Must have been
half asleep when I did this code the first time :-(
Peter Eisentraut [Mon, 13 Mar 2000 13:46:32 +0000 (13:46 +0000)]
Fixed deficiency where an unterminated (no semicolon) command at end of
psql script would be dropped silently.
Tom Lane [Mon, 13 Mar 2000 02:31:13 +0000 (02:31 +0000)]
Extend numeric_round and numeric_trunc to accept negative scale inputs
(ie, allow rounding to occur at a digit position left of the decimal
point). Apparently this is how Oracle handles it, and there are
precedents in other programming languages as well.
Tom Lane [Mon, 13 Mar 2000 01:54:07 +0000 (01:54 +0000)]
Remove unnecessary limitations on lengths of bpchar and varchar constants.
Since we detect oversize tuples elsewhere, I see no reason not to allow
string constants that are 'too long' --- after all, they might never get
stored in a tuple at all.
Tom Lane [Mon, 13 Mar 2000 01:52:06 +0000 (01:52 +0000)]
Performance improvement for lexing long strings: increase flex's
YY_READ_BUF_SIZE, which turns out to have nothing to do with buffer size.
It's just a totally arbitrary upper limit on how much data myinput() is
asked for at one time.
Tom Lane [Sun, 12 Mar 2000 20:09:41 +0000 (20:09 +0000)]
Somehow, the variant NATIONAL CHAR [ VARYING ] was missing from the
set of SQL-standard type names that we accept.