Commit Graph

6200 Commits

Author SHA1 Message Date
Tom Lane 5717dcb8a7 New coding for SET provoked a 'var might be used uninitialized' warning
from gcc.  Which wasn't actually a code bug, but I don't like warnings.
2000-03-31 02:11:03 +00:00
Bruce Momjian be1d9fea15 Update make_mkid for mkid version 4.0. 2000-03-31 01:41:27 +00:00
Michael Meskes c9576ca1e0 *** empty log message *** 2000-03-30 11:41:46 +00:00
Tom Lane 92008a22c3 alpha-dec-osf host pattern must become alpha.*-dec-osf to match
newer Alpha platforms.
2000-03-30 07:49:39 +00:00
Tom Lane 007f812579 Update alternate float8 output files to match current float8.sql. 2000-03-30 07:46:00 +00:00
Tom Lane 738a9ca5e7 Update numeric_big regress test for 7.0. This has apparently been
broken almost since the word go ... I guess no one ever ran it ...
2000-03-30 07:13:20 +00:00
Thomas G. Lockhart 362575b782 Enable more flexible syntax for the SET command. Now allows single floats,
single integers, and lists of names, without surrounding them with quotes.
Remove all tokens which are defined as operators from ColID and ColLabel
 to avoid precedence confusion. Thanks to Tom Lane for catching this.
2000-03-30 06:02:36 +00:00
Tom Lane b68d9c4c41 Makefile should not pre-empt user's decision about whether
to use -g ... especially not when this can cause real problems on some
platforms ...
2000-03-30 05:57:30 +00:00
Tom Lane 0517c3204e Unixware fix for new config.guess output,
from Bill.Allie@mug.org.
2000-03-30 05:49:47 +00:00
Tom Lane 0a5a0b8dfd Make use of configure symbols for unportable constructs. Make
inclusions of system headers more consistent.
2000-03-30 05:30:42 +00:00
Tom Lane 67cee15367 Autoconf. 2000-03-30 05:29:44 +00:00
Tom Lane 0a1ed443f8 Add configure checks to see if 'using namespace std' and
'#include <string>' work in the local C++ compiler.
2000-03-30 05:29:21 +00:00
Tom Lane 835d78d589 Remove extraneous semicolon. 2000-03-30 02:59:14 +00:00
Tom Lane e55985d3be Tweak indexscan cost estimation: round estimated # of tuples visited up
to next integer.  Previously, if selectivity was small, we could compute
very tiny scan cost on the basis of estimating that only 0.001 tuple
would be fetched, which is silly.  This naturally led to some rather
silly plans...
2000-03-30 00:53:30 +00:00
Peter Eisentraut 341dc91820 Added latest config.guess and config.sub 2000-03-29 16:12:31 +00:00
Thomas G. Lockhart 1b113a23e5 Change rules for interpreting date/time input to disallow 1 and 3 character
years. Rejects dates like '0.085', which were accepted previously.
2000-03-29 03:57:18 +00:00
Tom Lane 1f7ba1ebaf Fix some bogosity in the tutorial examples. 2000-03-28 02:49:19 +00:00
Bruce Momjian 081cba45e6 Allow compile to finish even if plperl fails, which it does now. 2000-03-27 22:39:13 +00:00
Peter Eisentraut a9f37f16d2 Fixed bug with repeated \e in psql (failed to clear buffers correctly) 2000-03-27 21:11:37 +00:00
Thomas G. Lockhart 2dabd2cd1f Allow full type names in CREATE FUNCTION arguments and return type.
Move CREATE FUNCTION/WITH clause to end of statement to get around
 shift/reduce conflicts with type names containing "WITH".
Add lots of tokens as allowed ColId's and/or ColLabel's,
 so this should be a complete set for the v7.0 release.
2000-03-27 17:12:06 +00:00
Thomas G. Lockhart 2c8223f14b Fix up comments where had been uglified by the automated reformatter. 2000-03-27 17:07:48 +00:00
Thomas G. Lockhart 0b96c6f4ae Change form of query which used "DISTINCT ON" to help support primary keys.
We still have an internal limit in the ODBC code of 8 columns per key,
 but this should lay the groundwork for resolving that.
Includes reformulated query from Tom Lane.
2000-03-27 17:04:47 +00:00
Tatsuo Ishii a92ab528ef Enhance pg_ctl so that it prints error messages from postmaster
if it fails to start up it (this is only vaild if -w is given).
2000-03-27 02:12:03 +00:00
Tom Lane 0a27641c1a nodeAgg has always been willing to accept an aggregate with a finalFunc
and only one transition state, but the CREATE AGGREGATE code rejected
this combination.
2000-03-26 19:43:58 +00:00
Peter Eisentraut 4579e68db2 Updated user's guide to match new psql's output format
Fixed bug in createdb/alternative location
2000-03-26 18:32:30 +00:00
Tatsuo Ishii d7959b5c71 Change resultmap:
powerpc-unknown-linux-gnu --> powerpc-unknown-linux-gnulibc1
this is because for new config.guess.
2000-03-26 02:35:01 +00:00
Tatsuo Ishii f3160a6530 New platform specific geometry regression expected file for
powerpc-linux-gnulibc1.
2000-03-26 02:28:07 +00:00
Tatsuo Ishii 5363144d37 Remove some results from int4-not-representable.out
This is due to the changes made to int4.sql.

< SELECT dsqrt(float8 '64') AS eight;
<  eight
< -------
<      8
< (1 row)
<
< SELECT |/float8 '64' AS eight;
<  eight
< -------
<      8
< (1 row)
<
< SELECT ||/float8 '27' AS three;
<  three
< -------
<      3
< (1 row)
<
2000-03-26 02:25:34 +00:00
Tom Lane bccac99e97 Make configure --help produce slightly more useful and consistently-
formatted descriptions of --with options.
2000-03-26 01:29:25 +00:00
Bruce Momjian d2684ea712 Attached is the regression diff for geometry, RedHat 6.1 on a Pentium
200 MMX. I was going through my e-mail, cleaning out my 1000+ message
inbox, and found this one.  Sorry.

--
Lamar Owen
2000-03-26 00:18:57 +00:00
Tom Lane 0abebf0e7b Remove bogus complexity from build/install of plperl. This stuff was
apparently copied from the makefile for the perl5 interface module,
which needs it for reasons explained in src/interfaces/Makefile.
But none of those reasons apply to plperl.
2000-03-25 19:26:49 +00:00
Tom Lane e4739e7029 Old patch from Mark Hollomon to add plperl to createlang's repertoire.
Seems to have slipped through the cracks.
2000-03-25 19:10:27 +00:00
Tom Lane cfc0ba8c04 Another fix for old shells. 2000-03-25 19:01:48 +00:00
Tom Lane c446802b22 Fix syntax error reported by old shells ("if ! command..." is a
neologism, apparently).
2000-03-25 18:46:17 +00:00
Bruce Momjian 1aecb8d2ff More >&1 cleanups 2000-03-25 14:44:42 +00:00
Bruce Momjian 3df65f8499 More changes of >& to 2>&1 2000-03-25 14:36:58 +00:00
Bruce Momjian 6e801bd8db Remove >& and make it 2>&1 2000-03-25 14:32:50 +00:00
Bruce Momjian 0dd9558ed7 Add POLLUTE=1 to perl Makefile.PL creations. 2000-03-25 14:25:31 +00:00
Tom Lane 5c462baebc transformCreateStmt should put Ident nodes, not ColumnDef nodes, into
keys lists of Constraint nodes.  This eliminates a type pun that would
probably have caused trouble someday, and eliminates circular references
in the parsetree that were causing trouble now.
Also, change parser's uses of strcasecmp() to strcmp().  Since scan.l
has downcased any unquoted identifier, it is never correct to check an
identifier with strcasecmp() in the parser.  For example,
	CREATE TABLE FOO (f1 int, UNIQUE("F1"));
