]> granicus.if.org Git - postgresql/log
postgresql
25 years agoOptimizer cleanup.
Bruce Momjian [Sat, 6 Feb 1999 17:29:30 +0000 (17:29 +0000)]
Optimizer cleanup.

25 years agoNew alloc set code using a memory block pool for small allocations.
Jan Wieck [Sat, 6 Feb 1999 16:50:34 +0000 (16:50 +0000)]
New alloc set code using a memory block pool for small allocations.

Jan

25 years agooptimizer cleanup
Bruce Momjian [Fri, 5 Feb 1999 20:34:11 +0000 (20:34 +0000)]
optimizer cleanup

25 years agoOptimizer cleanup.
Bruce Momjian [Fri, 5 Feb 1999 19:59:31 +0000 (19:59 +0000)]
Optimizer cleanup.

25 years agoFix for returning stack pointer from selectivity, from Bernard Frankpitt.
Bruce Momjian [Fri, 5 Feb 1999 17:47:29 +0000 (17:47 +0000)]
Fix for returning stack pointer from selectivity, from Bernard Frankpitt.

25 years agoReverse out const to libpq interface from D'Arcy.
Bruce Momjian [Fri, 5 Feb 1999 04:25:55 +0000 (04:25 +0000)]
Reverse out const to libpq interface from D'Arcy.

25 years agoFix silly typo in prune_joinrel
Tom Lane [Fri, 5 Feb 1999 03:43:05 +0000 (03:43 +0000)]
Fix silly typo in prune_joinrel

25 years agoOptimizer cleanups.
Bruce Momjian [Thu, 4 Feb 1999 23:19:53 +0000 (23:19 +0000)]
Optimizer cleanups.

25 years agoUpdate optimizer comments.
Bruce Momjian [Thu, 4 Feb 1999 19:20:12 +0000 (19:20 +0000)]
Update optimizer comments.

25 years agoLarge object write-into-middle fix from Tatsuo Ishii.
Bruce Momjian [Thu, 4 Feb 1999 14:52:00 +0000 (14:52 +0000)]
Large object write-into-middle fix from Tatsuo Ishii.

25 years agoFrom: Michael Meskes <Michael.Meskes@usa.net>
Marc G. Fournier [Thu, 4 Feb 1999 04:58:05 +0000 (04:58 +0000)]
From: Michael Meskes <Michael.Meskes@usa.net>

+ Tue Feb  2 07:40:52 CET 1999
+
+       - Brought preproc.y in sync again with gram.y.
+       - Set ecpg version to 2.4.9
+

25 years agoConst fixes from D'Arcy.
Bruce Momjian [Thu, 4 Feb 1999 03:20:39 +0000 (03:20 +0000)]
Const fixes from D'Arcy.

25 years agoMore optimizer cleanups.
Bruce Momjian [Thu, 4 Feb 1999 03:19:11 +0000 (03:19 +0000)]
More optimizer cleanups.

25 years agoMore optimizer renaming HInfo -> HashInfo.
Bruce Momjian [Thu, 4 Feb 1999 01:47:02 +0000 (01:47 +0000)]
More optimizer renaming HInfo -> HashInfo.

25 years agoCleanup of source files where 'return' or 'var =' is alone on a line.
Bruce Momjian [Wed, 3 Feb 1999 21:18:02 +0000 (21:18 +0000)]
Cleanup of source files where 'return' or 'var =' is alone on a line.

25 years agoThe libpq function PQfnumber does not handle case-insensitive
Bruce Momjian [Wed, 3 Feb 1999 20:19:10 +0000 (20:19 +0000)]
The libpq function PQfnumber does not handle case-insensitive
comparisons correctly. The psql monitor converts all table and field
names to lower case. If the PQfnumber function is called with a mixed
case name, it will always return -1.

Bahman Rafatjoo

25 years agoOptimizer rename ClauseInfo -> RestrictInfo. Update optimizer README.
Bruce Momjian [Wed, 3 Feb 1999 20:15:53 +0000 (20:15 +0000)]
Optimizer rename ClauseInfo -> RestrictInfo.  Update optimizer README.

