OSDN Git Service
Jan Wieck [Tue, 21 Dec 1999 22:39:02 +0000 (22:39 +0000)]
update_pg_pwd() is an AR trigger. Corrected return type.
Jan
Bruce Momjian [Tue, 21 Dec 1999 17:42:16 +0000 (17:42 +0000)]
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
Bruce Momjian [Tue, 21 Dec 1999 17:34:05 +0000 (17:34 +0000)]
Update developers faq in main tree.
Bruce Momjian [Tue, 21 Dec 1999 17:01:44 +0000 (17:01 +0000)]
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.
Bruce Momjian [Tue, 21 Dec 1999 16:56:42 +0000 (16:56 +0000)]
autoconf
Bruce Momjian [Tue, 21 Dec 1999 16:55:38 +0000 (16:55 +0000)]
Clean up qnx template finding.
Jan Wieck [Tue, 21 Dec 1999 00:06:44 +0000 (00:06 +0000)]
Added empty TOASTER files and corrected some minor glitches
in regression tests.
Jan
Bruce Momjian [Mon, 20 Dec 1999 14:41:55 +0000 (14:41 +0000)]
tr cleanup
Jan Wieck [Mon, 20 Dec 1999 10:40:43 +0000 (10:40 +0000)]
Required catalog changes for extended LONG attribute storage.
Jan
Bruce Momjian [Mon, 20 Dec 1999 05:39:40 +0000 (05:39 +0000)]
Cleanup of effective username test.
Tom Lane [Mon, 20 Dec 1999 02:15:35 +0000 (02:15 +0000)]
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.
Tom Lane [Mon, 20 Dec 1999 01:41:32 +0000 (01:41 +0000)]
Clean up some minor gcc warnings.
Tom Lane [Mon, 20 Dec 1999 01:34:19 +0000 (01:34 +0000)]
Clean up some minor gcc warnings.
Tom Lane [Mon, 20 Dec 1999 01:31:26 +0000 (01:31 +0000)]
Clean up some minor gcc warnings. I'm not touching the
major one, though, which is the truly ugly stores into libpq private
storage. Can't you find a better way to do this?
Tom Lane [Mon, 20 Dec 1999 01:23:04 +0000 (01:23 +0000)]
Clean up some minor gcc warnings.
Tom Lane [Mon, 20 Dec 1999 01:19:58 +0000 (01:19 +0000)]
Whoever touched this code last doesn't seem to understand
what a header file is for :-(
Tom Lane [Mon, 20 Dec 1999 00:51:25 +0000 (00:51 +0000)]
Avoid compiler warnings on systems that have snprintf and/or vsnprintf
but do not bother to declare them in <stdio.h>. Seems to be a more
common omission than you'd think...
Bruce Momjian [Sat, 18 Dec 1999 08:46:44 +0000 (08:46 +0000)]
Cleanup --alldb option handling.
Bruce Momjian [Sat, 18 Dec 1999 08:39:12 +0000 (08:39 +0000)]
Cleanup vacuumdb
Bruce Momjian [Sat, 18 Dec 1999 08:34:50 +0000 (08:34 +0000)]
> > It would be nice for new users; I think it would make it easier
> > for them to actually set out and do it. Many new users are
> > of the not-so-knowledgable variety, and shell scripting isn't
> > something they want to undertake.
>
> Can someone modify the vacuumdb shell script to do that?
i tried it... it seems to work
neko@kredit.sth.sz
Bruce Momjian [Sat, 18 Dec 1999 04:04:24 +0000 (04:04 +0000)]
Finally initdb.sh works. Was problem with assuming EUID was defined.
Bruce Momjian [Sat, 18 Dec 1999 03:31:14 +0000 (03:31 +0000)]
initdb cleanup
Bruce Momjian [Sat, 18 Dec 1999 03:21:21 +0000 (03:21 +0000)]
initdb cleanup
Bruce Momjian [Sat, 18 Dec 1999 02:56:01 +0000 (02:56 +0000)]
More initdb cleanup
Bruce Momjian [Sat, 18 Dec 1999 02:48:53 +0000 (02:48 +0000)]
Cleanup of initdb.sh script to be portable, at least marginally.
Bruce Momjian [Sat, 18 Dec 1999 00:34:48 +0000 (00:34 +0000)]
Add cvs.
Bruce Momjian [Fri, 17 Dec 1999 18:19:30 +0000 (18:19 +0000)]
autoconf
Bruce Momjian [Fri, 17 Dec 1999 18:18:26 +0000 (18:18 +0000)]
Lowercase $host for QNX.
Bruce Momjian [Fri, 17 Dec 1999 18:07:17 +0000 (18:07 +0000)]
Remove unused files.
Bruce Momjian [Fri, 17 Dec 1999 18:05:32 +0000 (18:05 +0000)]
Fix MULTIBYTE handling in string by using strcat.
Jan Wieck [Fri, 17 Dec 1999 16:53:11 +0000 (16:53 +0000)]
Okay, this is how it looks: Please apply the attached patch to the current
sources, otherwise this whole things fails anyway (fails to create the
views).
Peter Eisentraut
Manually applied - Jan
Thomas G. Lockhart [Fri, 17 Dec 1999 14:52:51 +0000 (14:52 +0000)]
Fix typo in tag.
Thomas G. Lockhart [Fri, 17 Dec 1999 14:47:35 +0000 (14:47 +0000)]
Re-enable makeAttr() if ENABLE_OUTER_JOINS is defined.
Somehow got bracketed with #ifdef NOT_USED instead.
Bruce Momjian [Fri, 17 Dec 1999 03:46:33 +0000 (03:46 +0000)]
ANother initdb cleanup
Bruce Momjian [Fri, 17 Dec 1999 01:25:25 +0000 (01:25 +0000)]
Reverse out nextval patch.
Bruce Momjian [Fri, 17 Dec 1999 01:16:03 +0000 (01:16 +0000)]
initdb.sh fix from Peter.
Bruce Momjian [Fri, 17 Dec 1999 01:05:31 +0000 (01:05 +0000)]
This is my -- hopefully sufficiently portable -- attempt at cleaning out
initdb. No more obscure dependencies on environment variables or paths.
It
now finds the templates and the right postgres itself (with cmd line
options as fallback). It also no longer depends on $USER (su safe), and
doesn't advertise that --username allows you to install the db as a
different user, since that doesn't work anyway. Also, recovery and
cleanup
on all errors. Consistent options, clearer documentation.
Please take a look at this and adopt it if you feel it's safe enough. I
have simulated all the stupid circumstances I could think of, but you
never know with shell scripts.
Oh yeah, you can give the postgres user a default password now.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Thu, 16 Dec 1999 23:54:41 +0000 (23:54 +0000)]
Clear paren level flag on \r or any backslash command, rather than
keeping parenlevel unchanged.
Jan Wieck [Thu, 16 Dec 1999 22:20:03 +0000 (22:20 +0000)]
Some changes to prepare for LONG attributes.
Jan
Bruce Momjian [Thu, 16 Dec 1999 20:10:02 +0000 (20:10 +0000)]
Hi,
I sending promised patch with:
* getopt_long() - for pg_dump (portable)
* and "Usage: " changes in scripts in src/bin/
- this changes are cosmetic only, not change any
feature ...etc.
All PostgreSQL routines (scripts) support now long options and
help's output is alike for all scripts and all support -? or --help.
Karel
Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/
Bruce Momjian [Thu, 16 Dec 1999 20:07:41 +0000 (20:07 +0000)]
>Turning nextval and currval into keywords is not an acceptable way to
>go about this. That will risk breaking existing applications that use
>those names as column names.
>
>It should actually almost work to write sq.nextval as things stand,
>because Postgres has for a long time considered table.function and
>function(table) to be interchangeable notations for certain kinds of
>functions. nextval doesn't seem to be one of that kind of function,
>at the moment. I'd suggest leaving the grammar as it was, and taking a
>look at ParseFuncOrColumn in parse_func.c to see if you can't persuade
>it to accept the sequence functions in that style.
OK, good point. I tried to implement it somewhere else and ended up
extending transformAttr. Attached you'll find the patch.
Jeroen van Vianen
Bruce Momjian [Thu, 16 Dec 1999 17:24:19 +0000 (17:24 +0000)]
Here's the Create/Alter/Drop Group stuff that's been really overdue. I
didn't have time for documentation yet, but I'll write some. There are
still some things to work out what happens when you alter or drop users,
but the group stuff in and by itself is done.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Thu, 16 Dec 1999 16:52:53 +0000 (16:52 +0000)]
Update for QNX.
Bruce Momjian [Thu, 16 Dec 1999 16:34:06 +0000 (16:34 +0000)]
autoconf
Michael Meskes [Thu, 16 Dec 1999 06:53:12 +0000 (06:53 +0000)]
*** empty log message ***
Bruce Momjian [Thu, 16 Dec 1999 01:30:49 +0000 (01:30 +0000)]
Ethernet MAC addresses (macaddr type) are not compared correctly for
equality. The lobits macro is wrong and extracts the wrong set of
bits out of the structure.
To exhibit the problem:
select '000000:000000'::macaddr = '000000:110000'::macaddr ;
?column?
--------
t
(1 row)
Daniel Boyd
Bruce Momjian [Thu, 16 Dec 1999 01:25:23 +0000 (01:25 +0000)]
I have done the QNX4 port with the current source tree. The number of
backend/Makefiles to be patched could significantly be reduced since
they
have been adopted to the QNX4 needs.
Andreas Kardos
Bruce Momjian [Tue, 14 Dec 1999 22:03:48 +0000 (22:03 +0000)]
This patch solves a couple of memory leaks in ecpglib.c. The patch is
ok for both the
development tree (CVS) and for 6.5.3.
Stephen Birch
Tom Lane [Tue, 14 Dec 1999 03:35:28 +0000 (03:35 +0000)]
fix_parsetree_attnums was not nearly smart enough about walking parse
trees. Also rewrite find_all_inheritors() in a more intelligible style.
Bruce Momjian [Tue, 14 Dec 1999 00:17:33 +0000 (00:17 +0000)]
> From what I gather, this should be a little cleaner because the
triggered
> function now returns the right datatype.
Oops, I got crossed up with Jan's improvements. Ignore this.
--
Peter Eisentraut Sernanders väg 10:115
peter_e@gmx.net 75262 Uppsala
Bruce Momjian [Tue, 14 Dec 1999 00:12:06 +0000 (00:12 +0000)]
>From what I gather, this should be a little cleaner because the
triggered
function now returns the right datatype.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Tue, 14 Dec 1999 00:08:21 +0000 (00:08 +0000)]
Depending on my interpreting (and programming) skills, this might solve
anywhere from zero to two TODO items.
* Allow flag to control COPY input/output of NULLs
I got this:
COPY table .... [ WITH NULL AS 'string' ]
which does what you'd expect. The default is \N, otherwise you can use
empty strings, etc. On Copy In this acts like a filter: every data item
that looks like 'string' becomes a NULL. Pretty straightforward.
This also seems to be related to
* Make postgres user have a password by default
If I recall this discussion correctly, the problem was actually that the
default password for the postgres (or any) user is in fact "\N", because
of the way copy is used. With this change, the file pg_pwd is copied out
with nulls as empty strings, so if someone doesn't have a password, the
password is just '', which one would expect from a new account. I don't
think anyone really wants a hard-coded default password.
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Mon, 13 Dec 1999 22:35:27 +0000 (22:35 +0000)]
New LDOUT makefile variable for QNX os.
Tom Lane [Mon, 13 Dec 1999 17:39:38 +0000 (17:39 +0000)]
Update documentation to reflect availability of aggregate(DISTINCT).
Try to provide a more lucid discussion in 'Using Aggregate Functions'
tutorial section.
Bruce Momjian [Mon, 13 Dec 1999 04:54:01 +0000 (04:54 +0000)]
Prevent _deadcode from showing in ctags and mkid
Tom Lane [Mon, 13 Dec 1999 01:27:21 +0000 (01:27 +0000)]
aggregate(DISTINCT ...) works, per SQL spec.
Note this forces initdb because of change of Aggref node in stored rules.
Tom Lane [Sun, 12 Dec 1999 20:51:29 +0000 (20:51 +0000)]
any_ordering_op()'s argument should be declared Oid not int.
Bruce Momjian [Sun, 12 Dec 1999 05:57:36 +0000 (05:57 +0000)]
I'm in TODO mood today ...
* Document/trigger/rule so changes to pg_shadow recreate pg_pwd
I did it with a trigger and it seems to work like a charm. The function
that already updates the file for create and alter user has been made a
built-in "SQL" function and a trigger is created at initdb time.
Comments around the pg_pwd updating function seem to be worried about
this
routine being called concurrently, but I really don't see a reason to
worry about this. Verify for yourself. I guess we never had a system
trigger before, so treat this with care, and feel free to adjust the
nomenclature as well.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Sun, 12 Dec 1999 05:15:10 +0000 (05:15 +0000)]
Meanwhile, database names with single quotes in names don't work very well
at all, and because of shell quoting rules this can't be fixed, so I put
in error messages to that end.
Also, calling create or drop database in a transaction block is not so
good either, because the file system mysteriously refuses to roll back rm
calls on transaction aborts. :) So I put in checks to see if a transaction
is in progress and signal an error.
Also I put the whole call in a transaction of its own to be able to roll
back changes to pg_database in case the file system operations fail.
The alternative location issues I posted recently were untouched, awaiting
the outcome of that discussion. Other than that, this should be much more
fool-proof now.
The docs I cleaned up as well.
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Sat, 11 Dec 1999 21:35:49 +0000 (21:35 +0000)]
Fix for psql from Peter.
Bruce Momjian [Sat, 11 Dec 1999 01:03:36 +0000 (01:03 +0000)]
Allow ; in () in psql.
Bruce Momjian [Sat, 11 Dec 1999 00:31:37 +0000 (00:31 +0000)]
Update TODO list.
Bruce Momjian [Sat, 11 Dec 1999 00:31:05 +0000 (00:31 +0000)]
This takes care of TODO item
* pg_dump should preserve primary key information
Also a couple of warnings removed.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Fri, 10 Dec 1999 17:46:41 +0000 (17:46 +0000)]
Remove old file.
Bruce Momjian [Fri, 10 Dec 1999 17:32:57 +0000 (17:32 +0000)]
Update drop.sql
Bruce Momjian [Fri, 10 Dec 1999 17:31:30 +0000 (17:31 +0000)]
Rename destroy.sql to drop.sql.
Jan Wieck [Fri, 10 Dec 1999 12:34:15 +0000 (12:34 +0000)]
Added global variable to have RI triggers override
time qualification of HeapTupleSatisfiesSnapshot()
Jan
Tatsuo Ishii [Fri, 10 Dec 1999 10:29:01 +0000 (10:29 +0000)]
Fix memory overrun while setting ps status
Tom Lane [Fri, 10 Dec 1999 07:37:35 +0000 (07:37 +0000)]
Teach grammar and parser about aggregate(DISTINCT ...). No implementation
yet, but at least we can give a better error message:
regression=> select count(distinct f1) from int4_tbl;
ERROR: aggregate(DISTINCT ...) is not implemented yet
instead of 'parser: parse error at or near distinct'.
Bruce Momjian [Fri, 10 Dec 1999 05:17:13 +0000 (05:17 +0000)]
Remove unneeded action.
Bruce Momjian [Fri, 10 Dec 1999 05:00:36 +0000 (05:00 +0000)]
Fix LDREL.
Bruce Momjian [Fri, 10 Dec 1999 03:59:30 +0000 (03:59 +0000)]
This should fix the \e (\p, \g, ...) behaviour on an empty query buffer.
Also, minor tweakage of tab completion, and I hope the output is flushed
on time now.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Fri, 10 Dec 1999 03:56:14 +0000 (03:56 +0000)]
Rename several destroy* functions/tags to drop*.
Tom Lane [Fri, 10 Dec 1999 03:01:05 +0000 (03:01 +0000)]
Correct coredump in ALTER TABLE foo ADD(). Accept explicit NULL in
typecasts, eg 'NULL::text'. Later parts of the parser don't like this
yet, but I'll work on that next.
Bruce Momjian [Fri, 10 Dec 1999 00:48:32 +0000 (00:48 +0000)]
Update regression for new dropdb command.
Jan Wieck [Fri, 10 Dec 1999 00:26:35 +0000 (00:26 +0000)]
Added a fflush(stdout) to the \p command required for the
multisession test tool.
Jan
Bruce Momjian [Thu, 9 Dec 1999 19:15:45 +0000 (19:15 +0000)]
Make LD -r as macros that can be changed for QNX.
Bruce Momjian [Thu, 9 Dec 1999 15:56:16 +0000 (15:56 +0000)]
Update for QNX from Kardos, Dr. Andrea
Tom Lane [Thu, 9 Dec 1999 05:58:56 +0000 (05:58 +0000)]
Replace generic 'Illegal use of aggregates' error message with one that
shows the specific ungrouped variable being complained of. Perhaps this
will reduce user confusion...
Bruce Momjian [Thu, 9 Dec 1999 05:02:24 +0000 (05:02 +0000)]
Hi,
I was able to crash postgres 6.5.3 when I did an 'alter user' command.
After I started a debugger I found the problem in the timezone handling
of
datetime (my Linux box lost its timezone information, that's how the
problem occurred).
Only 7 bytes are reserved for the timezone, without checking for
boundaries.
Attached is a patch that fixes this problem and emits a NOTICE if a
timezone is encountered that is longer than MAXTZLEN bytes, like this:
Jeroen van Vianen
Bruce Momjian [Thu, 9 Dec 1999 04:36:57 +0000 (04:36 +0000)]
Remove extra vacuum, from Peter.
Jan Wieck [Wed, 8 Dec 1999 20:41:22 +0000 (20:41 +0000)]
Fixed concurrent visibility bug.
Jan
Bruce Momjian [Wed, 8 Dec 1999 11:37:38 +0000 (11:37 +0000)]
Fix indexing of cidr.
Bruce Momjian [Wed, 8 Dec 1999 11:17:20 +0000 (11:17 +0000)]
Cleanup
Bruce Momjian [Wed, 8 Dec 1999 10:29:55 +0000 (10:29 +0000)]
Change $< to $+ in scripts Makefile, and clean up pg_encoding if logic.
Michael Meskes [Wed, 8 Dec 1999 09:52:29 +0000 (09:52 +0000)]
*** empty log message ***
Bruce Momjian [Tue, 7 Dec 1999 22:43:03 +0000 (22:43 +0000)]
Peter's file removals.
Bruce Momjian [Tue, 7 Dec 1999 22:41:44 +0000 (22:41 +0000)]
Okay, that should put us back in sync. These two patches (src & doc) are
against the sources from one hour ago and contain all the portable and
up
to date stuff.
A few other CVS "householding" things you might want to take care of:
* Remove the src/bin/cleardbdir directory
* Remove the file src/bin/psql/sql_help.h from the repository, as it is
a derived file and is build by the release_prep.
Peter Eisentraut
Michael Meskes [Tue, 7 Dec 1999 10:29:18 +0000 (10:29 +0000)]
*** empty log message ***
Tom Lane [Tue, 7 Dec 1999 04:09:39 +0000 (04:09 +0000)]
Clean up memory leakage in find_inheritors() by using pg_list lists
(which are palloc'd) instead of DLLists (which are malloc'd). Not very
significant, since this routine seldom has anything useful to do, but
a leak is a leak...
Jan Wieck [Tue, 7 Dec 1999 00:13:41 +0000 (00:13 +0000)]
Again updated INSIDE TODO
Jan
Jan Wieck [Tue, 7 Dec 1999 00:11:35 +0000 (00:11 +0000)]
Added SET DEFAULT action for ON DELETE/UPDATE
Jan
Jan Wieck [Mon, 6 Dec 1999 19:52:36 +0000 (19:52 +0000)]
Corrected TODO in source
Jan
Jan Wieck [Mon, 6 Dec 1999 19:50:49 +0000 (19:50 +0000)]
Added ON DELETE/UPDATE SET NULL
Jan
Jan Wieck [Mon, 6 Dec 1999 18:02:47 +0000 (18:02 +0000)]
Completed FOREIGN KEY syntax.
Added functionality for automatic trigger creation during CREATE TABLE.
Added ON DELETE RESTRICT and some others.
Jan
Thomas G. Lockhart [Mon, 6 Dec 1999 16:40:45 +0000 (16:40 +0000)]
Update entries with recent results for Alpha and ARM processors.
Remove references to Ultrix; haven't heard from it for a *long* time :(
Thomas G. Lockhart [Mon, 6 Dec 1999 16:38:25 +0000 (16:38 +0000)]
Fix markup (a couple of missing tags) and renormalize.
Thomas G. Lockhart [Mon, 6 Dec 1999 16:37:11 +0000 (16:37 +0000)]
Remove references to PostgreSQL as "public-domain" since that has a
specific meaning wrt copyright (or lack thereof).
Tatsuo Ishii [Mon, 6 Dec 1999 08:49:00 +0000 (08:49 +0000)]
Fix the case of -o given
Tatsuo Ishii [Mon, 6 Dec 1999 08:35:34 +0000 (08:35 +0000)]
Fix minor bugs