was accepted, which is wrong, and xlateSqlFunc did more than it should:
select datetime();
ERROR:  Function 'timestamp()' does not exist
(good)
select "DateTime"();
ERROR:  Function 'timestamp()' does not exist
(bad)
2000-03-24 23:34:19 +00:00
Tom Lane 8f50f7a291 Improve comment. 2000-03-24 23:26:45 +00:00
Tom Lane 8cbeb5f131 Save a few cycles in simple cases: no need to call cost_sort() when there
is no presorted path to compare with.
2000-03-24 21:40:43 +00:00
Bruce Momjian c07118b3b3 Remove -O2 for aix. 2000-03-24 14:39:07 +00:00
Tom Lane 39cd6e2e91 outfuncs.c was missing a print routine for Material plan nodes, leading
to trouble when trying to EXPLAIN VERBOSE a plan containing one.
2000-03-24 02:58:25 +00:00
Tom Lane eca02fee2c Rename bytea functions to not have upper-case letters in their names.
Clean up grotty coding in them, too.  AFAICS from the CVS logs, these
have been broken since Postgres95, so I'm not going to insist on an
initdb to fix them now...
2000-03-24 02:41:46 +00:00
Tom Lane 0edcee3459 Fold PQsetenv working state into PGconn, rather than trying to maintain
it in a separate object.  There's no value in keeping the state separate,
and it creates dangling-pointer problems.  Also, remove PQsetenv routines
from public API, until and unless they are redesigned to have a safer
interface.  Since they were never part of the documented API before 7.0,
it's unlikely that anyone is calling them.
2000-03-24 01:39:55 +00:00
Tom Lane 7177bbac29 A little further tweaking of the range-query selectivity logic:
to avoid undue sensitivity to roundoff error, believe that a zero
or slightly negative range estimate should represent a small
positive selectivity, rather than falling back on a generic default
estimate.
2000-03-23 23:35:47 +00:00
Bruce Momjian 6d79d6027c >> 5. empty define that results in an empty but terminated line ( ; )
easy (maybe dumb) fix for 5 in attachment define.patch

greetings, Andreas
2000-03-23 23:16:49 +00:00
Bruce Momjian f8645018bc Back out // compiler flag. 2000-03-23 22:25:36 +00:00
Bruce Momjian 4ddc50dffa Hmm, absolute pathnames for the copy makes sense. I'll whip up that
patch in a second. Should be sufficent to just make sure the first
character is a '/', right?