25 years agoSort node for ORDER BY is suppressed if choosen index scan will
Jan Wieck [Wed, 3 Feb 1999 19:31:24 +0000 (19:31 +0000)]
Sort node for ORDER BY is suppressed if choosen index scan will
allways present tuples in the requested order.

Jan

25 years agoModify int8 to not depend on sscanf(), and fix configure's test
Tom Lane [Wed, 3 Feb 1999 00:18:53 +0000 (00:18 +0000)]
Modify int8 to not depend on sscanf(), and fix configure's test
for int8 support.  configure now checks only snprintf() for int8 support,
not sprintf and sscanf as it used to.  The reason for doing this is that
if we are supplying our own snprintf code (which does handle long long int),
we now only need working long long support in the compiler not in the
platform's C library.  I have verified that int8 now passes regression test
on HPUX 9, and I think it should work on SunOS 4.1.* and other older
platforms if gcc is used.

25 years agoSET_ARGS cleanup
Bruce Momjian [Tue, 2 Feb 1999 23:53:26 +0000 (23:53 +0000)]
SET_ARGS cleanup

25 years agoMake GEQO use dependent on table and index count.
Bruce Momjian [Tue, 2 Feb 1999 20:30:18 +0000 (20:30 +0000)]
Make GEQO use dependent on table and index count.

25 years agoOK I found it,
Bruce Momjian [Tue, 2 Feb 1999 19:20:54 +0000 (19:20 +0000)]
OK I found it,
I search in the planner for the '\xFF' appending.
Finally I found in MakeIndexable() in gram.y

Attach a patch which removes the "<=" test in USE_LOCALE,
might make some queries a bit slower for us "locale-heads",
BUT correct result is more important.

        regards,
--
-----------------
Göran Thyni

25 years agoAdd missing mb files.
Bruce Momjian [Tue, 2 Feb 1999 19:04:43 +0000 (19:04 +0000)]
Add missing mb files.

25 years agoIncluded patches make some enhancements to the multi-byte support.
Bruce Momjian [Tue, 2 Feb 1999 18:51:40 +0000 (18:51 +0000)]
Included patches make some enhancements to the multi-byte support.

o allow to use Big5 (a Chinese encoding used in Taiwan) as a client
  encoding. In this case the server side encoding should be EUC_TW

o add EUC_TW and Big5 test cases to the regression and the mb test
  (contributed by Jonah Kuo)

o fix mistake in include/mb/pg_wchar.h. An encoding id for EUC_TW was
  not correct (was 3 and now is 4)

o update documents (doc/README.mb and README.mb.jp)

o update psql helpfile (bin/psql/psqlHelp.h)

--
Tatsuo Ishii
t-ishii@sra.co.jp

25 years agopsql help fix.
Bruce Momjian [Tue, 2 Feb 1999 18:41:17 +0000 (18:41 +0000)]
psql help fix.

25 years agoFix for psql help create table.
Bruce Momjian [Tue, 2 Feb 1999 18:39:23 +0000 (18:39 +0000)]
Fix for psql help create table.

25 years agoFix create_rule is->as.
Bruce Momjian [Tue, 2 Feb 1999 17:46:17 +0000 (17:46 +0000)]
Fix create_rule is->as.

25 years agoFixed failed assertion happening in multiple action rules
Jan Wieck [Tue, 2 Feb 1999 12:57:51 +0000 (12:57 +0000)]
Fixed failed assertion happening in multiple action rules
when parsestate in makeRangeTable() already contains an
opened p_target_relation.

Jan

25 years agoAdd TEMP tables/indexes. Add COPY pfree(). Other cleanups.
Bruce Momjian [Tue, 2 Feb 1999 03:45:56 +0000 (03:45 +0000)]
Add TEMP tables/indexes.  Add COPY pfree().  Other cleanups.

25 years agoFixed growing of backend due to not pfree()'d data on COPY FROM
Jan Wieck [Mon, 1 Feb 1999 20:25:55 +0000 (20:25 +0000)]
Fixed growing of backend due to not pfree()'d data on COPY FROM

Fixed growing of backend if BEFORE DELETE trigger returns heap tuple
different from trigtuple.

Jan

