Commit Graph

6200 Commits

Author SHA1 Message Date
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
Tom Lane deee4e1612 Make eqsel produce better results for boolean columns,
and make scalarltsel a little more forgiving at the boundaries of the
known range of a column value.
2000-02-16 00:59:27 +00:00
Tom Lane 47dde30222 Remove long-dead code. 2000-02-15 23:12:26 +00:00
Tom Lane 90e160beff Fix missing lfirst() in ListTableAsAttrs(). This code
doesn't seem to be used at the moment, but as long as I'm looking at it...
2000-02-15 23:09:08 +00:00
Tom Lane b1577a7c78 New cost model for planning, incorporating a penalty for random page
accesses versus sequential accesses, a (very crude) estimate of the
effects of caching on random page accesses, and cost to evaluate WHERE-
clause expressions.  Export critical parameters for this model as SET
variables.  Also, create SET variables for the planner's enable flags
(enable_seqscan, enable_indexscan, etc) so that these can be controlled
more conveniently than via PGOPTIONS.

Planner now estimates both startup cost (cost before retrieving
first tuple) and total cost of each path, so it can optimize queries
with LIMIT on a reasonable basis by interpolating between these costs.
Same facility is a win for EXISTS(...) subqueries and some other cases.

Redesign pathkey representation to achieve a major speedup in planning
(I saw as much as 5X on a 10-way join); also minor changes in planner
to reduce memory consumption by recycling discarded Path nodes and
not constructing unnecessary lists.

Minor cleanups to display more-plausible costs in some cases in
EXPLAIN output.

Initdb forced by change in interface to index cost estimation
functions.
2000-02-15 20:49:31 +00:00
Tom Lane 553b5da6a1 Change to report COPY line number in error messages affects
results of constraints regress test.
2000-02-15 19:45:31 +00:00
Michael Meskes 30f16e72a4 *** empty log message *** 2000-02-15 19:23:20 +00:00
Tom Lane 6124c674ce Silence gcc warning about uninitialized var. 2000-02-15 18:17:33 +00:00
Tom Lane 16620abe12 Removed unused var to silence gcc warning. 2000-02-15 18:15:12 +00:00
Michael Meskes 72786e04fd *** empty log message *** 2000-02-15 12:15:57 +00:00
Tom Lane 4c2071c8bf Repair bogus rule display of attr lists. 2000-02-15 08:24:12 +00:00
Tom Lane 1204c3e964 Remove some // comments, which are not ANSI C last I heard. 2000-02-15 07:47:37 +00:00
Thomas G. Lockhart a344a6e7b5 Carry column aliases from the parser frontend. Enables queries like
SELECT a FROM t1 tx (a);
Allow join syntax, including queries like
  SELECT * FROM t1 NATURAL JOIN t2;
Update RTE structure to hold column aliases in an Attr structure.
2000-02-15 03:38:29 +00:00
Thomas G. Lockhart 92c8437d8d Update "join syntax" test for new capabilities. 2000-02-15 03:31:33 +00:00
Thomas G. Lockhart ebd697a388 Add line to mention PST8PDT time zone. Seems useful, but maybe not? 2000-02-15 03:30:57 +00:00
Thomas G. Lockhart e0c192e4d7 Fix up error message to start with cap letter. 2000-02-15 03:30:06 +00:00
Thomas G. Lockhart a1e6a09a89 Fix up tabbing for _int8 entry. 2000-02-15 03:28:31 +00:00
Thomas G. Lockhart 5c4b2b23af Add "DEC" as synonym for "DECIMAL".
Add "SESSION_USER" as SQL92 keyword; equivalent to CURRENT_USER for now.
Implement column aliases (aka correlation names) and more join syntax.
Fix up indenting and tabbing.
2000-02-15 03:26:38 +00:00
Thomas G. Lockhart 929e50ece8 Recognize special case of POSIX time zone: "GMT+8" and "GMT-8".
Still needs to be done for the general case:
 "tz+/-#" where tz is a 3 char string.
This will probably involve moving code around to other places.
2000-02-15 03:17:09 +00:00
Thomas G. Lockhart 7c07006ad4 Fix up error and log messages. 2000-02-15 03:00:37 +00:00
Bruce Momjian f4ca323d21 I suspect that you are not the person to send this to, but I wasn't sure
where else to mail it. I am the maintainer of unixODBC, and we have a
set of code in our project that started life as the Postgres windows
ODBC driver, which has been ported back to unix. Anyway I have just
fixed a memory leak in the driver, and I cant see any mention of the fix
being done in the main Postgres code, so I thougth I would let you know.

Its in the statement.c module, after the COMMIT statement has been
executed in SC_Execute, the code was

Nick Gorham
2000-02-14 12:33:19 +00:00
Michael Meskes 08b999f1bd *** empty log message *** 2000-02-14 10:00:06 +00:00
Peter Eisentraut 9672d38f91 Adjusted psql echoing options (-a and -e) 2000-02-13 21:45:15 +00:00
Bruce Momjian a2226ad237 contrib-array.patch
this is an old patch which I have already submitted and never seen
        in the sources. It corrects the datatype oids used in some iterator
        functions. This bug has been reported to me by many other people.

contrib-datetime.patch

        some code contributed by Reiner Dassing <dassing@wettzell.ifag.de>

contrib-makefiles.patch

        fixes all my contrib makefiles which don't work with some compilers,
        as reported to me by another user.

contrib-miscutil.patch

        an old patch for one of my old contribs.

contrib-string.patch

        a small change to the c-like text output functions. Now the '{'
        is escaped only at the beginning of the string to distinguish it
        from arrays, and the '}' is no more escaped.

elog-lineno.patch

        adds the current lineno of CopyFrom to elog messages. This is very
        useful when you load a 1 million tuples table from an external file
        and there is a bad value somehere. Currently you get an error message
        but you can't know where is the bad data. The patch uses a variable
        which was declared static in copy.c. The variable is now exported
        and initialized to 0. It is always cleared at the end of the copy
        or at the first elog message or when the copy is canceled.
        I know this is very ugly but I can't find any better way of knowing
        where the copy fails and I have this problem quite often.

plperl-makefile.patch

        fixes a typo in a makefile, but the error must be elsewhere because
        it is a file generated automatically. Please have a look.

tprintf-timestamp.patch

        restores the original 2-digit year format, assuming that the two
        century digits don't carry much information and that '000202' is
        easier to read than 20000202. Being only a log file it shouldn't
        break anything.

Please apply the patches before the next scheduled code freeze.

I also noticed that some of the contribs don't compile correcly. Should we
ask people to fix their code or rename their makefiles so that they are
ignored by the top makefile?

--
Massimo Dal Zotto
2000-02-13 18:59:53 +00:00
Bruce Momjian 77d31cf3c1 2. trigger.c fails to compile due to a syntax error. It contains
a switch statement that has an empty default label.  A label of a
    switch statement must be followed by a statement (or a label which
    is followed by a statement (or a label which ...)).

3.  Files include stringinfo.h failed to compile.  The macro,
    'appendStringInfoCharMacro' is implemented with a '?:' operation
    that returns a void expression for the true part and a char expresion
    for the false part.  Both the true and false parts of the '?:' oper-
    ator must return the same type.

Billy G. Allie
2000-02-13 13:21:11 +00:00
Peter Eisentraut 2fb0ff0c5b Default argument for createdb
Changed EXIT_ON_ERROR to ON_ERROR_STOP in psql
2000-02-10 20:08:58 +00:00
Bruce Momjian 7528fd2d52 Add btree indexing of boolean values
Don Baccus
2000-02-10 19:51:52 +00:00
Bruce Momjian ede72c2826 Improve default compile ops. 2000-02-10 19:11:17 +00:00
Bruce Momjian 25fdc6bac6 Add no CVS to make_mkid. 2000-02-10 18:41:35 +00:00
Bruce Momjian ecef31ca61 Prevent tags files in cvs directory. 2000-02-10 18:34:26 +00:00
Bruce Momjian 566c05c31a Here is the patch to add plperl to droplang.
Mark Hollomon
2000-02-09 20:23:26 +00:00
Bruce Momjian ecd8537376 I checked the WinNT port yesterday (a few days old snapshot from CVS) and I
am including a patch to get it compile.

changes to psql:
- added less as default pager when compiling on Cygwin
- need to declare "filename_completion_function" because it is not exported
from readline -> added to include/port/win.h

changes to pg_id:
- include of <getopt.h>
- add .exe when installing

I think there is a problem with calling the regress tests on WinNT - it
should be called with PORTNAME not HOST as the parameter to regress.sh or
the check  when to add "-h localhost" to psql has to be changed. Now it is
checked against the PORTNAME.