Ross J. Reedstrom
2000-03-23 21:38:58 +00:00
Bruce Momjian b2d867fb08 Some points for portability improvements:
1. C++ style comments in C source for ecpg ( // comment )
2. compiler finds wrong include file extern.h in ecpg/lib/descriptor.c
from
include path instead of workdir (rename it ?)
3. fe-connect getsockopt takes a socklen_t as fifth arg not int (use
SOCKET_SIZE_TYPE instead)
4. char vs unsigned char in psql calls to libpq
5. empty define that results in an empty but terminated line ( ; )

Now for all but point 3 I can supply changes to the
compiler flags, to make the compiler less pedantic.
Or is someone interested in the complications ?

in the meantime can someone apply the attached patch ?

Andreas
2000-03-23 17:27:36 +00:00
Bruce Momjian 2f839c58e2 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
2000-03-23 15:00:11 +00:00
Michael Meskes ac3884e2a9 *** empty log message *** 2000-03-23 07:53:48 +00:00
Tom Lane 3097788f66 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).
2000-03-23 07:42:13 +00:00
Tom Lane 5c63975504 Float-to-int conversion functions should return NULL when given NULL
input, not throw a gratuitous elog().
2000-03-23 07:40:00 +00:00
Tom Lane 37ab088770 Remove no-longer-necessary restriction against uplevel correlation vars
outside WHERE clause.  Fix a couple of places that didn't handle uplevel
refs cleanly.
2000-03-23 07:38:30 +00:00
Tom Lane dadb14fa60 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...
2000-03-23 07:36:03 +00:00
Tom Lane 9da6d2c0e7 ExecSubPlan needs to be able to cope with RelabelType nodes atop the
Const placeholder nodes for subplan result values.
2000-03-23 07:32:58 +00:00
Bruce Momjian b508136d81 Update HISTORY file for 7.0. 2000-03-23 06:30:58 +00:00
Tom Lane 1afaa2557a 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.
2000-03-23 00:58:36 +00:00
Tom Lane cad764f349 Improve selectivity estimation involving string constants: pay attention
to more than one character, and try to do the right thing in non-ASCII
locales.
2000-03-23 00:55:42 +00:00
Tom Lane 1d5e7a6f46 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.
2000-03-22 22:08:35 +00:00
Bruce Momjian d825e55c13 Update pg_dumpall again. 2000-03-22 05:25:06 +00:00
Bruce Momjian 233a52eaff Fix pg_dumpall for new psql output. 2000-03-22 05:10:22 +00:00
Tom Lane e1a1f22f13 Forgot that odbc had its own copies of config.sub/config.guess.
Update those to latest Autoconf sources, too.
2000-03-21 06:35:22 +00:00
Thomas G. Lockhart b688f8f034 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>.
2000-03-21 06:02:22 +00:00
Thomas G. Lockhart dcdcada7e9 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.
2000-03-21 06:00:41 +00:00
Thomas G. Lockhart 3c7ca8d459 Update test for new ORDER BY clause from Tom Lane. 2000-03-21 05:59:14 +00:00
Tom Lane 3ee8f7e207 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.
2000-03-21 05:12:12 +00:00
Tom Lane aafe86d995 Correct typo in error message. 2000-03-21 04:20:45 +00:00
Bruce Momjian 2216584bcf Reverse out BYTEA type coersion. 2000-03-20 15:42:47 +00:00
Vadim B. Mikheev df238b2c06 Turn XLOG off (do not create log file). 2000-03-20 07:25:39 +00:00
Tom Lane 3caa56fe5e Emit 'this operator is deprecated' warnings for ':' and ';'. 2000-03-20 05:20:34 +00:00
Tom Lane 72b4086711 Convert float8 regress test to use exp() and ln() instead of ':' and
';' operators.
2000-03-20 05:19:11 +00:00
Bruce Momjian 7f116a6b83 Update for BYTEAOID. 2000-03-20 04:26:01 +00:00
Bruce Momjian 0e1f485f5f Add compatiblity information for bytea. 2000-03-20 04:02:47 +00:00
Hiroshi Inoue fe8098ed0c Add FORCE keyword to ColID 2000-03-20 00:24:37 +00:00
Tom Lane 966b5337e9 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.
2000-03-19 22:48:30 +00:00
Tom Lane 42ef928327 Autoconf run 2000-03-19 22:46:56 +00:00
Tom Lane 641c368ae9 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.
2000-03-19 22:46:22 +00:00
Tom Lane b178865891 cash_words_out function truncated its output by 1 character due to
incorrect use of StrNCpy.
2000-03-19 22:10:52 +00:00
Tom Lane 58422dd0af Several calls to StrNCpy incorrectly subtracted 1 from the length arg,
leading to postmaster accepting args 1 shorter than it had room for.
2000-03-19 22:10:08 +00:00
Tom Lane 6a02746550 Change MemSet and StrNCpy to evaluate their arguments only once.
Fix inadequate parenthesization in several other macros.
2000-03-19 22:08:51 +00:00
Bruce Momjian 3e0321f6e9 Proper unpack de_DE.ISO-8859-1 2000-03-19 19:52:44 +00:00
Tom Lane d6429e552d Minor code rearrangement & doc improvement in eval_const_expressions(). 2000-03-19 18:20:38 +00:00
Michael Meskes cf6420dd94 *** empty log message *** 2000-03-19 10:04:47 +00:00
Tom Lane 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
Bruce Momjian 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
Tom Lane 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
Tom Lane 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
Tom Lane 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
Peter Eisentraut 7d392f257b Fixed psql -c "\slashcmd" 2000-03-18 22:48:29 +00:00
Bruce Momjian f4d452c13c Update bytea type description 2000-03-18 20:50:10 +00:00
Tom Lane 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
Tom Lane f91dd7880f Clean up minor compiler warnings. 2000-03-18 18:57:16 +00:00
Tom Lane 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
Tom Lane 2b23e86447 Repair typos: <xb> EOF rule should be <xh>, likewise <xq> to <xd> 2000-03-18 05:44:21 +00:00
Tom Lane 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
Bruce Momjian caa6fc1ba2 Add translation of timespan to interval. 2000-03-18 00:33:45 +00:00
Tom Lane 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
Tom Lane 64ef5c82de Typo correction (// -> /) 2000-03-17 23:17:23 +00:00
Tom Lane 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
Tom Lane 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
Tom Lane 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
Tom Lane 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
Bruce Momjian 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
Bruce Momjian 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
Thomas G. Lockhart 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
Thomas G. Lockhart 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
Thomas G. Lockhart 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
Tatsuo Ishii 0e1043b760 Fixes for char_length() change. 2000-03-16 11:55:43 +00:00
Tatsuo Ishii 805e0c4589 Fixes for char_length() changes. 2000-03-16 11:53:16 +00:00
Tom Lane 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
Tatsuo Ishii d4a2c86eaf Fix for char_length() changes 2000-03-16 05:07:21 +00:00
Tom Lane 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
Bruce Momjian 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
Tom Lane 6358e654ca Update comment obsoleted by Thomas's latest fixes. 2000-03-15 23:42:14 +00:00
Tom Lane 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
Michael Meskes 8e0790519a *** empty log message *** 2000-03-15 19:09:10 +00:00
Tom Lane 77f4885393 Fix busted TRANSLATE() code --- it coredumped due to pfree()'ing the
wrong pointer.
2000-03-15 17:24:18 +00:00
Tom Lane 84b9507f78 Remove another incorrect UserAbortTransactionBlock() call. 2000-03-15 07:02:56 +00:00
Tom Lane 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
Tom Lane c397e264db Fix a couple of missed changes in expected results. 2000-03-15 06:24:58 +00:00
Tom Lane 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
Tom Lane a50f2fd76e Repair unintentional damage to MULTIBYTE code. 2000-03-14 23:59:23 +00:00
Tom Lane 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
Thomas G. Lockhart 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
Tom Lane 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
Bruce Momjian 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
Bruce Momjian 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
Bruce Momjian 5e3eda41db > Here is an extension of the regression test suite for Digital Unix
(Alpha).
>
> Andreas Kardos
2000-03-14 15:59:39 +00:00
Bruce Momjian 27b3f7c4e0 > Here is an extension of the regression test suite for Digital Unix
(Alpha).
>
2000-03-14 15:55:54 +00:00
Bruce Momjian ab9b4d8086 > The snprintf stuff in interfaces/ecpg/preproc/Makefile.in is broken.
Please
> apply the attached patch.
>
> Andreas Kardos
>
>
2000-03-14 15:55:17 +00:00
Tatsuo Ishii 44a9639123 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.
2000-03-14 08:34:47 +00:00
Tom Lane 6217a8c7ba 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 :-(
2000-03-14 02:23:15 +00:00
Peter Eisentraut a1642089bf Fixed deficiency where an unterminated (no semicolon) command at end of
psql script would be dropped silently.
2000-03-13 13:46:32 +00:00
Tom Lane e631df3c1b 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.
2000-03-13 02:31:13 +00:00
Tom Lane 57cf09591b 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.
2000-03-13 01:54:07 +00:00
Tom Lane a84c95634e 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.
2000-03-13 01:52:06 +00:00
Tom Lane 7cb253ed19 Somehow, the variant NATIONAL CHAR [ VARYING ] was missing from the
set of SQL-standard type names that we accept.
2000-03-12 20:09:41 +00:00
Tom Lane 1879175b18 Fix performance bug in constant-expression simplifier. After finding
that the inputs to a given operator can be recursively simplified to
constants, it was evaluating the operator using the op's *original*
(unsimplified) arg list, so that any subexpressions had to be evaluated
again.  A constant subexpression at depth N got evaluated N times.
Probably not very important in practical situations, but it made us look
real slow in MySQL's 'crashme' test...
2000-03-12 19:32:06 +00:00
Tom Lane ef3386affe Fix performance problem in fireRIRonSubselect: with nested subqueries,
fireRIRonSubselect was invoked twice at each subselect, leading to an
exponential amount of wasted effort.
2000-03-12 18:57:05 +00:00
Tom Lane 117fa25ae1 Clean up grammar's handling of NULL in expressions: a_expr_or_null is
gone, replaced by plain a_expr.  The few places where we needed to
distinguish NULL from a_expr are now handled by tests inside the actions
rather than by separate productions.  This allows us to accept queries
like 'SELECT 1 + NULL' without requiring parentheses around the NULL.
2000-03-12 00:39:52 +00:00
Tom Lane e8be8ffaf0 Further tweaking of logic that decides when to materialize an uncorrelated
subplan: do it if subplan has subplans itself, and always do it if the
subplan is an indexscan.  (I originally set it to materialize an indexscan
only if the indexqual is fairly selective, but I dunno what I was
thinking ... an unselective indexscan is still expensive ...)
2000-03-11 23:53:41 +00:00
Tom Lane bbe1ff7404 Make TypeCategory think that NAME is a member of type
category STRING.  Also, if UNKNOWNOID is passed in, return UNKNOWN_TYPE
not USER_TYPE.
2000-03-11 23:19:50 +00:00
Tom Lane c9f287e49b Further fixes for bogus list-slinging, scribbling on input, etc in type
coercion code.  I'm beginning to wonder why we have separate candidate
selection routines for functions, operators, and aggregates --- shouldn't
this code all be unified?  But meanwhile,
	SELECT 'a' LIKE 'a';
finally works; the code for dealing with unknown input types for operators
was pretty busted.
2000-03-11 23:17:47 +00:00
Peter Eisentraut 1d75298176 Karel Zakr's revised patch to fix psql prompt for local host connections. 2000-03-11 13:56:24 +00:00
Tom Lane 73f5b0847b exec_simple_check_plan() must not allow a plan having initPlans or
subPlans to be considered 'simple'.  This fixes reported problem with
'return exists (select 1 from foo);' in plpgsql function.
2000-03-11 06:19:00 +00:00
Tom Lane f3a9d75ebd Finish cleaning up backend's handling of /* ... */ and -- comments,
per pghackers discussion around 20-Feb.  Also add specific error messages
for unterminated comments and unterminated quoted strings.  These things
are nonissues for input coming from psql, but they do matter for input
coming from other front ends.
2000-03-11 05:14:06 +00:00
Tom Lane a71daab4b4 Change PQconndefaults() to return a malloc'd array, instead of a static
array.  This allows processing of conninfo strings to be made thread-safe,
at the cost of a small memory leak in applications that use
PQconndefaults() and are not updated to free the returned array via
the new PQconninfoFree() function.  But PQconndefaults() is probably not
used very much, so this seems like a good compromise.
2000-03-11 03:08:37 +00:00
Tom Lane 773e84f52a Update perl5's self-test for changed spelling of connection failure
error message.
2000-03-11 02:57:24 +00:00
Michael Meskes 37ae1c0467 *** empty log message *** 2000-03-10 06:48:46 +00:00
Bruce Momjian 2a55934926 Remove SHOW after datestyle reset. 2000-03-09 17:39:34 +00:00
Bruce Momjian de62329acd Fix for bsdi 4.1 shared libraries. 2000-03-09 17:07:32 +00:00
Michael Meskes 8e7764d9c2 *** empty log message *** 2000-03-09 09:17:16 +00:00
Tom Lane dad5bb01ba Redo permissions-checking code so that it does the right thing at APPEND
nodes.  The former version failed to check permissions of relations that
were referenced in second and later clauses of UNIONs, and it did not
check permissions of tables referenced via inheritance.
2000-03-09 05:15:33 +00:00
Hiroshi Inoue fd9ff86bd9 Trial implementation of ALTER DROP COLUMN.
They are #ifdef'd.
Add -D_DROP_COLUMN_HACK__ compile option
to evaluate it.
2000-03-09 05:00:26 +00:00
Tom Lane 6513946cbb Extend #ifdef CLOBBER_FREED_MEMORY debugging option so that memory
freed wholesale by AllocSetReset() is overwritten too.
2000-03-08 23:42:58 +00:00
Tom Lane 84a89e24ee Repair access-to-already-freed-memory error recently introduced into
VACUUM.
2000-03-08 23:41:00 +00:00
Tom Lane d261adf6db Fix ==-instead-of-= typo that gcc does its level best to point out.
Isn't anybody paying attention to warnings around here?
2000-03-08 22:03:12 +00:00
Tom Lane baeafa91f3 Clean up gmake warning caused by recent NetBSD patch. <grumble> 2000-03-08 22:00:19 +00:00
Bruce Momjian 791bc6838d Hi,
The regression test script runcheck.sh doesn't seem able to
handle the blank line on the end of the resultmap file.

Here's a patch to remove it!!

Keith.
2000-03-08 19:36:19 +00:00
Bruce Momjian f43ec05d05 I've made a diff against the 7.0beta1 tree that accomplishes several things:
1) adds NetBSD shared lib support on both ELF and a.out platforms

        2) replaces "-L$(LIBPQDIR) -lpq" with "$(LIBPQ)" defined in
           Makefile.global.  This makes it much easier to build stuff in
           the source tree after you've already installed the libraries.

        3) adds TEMPLATEDIR in Makefile.global that indicates where the
           database templates are stored.  This separates the template files
           from real libraries that are installed in $(LIBDIR).
        4) changes include order of <readline/readline.h> and <readline.h>.
           The latest GNU readline installs its headers under a readline
           subdirectory.

