OSDN Git Service
Bruce Momjian [Mon, 27 Sep 1999 19:55:48 +0000 (19:55 +0000)]
Update README.NT
Bruce Momjian [Mon, 27 Sep 1999 19:40:40 +0000 (19:40 +0000)]
Following advice from Michael Ansley, I broke up the patch in
two: one fixes uminus and other literal length. They are to be
applied - uminus first, then possilbly literal on top of uminus.
Leon
Bruce Momjian [Mon, 27 Sep 1999 19:16:29 +0000 (19:16 +0000)]
Hello,
Two patches included:
- the first one enables the use of bool variables in fields which might
become NULL.
Up to now the lib told you that NULL is not a bool variable, even if
you provide a indicator.
- the second patch checks whether a value is null and issues an error if
no indicator is provided.
Sidenote: IIRC, the variable should be left alone if the value is NULL.
ECPGlib sets it's value to 0 on NULL. Is this a violation of the
standard?
Regards
Christof
Bruce Momjian [Mon, 27 Sep 1999 18:32:58 +0000 (18:32 +0000)]
Update README.NT with patch.
Bruce Momjian [Mon, 27 Sep 1999 18:20:21 +0000 (18:20 +0000)]
Currently,only the first column of multi-column indices
is used to find start scan position of Indexscan-s.
To speed up finding scan start position,I have changed
_bt_first() to use as many keys as possible.
I'll attach the patch here.
Regards.
Hiroshi Inoue
Bruce Momjian [Mon, 27 Sep 1999 17:46:14 +0000 (17:46 +0000)]
Emit warning on SELECT pg_language.*
Bruce Momjian [Mon, 27 Sep 1999 17:05:08 +0000 (17:05 +0000)]
Update TODO list.
Bruce Momjian [Mon, 27 Sep 1999 16:44:56 +0000 (16:44 +0000)]
Fix to give super user and createdb user proper update catalog rights.
Vadim B. Mikheev [Mon, 27 Sep 1999 15:48:12 +0000 (15:48 +0000)]
Transaction log manager core code.
It doesn't work currently but also don't break anything -:)
Bruce Momjian [Mon, 27 Sep 1999 15:21:36 +0000 (15:21 +0000)]
Update TODO list.
Michael Meskes [Mon, 27 Sep 1999 10:41:02 +0000 (10:41 +0000)]
*** empty log message ***
Bruce Momjian [Mon, 27 Sep 1999 03:34:54 +0000 (03:34 +0000)]
New Solaris FAQ.
Bruce Momjian [Mon, 27 Sep 1999 03:24:50 +0000 (03:24 +0000)]
Update TODO list.
Bruce Momjian [Mon, 27 Sep 1999 03:16:09 +0000 (03:16 +0000)]
Add README.SSL
Bruce Momjian [Mon, 27 Sep 1999 03:13:16 +0000 (03:13 +0000)]
Lots of patches coming in from me today :-)
When drawing up a very simple "text-drawing" of how the negotiation is done,
I realised I had done this last part (fallback) in a very stupid way. Patch
#4 fixes this, and does it in a much better way.
Included is also the simple text-drawing of how the negotiation is done.
//Magnus
Bruce Momjian [Mon, 27 Sep 1999 00:48:42 +0000 (00:48 +0000)]
Add bsdi sparc port.
Tom Lane [Sun, 26 Sep 1999 21:21:15 +0000 (21:21 +0000)]
Modify nodeAgg.c so that no rows are returned for a GROUP BY
with no input rows, per pghackers discussions around 7/22/99. Clean up
a bunch of ugly coding while at it; remove redundant re-lookup of
aggregate info at start of each new GROUP. Arrange to pfree intermediate
values when they are pass-by-ref types, so that aggregates on pass-by-ref
types no longer eat memory. This takes care of a couple of TODO items...
Tom Lane [Sun, 26 Sep 1999 02:28:44 +0000 (02:28 +0000)]
Implement constant-expression simplification per Bernard
Frankpitt, plus some improvements from yours truly. The simplifier depends
on the proiscachable field of pg_proc to tell it whether a function is
safe to pre-evaluate --- things like nextval() are not, for example.
Update pg_proc.h to contain reasonable cacheability information; as of
6.5.* hardly any functions were marked cacheable. I may have erred too
far in the other direction; see recent mail to pghackers for more info.
This update does not force an initdb, exactly, but you won't see much
benefit from the simplifier until you do one.
Hiroshi Inoue [Fri, 24 Sep 1999 05:58:48 +0000 (05:58 +0000)]
This is a patch for cygipc library provided by Yutaka Tanida.
This is necessary to prevent freezing in cygwin port.
Tom Lane [Fri, 24 Sep 1999 00:25:33 +0000 (00:25 +0000)]
Several changes here, not very related but touching some of the same files.
* Buffer refcount cleanup (per my "progress report" to pghackers, 9/22).
* Add links to backend PROC structs to sinval's array of per-backend info,
and use these links for routines that need to check the state of all
backends (rather than the slow, complicated search of the ShmemIndex
hashtable that was used before). Add databaseOID to PROC structs.
* Use this to implement an interlock that prevents DESTROY DATABASE of
a database containing running backends. (It's a little tricky to prevent
a concurrently-starting backend from getting in there, since the new
backend is not able to lock anything at the time it tries to look up
its database in pg_database. My solution is to recheck that the DB is
OK at the end of InitPostgres. It may not be a 100% solution, but it's
a lot better than no interlock at all...)
* In ALTER TABLE RENAME, flush buffers for the relation before doing the
rename of the physical files, to ensure we don't get failures later from
mdblindwrt().
* Update TRUNCATE patch so that it actually compiles against current
sources :-(.
You should do "make clean all" after pulling these changes.
Bruce Momjian [Thu, 23 Sep 1999 22:14:01 +0000 (22:14 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 22:05:22 +0000 (22:05 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 22:04:00 +0000 (22:04 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 19:11:09 +0000 (19:11 +0000)]
One last missing quoting bug in pg_dump:
now that sequence names are properly quoted for field defaults, mixed
case sequence names are generated. These are properly quoted in the
CREATE SEQUENCE lines, but not in the SELECT nextval lines, as per
below:
CREATE SEQUENCE "Teams_TeamID_seq" start 10 increment 1 maxvalue
2147483647 minvalue 1 cache 1 ;
SELECT nextval ('Teams_TeamID_seq');
This needs to be:
SELECT nextval ('"Teams_TeamID_seq"');
Patch included below.
--
Ross J. Reedstrom, Ph.D., <reedstrm@rice.edu>
Bruce Momjian [Thu, 23 Sep 1999 19:05:59 +0000 (19:05 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 18:58:49 +0000 (18:58 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 18:54:57 +0000 (18:54 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 17:59:10 +0000 (17:59 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 17:50:57 +0000 (17:50 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 17:42:23 +0000 (17:42 +0000)]
Fix for netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0
This is because (-1) << 32 is -1 (Only intel arc. has been checked)
Oleg Sharoiko
Bruce Momjian [Thu, 23 Sep 1999 17:11:16 +0000 (17:11 +0000)]
TRUNCATE command from Mike Mascari<mascarim@yahoo.com>
Bruce Momjian [Thu, 23 Sep 1999 17:03:39 +0000 (17:03 +0000)]
Add TRUNCATE command, with psql help and sgml additions.
Bruce Momjian [Thu, 23 Sep 1999 15:47:48 +0000 (15:47 +0000)]
Update TODO list.
Bruce Momjian [Thu, 23 Sep 1999 15:43:40 +0000 (15:43 +0000)]
Update TODO list.
Bruce Momjian [Tue, 21 Sep 1999 21:37:06 +0000 (21:37 +0000)]
Update TODO list.
Bruce Momjian [Tue, 21 Sep 1999 21:19:31 +0000 (21:19 +0000)]
I found the following useful - just a way of using PQgetisnull from
libpq++.
Patrick Welche
Bruce Momjian [Tue, 21 Sep 1999 21:17:42 +0000 (21:17 +0000)]
Update TODO list.
Bruce Momjian [Tue, 21 Sep 1999 21:10:37 +0000 (21:10 +0000)]
gram.y cleanup
Bruce Momjian [Tue, 21 Sep 1999 20:58:25 +0000 (20:58 +0000)]
values.h patch from Alex Howansky
Bruce Momjian [Tue, 21 Sep 1999 20:00:14 +0000 (20:00 +0000)]
Update TODO list.
Bruce Momjian [Tue, 21 Sep 1999 19:58:01 +0000 (19:58 +0000)]
Update TODO list.
Marc G. Fournier [Mon, 20 Sep 1999 22:33:47 +0000 (22:33 +0000)]
last batch, I think...
Marc G. Fournier [Mon, 20 Sep 1999 22:32:50 +0000 (22:32 +0000)]
fixing it more..
Marc G. Fournier [Mon, 20 Sep 1999 22:30:47 +0000 (22:30 +0000)]
bring it all into -current again
Marc G. Fournier [Mon, 20 Sep 1999 22:29:12 +0000 (22:29 +0000)]
try and fix things...
Marc G. Fournier [Mon, 20 Sep 1999 22:28:11 +0000 (22:28 +0000)]
bring in missing files ... this isn't very clean, but :(
Bruce Momjian [Mon, 20 Sep 1999 22:28:05 +0000 (22:28 +0000)]
Make proper plpgsql non-externs.
Bruce Momjian [Mon, 20 Sep 1999 21:43:06 +0000 (21:43 +0000)]
Update pgaccess 0.98.
Bruce Momjian [Mon, 20 Sep 1999 16:28:12 +0000 (16:28 +0000)]
Update TODO.
Bruce Momjian [Mon, 20 Sep 1999 16:25:33 +0000 (16:25 +0000)]
Update TODO list.
Bruce Momjian [Mon, 20 Sep 1999 15:40:12 +0000 (15:40 +0000)]
Add TODO detail directory.
Bruce Momjian [Mon, 20 Sep 1999 02:12:31 +0000 (02:12 +0000)]
Define plpgsql_yylineno as non-extern somewhere for bsdi.
Tom Lane [Sun, 19 Sep 1999 17:20:58 +0000 (17:20 +0000)]
Remove incorrect 'Assert(targetList != NULL)'. An
INSERT ... DEFAULT VALUES statement does indeed have a null targetlist,
at least during parse and rewrite stages.
Tom Lane [Sat, 18 Sep 1999 23:26:37 +0000 (23:26 +0000)]
Fix CASE bug identified by Keith Parks: CASE didn't reliably
treat a NULL condition result as FALSE. Clean up some bogus comments
here and there, too.
Tom Lane [Sat, 18 Sep 1999 19:10:19 +0000 (19:10 +0000)]
Update regress test expected outputs for small changes in
error message wording, due to most cases of no-such-relation now being
detected in central heap_open code rather than on an ad-hoc basis.
Tom Lane [Sat, 18 Sep 1999 19:08:25 +0000 (19:08 +0000)]
Mega-commit to make heap_open/heap_openr/heap_close take an
additional argument specifying the kind of lock to acquire/release (or
'NoLock' to do no lock processing). Ensure that all relations are locked
with some appropriate lock level before being examined --- this ensures
that relevant shared-inval messages have been processed and should prevent
problems caused by concurrent VACUUM. Fix several bugs having to do with
mismatched increment/decrement of relation ref count and mismatched
heap_open/close (which amounts to the same thing). A bogus ref count on
a relation doesn't matter much *unless* a SI Inval message happens to
arrive at the wrong time, which is probably why we got away with this
sloppiness for so long. Repair missing grab of AccessExclusiveLock in
DROP TABLE, ALTER/RENAME TABLE, etc, as noted by Hiroshi.
Recommend 'make clean all' after pulling this update; I modified the
Relation struct layout slightly.
Will post further discussion to pghackers list shortly.
Bruce Momjian [Sat, 18 Sep 1999 01:34:06 +0000 (01:34 +0000)]
Update TODO list.
Michael Meskes [Fri, 17 Sep 1999 18:28:15 +0000 (18:28 +0000)]
*** empty log message ***
Bruce Momjian [Fri, 17 Sep 1999 15:49:24 +0000 (15:49 +0000)]
Update TODO list.
Michael Meskes [Fri, 17 Sep 1999 09:48:25 +0000 (09:48 +0000)]
*** empty log message ***
Bruce Momjian [Fri, 17 Sep 1999 01:57:36 +0000 (01:57 +0000)]
Update TODO list.
Tatsuo Ishii [Thu, 16 Sep 1999 09:08:56 +0000 (09:08 +0000)]
Changes made by Hiroshi Inoue and approved by Vadim.
See attached mail for more details.
-------------------------------------------------------------------
From: "Vadim Mikheev" <vadim@krs.ru>
To: "Hiroshi Inoue" <Inoue@tpf.co.jp>
References: <
000201befa94$
42fe04c0$
2801007e@cadzone.tpf.co.jp>
Subject: Re: elog(ERROR) in vacuum
Date: Fri, 10 Sep 1999 10:27:10 +0900
Organization: OJSC Rostelecom (Krasnoyarsk)
Message-ID: <
37D85E6E.
5AFA126D@krs.ru>
Hiroshi Inoue wrote:
>
> Hello Vadim,
>
> I have a question about vacuum.
>
> VACUUM has a phase like commit which calls TransactionIdCommit().
> But if elog(ERROR) occured after that,the status of transaction is
> changed from XID_COMMIT to XID_ABORT.
>
> Seems to me this causes inconsistency.
> Shoudn't AbortTransaction() be changed not to call TransacionIdAbort()
> in case of vacuum.
You're right!
As usual -:)
Vadim
Peter Mount [Wed, 15 Sep 1999 21:56:16 +0000 (21:56 +0000)]
jdbc2real rule was in there twice. One of them should have been jdbc1real
Peter Mount [Wed, 15 Sep 1999 21:12:34 +0000 (21:12 +0000)]
Jens Glaser found that getPrimaryKeys() had a table called test hardwired
into it.
Peter Mount [Wed, 15 Sep 1999 20:40:02 +0000 (20:40 +0000)]
Some late patches from Jens Glaser (jens@jens.de). These upgrade the protocol
to version 2, and fixes ResultSetMetaData.getColumnDisplaySize().
Michael Meskes [Wed, 15 Sep 1999 14:14:10 +0000 (14:14 +0000)]
*** empty log message ***
Michael Meskes [Wed, 15 Sep 1999 08:29:25 +0000 (08:29 +0000)]
*** empty log message ***
Peter Mount [Tue, 14 Sep 1999 22:43:38 +0000 (22:43 +0000)]
An abstract declaration for the close() method was missed out of the previous
commit to CVS.
Thomas G. Lockhart [Tue, 14 Sep 1999 15:34:49 +0000 (15:34 +0000)]
Update from Andreas Zeugswetter <andreas.zeugswetter@telecom.at>
for v6.5.2 info.
Thomas G. Lockhart [Tue, 14 Sep 1999 06:06:31 +0000 (06:06 +0000)]
Allow ISOLATION and LEVEL as column names. These are SQL92 reserved words
which do not need to be so for our parser. Apparently omitted earlier.
Peter Mount [Tue, 14 Sep 1999 05:50:44 +0000 (05:50 +0000)]
Patches for 6.5.2
Bruce Momjian [Tue, 14 Sep 1999 02:19:38 +0000 (02:19 +0000)]
Update TODO list.
Thomas G. Lockhart [Mon, 13 Sep 1999 04:14:56 +0000 (04:14 +0000)]
Allow CASE statement to contain *only* untyped result clauses or nulls.
Almost worked before, but forgot one place to check.
Reported by Tatsuo Ishii.
Still does not do the right thing if inserting into a non-string target
column. Should look for a type coersion later, but doesn't.
Tom Lane [Mon, 13 Sep 1999 03:00:19 +0000 (03:00 +0000)]
Patch to cure O(N^2) behavior in libpq when reading a long
message under a kernel that only returns one packet per recv() call. This
didn't use to matter much, but it starts to get annoying with multi-megabyte
EXPLAIN VERBOSE responses...
Bruce Momjian [Mon, 13 Sep 1999 00:21:18 +0000 (00:21 +0000)]
Add solaris faq.
Tom Lane [Mon, 13 Sep 1999 00:17:25 +0000 (00:17 +0000)]
First cut at doing something reasonable with OR-of-ANDs WHERE
conditions. There are some pretty bogus heuristics in prepqual.c that
try to decide whether to output CNF or DNF format; they need to be replaced,
likely. Right now the code is probably too willing to choose DNF form,
which might hurt performance in some cases that used to work OK.
But at least we have a foundation to build on.
Marc G. Fournier [Sun, 12 Sep 1999 22:49:47 +0000 (22:49 +0000)]
Make sure both SRCH_INC and SRCH_LIB are checked for existances and added to
the CPPFLAGS/LDFLAGS variables...
Marc G. Fournier [Sun, 12 Sep 1999 22:27:47 +0000 (22:27 +0000)]
cygwin doesn't have an endian.h, but defines BYTE_ORDER in sys/param.h
Tom Lane [Sun, 12 Sep 1999 18:08:17 +0000 (18:08 +0000)]
Further improvements in cnfify: reduce amount of self-recursion
in or_normalize, remove detection of duplicate subexpressions (since it's
highly unlikely to be worth the amount of time it takes), and introduce
a dnfify() entry point so that unintelligible backwards logic in UNION
processing can be eliminated. This is just an intermediate step ---
next thing is to look at not forcing the qual into CNF form when it would
be better off in DNF form.
Tom Lane [Sat, 11 Sep 1999 22:28:11 +0000 (22:28 +0000)]
Eliminate query length limitation imposed by pg_client_to_server
and pg_server_to_client. Eliminate copy.c's restriction on the length
of a single attribute.
Tom Lane [Sat, 11 Sep 1999 22:26:47 +0000 (22:26 +0000)]
Eliminate token length assumption in scanstr().
Tom Lane [Sat, 11 Sep 1999 22:02:51 +0000 (22:02 +0000)]
Update protocol doc to emphasize that backend can return
arbitrarily long strings, and frontends should cope gracefully. Goes
along with long query and long error message changes...
Tom Lane [Sat, 11 Sep 1999 19:06:42 +0000 (19:06 +0000)]
Eliminate elog()'s hardwired limit on length of an error message.
This change seems necessary in conjunction with long queries, and it
cleans up some bogosity in connection with long EXPLAIN texts anyway.
Note that current libpq will accept any length error message (at least
until it runs out of memory); prior versions have a limit of 8K, but
will cleanly discard excess error text, so there shouldn't be any
big compatibility problems with old clients.
Thomas G. Lockhart [Fri, 10 Sep 1999 14:20:24 +0000 (14:20 +0000)]
Add information on ssh tunnelling from Gene Selkov.
Bruce Momjian [Thu, 9 Sep 1999 19:39:06 +0000 (19:39 +0000)]
Make pgindent gnu test better.
Tom Lane [Thu, 9 Sep 1999 16:25:35 +0000 (16:25 +0000)]
Repair incorrect cleanup of heap memory allocation during
transaction abort --- before it only worked if there was exactly one level
of allocation context stacked in the blank portal. Now it does the right
thing for any depth, including zero...
Tom Lane [Thu, 9 Sep 1999 14:56:06 +0000 (14:56 +0000)]
Minor improvement in SI overflow logic: try to delete
expired messages before concluding that we really have buffer overflow.
Tom Lane [Thu, 9 Sep 1999 03:13:22 +0000 (03:13 +0000)]
Get rid of elog(DEBUG) in snprintf emulation ... it's just
cluttering the log file...
Tom Lane [Thu, 9 Sep 1999 02:36:04 +0000 (02:36 +0000)]
Repair error noticed by Roberto Cornacchia: selectivity code
was rejecting negative attnums as bogus, which of course they are not.
Add code to get_attdisbursion to produce a useful value for OID attribute,
since VACUUM does not store stats for system attributes.
Also, repair bug that's been in eqjoinsel for a long time: it was taking
the max of the two columns' disbursions, whereas it should use the min.
Tom Lane [Wed, 8 Sep 1999 22:57:12 +0000 (22:57 +0000)]
StreamConnection() mustn't call elog().
Tom Lane [Wed, 8 Sep 1999 16:31:38 +0000 (16:31 +0000)]
Cope with versions of vsnprintf() written by people who
don't read man pages...
Tom Lane [Tue, 7 Sep 1999 19:09:46 +0000 (19:09 +0000)]
Repair logic error in LIKE: should not return LIKE_ABORT
when reach end of pattern before end of text. Improve code comments.
Tom Lane [Tue, 7 Sep 1999 18:10:49 +0000 (18:10 +0000)]
Irix linking fix from Yu Cao <yucao@falcon.kla-tencor.com>
Bruce Momjian [Tue, 7 Sep 1999 03:58:13 +0000 (03:58 +0000)]
Update TODO list.
Tom Lane [Tue, 7 Sep 1999 03:47:06 +0000 (03:47 +0000)]
Performance improvements in cnfify(): get rid of exponential
space consumption in pull_args, and avoid doing the full CNF transform on
operands of operator clauses, where it's really not particularly helpful.
This answers the TODO item about large numbers of OR clauses, at least
partially. I was able to do a ten-thousand-OR-clause query with about
20Mb memory consumption ... it took an obscenely long time, but it worked...
Tom Lane [Tue, 7 Sep 1999 00:13:27 +0000 (00:13 +0000)]
Mike Ansley's fixes for long queries. This change just
corrects flex myinput() routine so that it doesn't assume there is only
one bufferload of data. We still have the issue of getting rid of
YY_USES_REJECT so that the scanner can cope with tokens larger than its
initial buffer size.
Tom Lane [Mon, 6 Sep 1999 23:30:53 +0000 (23:30 +0000)]
Additional long-query fixes from Mike Ansley and yours truly.
psql.c seems clean of query length restrictions now.
Tom Lane [Mon, 6 Sep 1999 21:16:20 +0000 (21:16 +0000)]
Mark bpchareq not hashjoinable, since it strips trailing blanks
before comparison; if fields being joined are different widths then hashing
will yield wrong answer. Also, remove hashjoinable mark from all uses of
array_eq, because array structures may have padding bytes between elements
and the pad bytes are of uncertain content. This could be revisited if
array code is cleaned up.
Modify opr_sanity regress test to complain if array_eq operator is marked
hashjoinable.
Tom Lane [Mon, 6 Sep 1999 19:37:38 +0000 (19:37 +0000)]
I finally understood what sinvaladt.c is doing --- and it
offended my aesthestic sensibility that there was so much unreadable code
doing so little. Rewritten code is about half the size, faster, and
(I hope) much more intelligible.
Tom Lane [Mon, 6 Sep 1999 19:33:16 +0000 (19:33 +0000)]
Fix relcache.c so that local relations (those created during
current transaction) are not flushed by shared-cache-inval reset message.
SI reset actually works now, for probably the first time in a long time.
I was able to run initdb and regression tests with a 16-element SI message
array, with a lot of NOTICE: cache state reset messages but no crashes.