The results of the regress tests were OK with expected failures ;-)

Daniel Horak
2000-02-09 16:23:44 +00:00
Hiroshi Inoue 3dec14197b Enable backward sequential scan even after reaching EOF. 2000-02-09 03:49:47 +00:00
Peter Eisentraut 9e34883565 Fixed broken initdb --show patch 2000-02-09 00:21:49 +00:00
Tom Lane 1960f4be14 Ooops ... 'char c' can hold a char, but it can't hold EOF ... 2000-02-09 00:10:11 +00:00
Bruce Momjian 1cc7e40c80 yesterday I had a problem with initdb. I set bad environment values
and initdb crashs (I set pglib path to PG 6.5.3 directory instead to
7.0 and initdb take this BKI old templates ... (initdb not check
BKI version and BKI files not has any version comments (TODO?))

 This patch add to the initdb --show option which show setting of all
initdb's values. It spare developers time if in setting is bug.

                                                Karel

----------------------------------------------------------------------
Karel Zak <zakkr@zf.jcu.cz>              http://home.zf.jcu.cz/~zakkr/
2000-02-08 15:58:54 +00:00
Bruce Momjian 394af52795 I'm sending patch with new version of to_char numbers formatting.
The PostgreSQL's to_char() is very compatible with Oracle's to_char
 now. I hope that to_char's 3000 rows of source is without bugs, but
 will good if anyone test it, for me it works very well :-)


                                                        Karel