In addition to applying the patch below the following files need to be copied:

        backend/port/dynloader:
                bsd.h -> netbsd.h
                bsd.c -> netbsd.c
        include/port:
                bsd.h -> netbsd.h
        makefiles:
                Makefile.bsd -> Makefile.netbsd

It would be great to see this incorporated into the source tree before
the 7.0 release is cut.

        Thanks!

     -- Johnny C. Lam <lamj@stat.cmu.edu>
2000-03-08 01:58:46 +00:00
Bruce Momjian 26c953e373 Bruce and all:
Here's a patch to fix the " '.' not allowed in db path" problem I ran into.
I removed '.' from the set of illegial characters, but added backtick. I also
included an explicit test for attempting include a reference to a parent dir.

How that?

Ross
2000-03-08 01:46:47 +00:00
Bruce Momjian ab7fd11846 Reversed out inet patch. 2000-03-08 01:44:37 +00:00
Bruce Momjian 326e2155d9 Hi Peter,
I try change prompt in the psql, but it is set '.' (as '%m') for
non-TCP/IP
connection. This small patch try use uname() information for non-TCP/IP
instead '.'.

                                        Karel
2000-03-08 01:38:59 +00:00
Bruce Momjian eae5184d11 Hi,
the to_char() source code is large, here are regression tests for
numeric/timestamp/int8 part. It is probably enough test for formatting
code in the formatting.c module. The others (float4/float8/int4) types
share this formatting code and eventual bugs for these types aren't
few probable.

 Patch fix timestamp_to_char() for infinity/invalid timestamp too.


                                                Karel
2000-03-08 01:34:41 +00:00
Bruce Momjian 0c5422912e Protects you from coredumps if you do eg. str::int4 where str is a text
field. cf. Tom Lane's <19021.950544016@sss.pgh.pa.us> 14 Feb hackers
message.

Cheers,

Patrick Welche
2000-03-07 23:58:38 +00:00
Bruce Momjian 8fa8f80c1a I've recently written to pgsql-ports about a problem with PG7.0 on NT
(Subj: [PORTS] initdb problem on NT with 7.0).  Since nobody helped me,
I had to find out the reson.  The difference between NT and Linux (for
instance) is that "open( path, O_RDWR );" opens a file in text mode.  So
sometime less block can be read than required.

I suggest a following patch.  BTW the situation appeared before, see
hba.c, pqcomm.c and others.


Alexei Zakharov
2000-03-07 23:49:31 +00:00
Tom Lane 9606f36210 Someone (probably me) forgot about handling of typecasts applied to
parameters.
2000-03-07 23:30:53 +00:00
Bruce Momjian 91124a2f66 Fix problems with pg_upgrade found by Kardos, Dr. Andrea 2000-03-07 23:09:34 +00:00
Bruce Momjian 52d39d519a Sorting for the inet data type randomly returns the wrong result
when you have networks with the same prefix, but different netmasks.