25 years agoInitialize es_snapshot.
Vadim B. Mikheev [Mon, 1 Feb 1999 13:33:27 +0000 (13:33 +0000)]
Initialize es_snapshot.

25 years agoTighten coding in samekeys(). Pretty braindead change,
Tom Lane [Mon, 1 Feb 1999 04:20:50 +0000 (04:20 +0000)]
Tighten coding in samekeys().  Pretty braindead change,
but it saves almost 10% of the runtime in Charles Hornberger's optimizer
example, so what the heck ...

25 years agofreebsd4.0 needed to be added to configure...
Marc G. Fournier [Mon, 1 Feb 1999 02:52:23 +0000 (02:52 +0000)]
freebsd4.0 needed to be added to configure...

25 years agoFrom: Michael Meskes <Michael.Meskes@usa.net>
Marc G. Fournier [Sun, 31 Jan 1999 19:56:28 +0000 (19:56 +0000)]
From: Michael Meskes <Michael.Meskes@usa.net>

+
+ Wed Jan 27 12:42:22 CET 1999
+
+       - Fixed bug that caused ecpg to lose 'goto' information.
+       - Set ecpg version to 2.4.7
+
+ Fri Jan 29 18:03:52 CET 1999
+
+       - Fixed bug that caused 'enum' to be rejected in pure C code.
+       - Fixed bug that caused function names to be translated to lower case.
+       - Set ecpg version to 2.4.8
+

25 years agoFrom: D'Arcy J.M. Cain <darcy@druid.net>
Marc G. Fournier [Sun, 31 Jan 1999 05:04:25 +0000 (05:04 +0000)]
From: D'Arcy J.M. Cain <darcy@druid.net>

The following patch does two things.

 - Clarifies what the effect of allowing users to add new users (Thet
   become super-users.)
 - Makes the default database for the new user if they are not allowed
   to and the user agrees to create it.

25 years agoFix postmaster to not try to start more than MaxBackendId children,
Tom Lane [Sat, 30 Jan 1999 20:04:37 +0000 (20:04 +0000)]
Fix postmaster to not try to start more than MaxBackendId children,
per patch from Tatsuo Ishii

25 years agoSmall fix for READ COMMITTED isolevel.
Vadim B. Mikheev [Fri, 29 Jan 1999 13:24:36 +0000 (13:24 +0000)]
Small fix for READ COMMITTED isolevel.

25 years agoHope that execMain.c good merged.
Vadim B. Mikheev [Fri, 29 Jan 1999 11:56:01 +0000 (11:56 +0000)]
Hope that execMain.c good merged.
Fix for BEFORE ROW UPDATE triggers: result tuple may be different
(due to concurrent update) from one initially produced by top level plan.

25 years agoTrying to fix bad merging...
Vadim B. Mikheev [Fri, 29 Jan 1999 10:15:09 +0000 (10:15 +0000)]
Trying to fix bad merging...

25 years agoREAD COMMITTED isolevel is implemented and is default now.
Vadim B. Mikheev [Fri, 29 Jan 1999 09:23:17 +0000 (09:23 +0000)]
READ COMMITTED isolevel is implemented and is default now.

25 years agoChanged qualification of pg_views and pg_tables to directly
Jan Wieck [Thu, 28 Jan 1999 15:28:40 +0000 (15:28 +0000)]
Changed qualification of pg_views and pg_tables to directly
check if a rewrite rule on SELECT exists/not exists instead
of asking pg_get_viewdef() function.

Jan

25 years agoNew prebuilt versions of gram.c and scan.c for the mixed case
Jan Wieck [Thu, 28 Jan 1999 11:50:42 +0000 (11:50 +0000)]
New prebuilt versions of gram.c and scan.c for the mixed case
identifier support.

Jan

25 years agoPartial support for mixed case in PL/pgSQL.
Jan Wieck [Thu, 28 Jan 1999 11:48:31 +0000 (11:48 +0000)]
Partial support for mixed case in PL/pgSQL.
Left are identifiers that contain non-alnum/_ chars.
So e.g. whitespaces in identifiers are still not
supported.

Jan

25 years agoQuick fix for subplan-related crash.
Tom Lane [Wed, 27 Jan 1999 16:48:20 +0000 (16:48 +0000)]
Quick fix for subplan-related crash.