----------------------------------------------------------------------
Karel Zak <zakkr@zf.jcu.cz>              http://home.zf.jcu.cz/~zakkr/
2000-02-08 15:57:01 +00:00
Peter Eisentraut 9ceb5d8a7b Fixed psql double quoting of SQL ids
Fixed libpq printing functions
2000-02-07 23:10:11 +00:00
Bruce Momjian 4842ef8624 Mask removal of network_ops in 7.0. 2000-02-07 21:24:15 +00:00
Jan Wieck aef647a274 Enabled MATCH <unspecified>
Jan
2000-02-07 18:12:49 +00:00
Jan Wieck f59daf80f7 Added complete MATCH <unspecified> support contributed by Don Baccus.
Jan
2000-02-07 17:50:38 +00:00
Jan Wieck f1acd900ad Disable/reenable triggers for data only dump.
Jan
2000-02-07 16:30:58 +00:00
Tom Lane d8733ce674 Repair planning bugs caused by my misguided removal of restrictinfo link
fields in JoinPaths --- turns out that we do need that after all :-(.
Also, rearrange planner so that only one RelOptInfo is created for a
particular set of joined base relations, no matter how many different
subsets of relations it can be created from.  This saves memory and
processing time compared to the old method of making a bunch of RelOptInfos
and then removing the duplicates.  Clean up the jointree iteration logic;
not sure if it's better, but I sure find it more readable and plausible
now, particularly for the case of 'bushy plans'.
2000-02-07 04:41:04 +00:00
Tatsuo Ishii 2bda7a4406 change copyright year 1999->2000
Minor fix
2000-02-07 04:31:10 +00:00
Hiroshi Inoue 5b58de124e Allow SELECT .. FOR UPDATE in PL/pgSQL. 2000-02-07 03:39:13 +00:00
Hiroshi Inoue 7d738f9586 Remove ugly call ImmediateSharedRelationCacheInvalidate()
from md.c.
2000-02-07 02:38:18 +00:00
Jan Wieck 4acf890948 Removed special hack causing ON UPDATE NO ACTION trigger to
be suppressed.

Jan
2000-02-06 10:19:45 +00:00
Bruce Momjian a64d3bc433 Solaris has always had problems with 1947 in the
regression tests so I prepared a set of expected
files to make things look OK.

There's also a file to account for minor variations
in the geopmetry output and a resultmap patch to
pull them all together.

With these changes PostgreSQL, from CVS, builds and
regression tests (runcheck) cleanly.

Keith Parks.
2000-02-06 05:09:42 +00:00
Tom Lane 81fc1d5edb Rename same() to sameseti() to have a slightly less generic name. Move
nonoverlap_sets() and is_subset() to list.c, where they should have lived
to begin with, and rename to nonoverlap_setsi and is_subseti since they
only work on integer lists.
2000-02-06 03:27:35 +00:00
Tatsuo Ishii 418b270020 Fix a bug when specfying -D option.
fix suggested by Keith Parks.
2000-02-06 00:49:03 +00:00
Tom Lane 60be6da731 Replace nth() calls in inner loops with traversal of the list via
lnext, to eliminate O(N^2) behavior with lots of indexquals.
2000-02-05 23:19:44 +00:00
Tom Lane 78296c2797 Further cleanup for OR-of-AND WHERE-clauses. orindxpath can now handle
extracting from an AND subclause just those opclauses that are relevant
for a particular index.  For example, we can now consider using an index
on x to process WHERE (x = 1 AND y = 2) OR (x = 2 AND y = 4) OR ...
2000-02-05 18:26:09 +00:00
Tatsuo Ishii d4e62e5ded Change function name PQclientencoding to PQclientEncoding since
it seems more suitable for the naming convention in libpq.

New function PQsetClientEncoding added. It makes possible to change
the client encoding on the fly without setting PGCLIENTENCODING.
2000-02-05 12:33:22 +00:00
Tatsuo Ishii b304b4a90e Change function name PQclientencoding to PQclientEncoding since
it seems more suitable for the naming convention in libpq.
2000-02-05 12:27:56 +00:00
Jan Wieck ad15560573 Enabling automatic primary key detection for self-referencing
FOREIGN KEY constraint during CREATE TABLE. Tnx to Stephan.

Jan
2000-02-05 00:20:38 +00:00
Jan Wieck 582ec175c9 Small bugfix for DROP TABLE if table is self-referenced by
a FOREIGN KEY constraint.

Jan
2000-02-04 23:45:04 +00:00
Jan Wieck ddd596d386 Added ALTER TABLE ... ADD CONSTRAINT (provided by Stephan Szabo).
Added constraint dumping capability to pg_dump (also from Stephan)

Fixed DROP TABLE -> RelationBuildTriggers: 2 record(s) not found for rel
error.

Fixed little error in gram.y I made the last days.

Jan
2000-02-04 18:49:34 +00:00
Jan Wieck 74d53d7838 Made prototypes for yyerror() consistent with Bruce's last changes
Jan
2000-02-04 18:45:23 +00:00
Tom Lane b64826a47d Squash longstanding memory leak: when catcache.c copied a tuple into
the cache context, it didn't bother to free the tuple that
CatalogIndexFetchTuple had allocated in the transaction context.
Do enough cache lookups in the same xact, and you start to notice...
2000-02-04 03:16:03 +00:00
Tom Lane d24ef0d08f Make EXPLAIN results for Append, Group, Agg, Unique nodes more plausible.
Group and Unique use an arbitrary assumption that there will be about
10% as many groups as input tuples --- perhaps someday we can refine this.
2000-02-03 06:12:19 +00:00
Tom Lane 40055db1eb Repair relation refcount leakage caused by SELECT FOR UPDATE. 2000-02-03 00:02:58 +00:00
Jan Wieck 31a8996ba4 Inconsistency in CREATE CONSTRAINT TRIGGER with the
actions performed by analyse.c when creating table constraints.

Jan
2000-02-02 20:54:17 +00:00
Peter Eisentraut 2ea31fabe7 *** empty log message *** 2000-02-02 13:20:15 +00:00
Jan Wieck c823143f8a Fixed bug in NO ACTION trigger proc entries.
Jan
2000-01-31 14:02:27 +00:00
Tom Lane a152ebeec6 Fix problems seen in parallel regress tests when SI buffer overruns (causing
syscache and relcache flushes).  Relcache entry rebuild now preserves
original tupledesc, rewrite rules, and triggers if possible, so that pointers
to these things remain valid --- if these things change while relcache entry
has positive refcount, we elog(ERROR) to avoid later crash.  Arrange for
xact-local rels to be rebuilt when an SI inval message is seen for them,
so that they are updated by CommandCounterIncrement the same as regular rels.
(This is useful because of Hiroshi's recent changes to process our own SI
messages at CommandCounterIncrement time.)  This allows simplification of
some routines that previously hacked around the lack of an automatic update.
catcache now keeps its own copy of tupledesc for its relation, rather than
depending on the relcache's copy; this avoids needing to reinitialize catcache
during a cache flush, which saves some cycles and eliminates nasty circularity
problems that occur if a cache flush happens while trying to initialize a
catcache.
Eliminate a number of permanent memory leaks that used to happen during
catcache or relcache flush; not least of which was that catcache never
freed any cached tuples!  (Rule parsetree storage is still leaked, however;
will fix that separately.)
Nothing done yet about code that uses tuples retrieved by SearchSysCache
for longer than is safe.
2000-01-31 04:35:57 +00:00
Tom Lane ca0f1435ec Hmm, equalfuncs didn't know about SortClause or GroupClause
nodes...
2000-01-31 01:21:39 +00:00
Byron Nikolaidis 44035918bb Added numeric and int8 types.
Bug fix for LongVarBinary -- begin transaction
2000-01-30 21:14:25 +00:00
Tom Lane 3a1218dced Delete unused and long-dead header file. 2000-01-29 21:13:23 +00:00
Tom Lane 04103e00f1 Modify uses of RelationFlushRelation and RelationCacheInvalidate so that
we *always* rebuild, rather than deleting, an invalidated relcache entry
that has positive refcount.  Otherwise an SI cache overrun leads to
dangling Relation pointers all over the place!
2000-01-29 19:51:59 +00:00
Peter Eisentraut 2b84cbb60f A few minor psql enhancements
Initdb help correction
Changed end/abort to commit/rollback and changed related notices
Commented out way old printing functions in libpq
Fixed a typo in alter table / alter column
2000-01-29 16:58:54 +00:00
Bruce Momjian c5b02a7a26 Attached is a uuencoded tarball that contains
3 new files and two patches for the plperl subdir.

These changes add the ability for plperl functions
to call 'elog'. It also sets up the frame work to
allow me to add access to the SPI functions.


--
Mark Hollomon
2000-01-29 01:58:50 +00:00
Bruce Momjian 1380921e65 Patch from Hiroshi for overflow btree comparison. 2000-01-28 17:23:47 +00:00
Tom Lane 003dd965d2 Apply the heuristic proposed by Taral (see pgsql-general archives for
2-Oct-98 or TODO.detail/cnfify) to decide whether we want to reduce
WHERE clause to CNF form, DNF form, or neither.  This is a HUGE win.
The heuristic conditions could probably still use a little tweaking to
make sure we don't pick CNF when DNF would be better, or vice versa,
but the risk of exponential explosion in cnfify() is gone.  I was able
to run ten-thousand-AND-subclause queries through the planner in a
reasonable amount of time.
2000-01-28 03:22:36 +00:00
Michael Meskes b53955f38a *** empty log message *** 2000-01-27 19:01:35 +00:00
Tom Lane dd979f66be Redesign DISTINCT ON as discussed in pgsql-sql 1/25/00: syntax is now
SELECT DISTINCT ON (expr [, expr ...]) targetlist ...
and there is a check to make sure that the user didn't specify an ORDER BY
that's incompatible with the DISTINCT operation.
Reimplement nodeUnique and nodeGroup to use the proper datatype-specific
equality function for each column being compared --- they used to do
bitwise comparisons or convert the data to text strings and strcmp().
(To add insult to injury, they'd look up the conversion functions once
for each tuple...)  Parse/plan representation of DISTINCT is now a list
of SortClause nodes.
initdb forced by querytree change...
2000-01-27 18:11:50 +00:00
Bruce Momjian 3f0074e403 fix for compile. 2000-01-27 05:33:51 +00:00
Tom Lane 91250f3854 Remove duplicate extern declaration. 2000-01-26 23:48:05 +00:00
Bruce Momjian 2d5dd7557b Update files. 2000-01-26 16:10:01 +00:00
Bruce Momjian 02d83c4475 Add include for float.h. 2000-01-26 06:33:49 +00:00
Bruce Momjian 5c25d60244 Add:
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc

to all files copyright Regents of Berkeley.  Man, that's a lot of files.
2000-01-26 05:58:53 +00:00
Bruce Momjian b866d2e2d7 as attache of this mail is patch (to the main tree) with to_char's
family functions. Contain:

  conversion from a datetype to formatted text:

	to_char( datetime, 	text)
	to_char( timestamp,	text)
	to_char( int4,		text)
	to_char( int8,		text)
	to_char( float4,	text)
	to_char( float8,	text)
	to_char( numeric,	text)

  vice versa:

	to_date		( text, text)
	to_datetime	( text, text)
	to_timestamp	( text, text)
	to_number	( text, text)	   (convert to numeric)


  PostgreSQL to_char is very compatible with Oracle's to_char(), but not
total exactly (now). Small differentions are in number formating. It will
fix in next to_char() version.


! If will this patch aplly to the main tree, must be delete the current
  to_char version in contrib (directory "dateformat" and note in contrib's
  README), this patch not erase it (sorry Bruce).



The patch patching files:

	doc/src/sgml/func.sgml
                     ^^^^^^^^
   Hmm, I'm not sure if my English... :( Check it anyone (volunteer)?

   Thomas, it is right? SGML is not my primary lang  and compile
   the current PG docs tree is very happy job (hard variables setting in
   docs/sgml/Makefile --> HSTYLE= /home/users/t/thomas/....  :-)

   What add any definition to global configure.in and set Makefiles in docs
   tree via ./configure?

	src/backend/utils/adt/Makefile
	src/backend/utils/adt/formatting.c
	src/include/catalog/pg_proc.h
	src/include/utils/formatting.h
Karel Zak <zakkr@zf.jcu.cz>              http://home.zf.jcu.cz/~zakkr/
2000-01-25 23:53:56 +00:00
Tatsuo Ishii 6f843e8dd8 Fix pg_euccn_mblen() so that it always returns 2 if data is not ascii.
(EUC_CN does have only code set 0 and 1)
2000-01-25 02:12:27 +00:00
Tom Lane a39c6ab4cb Forgot that expr assumes regexp is anchored-left; therefore need .*
in front of any platform name pattern that's not supposed to match
beginning at the start of the machine type name...
2000-01-25 01:59:27 +00:00
Peter Eisentraut 306ada82c2 Removed alter table drop column. 2000-01-24 23:40:35 +00:00
Peter Eisentraut bdb41ad0e7 Made abstime/reltime use int4 instead of time_t (TODO item)
Made type equivalency apply to aggregates (TODO item)
Fixed parsing bug in psql
Reverted some stupid options changes I made to pg_dump
2000-01-24 19:34:19 +00:00
Tom Lane 0dbffa704a First cut at making useful selectivity estimates for range queries
(ie, WHERE x > lowbound AND x < highbound).  It's not very bright yet
but it does something useful.  Also, rename intltsel/intgtsel to
scalarltsel/scalargtsel to reflect usage better.  Extend convert_to_scalar
to do something a little bit useful with string data types.  Still need
to make it do something with date/time datatypes, but I'll wait for
Thomas's datetime unification dust to settle first.  Eventually the
routine ought not have any type-specific knowledge at all; it ought to
be calling a type-dependent routine found via a pg_type column; but
that's a task for another day.
2000-01-24 07:16:52 +00:00
Bruce Momjian 8bcac56086 Update for index change. Semes it didn't work the first time. 2000-01-24 03:08:27 +00:00
Bruce Momjian da5aba105f Remove Ops parameter from STATRELID cache lookup, for Tom Lane and
optimizer.
2000-01-24 02:12:58 +00:00
Tatsuo Ishii b2ff7d08ad Change format of postmaster.opts.default.
Executable file name (postmaster) no more included in the file.
2000-01-23 08:20:24 +00:00
Tatsuo Ishii 2605ceb704 Fix error messages for the lack of multi-byte support.
Since --with-mb has been removed from configure, previous
messages were not appropriate.
2000-01-23 08:16:37 +00:00
Tatsuo Ishii cfe717714c char_length()/octet_length for char() type now returns length of
the charcter including trailing blanks.
2000-01-23 08:13:34 +00:00
Tom Lane 27fee810ff Replace SearchSysCacheGetAttribute with SysCacheGetAttr, which fetches
an attribute of a tuple previously fetched with SearchSysCacheTuple.
This avoids a lot of redundant cache lookups, particularly in selfuncs.c.
Also, remove SearchSysCacheStruct, which was unused and grotty.
2000-01-23 03:43:24 +00:00
Tom Lane 8449df8a67 First cut at unifying regular selectivity estimation with indexscan
selectivity estimation wasn't right.  This is better...
2000-01-23 02:07:00 +00:00
Peter Eisentraut 49581f9848 updated install file
updated date/time types doc
fixed small psql bug
removed libpq code that lower-cased db names
make notice when long identifier is truncated
2000-01-23 01:27:39 +00:00
Tom Lane 978d2385a8 Update regress tests for change of pg_am/pg_amop. 2000-01-22 23:51:20 +00:00
Tom Lane 71ed7eb494 Revise handling of index-type-specific indexscan cost estimation, per
pghackers discussion of 5-Jan-2000.  The amopselect and amopnpages
estimators are gone, and in their place is a per-AM amcostestimate
procedure (linked to from pg_am, not pg_amop).
2000-01-22 23:50:30 +00:00
Peter Eisentraut fa5400c0a4 added ALTER TABLE DROP COLUMN, early version 2000-01-22 14:20:56 +00:00
Tom Lane 5c33b3c658 Change a few routines into macros to improve speed of COPY IN inner loop. 2000-01-22 03:52:04 +00:00
Tom Lane d32cd1bb25 Forgot to handle column length defaults in ALTER TABLE ADD COLUMN. 2000-01-22 01:22:48 +00:00
Tom Lane 7cc0d6ae9d Fix tab-complete so it works with old versions of readline that don't
have the rl_completion_append_character variable.  The tab completion
behavior doesn't seem to be quite perfect in that situation, but it's
better than failing to build at all...
2000-01-21 23:32:36 +00:00
Tom Lane e33f550bc0 Fix handleCopyIn's response to EOF seen mid-line, that is, input file
does not end with a newline.  I don't think this explains the recent
complaints, since this bug existed in 6.5 (and probably long before).
But might as well fix it now that I see it.
2000-01-21 04:21:12 +00:00
Tom Lane de56d999cd Simplify match patterns a little. 2000-01-21 01:48:02 +00:00
Tom Lane 68ba9835cb Bruce, you forgot to rename these files... 2000-01-21 01:39:54 +00:00
Bruce Momjian 481a7439fb plperl Makefile cleanup. Doesn't work on BSDI yet. 2000-01-20 23:00:40 +00:00
Bruce Momjian 22e7c06506 Update plperl makefile. 2000-01-20 22:31:23 +00:00
Peter Eisentraut 13f8875017 Added new pg_id to fix initdb problems
New INSTALL file
Fixed a copyright notice
2000-01-20 21:51:09 +00:00
Bruce Momjian a959e3f7c0 Cleanup vacuum names. 2000-01-20 20:01:25 +00:00
Bruce Momjian e6ed9f2c75 Fix typo in \z. 2000-01-20 15:29:20 +00:00
Bruce Momjian 8792af75f6 I have noticed that the geometry test's output for hppa1 and hppa2 are in
fact the same, so I suggest they could be the same file say
geometry-positive-zeros.out, as the main difference seems to be not printing
eg. (0,-0). In src/test/regress/expected, I propose

rm int2-i386-netbsd.out int4-i386-netbsd.out
mv geometry-hppa1.1.out geometry-positive-zeros.out
rm geometry-hppa2.0.out geometry-i386-netbsd.out

and the following patch to resultmap. I have only tested the netbsd results
on i386, but think that in all probability the differences will be the same
for other ports. If it turns out not to be the case, at least we might find
out.

Patrick Welche
2000-01-20 15:21:23 +00:00
Bruce Momjian e474dd182a Bruce,
Attached is a small fix for a stupid mistake I made in comment.c
- an attempt to drop a non-existent comment would dump core :-(.
Sometimes, I'm as sharp as a marble.

Sorry,

Mike Mascari
2000-01-20 15:13:19 +00:00
Tom Lane 8cfb8c68ea Clean up longstanding warnings. I think the remaining
'defined but not used' warnings would go away if the scanner didn't use
YY_REJECT.
2000-01-20 05:44:34 +00:00
Tom Lane 3888c62d5d Clean up longstanding gcc warnings by adding missing extern
declarations.
2000-01-20 05:34:32 +00:00
Tom Lane 1c15186747 Clean up longstanding gcc warnings by adding missing extern
declarations.
2000-01-20 05:26:54 +00:00
Tom Lane b6fdd14765 ecpg shouldn't depend on parser/gramparse.h. Also, eliminate some
compiler warnings caused by lack of extern declarations in extern.h.
I believe the remaining gcc warnings here would go away if the ecpg
grammar could be tweaked so it doesn't use REJECT ...
2000-01-20 05:23:26 +00:00
Bruce Momjian c02f1ead48 Well, I finally solved the linking problem
that kept me from making perl secure.

Attached is uuencoded tarball to add PL/perl
to postgresql.

Things I know don't work.
-- triggers
-- SPI


The README file has a _VERY_ short tutorial.

Mark Hollomon
2000-01-20 05:08:58 +00:00
Tom Lane d242b64ba2 Tweak includes to avoid compiler warning on HPUX. 2000-01-20 04:11:52 +00:00
Tom Lane 7476e3718b Assign a typmod of -1 to unadorned CHAR and NUMERIC type specs. This
allows casts without specific length requirements to continue to work
as they did before; that is, x::char will not truncate the value of x,
whereas x::char(1) will.  Likewise for NUMERIC precision/scale.
The column length defaults of char(1) and numeric(30,6) are now inserted
in analyze.c's processing of CREATE TABLE.
2000-01-20 02:24:50 +00:00
Tom Lane 08195a43f3 Fix bugs in NUMERIC ceil() and floor() functions. ceil(0) returned 1,
and both would insert random junk digits if given an input that was an
exact multiple of 10.
2000-01-20 02:21:44 +00:00
Tom Lane 6d1efd76fb Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result
from a constraint condition does not violate the constraint (cf. discussion
on pghackers 12/9/99).  Implemented by adding a parameter to ExecQual,
specifying whether to return TRUE or FALSE when the qual result is
really NULL in three-valued boolean logic.  Currently, ExecRelCheck is
the only caller that asks for TRUE, but if we find any other places that
have the wrong response to NULL, it'll be easy to fix them.
2000-01-19 23:55:03 +00:00
Bruce Momjian 08fb7375e3 Update vacuum comments. 2000-01-19 22:23:00 +00:00
Bruce Momjian 2317e714c8 Update pg_dumpall. 2000-01-19 20:10:27 +00:00
Peter Eisentraut 65e0051843 another round of user interface cleanups
removed pg_id
fixed a few bugs in the scripts
2000-01-19 20:08:36 +00:00
Bruce Momjian ea1f6e00e6 autoconf 2000-01-19 17:27:04 +00:00
Bruce Momjian 0679a2c30e Fix >& csh-ism 2000-01-19 17:18:12 +00:00
Bruce Momjian 560e196bdd The latest source does not compile on Solaris 7 due to
a missing include from a modified file.

Here is a patch to fix it:-

Keith Parks.
2000-01-19 14:01:25 +00:00
Peter Eisentraut 533d516629 Removed MBFLAGS from makefiles since it's now done in include/config.h. 2000-01-19 02:59:03 +00:00
Tatsuo Ishii d4aab2c000 Revert back Makefile.global
Add check for --with-mb. It is now obsoleted.
2000-01-19 01:42:12 +00:00
Tatsuo Ishii 8ff9f85bd5 Fix for multibyte support. Since some function declarations
moved to miscadmin.h, we have to include it now.
2000-01-19 01:33:16 +00:00
Peter Eisentraut f565cf41ab another set of cleanups 2000-01-18 23:30:24 +00:00
Bruce Momjian 80c5fea99d Since this patch is not big I send it here instead. I do not have the
complete source checked out so I cannot commit it myself.

Michael
2000-01-18 19:08:13 +00:00
Bruce Momjian 0cb6bc70ce Hi!
Here is a patch to bring both libpq and psql to a state where it compiles on
win32 (native) again. A lot of things have changed, and I have not been able
to keep up with them all, so it has been broken for quite a while.
After this patch, at least it compiles. It also talks "basic talk" to the
server, but I have not yet tested all things. Sending queries, and using
e.g. \d or \dt works fine. The rest will have to be tested further.
It also bumps the version on libpq.dll to 7.0.

Everything should be enclosed in #ifdef WIN32, unless I have missed
something. Except for one or maybe two places where I have moved a #include
that should not be used on win32 from the "global area" into a "#ifndef
WIN32 area".


//Magnus
2000-01-18 19:05:31 +00:00
Bruce Momjian 2eebcddeaa Bruce,
Attached is a patch which patches cleanly against the Sunday afternoon
snapshot. It modifies pg_dump to dump COMMENT ON statements for
user-definable descriptions. In addition, it also modifies comment.c so
that the operator behavior is as Peter E. would like: a comment on an
operator is applied to the underlying function.

Thanks,

Mike Mascari
2000-01-18 18:09:02 +00:00
Tatsuo Ishii 6c25ea2342 Fix minor comple error 2000-01-18 13:46:10 +00:00
Tatsuo Ishii 716fb90bf6 Fix minor comping errors 2000-01-18 13:44:48 +00:00
Michael Meskes c80ba6a1b5 *** empty log message *** 2000-01-18 13:03:49 +00:00
Tom Lane 4cd086ce43 Fix quoting bugs and incorrect trigger argument printout. 2000-01-18 07:29:58 +00:00
Bruce Momjian e1cce4d5ea This corrects an error in current gram.y for ALTER TABLE ... ADD
CONSTRAINT

Oliver Elphick
2000-01-18 06:12:03 +00:00
Bruce Momjian 10d7287ab9 Libpq non-blocking mode, from Alfred Perlstein 2000-01-18 06:09:24 +00:00
Tatsuo Ishii b1e891dbd4 Remove compiler warnings 2000-01-18 05:14:24 +00:00
Tatsuo Ishii 449b4cc177 Show encoding name rather than encoding id in case of psql -l. 2000-01-18 05:11:38 +00:00
Tatsuo Ishii 5eb1d0deb1 Add builtin functions:
pg_char_to_encoding()
pg_encoding_to_char()
2000-01-18 05:10:29 +00:00
Tom Lane d58fa7611b numeric_in accepts exponents; numeric to int4 rounds; float4/8 to numeric
is considerably more robust and accurate than it used to be.
Also, get rid of numeric's private allocation freelist, which is no longer
a win since Jan rewrote palloc.
2000-01-18 03:44:41 +00:00
Tatsuo Ishii 8da316291f Fix multibyte support 2000-01-18 03:01:40 +00:00
Tatsuo Ishii beba98d14a Adopt for new psql 2000-01-18 03:00:37 +00:00
Peter Eisentraut 28125ed5e0 Updated user interfaces on initdb, initlocation, pg_dump, ipcclean to a GNU-compliant'ish state.
Made ipcclean work on Linux.
2000-01-18 00:03:37 +00:00
Tom Lane 9e0b463473 setheapoverride() is history. Uses replaced with CommandCounterIncrement()
where necessary --- several of them didn't really need it, though.
tqual-checking macros simplified accordingly.
2000-01-17 23:57:48 +00:00
Tom Lane fb0627d972 Correct minor typos. 2000-01-17 04:47:05 +00:00
Bruce Momjian e3354ab320 Update subquery error message. 2000-01-17 04:43:56 +00:00
Tom Lane 72cec86235 Add .cvsignore so cvs update doesn't complain about derived
files being left around.
2000-01-17 04:38:49 +00:00
Tom Lane 2fd4e7762c Modify libpq's pqexpbuffer to eliminate length restriction on how much
data can be formatted per call.  This requires relying on vsnprintf().
On machines that haven't got vsnprintf, link in the version from
backend/port/.
2000-01-17 02:59:46 +00:00
Tom Lane ac4878a060 Pass atttypmod to CoerceTargetExpr, so that it can pass it on to
coerce_type, so that the right things happen when coercing a previously-
unknown constant to a destination data type.
2000-01-17 02:04:16 +00:00
Tom Lane ceca03600e Hmm, numeric array type was missing too. Added.
Of the standard types, only 'timestamp' seems not to have an array type;
should it be added, or are we going to remove that type for 7.0 anyway?
2000-01-17 01:29:07 +00:00
Hiroshi Inoue 1500e262b5 Fix for TODO item * spinlock stuck problem when elog(FATAL)
and elog(ERROR) inside bufmgr.
2000-01-17 01:15:19 +00:00
Tom Lane 116ba5d814 Update unused_oids script so it works with non-GNU awk --- /* ... */
comment style apparently isn't portable to other awks.
2000-01-17 00:53:11 +00:00
Tom Lane 90b883425a Apparently, no one's ever used float4abs(), because it's got incorrect
data in its pg_proc entry.  abs() doesn't require two arguments, last
I heard.
2000-01-17 00:40:51 +00:00
Tom Lane 2d4a05d7df Update strings test to reflect the fact that casting to char() will
now truncate or pad to the specified length.
2000-01-17 00:16:41 +00:00
Tom Lane 49528361f5 Create a new parsetree node type, TypeCast, so that transformation of
SQL cast constructs can be performed during expression transformation
instead of during parsing.  This allows constructs like x::numeric(9,2)
and x::int2::float8 to behave as one would expect.
2000-01-17 00:14:49 +00:00
Tom Lane e0bd60171a Rearrange coding in COPY so that expansible string buffer for data being
read is reused for successive attributes, instead of being deleted and
recreated from scratch for each value read in.  This reduces palloc/pfree
overhead a lot.  COPY IN still seems to be noticeably slower than it was
in 6.5 --- we need to figure out why.  This change takes care of the only
major performance loss I can see in copy.c itself, so the performance
problem is at a lower level somewhere.
2000-01-16 21:37:50 +00:00
Tom Lane d00391e7ac Sigh, I'm an idiot ... I broke the async startup logic a couple days ago,
by creating a race condition.  It wasn't waiting for select() to say
write-ready immediately after connect, which meant that you might get
an unhelpful 'broken pipe' error message if connect failed, rather than
the intended error message.
2000-01-16 21:18:52 +00:00
Tom Lane fdc85f50a3 Put back change to 'connection failed' message formatting that someone
overwrote.
2000-01-16 20:34:54 +00:00
Peter Eisentraut bb61218c5f Removed lextest, because lex'ed files are now in the distribution. 2000-01-16 20:08:45 +00:00
Peter Eisentraut 759fba4873 Included all yacc and lex files into the distribution. 2000-01-16 20:05:00 +00:00
Tom Lane a4e1304ed1 Add check that inherited constraints and defaults work. 2000-01-16 19:57:48 +00:00
Tom Lane 47a895fe72 Repair breakage of inherited constraint expressions --- needed a
CommandCounterIncrement to make new relation visible before trying to
parse/deparse the expressions.  Also, eliminate unnecessary
setheapoverride calls in AddNewAttributeTuples.
2000-01-16 19:57:00 +00:00
Tom Lane 7d715ba063 Fix broken FOR UPDATE error message. 2000-01-16 08:21:59 +00:00
Bruce Momjian faff1b776b Fix passing of atttypmod that Tom found. 2000-01-16 05:18:19 +00:00
Tom Lane 97e82dc72c Clean up pg_dump coredumps caused by change of output formatting for
oidvector/int2vector.  pg_dump code was assuming that it would see
exactly FUNC_MAX_ARGS integers in the string returned by the backend.
That's no longer true.  (Perhaps that change wasn't such a good idea
after all --- will it break any other applications??)
2000-01-16 03:54:58 +00:00
Tom Lane b0b3187bb4 Add some examples to numeric regress test to verify that recently-fixed
problems are indeed fixed.
2000-01-15 23:44:17 +00:00
Tom Lane 3cb8c8da68 Clean up problems with rounding/overflow code in NUMERIC, particularly
the case wherein zero was rejected for a field like NUMERIC(4,4).
Miscellaneous other code beautification efforts.
2000-01-15 23:42:49 +00:00
Tom Lane 584e646ad8 Fix a passel of problems with incorrect calls to typinput and typoutput
functions, which would lead to trouble with datatypes that paid attention
to the typelem or typmod parameters to these functions.  In particular,
incorrect code in pg_aggregate.c explains the platform-specific failures
that have been reported in NUMERIC avg().
2000-01-15 22:43:25 +00:00
Tom Lane 5e6004135b Now that new psql is fflush()'ing properly, it emerges that several
regress test expected outputs were committed with NOTICEs appearing out
of order.  Update to correct results.
2000-01-15 19:18:24 +00:00
Tom Lane 6ce5e0abb6 Update arrays regress test to reflect fact that several things
work now that did not work in 6.5.
2000-01-15 19:11:40 +00:00
Peter Eisentraut 2a1bfbce24 - Allow array on int8
- Prevent permissions on indexes
- Instituted --enable-multibyte option and tweaked the MB build process where necessary
- initdb prompts for superuser password
2000-01-15 18:30:35 +00:00
Tatsuo Ishii bfbd58ce13 Adapt to the changes of libpq(eliminateing using putenv()). 2000-01-15 05:38:50 +00:00
Tatsuo Ishii 8fc386a2d8 Eliminate using putenv(). 2000-01-15 05:37:21 +00:00
Tatsuo Ishii 6095e36cca Prepare for new psql 2000-01-15 05:17:45 +00:00
Peter Eisentraut 1cd4c14116 Fixed all elog related warnings, as well as a few others. 2000-01-15 02:59:43 +00:00
Peter Eisentraut 7c9390caa1 Fixed psql variables vs array syntax, as well as minor psql enhancements 2000-01-14 22:18:03 +00:00
Peter Eisentraut 4ceb2d0cb6 * User management commands no longer user pg_exec_query_dest -> more robust
* Let unprivileged users change their own passwords.

* The password is now an Sconst in the parser, which better reflects its text datatype and also
forces users to quote them.

* If your password is NULL you won't be written to the password file, meaning you can't connect
until you have a password set up (if you use password authentication).

* When you drop a user that owns a database you get an error. The database is not gone.
2000-01-14 22:11:38 +00:00
Tom Lane 2af360ed1c Clean up some problems in new asynchronous-connection logic
in libpq --- mostly, poor response to error conditions.  You now actually
get to see the postmaster's 'The Data Base System is starting up' message,
which you didn't before.  I suspect the SSL code is still broken though.
2000-01-14 05:33:15 +00:00
Tom Lane 0e6d72db55 Make PSQLexec's behavior on loss of connection more reasonable;
report original error before attempting reset, not after.
2000-01-14 05:28:31 +00:00
Tom Lane 19ff2e4d55 Make connection-failed messages a little friendlier on
80-column displays...
2000-01-14 04:01:55 +00:00
Tom Lane 6256fcb927 Remove redundant and now-incorrect declaration of pstrdup. 2000-01-14 01:36:42 +00:00
Tom Lane 9b003129fe Bump catversion to ensure initdb. 2000-01-14 00:53:50 +00:00
Tom Lane 338fd40bfc Revise quoting conventions in outfuncs/readfuncs so that nodeRead doesn't
choke on relation or attribute names containing spaces, quotes, or other
special characters.  This fixes a TODO item.  It also forces initdb,
since stored rule strings change.
2000-01-14 00:53:21 +00:00
Peter Eisentraut 46a28f1b14 Fixed everything in and surrounding createdb and dropdb to make it more
error-proof. Rearranged some old code and removed dead sections.
2000-01-13 18:26:18 +00:00
Peter Eisentraut bfa3b59d25 initdb didn't load pg_description 2000-01-13 18:22:10 +00:00
Tatsuo Ishii 1f9d535aca Add UDC (User Defined Characters) support to SJIS/EUC_JP conversion
Update README so that it reflects all source file names
Add an entry to make sjistest (testing between SJIS/EUC_JP conversion)
2000-01-13 01:08:14 +00:00
Peter Eisentraut f6689a328f Fixed a few "fixes" and bugs. Adjusted messages and options to GNU suggestions. 2000-01-12 19:36:36 +00:00
Tatsuo Ishii 267c6c7f06 Multi-byte case fix by Oliver Elphick (olly@lfix.co.uk) 2000-01-12 13:08:55 +00:00
Tom Lane 0b14b0c87e Use fmgr_array_args() to avoid dependency on FUNC_MAX_ARGS. 2000-01-12 05:28:47 +00:00
Tom Lane 72ed6ff5ad In PQfn(), defend against too many args, and avoid dependency
on FUNC_MAX_ARGS by using an appropriate fmgr() call.
2000-01-12 05:27:20 +00:00
Tom Lane ef899c7f62 RemoveFunction didn't defend against too many args. 2000-01-12 05:25:09 +00:00
Tom Lane 488f315913 Defend against > INDEX_MAX_KEYS keys in an index. 2000-01-12 05:04:42 +00:00
Tom Lane 8acc568a6b CommentProc was careless about too many arguments. 2000-01-12 04:59:41 +00:00
Tom Lane 421d4f9bd7 Put back erroneously removed zeroing of sentinel elements
in indexkeys, classlist arrays.
2000-01-12 00:53:21 +00:00
Tom Lane b9d832f6ef Make FUNC_MAX_ARGS equal INDEX_MAX_KEYS, as it should.
Set default INDEX_MAX_KEYS to 16.  Document minimum safe value is 9.
2000-01-11 05:58:55 +00:00
Tom Lane f1e1634e72 oid8 => oidvector in alter_table regress test 2000-01-11 05:56:33 +00:00
Tom Lane 41f17e676f Another FUNC_MAX_ARGS tweak. 2000-01-11 05:41:49 +00:00
Tom Lane fa3aa5e1bb Wrong boundary condition on number-of-args check. 2000-01-11 05:22:25 +00:00
Tom Lane cc2e19ef9a Ah-hah, there are attribute size constants lurking here too. 2000-01-11 05:18:42 +00:00
Tom Lane 5c2fb2a1e2 Use symbolic INDEX_MAX_KEYS in pg_type entries for oidvector
and int2vector.
2000-01-11 04:02:28 +00:00
Tom Lane c2fa275d20 Correct hardwired type information in bootstrap. 2000-01-11 04:00:30 +00:00
Tom Lane 7bc1fbe100 Remove no-longer-used symbols. 2000-01-11 03:59:31 +00:00
Bruce Momjian bd52f4bffd More cleanups. Still doesn't work. 2000-01-11 03:33:14 +00:00
Bruce Momjian aadd14b8f2 More cleanups. 2000-01-11 02:46:48 +00:00
Bruce Momjian 401e6de7ee More fixes, but still need +1 for FUNC_MAX_ARGS 2000-01-11 02:30:06 +00:00
Tom Lane bf49f0849d Remove outdated comment about 8 arguments. 2000-01-11 01:42:08 +00:00
Bruce Momjian a97caacb5e Fix initdb so it works, but still only for 8. 2000-01-10 23:03:41 +00:00
Bruce Momjian 182162a388 Update type stuff. 2000-01-10 20:46:23 +00:00
Bruce Momjian dd8b0e67ec Cleanup for func args > 8. 2000-01-10 20:23:31 +00:00
Bruce Momjian 2d920dc717 More updates for function call interface > 8. 2000-01-10 18:27:41 +00:00
Bruce Momjian 0bdd0cdd98 Update fmgr to allow 32 arguments. 2000-01-10 18:18:30 +00:00
Bruce Momjian 8a093d0ae3 Make number of args to a function configurable. 2000-01-10 17:14:46 +00:00
Bruce Momjian 6456b17bc1 Rename oid8 -> oidvector and int28 -> int2vector. Cleanup of *out functions. 2000-01-10 16:13:23 +00:00
Bruce Momjian 3f03f74f36 Update int28out and out8out and _in_ functions to handle trailing zeros
properly.
2000-01-10 15:41:34 +00:00
Hiroshi Inoue 0f2e7948e2 Improve cache invalidation handling. Eespecially
this would fix TODO
* elog() flushes cache, try invalidating just entries from
  current xact, perhaps using invalidation cache
2000-01-10 06:30:56 +00:00
Bruce Momjian 5770935965 Fix oid8in and int28in for spaces 2000-01-10 05:23:47 +00:00
Bruce Momjian a040281787 Move fixes for >8 indexed fields. 2000-01-10 05:20:26 +00:00
Bruce Momjian b99f300675 Move INDEX_MAX_KEYS to postgres.h, and make it configurable for users. 2000-01-10 04:36:37 +00:00
Tom Lane fcb7c14d02 Repair subtle VACUUM bug that led to 'HEAP_MOVED_IN was not expected'
errors.  VACUUM normally compacts the table back-to-front, and stops
as soon as it gets to a page that it has moved some tuples onto.
(This logic doesn't make for a complete packing of the table, but it
should be pretty close.)  But the way it was checking whether it had
got to a page with some moved-in tuples was to look at whether the
current page was the same as the last page of the list of pages that
have enough free space to be move-in targets.  And there was other
code that would remove pages from that list once they got full.
There was a kluge that prevented the last list entry from being
removed, but it didn't get the job done.  Fixed by keeping a separate
variable that contains the largest block number into which a tuple
has been moved.  There's no longer any need to protect the last element
of the fraged_pages list.
Also, fix NOTICE messages to describe elapsed user/system CPU time
correctly.
2000-01-10 04:09:50 +00:00
Tom Lane b86ca72f39 Update platform-specific-expected-file support so that platforms can be
specified by regular-expression patterns.  Add some more files.
2000-01-09 20:54:36 +00:00
Tom Lane 4f9d74f98b install_plpgsql is no longer a regress test (it's done via createlang);
remove the no-longer-used files.
2000-01-09 19:34:43 +00:00
Tatsuo Ishii 85b309ee8f Add SetPidFile() and friends. 2000-01-09 12:19:27 +00:00
Tatsuo Ishii ac0d141ead Do not start if postmaster is running. 2000-01-09 12:17:33 +00:00
Tatsuo Ishii 10283ee6a4 Move SetPidFile() and firends to utils/init/miscinit.c from
postmaster/postmaster.c so that
tcop/postgres.c can use them. Now we have an interlock between
postmaster and postgres.
2000-01-09 12:15:57 +00:00
Tatsuo Ishii 3f3421f905 Move SetPidFile() and firends to utils/init/miscinit.c so that
tcop/postgres.c can use them. Now we have an interlock between
postmaster and postgres.
2000-01-09 12:13:24 +00:00
Tatsuo Ishii 359652898b Add more portability to echo -n (code stolen from createlang)
Do not start postmaster if postgres is running
2000-01-09 12:06:52 +00:00
Tom Lane bd62e062aa New scheme for managing platform-specific regress test result files.
Instead of hard-wiring one result file per platform, there is a map file
'resultmap' that says which one to use --- a lot like template/.similar.
I have only created entries in resultmap for my own platform (HPUX) so
far; feel free to add lines for other platforms.
2000-01-09 07:54:00 +00:00
Tom Lane 2a19ac97a7 Remove obsolete platform-specific comparison files. 2000-01-09 06:34:46 +00:00
Tom Lane 8ba050698b First examples of multiplatform result comparison files. 2000-01-09 06:32:33 +00:00
Tom Lane 62cbd53bcd Remove obsolete platform-specific regress test comparison files.
Note: don't put any of these back till you've grokked the new code for
platform-specific comparisons that I'm about to commit...
2000-01-09 06:30:55 +00:00
Tom Lane fc0a46dc16 Remove CVS $Header lines from a couple of regress test files that had
them --- it is just *way* too painful to keep expected results in sync
when these are present.
2000-01-09 04:01:49 +00:00
Tom Lane f5b754a492 Update remaining tests for new psql, with the exception of 'arrays'. 2000-01-09 03:50:27 +00:00
Tom Lane 260b6afc79 Update remaining tests for new psql, with the exception of 'arrays',
which is broken in some weird way that I don't understand.  I think it
may be exposing a bug in the new psql --- for one thing, I get different
results when I run psql by hand than the regress script gets.  What
the heck???
2000-01-09 03:48:39 +00:00
Tom Lane 0e821fb771 Fix some missing substitutions of _OBJWD_ and _DLSUFFIX_. 2000-01-09 02:48:01 +00:00
Tom Lane 166b5c1def Another round of planner/optimizer work. This is just restructuring and
code cleanup; no major improvements yet.  However, EXPLAIN does produce
more intuitive outputs for nested loops with indexscans now...
2000-01-09 00:26:47 +00:00
Bruce Momjian 69d4299e3e This patch removes the initialization of ri in loop in
quote_postgres(...) in ecpglib.c.

The code in CVS reads:

quote_postgres(char *arg, int lineno)
{
 char    *res = (char *) ecpg_alloc(2 * strlen(arg) + 3, lineno);
 int   i,
    ri = 0;

 if (!res)
  return (res);

 res[ri++] = '\'';
 for (i = 0, ri=0; arg[i]; i++, ri++)
 {
  switch (arg[i])
  {
   case '\'':
    res[ri++] = '\'';
    break;
   case '\\':
    res[ri++] = '\\';
    break;
   default:
    ;
  }

The problem here is that ri is reset to 0, thus overwriting the initial
quote.

Stephen Birch
2000-01-08 22:58:03 +00:00
Tom Lane 2515882a0f Modify PageIsEmpty and PageGetMaxOffsetNumber macros to behave sanely
if presented an uninitialized (all zeroes) page.  The system no longer
crashes hard if an all-zeroes page is present in a relation.  There seem
to be some boundary conditions where a page will be appended to a relation
and zeroed, but its page header is never initialized; until we can track
down and fix all of those, robustness seems like a good idea.
Also, clean up some obsolete and downright wrong comments.
2000-01-08 21:59:55 +00:00
Tom Lane b79e75d66f Need defense against oversize index entries in btree CREATE INDEX,
as well as when inserting entries into an existing index.
2000-01-08 21:24:49 +00:00
Bruce Momjian 8da88a6f2b Sorry, that I send this letter/patch again, but previous sending is
still
without answer. I want continue with to_char(), but I need any answer
for this patch. Please.

Thank! (and sorry of my impatient :-)
                                                        Karel
2000-01-07 17:22:47 +00:00
Tatsuo Ishii 27fdbca749 Correct grammatical error 2000-01-07 09:28:03 +00:00
Michael Meskes 33d71e3037 *** empty log message *** 2000-01-07 08:01:18 +00:00
Bruce Momjian 5633e22e2c Update pg_dumpall for new psql format. 2000-01-06 21:16:18 +00:00
Jan Wieck b7b6d4bf53 Changed "triggered data change violation" detection code
in trigger manager.

Jan
2000-01-06 20:47:01 +00:00
Jan Wieck 88016a564a Fixed bug in targetlist expression replacement of
SET DEFAULT referential action triggers.

Jan
2000-01-06 16:30:43 +00:00
Thomas G. Lockhart d1e6368816 Clean up header for uniform appearance throughout tests. 2000-01-06 06:41:55 +00:00
Thomas G. Lockhart 67ac38085c Update for new psql formatting. 2000-01-06 06:40:54 +00:00
Thomas G. Lockhart 6e0cc2ac45 Freshen up the banner displayed when running the regression test. 2000-01-06 06:40:18 +00:00
Bruce Momjian b78769fda2 Fix it's and its to be correct. 2000-01-05 18:23:54 +00:00
Thomas G. Lockhart c0cab6f4fa Update format to add uniform headers on files. 2000-01-05 17:32:29 +00:00
Thomas G. Lockhart 69789bf33d Update format to add uniform headers on files.
Update output to new psql conventions.
2000-01-05 17:32:18 +00:00
Thomas G. Lockhart 9c1b29816e Update output to new psql conventions. 2000-01-05 17:31:08 +00:00
Thomas G. Lockhart 6033cfd429 Fix spaces in text message. 2000-01-05 17:30:05 +00:00
Thomas G. Lockhart 4c4e68dccc Clean up format of tests.
Remove older "::" type coersion syntax in favor of extended SQL92 style.
Include a few new tests for datetime/timespan arithmetic.
2000-01-05 06:07:58 +00:00
Thomas G. Lockhart d83105539a Verified output from new psql.
Include a few new tests for datetime/timespan arithmetic.
2000-01-05 06:06:23 +00:00
Thomas G. Lockhart 24e8ca6ef9 Move numeric test to be near other numeric data types like int4 and float8. 2000-01-05 06:04:56 +00:00
Thomas G. Lockhart 61ef6a1a3f Clean up syntax to use SQL92-ish type coersion
rather than the Postgres "::" notation.
All of these tests have been completely inspected and give correct results.
2000-01-04 16:21:02 +00:00
Thomas G. Lockhart f54668d617 Match results with format from new psql.
All of these tests have been completely inspected and give correct results.
2000-01-04 16:19:34 +00:00
Thomas G. Lockhart 3ec826f99a Repair two recently reported problems:
1) datetime_pl_span() added the seconds field before adding the months
 field.  This lead to erroneous results for e.g.
   select datetime '1999-11-30' + timespan '1 mon - 1 sec';
 Reverse the order of operations to add months first.
2) tm2timespan() did all intermediate math as integer, converting to double
 at the very end. This resulted in hidden overflows when given very large
 integer days, hours, etc. For example,
   select '74565 days'::timespan;
 produced the wrong result. Change code to ensure that doubles are used
 for intermediate calculations.
Thanks to Olivier PRENANT <ohp@pyrenet.fr> and
 Tulassay Zsolt <zsolt@tek.bke.hu> for problem reports and to Tom Lane for
 accurate analyses.
2000-01-04 07:53:27 +00:00
Bruce Momjian aae7b19077 Update DATEDEBUG removal. 2000-01-02 02:32:37 +00:00
Bruce Momjian a8587d02eb Update length of timestamp to 30. 2000-01-02 02:11:08 +00:00
Bruce Momjian 7a877dfd2d Remove DATEDEBUG because it didn't look Y2K safe, and fix timestamp elog
to be Y2K safe.
2000-01-02 01:37:28 +00:00
Bruce Momjian eb9bb3de33 Make psql \dT always show descriptions. There is room. 1999-12-31 21:06:19 +00:00
Tom Lane d8f3752133 Generate double-sided LIKE indexquals that work even in weird locales,
by continuing to increment the rightmost character until we get a string
that is demonstrably greater than the pattern prefix.
1999-12-31 05:38:25 +00:00
Tom Lane 5f68d5c38f Clean up loose end in LIKE optimization fix: parser's code would generate
<= and >= indexquals from a LIKE even if the index in question didn't
support those operators.  (As, for example, a hash index does not.)
1999-12-31 03:41:03 +00:00
Tom Lane 2784a5aedf Clean up datatypes and comments for op_class() routine. 1999-12-31 03:18:43 +00:00
Tom Lane f35e1c8c1f Revise init_sequence so that it doesn't leak memory if the requested
sequence doesn't exist.
1999-12-31 00:54:27 +00:00
Tom Lane 8a40400d40 elog() was set up to call abort() if it saw an ERROR or FATAL exit
during InitProcessingMode and the CurrentTransactionState was neither
TRANS_DEFAULT nor TRANS_DISABLED.  Unfortunately, after someone's recent
change to start the transaction manager earlier in startup than it used
to be started, that caused an abort() and consequent database system
reset on quite harmless errors (such as rejecting an invalid user name!).
As far as I can see, the test on CurrentTransactionState was completely
useless anyway, so I've removed it.
1999-12-30 23:03:40 +00:00
Tatsuo Ishii 0022f21dcb Allow --with-mb=SQL_ASCII 1999-12-30 08:33:49 +00:00
Tom Lane 9c95f8c9b2 Repair bugs discussed in pghackers thread of 15 May 1999: creation of a
relcache entry no longer leaks a small amount of memory.  index_endscan
now releases all the memory acquired by index_beginscan, so callers of it
should NOT pfree the scan descriptor anymore.
1999-12-30 05:05:13 +00:00
Bruce Momjian 649ffe1616 Improve subquery error message, now says "More than one tuple returned
by subselect used as expression."
1999-12-29 22:57:17 +00:00
Bruce Momjian e1b212ff3b Move ipc patch into README.NT. 1999-12-29 10:28:00 +00:00
Bruce Momjian 25f187d339 Add NT patch. 1999-12-29 10:24:16 +00:00
Bruce Momjian f63ff18153 Move NT patch into readme. 1999-12-29 10:18:04 +00:00
Bruce Momjian 2e2fb0a2a6 Update comment. 1999-12-29 10:13:20 +00:00
Bruce Momjian b21ee21455 Update comments. 1999-12-29 10:12:23 +00:00
Jan Wieck e3cec20ccd Removed LZTEXT datatype as discussed.
Jan
1999-12-28 13:40:53 +00:00
Bruce Momjian e9bfedc9bc Fix length limit, MikeA 1999-12-27 18:21:07 +00:00
Bruce Momjian 635498623d Hi, all,
This is the patch for the final bit.  Sorry that it's separate.

Cheers...


MikeA
1999-12-27 15:45:04 +00:00
Bruce Momjian 24a0f021ef Hi, all
I finally got around to schlepping through pg_dump, to finish what I started
about three months (or more) ago.  Attached is a gzipped diff file to apply
in the bin/pg_dump directory.  This should remove all string length
dependencies, except one, which I'm working on.  It has been through some
rudimentary unit testing, but that's about it, so if any of you would give
it a more strenuous run-through, I'd be grateful for the feedback.

Cheers...

 Ansley, Michael
1999-12-27 15:42:44 +00:00
Tom Lane bc036a063d Put back erroneously-removed definition of 'defines' variable. 1999-12-26 21:31:35 +00:00
Tom Lane a6a70315af It turns out that the item size limit for btree indexes is about BLCKSZ/3,
not BLCKSZ/2 as some of us thought.  Add check for oversize item so that
failure is detected before corrupting the index, not after.
1999-12-26 03:48:22 +00:00
Tom Lane 350cb386af Clean up handling of explicit NULL constants. Cases like
SELECT null::text;
	SELECT int4fac(null);
work as expected now.  In some cases a NULL must be surrounded by
parentheses:
	SELECT 2 + null;                 fails
	SELECT 2 + (null);               OK
This is a grammatical ambiguity that seems difficult to avoid.  Other
than that, NULLs seem to behave about like you'd expect.  The internal
implementation is that NULL constants are typed as UNKNOWN (like
untyped string constants) until the parser can deduce the right type.
1999-12-24 06:43:34 +00:00
Michael Meskes bd5ea42a8d *** empty log message *** 1999-12-23 12:33:19 +00:00
Tatsuo Ishii e80ade5e22 Fix minor bug. 1999-12-22 04:41:17 +00:00
Tatsuo Ishii e3736d2c3a Add installtion of postmaster.opts.default. 1999-12-22 04:23:31 +00:00
Tatsuo Ishii b680d5bec7 Add installation of pg_ctl
Locate path of postmaster in a portable way (stolen from initdb)
Add postmaster.opts.default.sample which should be copied into
$PGLIB in the installtion process. Also, it will be installed into
$PGDATA while initdb is running.
1999-12-22 04:12:55 +00:00
Hiroshi Inoue a3e2bc732d to live in a transaction before access to db
during backend startup.
1999-12-22 00:07:16 +00:00
Jan Wieck 3e99158548 update_pg_pwd() is an AR trigger. Corrected return type.
Jan
1999-12-21 22:39:02 +00:00
Bruce Momjian b57b0e0445 The first fix is to allow an input file with a relative path and without
a ".pgc " extension. The second patch fixes a coredump when there is
more than one input file (in that case, cur and types were not set to
NULL before processing the second f ile)

The patch below modifies the accepted grammar of ecpg to accept

 FETCH [direction] [amount] cursor name

i.e. the IN|FROM clause becomes optional (as in Oracle and Informix).
This removes the incompatibility mentioned in section "Porting From
Other RDBMS Packages" p169, PostgreSQL Programmer's Guide. The grammar
is modified in such a way as to avoid shift/reduce conflicts. It does
not accept the statement "EXEC SQL FETCH;" anymore, as the old grammar
did (this seems to be a bug of the old grammar anyway).

This patch cleans up the handling of space characters in the scanner;
some patte rns require \n to be in {space}, some do not. A second fix is
the handling of cpp continuati on lines; the old pattern did not match
these. The parser is patched to fix an off-by-one error in the #line
directives. The pa rser is also enhanced to report the correct location
of errors in declarations in the "E XEC SQL DECLARE SECTION". Finally,
some right recursions in the parser were replaced by  left-recursions.


This patch adds preprocessor directives to ecpg; in particular

EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF and EXEC SQL ENDIF

"EXEC SQL IFDEF" is used with defines made with "EXEC SQL DEFINE" and
defines, specified on the command line with -D. Defines, specified on
the command line are persistent across multiple input files. Defines can
be nested up to a maximum level of 128 (see patch). There is a fair
amount of error checking to make sure directives are matched properly. I
need preprocessor directives for porting code, that is written for an
Informix database, to a PostgreSQL database, while maintaining
compatibility with the original code. I decided not to extend the
already large ecpg grammar. Everything is done in the scanner by adding
some states, e.g. to skip all input except newlines and directives. The
preprocessor commands are compatible with Informix. Oracle uses a cpp
replacement.

Rene Hogendoorn
1999-12-21 17:42:16 +00:00
Bruce Momjian bb50fb517f This patch will avoid SIGFPE on some geo functions , if PostgreSQL is compiled
with DEC C.

DEC C doesn't handle double values greater than DBL_MAX, but some
PostgreSQL geo functions assign greater than DBL_MAX values to some vars
in some special cases - that couses SIGFPE. I dunno if that is the only place
to fix to work well with DEC C.

Kirill Nosov.
1999-12-21 17:01:44 +00:00
Bruce Momjian 04c78e2eb4 autoconf 1999-12-21 16:56:42 +00:00
Bruce Momjian 6a554a07b4 Clean up qnx template finding. 1999-12-21 16:55:38 +00:00
Jan Wieck e2aef49694 Added empty TOASTER files and corrected some minor glitches
in regression tests.

Jan
1999-12-21 00:06:44 +00:00
Bruce Momjian 2c29c96ed6 tr cleanup 1999-12-20 14:41:55 +00:00
Jan Wieck 7c385f73e5 Required catalog changes for extended LONG attribute storage.
Jan
1999-12-20 10:40:43 +00:00
Bruce Momjian 665db209e5 Cleanup of effective username test. 1999-12-20 05:39:40 +00:00
Tom Lane f74b94db09 Finally found a platform which has finite() but nonetheless sets errno
rather than returning a NaN for bogus input to pow().  Namely, HPUX 10.20.
I think this is sufficient evidence for what I thought all along, which
is that the float.c code *must* look at errno whether finite() exists or
not.
1999-12-20 02:15:35 +00:00
Tom Lane 76b110c82a Clean up some minor gcc warnings. 1999-12-20 01:41:32 +00:00
Tom Lane ec806d72c0 Clean up some minor gcc warnings. 1999-12-20 01:34:19 +00:00