This is due to the fact that occassionally there is random
(uninitialized?)
data in the extra bits past the point where the netmask cares about
them.

ie (real data from a real live database):

  10.0/10 == 00001010.00100000.00100000.00011000
  10.0/11 == 00001010.00000000.00000000.00000000
                        ^ Bad data, normally never seen

The v4bitncmp() function was only taking one bit length argument so
it would determine that the networks were different, even though
they really aren't (and the netmask test wouldn't be used).  This
ONLY happens if the tuple with the longer bit length is used as the
ip_bits() for the v4bitncmp call AND there happens to be junk data
in place in the shorter tuple.  Odd and random, but I saw it happen
a couple times so...


Ryan Mooney
2000-03-07 23:01:43 +00:00
Michael Meskes 5a197810c0 *** empty log message *** 2000-03-07 15:11:03 +00:00
Tatsuo Ishii ad3db67e53 Add SQL_ASCII encoding test case 2000-03-06 01:29:54 +00:00
Peter Eisentraut 3526017a59 Forgot to run autoconf.
(Configure shouldn't really be in CVS ...)
2000-03-05 14:14:15 +00:00
Peter Eisentraut 8de482a847 Added configure test for readline's filename_completion_function
Completed psql's \? help
2000-03-05 13:30:20 +00:00
Michael Meskes 3c71ed7e72 *** empty log message *** 2000-03-03 14:39:26 +00:00
Michael Meskes 1c7fad57d6 *** empty log message *** 2000-03-03 13:24:06 +00:00
Michael Meskes 3a81a1a462 *** empty log message *** 2000-03-03 09:56:03 +00:00
Michael Meskes 85b2875a3a *** empty log message *** 2000-03-02 19:33:59 +00:00
Michael Meskes 9309eac111 *** empty log message *** 2000-03-02 12:13:32 +00:00
Tom Lane 0eb5ab8250 Apply a MATERIAL node to the result of an uncorrelated subplan, if it
looks like it will save computation to do so.
2000-03-02 04:08:16 +00:00
Tom Lane 9f198423df Hmm, it seems nodeMaterial has been broken for a good long while;
closing a relcache entry more times than you open it is not cool.
2000-03-02 04:06:39 +00:00
Bruce Momjian bd2d0983d4 Patch for Irix from Mark Dalphin. 2000-03-02 02:01:01 +00:00
Peter Eisentraut c75adac757 More fixes for psql ^C handling, especially during copy. Still doesn't
cope so well with copy to but that will have to wait for the next release.

Also added -X option to prevent reading .psqlrc startup file.
2000-03-01 21:10:05 +00:00
Bruce Momjian 19c29f9236 New plperl Makefile. 2000-03-01 19:13:08 +00:00
Bruce Momjian 8daa31a21e Add QNX fixes from Kardos, Dr. Andreas 2000-03-01 19:11:12 +00:00
Tom Lane 1bd6f76ed6 equalAttr() had its strcmp test backwards :-( 2000-03-01 18:47:43 +00:00
Tom Lane 73dd716285 Small performance improvement in comparetup_heap. 2000-03-01 17:14:09 +00:00
Michael Meskes 8cb8da38b8 *** empty log message *** 2000-03-01 12:49:43 +00:00
Hiroshi Inoue a50aaa7289 Change reindex command to work properly with gist/hash/rtree 2000-03-01 05:39:24 +00:00
Tom Lane ab3dc66426 Simplify parsing of column constraints by treating constraint attributes
as independent clauses in the grammar.  analyze.c takes care of putting
the data where it belongs and complaining about invalid combinations.
Also, make TEMP (and TEMPORARY) non-reserved words.
2000-03-01 05:18:20 +00:00
Tatsuo Ishii ea8cadbf94 Remove using puts() to print messages. Instead use TPRINTF. 2000-03-01 02:39:46 +00:00
Jan Wieck b1e4b56144 Changed execution time of ON <event> RESTRICT referential
integrity triggers to after statement allways. Ignores
deferred state now, closer to SQL3 semantics.

Jan
2000-02-29 12:28:25 +00:00
Bruce Momjian f55624a96c autoconf 2000-02-28 23:32:43 +00:00
Bruce Momjian da8b899d6c Update ecpg to use snprintf 2000-02-28 23:28:41 +00:00
Bruce Momjian cf1d2165b3 Fix comment spacing. 2000-02-28 08:51:43 +00:00
Byron Nikolaidis 81704b9070 update to 6.40.0009 and provide WIN32 defines for auto-configured items
such as BLCKSZ and MAXPGPATHLEN?
2000-02-28 03:31:36 +00:00
Bruce Momjian dcba387636 remove extra include. 2000-02-28 02:21:17 +00:00
Byron Nikolaidis a7b1a008cd missing state transition 2000-02-28 00:23:18 +00:00
Tom Lane 18baa9790e Looks like I broke SET variable = DEFAULT awhile ago. Ooops. 2000-02-27 21:10:41 +00:00
Tom Lane 84ccfdf087 Avoid a little bit of unnecessary computation in canonicalize_qual. 2000-02-27 19:45:44 +00:00
Tom Lane 52a8d71203 Add lztext to TypeCategory so that lztext OP text cases will work
correctly (the lztext value will be promoted to text automatically).
2000-02-27 18:54:43 +00:00
Tom Lane 8d0f1dd179 Jan forgot to increment catversion when adding lztext. Naughty naughty. 2000-02-27 18:06:28 +00:00
Jan Wieck 75133d9a46 Reactivated LZTEXT data type and changed rule plan- and qual-strings
into lztext.

Jan
2000-02-27 12:02:34 +00:00
Tatsuo Ishii 97e38d32b8 Update expected files due to the psql format change 2000-02-27 10:21:16 +00:00
Tatsuo Ishii 570bb30d73 Suppress unneccesary message from createdb 2000-02-27 10:20:13 +00:00
Tatsuo Ishii c9ceab967c Add SQL_ASCII test case 2000-02-27 10:15:17 +00:00
Tatsuo Ishii 544cafb4d5 Fix multibyte regress results for EUC_CN, EUC_KR and EUC_TW 2000-02-27 10:14:33 +00:00
Tatsuo Ishii f30d5f9e6c Add LinuxPPC mappings 2000-02-27 10:13:22 +00:00
Tom Lane a065827554 Clean up badly-formatted error messages from pg_connect. 2000-02-27 07:44:22 +00:00
Tom Lane 750549db34 Add Assert() to check for trying to heap_close a relation when the
relcache entry's reference count is zero.
2000-02-27 07:31:00 +00:00
Tom Lane 1e091ad601 Add 'volatile' declarations to silence gcc warnings about longjmp.
Shouldn't create any portability problems, since we have a configure
test to #define away volatile if the compiler doesn't support it.
2000-02-27 07:18:29 +00:00
Tom Lane f884130241 Minor improvements in regprocout() and oidvectortypes(). 2000-02-27 03:30:27 +00:00
Tom Lane 66fe0fc87e Fix poorly worded error messages for unary operator type resolution
failures.  Fix some outright bugs too, including a reference to
uninitialized memory that would cause failures like this one:
select -('1234567890.1234567'::text);
ERROR:  Unable to locate type oid 2139062143 in catalog
2000-02-27 02:48:15 +00:00
Tom Lane ed0e292354 Clean up dependencies for version.o.
This avoids the useless rebuild of pg_version that used to happen on
each build or install pass.
2000-02-27 01:33:43 +00:00
Tom Lane 22cab26131 Clean up dependencies for version.o. 2000-02-27 01:26:12 +00:00
Tom Lane 22a9537ff3 Clean up dependencies for version.o. 2000-02-27 01:18:46 +00:00
Tom Lane 01eea27c4c Fix a couple of inconsistent usages of include <...> vs. include "...". 2000-02-27 01:10:31 +00:00
Tom Lane aff830a760 Add date and time datatype handling to convert_to_scalar. (I was waiting
for Thomas to do the datetime consolidation before touching this, but
it's done now...)
2000-02-26 23:03:12 +00:00
Tom Lane baeef0e172 Change rule dumper to produce reasonable output for casts that assign
a specific length or precision, such as foo::char(8).  Remove erroneous
removal of user-written casts at the top level of a SELECT target item.
2000-02-26 21:13:18 +00:00
Tom Lane 7173c485c8 Fix exprTypmod to recognize length-coercion function expressions,
such as bpchar(char_expression, N), and pull out the attrtypmod that
the function is coercing to.  This allows correct deduction of the
column type in examples such as
CREATE VIEW v AS SELECT f1::char(8) FROM tbl;
Formerly we labeled v's column as char-of-unknown-length not char(8).
Also, this change causes the parser not to insert a redundant length
coercion function if the user has explicitly casted an INSERT or UPDATE
expression to the right length.
2000-02-26 21:11:10 +00:00
Tom Lane cbf4c9671e psql's \d command wasn't doing the right things with 'char' (type 18)
fields, nor with bpchar and varchar fields that have typmod -1.  The
latter effectively have an unspecified length, so I made them display
as char() and varchar() rather than falsely equating them to char(1)
and varchar(1).
2000-02-26 18:31:25 +00:00
Tom Lane 6f11af0c62 I had managed to break acceptance of "char", which worked in 6.5 to
refer to the single-byte char type.  7.0 was taking it as bpchar(1).
2000-02-26 18:13:41 +00:00
Tom Lane 664908f564 Undo a couple of mistaken applications of NameStr() to StringInfos.
It worked, because they both have fields named 'data', but it's surely
trouble waiting to happen.  I wonder whether there are more ...
2000-02-26 06:36:44 +00:00
Tom Lane 08b1040374 Shared-memory hashtables have non-extensible directories, which means
it's a good idea to choose the directory size based on the expected
number of entries.  But ShmemInitHash was using a hard-wired constant.
Boo hiss.  This accounts for recent report of postmaster failure when
asking for 64K or more buffers.
2000-02-26 05:25:55 +00:00
Michael Meskes c05abfb1a8 *** empty log message *** 2000-02-25 15:26:12 +00:00
Michael Meskes 70130905d1 *** empty log message *** 2000-02-25 11:11:15 +00:00
Tom Lane 4926709563 Fix longstanding bug that kept functional indexes from working when you
defaulted the opclass.  This addresses TODO item
* Allow creation of functional indexes to use default types
(Does that make it a feature?  Oh dear...)
2000-02-25 02:58:48 +00:00
Peter Eisentraut 73348316e7 Enabled regression driver to run without PGLIB set. 2000-02-24 23:37:30 +00:00
Bruce Momjian 46ba3f839d Suppress timespan and datetime ops from being brought in via pg_dump
from previous release.
2000-02-24 16:34:21 +00:00
Bruce Momjian 5cdfaea899 Add missing files like foreign key regression tests and config.h.win32. 2000-02-24 16:02:28 +00:00
Bruce Momjian ce9f73c162 The following is required in order to make beta1 compile on the Win32
platform (psql and libpq):

The file "config.h.win32" in the include\ directory (from my patch from
2000-01-18) is missing from the tree. It needs to be put back :-)

The following patch has to be applied in the interfaces\libpq directory.


//Magnus
2000-02-24 15:53:12 +00:00
Tom Lane 58f481c4ff Tweak libpq so that if a backend ERROR message arrives while libpq
thinks the connection is idle, the error message is displayed as if
it were a NOTICE.  This seems better than dropping the message on
the floor ... particularly if the message is the backend telling us
why it's about to close the connection.  The previous behavior was
Backend message type 0x45 arrived while idle
pqReadData() -- backend closed the channel unexpectedly.
which is not real helpful.
2000-02-24 04:50:51 +00:00
Hiroshi Inoue f017d7eeee Check pending cancel request before waiting for lock 2000-02-24 04:36:01 +00:00
Hiroshi Inoue a5e944580f Add the check CommonSpecialPortal in use(my fault) 2000-02-24 04:34:38 +00:00
Tom Lane 9110b33f46 Add numeric <-> int8 and numeric <-> int2 conversion functions, as well
as a unary minus operator for numeric.  Now that long numeric constants
will get converted to NUMERIC in early parsing, it's essential to have
numeric->int8 conversion to avoid 'can't convert' errors on undecorated
int8 constants.  Threw in the rest for completeness while I was in the
area.
I did not force an initdb for this, since the system will still run
without the new pg_proc/pg_operator entries.  Possibly I should've.
2000-02-24 02:05:30 +00:00
Tom Lane 512669db9e Make make_const() check the size and precision of a T_Float Value,
and produce either FLOAT8 or NUMERIC output depending on whether the
value fits in a float8 or not.  This is almost back to the way the
code was before I changed T_Float, but there is a critical difference:
now, when a numeric constant doesn't fit in float8, it will be treated
as type NUMERIC instead of type UNKNOWN.
2000-02-24 01:59:17 +00:00
Tom Lane 399a570fe2 int8in failed to detect overflow; it really should. 2000-02-24 01:54:40 +00:00
Bruce Momjian f40c50627f Fix plpsql for bsdi. 2000-02-23 22:24:46 +00:00
Michael Meskes 9f74608f47 *** empty log message *** 2000-02-23 19:26:05 +00:00
Bruce Momjian c969e2662f 1. miscadmin.h needs to include sys/types.h for a definition of pid_t
2. Regression tests fail for types int2 and int4 (which can easily be
fixed by adding entries to resultmap) aswell as float8 and geometry,
where floating point numbers appear to be rounded a little differently
than in your expected results (besides that I also need the positive
zeros file). I'm including a patch for the first 2, but I don't know
whether the latter two are actually a bug in postgres or a bug in the
OS or even allowed difference. I'm including my results for reference.

Rolf Grossmann
2000-02-23 15:46:15 +00:00
Bruce Momjian 020be62dea Well, here's the first pass on regression
tests for the Foreign Key support in 7.0 which
was made against a CVS copy from this
afternoon.

This modifies
 src/test/regress/sql/run_check.tests
 src/test/regress/sql/alter_table.sql
 src/test/regress/expected/alter_table.out
 src/test/regress/sql/foreign_key.sql
 src/test/regress/expected/foreign_key.out

sszabo@bigpanda.co
2000-02-22 20:58:31 +00:00
Michael Meskes 991b9740ac *** empty log message *** 2000-02-22 19:57:12 +00:00
Hiroshi Inoue 5525297465 Change cancel while waiting-for-lock stuff. 2000-02-22 09:55:26 +00:00
Tom Lane e391c15ca5 First post-beta1 bug fix :-(. Silly typo in new coding for doNegate
failed to negate a negative value back to positive, so '- - 123.45'
did the wrong thing.
2000-02-22 00:05:04 +00:00
Tom Lane e1a95def8b Quick hack solution so that pg_dump of views works. Needs repair after
Thomas gets back, but better this than nonfunctional pg_dump in the beta.
2000-02-21 20:18:11 +00:00
Peter Eisentraut c8009959c9 Fixed psql's Control-C handling when COPY in progress 2000-02-21 19:40:42 +00:00
Tom Lane fc8e6c7746 Oops, commited a test version of this file by accident. Revert. 2000-02-21 18:49:54 +00:00
Tom Lane 393f313227 Change parse-time representation of float literals (which include oversize
integers) to be strings instead of 'double'.  We convert from string form
to internal representation only after type resolution has determined the
correct type for the constant.  This eliminates loss-of-precision worries
and gets rid of the change in behavior seen at 17 digits with the
previous kluge.
2000-02-21 18:47:12 +00:00
Tom Lane ee97d103cc To avoid confusion during early beta testing, commit the current rules
test output as expected output.  We'll probably want to change this again
after something's done about the verbosity of column alias display.
2000-02-21 18:42:35 +00:00
Tom Lane b04b55a9af Clean up temp file in 'make clean'. 2000-02-21 16:46:39 +00:00
Jan Wieck da9501bddb Avoid race conditions in detection of EINPROGRESS during connect().
Jan
2000-02-21 12:26:19 +00:00
Hiroshi Inoue 4b4dbf8cba Fix "Invalid XID in t_cmin" error in vacuum. 2000-02-21 07:49:40 +00:00
Tom Lane d8cedf67ad Clean up some really grotty coding in catcache.c, improve hashing
performance in catcache lookups.
2000-02-21 03:36:59 +00:00
Hiroshi Inoue a60c9e33e9 fix the TODO
* Allow PQrequestCancel() to terminate when in waiting-for-lock state
Changes are limited to BACKEND,however.
2000-02-21 02:42:37 +00:00
Tatsuo Ishii 320d3e06ee Fixes for \encoding command.
1) freeing null pointer
	2) invalid encoding info may be stored into psql variable
	3) fix indentation