25 years agoSpeedup of PL/pgSQL by calling ExecEvalExpr() directly
Jan Wieck [Wed, 27 Jan 1999 16:15:22 +0000 (16:15 +0000)]
Speedup of PL/pgSQL by calling ExecEvalExpr() directly
instead of SPI_execp() for simple expressions.

Jan

25 years agofix for aggregates
Bruce Momjian [Wed, 27 Jan 1999 16:15:01 +0000 (16:15 +0000)]
fix for aggregates

25 years agoFrom: Tatsuo Ishii <t-ishii@sra.co.jp>
Marc G. Fournier [Wed, 27 Jan 1999 01:18:23 +0000 (01:18 +0000)]
From: Tatsuo Ishii <t-ishii@sra.co.jp>

Included patches fix a portability problem of unsetenv() used in
6.4.2 multi-byte support. unsetenv() is only avaliable on FreeBSD and
Linux so I decided to replace with putenv().

25 years agoTurns out it's easy to cache the fmgr function lookup
Tom Lane [Wed, 27 Jan 1999 01:11:43 +0000 (01:11 +0000)]
Turns out it's easy to cache the fmgr function lookup
result, too ... another little bit of speed for SELECT.

25 years agoAnother SELECT speedup: extract OIDs of column print functions
Tom Lane [Wed, 27 Jan 1999 00:36:28 +0000 (00:36 +0000)]
Another SELECT speedup: extract OIDs of column print functions
only once per SELECT, not once per tuple.  10% here, 10% there,
pretty soon you're talking about real speedups ...

25 years agoMore agg cleanup.
Bruce Momjian [Tue, 26 Jan 1999 23:32:04 +0000 (23:32 +0000)]
More agg cleanup.

25 years agoprimary key support cleanups from D'Arcy...
Marc G. Fournier [Tue, 26 Jan 1999 14:38:52 +0000 (14:38 +0000)]
primary key support cleanups from D'Arcy...

25 years agopgindent file.
Bruce Momjian [Tue, 26 Jan 1999 05:57:14 +0000 (05:57 +0000)]
pgindent file.

25 years agoFrom: Peter T Mount <peter@retep.org.uk>
Marc G. Fournier [Mon, 25 Jan 1999 21:22:06 +0000 (21:22 +0000)]
From: Peter T Mount <peter@retep.org.uk>

This implements some of the JDBC2 methods, fixes a bug introduced into the
JDBC1 portion of the driver, and introduces a new example, showing how to
use the CORBA ORB thats in Java2 with JDBC.

The Tar file contains the new files, the diff the changes to the others.
CHANGELOG is separate as I forgot to make a .orig ;-)

25 years agoAgg/Aggreg cleanup and datetime.sql patch.
Bruce Momjian [Mon, 25 Jan 1999 18:02:28 +0000 (18:02 +0000)]
Agg/Aggreg cleanup and datetime.sql patch.

25 years agoSELECT FOR UPDATE is implemented...
Vadim B. Mikheev [Mon, 25 Jan 1999 12:01:19 +0000 (12:01 +0000)]
SELECT FOR UPDATE is implemented...

25 years agoTighten coding of fmgr_isbuiltin() ... managed to speed it up
Tom Lane [Mon, 25 Jan 1999 00:44:53 +0000 (00:44 +0000)]
Tighten coding of fmgr_isbuiltin() ... managed to speed it up
by about 10% which seems to be good for half a percent or so of a SELECT.

25 years agoTighten coding of inner loops in nocachegetattr ...
Tom Lane [Sun, 24 Jan 1999 22:53:25 +0000 (22:53 +0000)]
Tighten coding of inner loops in nocachegetattr ...
seems to have improved speed of routine by 5% or so ...

25 years agoUse heap_attisnull, rather than heap_getattr, for a small
Tom Lane [Sun, 24 Jan 1999 22:50:58 +0000 (22:50 +0000)]
Use heap_attisnull, rather than heap_getattr, for a small
but useful speedup.

