Tom Lane [Sat, 7 Oct 2000 00:58:23 +0000 (00:58 +0000)]
Arrange that no database accesses are attempted during parser() --- this
took some rejiggering of typename and ACL parsing, as well as moving
parse_analyze call out of parser(). Restructure postgres.c processing
so that parse analysis and rewrite are skipped when in abort-transaction
state. Only COMMIT and ABORT statements will be processed beyond the raw
parser() phase. This addresses problem of parser failing with database access
errors while in aborted state (see pghackers discussions around 7/28/00).
Also fix some bugs with COMMIT/ABORT statements appearing in the middle of
a single query input string.
Function, operator, and aggregate arguments/results can now use full
TypeName production, in particular foo[] for array types.
DROP OPERATOR and COMMENT ON OPERATOR were broken for unary operators.
Allow CREATE AGGREGATE to accept unquoted numeric constants for initcond.
Tom Lane [Thu, 5 Oct 2000 19:11:39 +0000 (19:11 +0000)]
Reimplementation of UNION/INTERSECT/EXCEPT. INTERSECT/EXCEPT now meet the
SQL92 semantics, including support for ALL option. All three can be used
in subqueries and views. DISTINCT and ORDER BY work now in views, too.
This rewrite fixes many problems with cross-datatype UNIONs and INSERT/SELECT
where the SELECT yields different datatypes than the INSERT needs. I did
that by making UNION subqueries and SELECT in INSERT be treated like
subselects-in-FROM, thereby allowing an extra level of targetlist where the
datatype conversions can be inserted safely.
INITDB NEEDED!
Treat empty connection parameters as is, in particular to enable overriding
environment variables with "nothing". Empty host parameter indicates
Unix socket.
Bruce Momjian [Tue, 3 Oct 2000 03:11:26 +0000 (03:11 +0000)]
New diff that now covers the entire tree. Applying this gets postgresql
working on the VERY latest version of BeOS. I'm sure there will be
alot of comments, but then if there weren't I'd be disappointed!
Thanks for your continuing efforts to get this into your tree.
Haven't bothered with the new files as they haven't changed.
BTW Peter, the compiler is "broken" about the bool define and so on.
I'm filing a bug report to try and get it addressed. Hopefully then we
can tidy up the code a bit.
Bruce Momjian [Mon, 2 Oct 2000 17:16:01 +0000 (17:16 +0000)]
Here is the first batch of files and diffs for the BeOS port. I've run into
problems with some bits of it, but when all the patches are in it'll build
and we can fix it from there :) I've got a version that builds and runs and
that is the basis for these patches.
The first file has the new additional files that are required,
template/beos
backend/port/dynloader/beos.c
backend/port/dynloader/beos.h
include/port/beos.h
makefiles/Makefile.beos
The second is a tarball of diffs against a few files. I've added sys/ipc.h
to configure and config.h via configure.in and config.h.in and then started
adding the check as this file isn't needed on BeOS and having loads of
#ifdef BEOS isn't as obvious as #ifdef HAVE_SYS_IPC_H and isn't as
autconf'ish :)
Files touched are
include/c.h
configure.in
include/config.h.in
include/storage/ipc.h
include/utils/int8.h
Let me know how these go. I'll await a response before submitting any more.
Bruce Momjian [Mon, 2 Oct 2000 16:15:53 +0000 (16:15 +0000)]
In the meaning of bug-fix, the patch is not needed. Because you
have already modified "next_insert()" in 7.0-ecpglib. However
in the meaning of speed-up, the patch will be needed.
--
Regards,
SAKAIDA Masaaki -- Osaka, Japan
Tom Lane [Mon, 2 Oct 2000 04:49:28 +0000 (04:49 +0000)]
Make default ACL be consistent --- ie, starting point for ChangeAcl
is the same as the access permissions granted when a relation's relacl
field is NULL, ie, owner=all rights, world=no rights.
Tom Lane [Sat, 30 Sep 2000 18:28:53 +0000 (18:28 +0000)]
Fix nasty TRUNCATE bug reported by Darrin Ladd. RelationTruncateIndexes
would close and then re-open rel being truncated. Depending on the
luck of the draw, the re-opened relcache entry might or might not be
at the same physical location as before. Unfortunately, if it wasn't
then heap_truncate would crash and burn, because it still had a pointer
at the old location. Fix is to open and then close rel in
RelationTruncateIndexes, so that rel's refcount never goes to zero
until heap_truncate is done.
Tom Lane [Fri, 29 Sep 2000 18:21:41 +0000 (18:21 +0000)]
Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias.
(Don't forget that an alias is required.) Views reimplemented as expanding
to subselect-in-FROM. Grouping, aggregates, DISTINCT in views actually
work now (he says optimistically). No UNION support in subselects/views
yet, but I have some ideas about that. Rule-related permissions checking
moved out of rewriter and into executor.
INITDB REQUIRED!
Peter Eisentraut [Fri, 29 Sep 2000 17:17:41 +0000 (17:17 +0000)]
New unified regression test driver, test/regress makefile cleanup,
add "check" and "installcheck" targets, straighten out make variable naming
of host_os, host_cpu, etc.
Peter Eisentraut [Fri, 29 Sep 2000 13:53:35 +0000 (13:53 +0000)]
Standardize on __CYGWIN__ rather than __CYGWIN32__ macro. Doesn't matter
either way (although the former is preferred by the Cygwin folks
themselves), but using only one seems nicer.
Peter Eisentraut [Wed, 27 Sep 2000 15:17:57 +0000 (15:17 +0000)]
Fixes for Cygwin, with help from Pete Forman <gsez020@kryten.bedford.waii.com>.
Update the installation instructions (formerly misnamed "FAQ"), add configure
checks for some headers rather than having users copy stubs manually (ugh!).
Use Autoconf check for exe extension. This also avoids inheriting the value
of $(X) from the environment.
Michael Meskes [Tue, 26 Sep 2000 11:41:45 +0000 (11:41 +0000)]
- Synced preproc.y with gram.y.
- Synced keyword.c.
- Added patch by Christof Petig <christof.petig@wtal.de> to fix NOT
FOUND problem on update/insert/delete.
Fix compile error in ecpg when enable-multibyte is on. This is due to
illegal call to pg_mbclipen() that is for backend only. However I
have not remove the entire part of the problem, rather mark it with
#ifdef MULTIBYTE_NOTUSED since we should come back with a long range
solution someday.
Peter Eisentraut [Mon, 25 Sep 2000 22:23:01 +0000 (22:23 +0000)]
Revise Tcl/Tk configuration. Make missing Tcl after --with-tcl an error,
add --without-tk option to disable Tk. We don't need the AC_PATH_XTRA
test because tkConfig.sh already contains all the information about how to
compile and link with X. Also make sure that libpq is up to date for
libpgtcl. Remove executable bits from pgaccess.sh, but add it to pgaccess.
Tom Lane [Mon, 25 Sep 2000 18:14:55 +0000 (18:14 +0000)]
Use variable aliases, if supplied, rather than real column names in
complaints about ungrouped variables. This is for consistency with
behavior elsewhere, notably the fact that the relname is reported as
an alias in these same complaints. Also, it'll work with subselect-
in-FROM where old code didn't.
Bruce Momjian [Mon, 25 Sep 2000 12:58:47 +0000 (12:58 +0000)]
the patch include:
- rename ichar() to chr() (discussed with Tom)
- add docs for oracle compatible routines:
btrim()
ascii()
chr()
repeat()
- fix bug with timezone in to_char()
- all to_char() variants return NULL instead textin("")
if it's needful.
The contrib/odbc is without changes and contains same routines as main
tree ... because I not sure how plans are Thomas with this :-)
Karel
---------------------------------------------------------------------------
This effectively one line patch should fix the fact that
foreign key definitions in create table were erroring if
a primary key was defined. I was using the columns
list to get the columns of the table for comparison, but
it got reused as a temporary list inside the primary key
stuff.
Tom Lane [Sun, 24 Sep 2000 04:07:11 +0000 (04:07 +0000)]
Tweak resultmap so that geometry regress test selects the right comparison
file on LinuxPPC, which is identified by config.guess as
powerpc-unknown-linux-gnu (not ...-gnulibc1).
Tom Lane [Tue, 19 Sep 2000 18:42:34 +0000 (18:42 +0000)]
Fix GEQO optimizer to work correctly with new outer-join-capable
query representation. Note that GEQO_RELS setting is now interpreted
as the number of top-level items in the FROM list, not necessarily the
number of relations in the query. This seems appropriate since we are
only doing join-path searching over the top-level items.
Peter Eisentraut [Tue, 19 Sep 2000 18:18:04 +0000 (18:18 +0000)]
Implement differentiation between CURRENT_USER and SESSION_USER as per SQL.
There is still no effective difference but it will kick in once setuid
functions exist (not included here). Make old getpgusername() alias for
current_user.
Peter Eisentraut [Mon, 18 Sep 2000 20:11:37 +0000 (20:11 +0000)]
Move contrib/odbc/odbc.sql together with odbc driver, remove old files;
revise ODBC "installation instructions"; update some other outdated
documentation; update contrib documentation
Tom Lane [Sun, 17 Sep 2000 22:21:27 +0000 (22:21 +0000)]
Parse JOIN/ON conditions with the proper visibility of input columns,
ie, consider only the columns coming from the JOIN clause's sub-clauses.
Also detect attempts to reference columns belonging to other tables
(which would still be possible using an explicitly-qualified name).
I'm not sure this implements the spec's semantics 100% accurately, but
at least it gives plausible behavior.