2000-02-21 02:05:12 +00:00
Tom Lane be05edd812 Tweak planner to use OFFSET+LIMIT, not just LIMIT, as estimate of the
portion of the query result that will be retrieved.  As far as I could
tell, the consensus was that we should let the planner do the best it
can with a LIMIT query, and require the user to add ORDER BY if he
wants consistent results from different LIMIT values.
2000-02-21 01:13:04 +00:00
Tom Lane 07c495f5d8 Further cleanups for type coercion: treat the locution typename(argument)
as representing a type coercion request in more cases than we did before.
It will work now whenever no underlying function is required, ie if the
coercion is binary-compatible or if the argument is a previously untyped
string constant.  Otherwise, you still need a real function to exist.
2000-02-20 23:04:06 +00:00
Tom Lane 57b30e8e22 Create a new expression node type RelabelType, which exists solely to
represent the result of a binary-compatible type coercion.  At runtime
it just evaluates its argument --- but during type resolution, exprType
will pick up the output type of the RelabelType node instead of the type
of the argument.  This solves some longstanding problems with dropped
type coercions, an example being 'select now()::abstime::int4' which
used to produce date-formatted output, not an integer, because the
coercion to int4 was dropped on the floor.
2000-02-20 21:32:16 +00:00
Peter Eisentraut 718bb2cc9c Moved psql \eset and \eshow to \encoding
Improved psql's Ctrl-C handling
Fixed configure test for sigsetjmp that now even recognizes it if it's a macro
2000-02-20 14:28:28 +00:00
Tom Lane 5253c518ae Fix broken list-slinging logic in func_select_candidate and
agg_select_candidate, which could cause them to keep more candidates
than they should and thus fail to select a single match.  I had
previously fixed the identical bug in oper_select_candidate, but
didn't realize that the same error was repeated over here.
Also, repair func_select_candidate's curious notion that it could
scribble on the input type-OID vector.  That was causing failure to
apply necessary type coercion later on, leading to malfunction of
examples such as select date('now').
2000-02-20 06:35:08 +00:00
Tom Lane f4d108a257 Even after the great date/time consolidation, TypeCategory() was still
a few bricks shy of a load concerning knowing all the date/time types.
This is real bad because it interferes with func_select_candidate()'s
willingness to disambiguate functions --- func_select_candidate() will
punt unless all the available choices have the same type category.
I think this whole mechanism needs redesigned, but in the meantime
this is a needed patch.
2000-02-20 06:28:42 +00:00
Tom Lane 4467194b44 Reduce proc_exit(1) to proc_exit(0) for errors detected in backend
command line processing.  As it stood, a bogus PGOPTIONS value from
a client would force a database system restart.  Not bad as a denial-
of-service attack...
2000-02-20 04:26:35 +00:00
Tom Lane e79b2dd5e7 Fix missing \n in some psql_error calls. 2000-02-20 02:37:40 +00:00
Tom Lane bf023bd162 Add a simple regress test for SERIAL --- it's not much,
but it's better than no test at all...
2000-02-20 02:16:02 +00:00
Tom Lane 37a71f90b2 Fix SERIAL columns, which Thomas inadvertently broke parsing of.
Revised code probably accepts some silly combinations, but that's better
than not accepting valid ones.
2000-02-20 02:14:58 +00:00
Tom Lane 751a14e60c Repair longstanding violation of SQL92 semantics: GROUP BY would
interpret a column name as an output column alias (targetlist AS name),
ather than a real column name as it ought to.  According to the spec,
only ORDER BY should look at output column names.  I left in GROUP BY's
willingness to use an output column number ('GROUP BY 2'), even though
this is also contrary to the spec --- again, only ORDER BY is supposed
to accept that.  But there is no possible reason to want to GROUP BY
an integer constant, so keeping this old behavior won't break any
SQL-compliant queries.  DISTINCT ON will behave the same as GROUP BY.