25 years agoReplace typtoout() and gettypelem() with a single routine,
Tom Lane [Sun, 24 Jan 1999 05:40:49 +0000 (05:40 +0000)]
Replace typtoout() and gettypelem() with a single routine,
so that fetching an attribute value needs only one SearchSysCacheTuple call
instead of two redundant searches.  This speeds up a large SELECT by about
ten percent, and probably will help GROUP BY and SELECT DISTINCT too.

25 years agoFix a couple little problems with signed vs. unsigned
Tom Lane [Sun, 24 Jan 1999 02:47:15 +0000 (02:47 +0000)]
Fix a couple little problems with signed vs. unsigned
characters ...

25 years agoRename Aggreg to Aggref.
Bruce Momjian [Sun, 24 Jan 1999 00:28:37 +0000 (00:28 +0000)]
Rename Aggreg to Aggref.

25 years agoImproper addition of NaN/Infinity recognition to float8in()
Tom Lane [Sun, 24 Jan 1999 00:12:59 +0000 (00:12 +0000)]
Improper addition of NaN/Infinity recognition to float8in()
was causing it not to detect out-of-range float values, as evidenced by
failure of float8 regression test.  I corrected that logic and also
modified expected float8 results to account for new error message
generated for out-of-range inputs.

25 years agoRemove unused Choose node.
Bruce Momjian [Sat, 23 Jan 1999 23:28:09 +0000 (23:28 +0000)]
Remove unused Choose node.

25 years agoAdd explicit buffering in backend libpq, to compensate for
Tom Lane [Sat, 23 Jan 1999 22:27:29 +0000 (22:27 +0000)]
Add explicit buffering in backend libpq, to compensate for
buffering lost by not going through stdio anymore for client I/O.

25 years agoFix unportable test syntax in regression script.
Tom Lane [Sat, 23 Jan 1999 21:36:00 +0000 (21:36 +0000)]
Fix unportable test syntax in regression script.

25 years agoFix for intersect FOR UPDATE check.
Bruce Momjian [Fri, 22 Jan 1999 19:35:54 +0000 (19:35 +0000)]
Fix for intersect FOR UPDATE check.

25 years agoRelcache Size fix.
Bruce Momjian [Fri, 22 Jan 1999 18:47:37 +0000 (18:47 +0000)]
Relcache Size fix.

25 years agoFix for Size sizeof in cache code.
Bruce Momjian [Fri, 22 Jan 1999 16:49:25 +0000 (16:49 +0000)]
Fix for Size sizeof in cache code.

25 years ago|From: "D'Arcy" "J.M." Cain <darcy@druid.net>
Marc G. Fournier [Fri, 22 Jan 1999 13:28:50 +0000 (13:28 +0000)]
|From: "D'Arcy" "J.M." Cain <darcy@druid.net>
|
|The following patch just prevents a warning from being generated because
|the data type isn't specified.

25 years agoIt seems that SPI_prepare() doesn't work well in some cases.
Bruce Momjian [Thu, 21 Jan 1999 22:55:41 +0000 (22:55 +0000)]
It seems that SPI_prepare() doesn't work well in some cases.

Pawel Pierscionek [pawel@astercity.net] reported about the
following case 1([SQL] drop table in pgsql).
Michael Contzen [mcontzen@dohle.com] reported about the
following case 2(PL/PGSQL bug using aggregates).
You can find it from pgsql-hackers archive.

1. PL/pgSQL can't execute UTILITY commands.
   SPI_prepare() doesn't copy(save) the utilityStmt member of
   Query type nodes,because copyObject() is not implemented
   for nodes of (Create/Destroy etc)Stmt type.

2. Aggregates in PL/pgSQL cause wrong results.

...
   It's a list including Aggreg type nodes which exist in
   TargetList(i.e Aggreg type nodes are common to aggs
   member list and TargetList).
   AFAIC the common pointer is not copied to the same
   pointer by copyObject() function.
   In my patch I reconstruct aggs member node from
   new(copied) Agg type node.
   Is it proper to use set_agg_tlist_references() function to
   reconstruct aggs member node for Agg type nodes ?

Thanks.

Hiroshi Inoue
Inoue@tpf.co.jp