Change numerology regress test, which depended on the incorrect
behavior.
2000-02-19 23:45:07 +00:00
Tom Lane b48f983ec3 Apply Keith Park's updates for expected/horology-solaris-1947.out. Fix
erroneous expected output for RESET DateStyle: should be ISO now.
Fix run_check.sh so that test postmaster is started with PGDATESTYLE=ISO,
else the horology test won't pass.
2000-02-19 22:13:37 +00:00
Tom Lane f46571165d Get rid of postgres.c's separate parsing logic for PGDATESTYLE env.
variable, instead calling same code in variable.c that is used to parse
SET DATESTYLE.  Fix bug: although backend's startup datestyle had been
changed to ISO, 'RESET DATESTYLE' and 'SET DATESTYLE TO DEFAULT' didn't
know about it.  For consistency I have made the latter two reset to the
PGDATESTYLE-defined initial value, which may not be the same as the
compiled-in default of ISO.
2000-02-19 22:10:47 +00:00
Tom Lane bd43ae0ecd Accept the noise-word ALL in aggregate function invocations for SQL92
compliance.  Wish they were all that easy...
2000-02-19 19:37:21 +00:00
Tom Lane 63746a90c1 plperl's makefile tried to use perl's choice of compiler with
postgres's choice of compiler options.  Tres uncool.
2000-02-19 19:02:20 +00:00
Tom Lane fac4f9a698 HP's compiler objects (quite rightly too) to 'static void foo();'
followed by 'extern void foo() { ... }'.
2000-02-19 18:58:37 +00:00
Thomas G. Lockhart dfdff4e0f1 First workaround solution for Jan's column constraint attributes. 2000-02-19 08:25:49 +00:00
Tatsuo Ishii 4fec86f1f6 Fix nasty bug in setting client_encoding 2000-02-19 05:04:54 +00:00
Tatsuo Ishii eb089e7f76 Add new backslash command \eset and \eshow. 2000-02-19 05:01:16 +00:00
Tatsuo Ishii c239c11a63 Fix compiler warning 2000-02-19 04:59:30 +00:00
Tom Lane 3cfdd8fdf2 Clean up scan.l's handling of \r vs \n --- they are reliably treated as
equivalent now, which should make Windows and Mac clients happier.
Also fix failure to handle SQL comments between segments of a multiline
quoted literal.
2000-02-19 04:17:25 +00:00
Tom Lane 905404a246 Remove gcc warnings. The Postgres world isn't really safe
for 'const' qualifiers yet ...
2000-02-19 02:29:07 +00:00
Tom Lane 3cbcb78a3d Plug some more memory leaks in the planner. It still leaks like a sieve,
but this is as good as it'll get for this release...
2000-02-18 23:47:31 +00:00
Michael Meskes bc8a39beef *** empty log message *** 2000-02-18 16:02:49 +00:00
Michael Meskes ab0c8c691e *** empty log message *** 2000-02-18 14:34:12 +00:00
Hiroshi Inoue e3a97b370c Implement reindex command 2000-02-18 09:30:20 +00:00
Michael Meskes e3befe4a66 *** empty log message *** 2000-02-18 08:49:07 +00:00
Tom Lane 8cb624262a Replace inefficient _bt_invokestrat calls with direct calls to the
appropriate btree three-way comparison routine.  Not clear why the
three-way comparison routines were being used in some paths and not
others in btree --- incomplete changes by someone long ago, maybe?
Anyway, this makes for a nice speedup in CREATE INDEX.
2000-02-18 06:32:39 +00:00
Peter Eisentraut 49353692d1 Fixed handling of old --with-mb option using newly gained wisdom from
autoconf mailing list. ;)
2000-02-18 00:21:38 +00:00
Michael Meskes b3b35e98b6 *** empty log message *** 2000-02-17 19:48:58 +00:00
Hiroshi Inoue 3ca3bb7d8b Fix assert bug(was my fault) 2000-02-17 05:00:38 +00:00
Tom Lane 598ea2c359 Finish repairing 6.5's problems with r-tree indexes: create appropriate
selectivity functions and make the r-tree operators use them.  The
estimation functions themselves are just stubs, unfortunately, but
perhaps someday someone will make them compute realistic estimates.
Change pg_am so that the optimizer can reliably tell the difference
between ordered and unordered indexes --- before it would think that
an r-tree index can be scanned in '<<' order, which is not right AFAIK.
Repair broken negator links for network_sup and related ops.
Initdb forced.  This might be my last initdb force for 7.0 ... hope so
anyway ...
2000-02-17 03:40:02 +00:00
Tom Lane cf880a6160 Update expected/horology-no-DST-before-1970.out to match
new datetime regress test.  Someone needs to deal with fixing
expected/horology-solaris-1947.out too, assuming we still need it.
2000-02-17 02:20:59 +00:00
Bruce Momjian 0d9a0ed6d1 Package: postgresql
Version: 6.5.3-11
Severity: important

'char' is not a signed type by default on powerpc; therefore a character
can
never be equal to EOF (-1).  A patch is attached.

Dan

/--------------------------------\  /--------------------------------\
|       Daniel Jacobowitz        |__|        SCS Class of 2002       |
2000-02-16 23:07:31 +00:00
Bruce Momjian a52692213c README not needed anymore. 2000-02-16 21:26:00 +00:00
Thomas G. Lockhart bf566b202e All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
 Transform datetime and timespan into timestamp and interval.
 Deprecate datetime and timespan, though translate to new types in gram.y.
 Transform all datetime and timespan catalog entries into new types.
 Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
 Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
  routines for all date/time types.
 date.{h,c} now deals with date, time types.
 timestamp.{h,c} now deals with timestamp, interval types.
 nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 18:17:02 +00:00
Thomas G. Lockhart 8997675c4b All regression tests pass except for rules.sql (unrelated).
Implement "date/time grand unification".
 Transform datetime and timespan into timestamp and interval.
 Deprecate datetime and timespan, though translate to new types in gram.y.
 Transform all datetime and timespan catalog entries into new types.
 Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
 Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
  routines for all date/time types.
 date.{h,c} now deals with date, time types.
 timestamp.{h,c} now deals with timestamp, interval types.
 nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 17:27:27 +00:00
Thomas G. Lockhart 41f1f5b76a Implement "date/time grand unification".
Transform datetime and timespan into timestamp and interval.
 Deprecate datetime and timespan, though translate to new types in gram.y.
 Transform all datetime and timespan catalog entries into new types.
 Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
 Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
  routines for all date/time types.
 date.{h,c} now deals with date, time types.
 timestamp.{h,c} now deals with timestamp, interval types.
 nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 17:26:26 +00:00
Thomas G. Lockhart c97672b083 Make ISO date style (e.g. "2000-02-16 09:33") the default.
Implement "date/time grand unification".
 Transform datetime and timespan into timestamp and interval.
 Deprecate datetime and timespan, though translate to new types in gram.y.
 Transform all datetime and timespan catalog entries into new types.
 Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
 Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
  routines for all date/time types.
 date.{h,c} now deals with date, time types.
 timestamp.{h,c} now deals with timestamp, interval types.
 nabstime.{h,c} now deals with abstime, reltime, tinterval types.
Make NUMERIC a known native type for purposes of type coersion. Not tested.
2000-02-16 17:25:49 +00:00
Michael Meskes 35ba9de276 *** empty log message *** 2000-02-16 16:18:29 +00:00
Bruce Momjian 988d53e5ea include cleanup 2000-02-16 13:22:00 +00:00
Bruce Momjian 78693c89d7 Clean up include files use in psql. 2000-02-16 13:15:26 +00:00
Michael Meskes 5933f1857f *** empty log message *** 2000-02-16 11:52:25 +00:00
Tom Lane 68be513f8b If we don't have any stats for a boolean column, assume
the disbursion is 0.5, not something small.
2000-02-16 01:00:23 +00:00