25 years agoHere is a new version of my patch for allowing pg_dump to DROP schema
Bruce Momjian [Thu, 21 Jan 1999 22:53:37 +0000 (22:53 +0000)]
Here is a new version of my patch for allowing pg_dump to DROP schema
elements prior to CREATEing new ones.  It is under control of the -c
command line option (with the default being status quo).

The DROP TRIGGER portion still needs implementation.  Anyone able to
help clarify what exactly the CREATE TRIGGER portion does so I can fix
this?

Again, I have tried this with tables/indexes/sequences, but do not
have other schema elements in my database.  As a result, I am not 100%
convinced that I got the syntax correct in all cases (but think I did,
nonetheless).  If anyone can check the other cases, I'd appreciate it.

Cheers,
Brook

[I added manual page and sgml additions for the new -c option.]

25 years agoThe following patch finishes primary key support. Previously, when
Bruce Momjian [Thu, 21 Jan 1999 22:48:20 +0000 (22:48 +0000)]
The following patch finishes primary key support.  Previously, when
a field was labelled as a primary key, the system automatically
created a unique index on the field.  This patch extends it so
that the index has the indisprimary field set.  You can pull a list
of primary keys with the followiing select.

SELECT pg_class.relname, pg_attribute.attname
    FROM pg_class, pg_attribute, pg_index
    WHERE pg_class.oid = pg_attribute.attrelid AND
        pg_class.oid = pg_index.indrelid AND
        pg_index.indkey[0] = pg_attribute.attnum AND
        pg_index.indisunique = 't';

There is nothing in this patch that modifies the template database to
set the indisprimary attribute for system tables.  Should they be
changed or should we only be concerned with user tables?

D'Arcy

25 years agoi have made minor changes to array_iterator to make it work with
Bruce Momjian [Thu, 21 Jan 1999 22:40:16 +0000 (22:40 +0000)]
i have made minor changes to array_iterator to make it work with
pgsql-6.3.2. I think array_iterator is a great thing to have!!!

With best regards,

Tobias Gabele

25 years agoFrom: Michael Meskes <Michael.Meskes@usa.net>
Marc G. Fournier [Thu, 21 Jan 1999 20:01:34 +0000 (20:01 +0000)]
From: Michael Meskes <Michael.Meskes@usa.net>

See attached file. Now accepts "exec sql whenever sqlwarning".

25 years agoCopy RowMark node (it's for (-:)) FOR UPDATE).
Vadim B. Mikheev [Thu, 21 Jan 1999 16:38:36 +0000 (16:38 +0000)]
Copy RowMark node (it's for (-:)) FOR UPDATE).

25 years agoFOR UPDATE is in parser & rules.
Vadim B. Mikheev [Thu, 21 Jan 1999 16:08:55 +0000 (16:08 +0000)]
FOR UPDATE is in parser & rules.

25 years agoUpdate gram.c.
Bruce Momjian [Wed, 20 Jan 1999 22:31:07 +0000 (22:31 +0000)]
Update gram.c.

25 years agoAdd Intersect check.
Bruce Momjian [Wed, 20 Jan 1999 19:48:13 +0000 (19:48 +0000)]
Add Intersect check.

25 years agoFix "Y-2K" problem with two-digit BC dates being corrected by two millenia.
Thomas G. Lockhart [Wed, 20 Jan 1999 16:29:39 +0000 (16:29 +0000)]
Fix "Y-2K" problem with two-digit BC dates being corrected by two millenia.
 They are not corrected now.
Allow the date type to accept BC dates.
Share more date/time validation declarations through dt.h.

25 years agoClean up leap year support and date/time validation.
Thomas G. Lockhart [Wed, 20 Jan 1999 16:26:45 +0000 (16:26 +0000)]
Clean up leap year support and date/time validation.
Move declarations to allow sharing between modules.

25 years agoAdd a set of braces to clarify conditional nesting.
Thomas G. Lockhart [Wed, 20 Jan 1999 16:24:59 +0000 (16:24 +0000)]
Add a set of braces to clarify conditional nesting.
gcc complained about ambiguities.

25 years agoRemove redundant note on NT port.
Thomas G. Lockhart [Tue, 19 Jan 1999 16:12:26 +0000 (16:12 +0000)]
Remove redundant note on NT port.

25 years agoAugment info on string functions per Jose Soares' suggestions.
Thomas G. Lockhart [Tue, 19 Jan 1999 16:11:18 +0000 (16:11 +0000)]
Augment info on string functions per Jose Soares' suggestions.

25 years agoIntroduction to SQL from Stefan. Not yet marked up, but will go into
Thomas G. Lockhart [Tue, 19 Jan 1999 16:09:16 +0000 (16:09 +0000)]
Introduction to SQL from Stefan. Not yet marked up, but will go into
 the User's Guide sometime soon.

25 years agoAdd tables of allowed values and formats for date/time input types.
Thomas G. Lockhart [Tue, 19 Jan 1999 16:08:26 +0000 (16:08 +0000)]
Add tables of allowed values and formats for date/time input types.
Include info for time zones, days of week, months.
Procedural description of date input parsing is not yet complete.

25 years agoMerge current.sgml into release.sgml so all release notes are in the same
Thomas G. Lockhart [Tue, 19 Jan 1999 16:06:26 +0000 (16:06 +0000)]
Merge current.sgml into release.sgml so all release notes are in the same
 file. Per Bruce's preference. Go to it Bruce!
No info yet for v6.4.2 or upcoming releases.

25 years agoOkay, I've updated the ecpg parser yet again. Unfortunately it has one
Bruce Momjian [Mon, 18 Jan 1999 17:17:06 +0000 (17:17 +0000)]
Okay, I've updated the ecpg parser yet again. Unfortunately it has one
remaining shift/reduce conflict. But the very same conflict is in gram.y, so
I don't dig into it very much now.

Anyway, I just saw that there were minor changes made to ecpg by others. Now
I like that but I would prefer if I was told about that. Otherwise my
version numbering and Changelog maintaining might break. Or simply change
these too. :-)

Also I had to add #include <errno.h> to  backend/libpq/pqcomprim.c to be
able to compile postgresql.

Patch is attached. Since my resubscription process is still not finished
yet, I still send them here.

Michael

25 years agoAdd missing Windows files.
Bruce Momjian [Mon, 18 Jan 1999 12:43:55 +0000 (12:43 +0000)]
Add missing Windows files.

25 years agoFix cfor typos.
Bruce Momjian [Mon, 18 Jan 1999 06:46:33 +0000 (06:46 +0000)]
Fix cfor typos.

25 years agoFix for typo in gram.y
Bruce Momjian [Mon, 18 Jan 1999 06:32:27 +0000 (06:32 +0000)]
Fix for typo in gram.y

25 years agoAdd masters thesis to docs.
Bruce Momjian [Mon, 18 Jan 1999 01:09:14 +0000 (01:09 +0000)]
Add masters thesis to docs.

25 years agoHi!
Bruce Momjian [Mon, 18 Jan 1999 00:10:17 +0000 (00:10 +0000)]
Hi!

INTERSECT and EXCEPT is available for postgresql-v6.4!

The patch against v6.4 is included at the end of the current text
(in uuencoded form!)

I also included the text of my Master's Thesis. (a postscript
version). I hope that you find something of it useful and would be
happy if parts of it find their way into the PostgreSQL documentation
project (If so, tell me, then I send the sources of the document!)

The contents of the document are:
  -) The first chapter might be of less interest as it gives only an
     overview on SQL.

  -) The second chapter gives a description on much of PostgreSQL's
     features (like user defined types etc. and how to use these features)

  -) The third chapter starts with an overview of PostgreSQL's internal
     structure with focus on the stages a query has to pass (i.e. parser,
     planner/optimizer, executor). Then a detailed description of the
     implementation of the Having clause and the Intersect/Except logic is
     given.

Originally I worked on v6.3.2 but never found time enough to prepare
and post a patch. Now I applied the changes to v6.4 to get Intersect
and Except working with the new version. Chapter 3 of my documentation
deals with the changes against v6.3.2, so keep that in mind when
comparing the parts of the code printed there with the patched sources
of v6.4.

Here are some remarks on the patch. There are some things that have
still to be done but at the moment I don't have time to do them
myself. (I'm doing my military service at the moment) Sorry for that
:-(

-) I used a rewrite technique for the implementation of the Except/Intersect
   logic which rewrites the query to a semantically equivalent query before
   it is handed to the rewrite system (for views, rules etc.), planner,
   executor etc.

-) In v6.3.2 the types of the attributes of two select statements
   connected by the UNION keyword had to match 100%. In v6.4 the types
   only need to be familiar (i.e. int and float can be mixed). Since this
   feature did not exist when I worked on Intersect/Except it
   does not work correctly for Except/Intersect queries WHEN USED IN
   COMBINATION WITH UNIONS! (i.e. sometimes the wrong type is used for the
   resulting table. This is because until now the types of the attributes of
   the first select statement have been used for the resulting table.
   When Intersects and/or Excepts are used in combination with Unions it
   might happen, that the first select statement of the original query
   appears at another position in the query which will be executed. The reason
   for this is the technique used for the implementation of
   Except/Intersect which does a query rewrite!)
   NOTE: It is NOT broken for pure UNION queries and pure INTERSECT/EXCEPT
         queries!!!

-) I had to add the field intersect_clause to some data structures
   but did not find time to implement printfuncs for the new field.
   This does NOT break the debug modes but when an Except/Intersect
   is used the query debug output will be the already rewritten query.

-) Massive changes to the grammar rules for SELECT and INSERT statements
   have been necessary (see comments in gram.y and documentation for
   deatails) in order to be able to use mixed queries like
   (SELECT ... UNION (SELECT ... EXCEPT SELECT)) INTERSECT SELECT...;

-) When using UNION/EXCEPT/INTERSECT you will get:
   NOTICE: equal: "Don't know if nodes of type xxx are equal".
   I did not have  time to add comparsion support for all the needed nodes,
   but the default behaviour of the function equal met my requirements.
   I did not dare to supress this message!

   That's the reason why the regression test for union will fail: These
   messages are also included in the union.out file!

-) Somebody of you changed the union_planner() function for v6.4
   (I copied the targetlist to new_tlist and that was removed and
   replaced by a cleanup of the original targetlist). These chnages
   violated some having queries executed against views so I changed
   it back again. I did not have time to examine the differences between the
   two versions but now it works :-)
   If you want to find out, try the file queries/view_having.sql on
   both versions and compare the results . Two queries won't produce a
   correct result with your version.

regards

    Stefan

25 years agoClean up trivial compiler warning from gcc.
Tom Lane [Sun, 17 Jan 1999 21:53:32 +0000 (21:53 +0000)]
Clean up trivial compiler warning from gcc.

25 years agoReverse out yesterday's patch from Horak Daniel, since
Tom Lane [Sun, 17 Jan 1999 21:44:46 +0000 (21:44 +0000)]
Reverse out yesterday's patch from Horak Daniel, since
it fails to compile on any machine without a <features.h> header.
If this header is actually necessary on Windows, perhaps an #if test
is in order.

25 years agoKeep Tcl from getting confused if backend closes connection
Tom Lane [Sun, 17 Jan 1999 21:14:33 +0000 (21:14 +0000)]
Keep Tcl from getting confused if backend closes connection
when a notify is installed.

25 years agoTCL_ARRAYS option patches from Massimo Dal Zotto
Tom Lane [Sun, 17 Jan 1999 21:12:55 +0000 (21:12 +0000)]
TCL_ARRAYS option patches from Massimo Dal Zotto

25 years agoAdd missing variable, per Massimo.
Tom Lane [Sun, 17 Jan 1999 21:05:23 +0000 (21:05 +0000)]
Add missing variable, per Massimo.

25 years agofixes to lock debugging macros from Massimo Dal Zotto
Tom Lane [Sun, 17 Jan 1999 20:59:56 +0000 (20:59 +0000)]
fixes to lock debugging macros from Massimo Dal Zotto

25 years agoAdd description of ELOG_TIMESTAMPS and USE_SYSLOG options,
Tom Lane [Sun, 17 Jan 1999 20:58:03 +0000 (20:58 +0000)]
Add description of ELOG_TIMESTAMPS and USE_SYSLOG options,
per Massimo Dal Zotto.

25 years agoWin32 new files.
Bruce Momjian [Sun, 17 Jan 1999 06:27:05 +0000 (06:27 +0000)]
Win32 new files.