Commit Graph

5395 Commits

Author SHA1 Message Date
Bruce Momjian 1276aef2f5 Fix problem with temp tables shown in regression test by Jan. 1999-11-17 23:51:21 +00:00
Jan Wieck 211ed36635 Some minor corrections to the LZ compression. In fact I wanted to
HAVE the required OID's first.

Jan
1999-11-17 22:18:46 +00:00
Jan Wieck 79c3b71c1b The new LZ compression and an lztext data type based on it.
Jan
1999-11-17 21:21:51 +00:00
Bruce Momjian ddc335290c Fix lookup of temp table names that I missed yesterday. 1999-11-16 16:55:28 +00:00
Tom Lane e1492cc34c Modify elog() logic so that it won't try to longjmp(Warn_restart) before
Warn_restart has been set by the backend main loop.  This means that
elog(ERROR) or elog(FATAL) in the postmaster or during backend startup
now have well-defined behavior: proc_exit() rather than coredump.
In the case of elog() inside the postmaster, I think that proc_exit()
is probably not enough --- don't we want our child backends to be
forced to quit too?  But I don't understand Vadim's recent changes in
this area, so I'll leave it to him to look over and tweak if needed.
1999-11-16 06:13:36 +00:00
Bruce Momjian dc5c7713bc Commit to make clearer distinction for temp names and real names.
Thanks to Tom Lane for ideas.
1999-11-16 04:14:03 +00:00
Tatsuo Ishii bf5d51e7fe Tree dividing is not appropriate in Rtree.
This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp).
1999-11-15 09:59:00 +00:00
Tom Lane c8c3e07e58 Clean up possible memory leakage in nodeSubplan 1999-11-15 03:28:07 +00:00
Tom Lane f68e11f373 Implement subselects in target lists. Also, relax requirement that
subselects can only appear on the righthand side of a binary operator.
That's still true for quantified predicates like x = ANY (SELECT ...),
but a subselect that delivers a single result can now appear anywhere
in an expression.  This is implemented by changing EXPR_SUBLINK sublinks
to represent just the (SELECT ...) expression, without any 'left hand
side' or combining operator --- so they're now more like EXISTS_SUBLINK.
To handle the case of '(x, y, z) = (SELECT ...)', I added a new sublink
type MULTIEXPR_SUBLINK, which acts just like EXPR_SUBLINK used to.
But the grammar will only generate one for a multiple-left-hand-side
row expression.
1999-11-15 02:00:15 +00:00
Tom Lane 1ecb129d20 Update sanity_check regress test to pass now that pg_index
and pg_amop have indexes.
1999-11-15 01:48:41 +00:00
Tom Lane a5150dc658 Fix typo so it actually compiles... 1999-11-14 19:01:04 +00:00
Bruce Momjian 7a203a3f02 Add recreate index notice to vacuum error. 1999-11-14 17:27:01 +00:00
Tom Lane fb9448decc Tweak make rules for parse.h and fmgr.h to avoid bug in old
versions of gmake.
1999-11-14 17:12:42 +00:00
Bruce Momjian 103022c339 Add index recreation suggestion to end of world error message. 1999-11-14 16:22:59 +00:00
Bruce Momjian e61e4d460c Fix for psql control-d and .psqlrc that I broke. Fix for \dT with
descriptions enabled.
1999-11-13 19:16:47 +00:00
Bruce Momjian db12a63ef1 The \p\g fix didn't turn out to be so bad. It even works in other
circumstances:
=> select * from foo\x\t\pset border 0 \p\g\\select * from bar;

Also the release prep update so the sql_help.h is generated before
packaging.

Peter.
1999-11-13 02:04:54 +00:00
Tom Lane ac61a04a71 Fix ExecSubPlan to handle nulls per the SQL spec --- it didn't combine
nulls with non-nulls using proper three-valued boolean logic.  Also clean
up ExecQual to make it clearer that ExecQual *does* follow the SQL spec
for boolean nulls.  See '[BUGS] (null) != (null)' thread around 10/26/99
for more detail.
1999-11-12 06:39:34 +00:00
Bruce Momjian 2a24ec6f16 In the spirit of TODO item
* Add use of 'const' for varibles in source tree
(which is misspelled, btw.)
I went through the front-end libpq code and did so. This affects in
particular the various accessor functions (such as PQdb() and
PQgetvalue()) as well as, by necessity, the internal helpers they use.

I have been really thorough in that regard, perhaps some people will find
it annoying that things like
char * foo = PQgetvalue(res, 0, 0)
will generate a warning. On the other hand it _should_ generate one. This
is no real compatibility break, although a few clients will have to be
fixed to suppress warnings. (Which again would be in the spirit of the
above TODO.)

In addition I replaced some int's by size_t's and removed some warnings
(and generated some new ones -- grmpf!). Also I rewrote PQoidStatus (so it
actually honors the const!) and supplied a new function PQoidValue that
returns a proper Oid type. This is only front-end stuff, none of the
communicaton stuff was touched.


The psql patch also adds some new consts to honor the new libpq situation,
as well as fixes a fatal condition that resulted when using the -V
(--version) option and there is no database listening.


So, to summarize, the psql you should definitely put in (with or without
the libpq). If you think I went too far with the const-mania in libpq, let
me know and I'll make adjustments. If you approve it, I will also update
the docs.

        -Peter

--
Peter Eisentraut                  Sernanders vaeg 10:115
1999-11-11 00:10:14 +00:00
Bruce Momjian c6c60302ba Cleanup of psql \copyright 1999-11-10 01:22:37 +00:00
Bruce Momjian b2c55a02b1 psql makefile fix from Keith Parks 1999-11-08 15:59:59 +00:00
Bruce Momjian 86ef36c907 New NameStr macro to convert Name to Str. No need for var.data anymore.
Fewer calls to nameout.

Better use of RelationGetRelationName.
1999-11-07 23:08:36 +00:00
Bruce Momjian df723a8a8a exit recursion fix from Massimo 1999-11-06 19:46:57 +00:00
Bruce Momjian 17d819c093 Fix for recusive exit call from Massimo. 1999-11-06 17:01:29 +00:00
Bruce Momjian a9ade930da Sort help file names, from Peter Eisentraut 1999-11-06 16:49:06 +00:00
Bruce Momjian 0fe4a20891 Add Linux ARM. 1999-11-06 01:55:44 +00:00
Bruce Momjian 5e3189eaff Update psql banner 1999-11-05 18:21:09 +00:00
Bruce Momjian f793ac0a16 Update psql display. 1999-11-05 15:44:57 +00:00
Tom Lane 3b004b8e2e environment variable set by MULTIBYTE startup code should be
stored in malloc'd space, not in a static variable.  Otherwise environment
variable list is corrupted if libpq is dynamically unlinked...
1999-11-05 06:43:45 +00:00
Bruce Momjian 3d1db6ddc6 Update \? display. 1999-11-05 02:12:59 +00:00
Bruce Momjian 200e183254 Make pager on by default. 1999-11-05 01:38:58 +00:00
Bruce Momjian f0a45ccd0a Clean up \? psql display. 1999-11-05 01:25:39 +00:00
Bruce Momjian 754a4428a6 psql banner cleanup 1999-11-05 00:12:52 +00:00
Bruce Momjian 87a8c72a64 clean up startup banner 1999-11-05 00:10:03 +00:00
Bruce Momjian e6a0e4ed61 Fix EOF/control-D display in psql. 1999-11-04 23:26:02 +00:00
Bruce Momjian dc16399d8d Update to psql, run pgindent. 1999-11-04 23:17:33 +00:00
Bruce Momjian 0e6652e673 psql cleanup 1999-11-04 23:14:30 +00:00
Bruce Momjian 2323b63631 Update psql with man pages and new version of help. 1999-11-04 22:07:57 +00:00
Bruce Momjian a45195a191 Major psql overhaul by Peter Eisentraut. 1999-11-04 21:56:02 +00:00
Bruce Momjian 2ea3b6d63a autoconf 1999-11-04 21:48:36 +00:00
Bruce Momjian 7791e8c001 Improve getopt and readline support, from Peter Eisentraut. 1999-11-04 21:46:40 +00:00
Bruce Momjian 1696dd1121 Update bsdi for bsd/os 4.1 1999-11-04 16:22:23 +00:00
Hiroshi Inoue 2e2189a568 Make it possible to execute crashed CREATE/DROP commands again.
Now indexes of pg_class and pg_type are unique indexes
and guarantee the uniqueness of correponding attributes.
heap_create() was changed to take another boolean parameter
which allows to postpone the creation of disk file.
The name of rd_nonameunlinked was changed to rd_unlinked.
It is used generally(not only for noname relations) now.
Requires initdb.
1999-11-04 08:01:09 +00:00
Michael Meskes a2c834f709 *** empty log message *** 1999-11-02 19:03:34 +00:00
Michael Meskes 7ff8a18030 *** empty log message *** 1999-11-02 12:11:53 +00:00
Bruce Momjian d9e4966be1 update for pgaccess 1999-11-02 00:05:29 +00:00
Bruce Momjian bbdeaea5be autoconf 1999-11-01 23:59:45 +00:00
Bruce Momjian e1ade8d28a Update pgaccess 1999-11-01 23:55:00 +00:00
Bruce Momjian 85016a2b9c autoconf 1999-11-01 23:51:55 +00:00
Bruce Momjian 381e5b94e0 Update for pgaccess 0.98. 1999-11-01 23:48:27 +00:00
Tom Lane 15455e14b8 Eliminate RewritePreprocessQuery, which was taking an
unreasonable amount of time to clean up after a vanished parser problem.
Don't call fireRIRonSubselect when we know there are no subselects,
either.
1999-11-01 05:18:31 +00:00
Tom Lane c6f5f858a6 Eliminate some unbelievably cheesy code in _copyConst().
Apparently, back in the dim reaches of prehistory, the parser couldn't
be trusted to label Const nodes with the correct constbyval value ...
and someone preferred to patch around this in copyObject rather than
fix the problem at the source.  The problem is long gone, but the hack
lingered on.  Until now.
1999-11-01 05:15:13 +00:00
Tom Lane ee2ad1cf2e Inline check for full buffer in appendStringInfoChar. 1999-11-01 05:10:32 +00:00
Tom Lane e81ad79de0 Don't call ExecOpenIndices if pg_class relhasindex shows there are no
indexes to open.  Avoid unnecessary work in ExecCheckPerm, too.
1999-11-01 05:09:18 +00:00
Tom Lane d40dbb7387 Eliminate local inefficiencies in updateTargetListEntry, make_var, and
make_const --- don't repeat cache searches that aren't needed.
1999-11-01 05:06:21 +00:00
Bruce Momjian 249f6b40ab formatting cleanup 1999-11-01 04:00:57 +00:00
Bruce Momjian 87af721775 Update version for 7.0. 1999-11-01 02:33:32 +00:00
Bruce Momjian d16b706e7a Allow indexes on system catalogs for use in cache code.
Thanks to Hiroshi
1999-11-01 02:29:27 +00:00
Bruce Momjian 1973e90ce2 autoconf 1999-10-31 19:52:28 +00:00
Bruce Momjian 9dab728700 Update to pgaccess 0.98. 1999-10-31 19:50:48 +00:00
Tom Lane 987026c931 Rule dumper failed to affix '*' to inheritable RTEs. 1999-10-31 18:57:42 +00:00
Bruce Momjian 0887303a1b Update for 0.98 pgaccess 1999-10-31 12:33:44 +00:00
Bruce Momjian b531c55a9b Update for 0.98. 1999-10-31 12:23:41 +00:00
Bruce Momjian 8e28ce97e5 autoconf 1999-10-31 11:51:29 +00:00
Bruce Momjian b19013cfb7 Update pgaccess makefile for 0.98 1999-10-31 11:50:03 +00:00
Tom Lane 5b9d655ba7 Avoid duplicate ExecTypeFromTL() call in ExecInitJunkFilter() by passing
in the TupleDesc that the caller already has (for call from ExecMain) or
can make just as easily as ExecInitJunkFilter() can (for call from
ExecAppend).  Also, don't bother to build a junk filter for an INSERT
operation that doesn't actually need one, which is the normal case.
1999-10-30 23:13:30 +00:00
Tom Lane 4ce4d7f7d3 Rearrange heap_beginscan to eliminate extra call on
mdnblocks.  Bad enough it does an lseek, but to do it twice for no
reason...
1999-10-30 23:10:21 +00:00
Tom Lane 57ea208477 Skip invoking set_uppernode_references() for a RESULT node
that has no subplan --- saves a material amount of time for a simple
INSERT ... VALUES query.
1999-10-30 23:07:55 +00:00
Tom Lane e2a29eb52c Rewrite preprocess_targetlist() to reduce overhead for simple INSERTs.
In particular, don't bother to look up type information for attributes
where we're not actually going to use it, and avoid copying entire tlist
structure when it's not necessary.
1999-10-30 23:06:32 +00:00
Bruce Momjian 01523ce14a Update pgaccess for 0.98. 1999-10-30 21:21:50 +00:00
Tom Lane cf627ab41a Further performance improvements in sorting: reduce number of comparisons
during initial run formation by keeping both current run and next-run
tuples in the same heap (yup, Knuth is smarter than I am).  And, during
merge passes, make use of available sort memory to load multiple tuples
from any one input 'tape' at a time, thereby improving locality of
access to the temp file.
1999-10-30 17:27:15 +00:00
Bruce Momjian 2a5f3869a2 Add pgaccess Makefile. 1999-10-30 16:39:48 +00:00
Bruce Momjian e0852543e2 Add 0.98. 1999-10-30 16:18:54 +00:00
Bruce Momjian dbdb80baca Remove 0.96 for update to 0.98 1999-10-30 16:01:19 +00:00
Tom Lane c60ecd8f8c Ooops ... 6.5 coding wasn't quite right anymore. Should learn
never to commit without running regress tests...
1999-10-30 02:35:14 +00:00
Tom Lane b021e9a130 Put back code in nodeAgg to generate a dummy all-nulls input tuple
before calling execProject, when the outerPlan has returned zero tuples.
I took this out under the mistaken impression that the input tuple
couldn't be referenced by execProject if we weren't in GROUP BY mode.
But it can, if we're in an UPDATE or DELETE...
1999-10-30 01:18:16 +00:00
Bruce Momjian 60f3e6b3a5 Make USING in COPY optional. 1999-10-29 23:52:22 +00:00
Bruce Momjian ba1714b654 Fix wording. 1999-10-29 23:44:42 +00:00
Michael Meskes 969093b785 *** empty log message *** 1999-10-29 19:39:31 +00:00
Bruce Momjian d79d0a3c0f Fix psql quote missing. 1999-10-27 16:33:45 +00:00
Michael Meskes d3571c755e *** empty log message *** 1999-10-27 14:36:09 +00:00
Bruce Momjian d426869b89 Fix compile after COMMENT problem. 1999-10-26 16:32:46 +00:00
Bruce Momjian 724bf74693 These are two minor corrections to libpq's PQsetNoticeProcessor function.
One, it now returns the previous hook. That way people don't have to dig
around in libpq-int.h for that information anymore. It previously
returned void, so there should be no incompatibilities.

Second, you cannot set the callback to NULL anymore. (Of course you can
still call it with NULL just to get the current hook.) The way libpq uses
the callback pointer, having a NULL there wasn't very healthy.

Peter Eisentraut
1999-10-26 04:49:00 +00:00
Bruce Momjian 021146f375 improve manual page 1999-10-26 04:40:58 +00:00
Bruce Momjian b6d6cffa99 Add documentation for comment. 1999-10-26 03:48:58 +00:00
Bruce Momjian 577e21b34f Hello.
The following patch extends the COMMENT ON functionality to the
rest of the database objects beyond just tables, columns, and views. The
grammer of the COMMENT ON statement now looks like:

COMMENT ON [
  [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ] <objname>
|

  COLUMN <relation>.<attribute> |
  AGGREGATE <aggname> <aggtype> |
  FUNCTION <funcname> (arg1, arg2, ...) |
  OPERATOR <op> (leftoperand_typ rightoperand_typ) |
  TRIGGER <triggername> ON relname>

Mike Mascari
(mascarim@yahoo.com)
1999-10-26 03:12:39 +00:00
Tom Lane 51f62d505e Standardize on MAXPGPATH as the size of a file pathname buffer,
eliminating some wildly inconsistent coding in various parts of the
system.  I set MAXPGPATH = 1024 in config.h.in.  If anyone is really
convinced that there ought to be a configure-time test to set the
value, go right ahead ... but I think it's a waste of time.
1999-10-25 03:08:03 +00:00
Tom Lane 8a17ed6335 'extern char *pg_pathname' in these files fails to agree with
postgres.c's declaration of 'char pg_pathname[...]'.  I dunno when these
ports were last used, but they are sure broken now...
1999-10-25 02:31:47 +00:00
Byron Nikolaidis c4c8e812b4 bug fix for large objects (free) 1999-10-25 01:11:44 +00:00
Tom Lane eae456cd7f Add a notion of a 'catalog version number' that can indicate
when an initdb-forcing change has been applied within a development cycle.
PG_VERSION serves this purpose for official releases, but we can't bump
the PG_VERSION number every time we make a change to the catalogs during
development.  Instead, increase the catalog version number to warn other
developers that you've made an incompatible change.  See my mail to
pghackers for more info.
1999-10-24 20:42:27 +00:00
Tom Lane 9efee18a28 Add comment explaining that this table doesn't do what you
might think ... in fact doesn't do much of anything at the moment ...
1999-10-24 19:22:37 +00:00
Tom Lane 2dd82a67e5 Remove gratuitous redefinitions of BLCKSZ. 1999-10-23 03:28:58 +00:00
Tom Lane ecd0bfa81a Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.
pg_dump and interfaces/odbc still need some work.)
1999-10-23 03:13:33 +00:00
Bruce Momjian 627b5e9c20 Backup psql banner change. 1999-10-23 01:31:32 +00:00
Tom Lane 45c002460c Remove fixed-size literal buffer from ecpg's lexer (same
fix recently applied to backend's lexer).  I see that YY_USES_REJECT
still gets defined for this lexer, which means it's going to have trouble
parsing really long tokens.  Not sure if it's worth doing anything about
that or not; I don't have the interest right now to understand why
ecpg's additions to the syntax cause this problem...
1999-10-22 23:14:50 +00:00
Bruce Momjian abceb20a52 Remove libpq++ todo item. 1999-10-22 19:13:39 +00:00
Bruce Momjian 95d1f5fa6d This *should* fix the large binary object problem in libpq++ from the
TODO list.

Vince
1999-10-22 19:05:02 +00:00
Bruce Momjian 0e1bfe92c7 I have a patch for postgresql-snapshot(1999-10-22).
This patch fix a TODO list item.
* require SELECT DISTINCT target list to have all ORDER BY columns

example
ogawa=> select distinct x from t1 order by y;
ERROR:  ORDER BY columns must appear in SELECT DISTINCT target list

---
Atsushi Ogawa
1999-10-22 11:51:35 +00:00
Tom Lane a1b25fd155 Another day, another MAX_QUERY_SIZE dependency zapped. 1999-10-22 02:08:37 +00:00
Tom Lane 9a50485fb7 Bugfix for CREATE RULE invoked via SPI --- from Hiroshi,
23 Jul 99.  Not sure why this didn't get applied before...
1999-10-21 02:33:25 +00:00
Tom Lane 470039332f Remove fixed-size buffers in rule storage routine. 1999-10-21 01:46:24 +00:00
Bruce Momjian 918d9de886 change issue to information in banner 1999-10-21 01:24:53 +00:00
Bruce Momjian 4931dea619 Make psql startup banner cleaner. 1999-10-21 00:43:46 +00:00
Tom Lane 42b991fd1f BufFileSeek's behavior at segment boundaries wasn't what
logfile.c wanted ... seems easier to fix BufFileSeek.
1999-10-19 02:34:45 +00:00
Bruce Momjian d357c96789 Update \dT again. 1999-10-18 14:14:04 +00:00
Bruce Momjian 80254d4870 More \dT cleanup 1999-10-18 14:07:49 +00:00
Bruce Momjian 25036d4dee Clean up \dT display. 1999-10-18 13:44:24 +00:00
Bruce Momjian 7bf25f1281 Make bpchar == char() clearer in \dT display. 1999-10-18 11:36:45 +00:00
Tom Lane b7d49a4209 Drive a stake through the heart of the last use of MAX_PARSE_BUFFER
in the backend.  Still a few stragglers, but we're getting closer to
being rid of query length limits...
1999-10-18 03:32:29 +00:00
Tom Lane 8e35bbd133 Remove fixed-size literal buffer from scan.l, and repair
boundary-condition bug in myinput() which caused flex scanner to fail
on tokens larger than a bufferload.  Turns out flex doesn't want null-
terminated input ... and if it gives you a 1-character buffer, you'd
better supply a character, not a null, lest you be thought to be
reporting end of input.
1999-10-18 02:42:31 +00:00
Tom Lane 3d5079c174 Except_Intersect_Rewrite() forgot to move LIMIT info to new
topmost SELECT node after rearranging query tree.
1999-10-17 23:50:43 +00:00
Tom Lane e1c76c2533 Change fd.c so that temp files are closed and deleted at
proc_exit time.  I discovered that if the frontend closes the connection
when you're inside a transaction block, there is nothing ensuring that
temp files go away ... I wonder whether proc_exit ought to try to do an
explicit transaction abort?
1999-10-17 23:09:02 +00:00
Tom Lane 887afac1f5 Remove now-dead sort modules. 1999-10-17 22:19:07 +00:00
Tom Lane 26c48b5e8c Final stage of psort reconstruction work: replace psort.c with
a generalized module 'tuplesort.c' that can sort either HeapTuples or
IndexTuples, and is not tied to execution of a Sort node.  Clean up
memory leakages in sorting, and replace nbtsort.c's private implementation
of mergesorting with calls to tuplesort.c.
1999-10-17 22:15:09 +00:00
Tom Lane 59ed74e60b Actually, nodeMergejoin shouldn't include psort.h at all... 1999-10-17 18:00:29 +00:00
Tom Lane 3a2fd8492a nodeMergejoin was depending on an inclusion from psort.h... 1999-10-16 21:31:26 +00:00
Tom Lane 957146dcec Second phase of psort reconstruction project: add bookkeeping logic to
recycle storage within sort temp file on a block-by-block basis.  This
reduces peak disk usage to essentially just the volume of data being
sorted, whereas it had been about 4x the data volume before.
1999-10-16 19:49:28 +00:00
Tatsuo Ishii 357231e68e Check RELSEG_SIZE when postmaster starting up.
this is neccesary to make sure that the backend and
the database uses same RELSEG_SIZE.
1999-10-16 09:32:23 +00:00
Michael Meskes 6fb3c3f78f *** empty log message *** 1999-10-15 19:02:08 +00:00
Bruce Momjian 06d95d9440 Fix typo in descriptions. 1999-10-15 16:19:40 +00:00
Bruce Momjian e16db38376 Clean up type descriptions. 1999-10-15 04:56:52 +00:00
Bruce Momjian 7acc237744 This patch implements ORACLE's COMMENT SQL command.
>From the ORACLE 7 SQL Language Reference Manual:
-----------------------------------------------------
COMMENT

Purpose:

To add a comment about a table, view, snapshot, or
column into the data dictionary.

Prerequisites:

The table, view, or snapshot must be in your own
schema
or you must have COMMENT ANY TABLE system privilege.

Syntax:

COMMENT ON [ TABLE table ] |
           [ COLUMN table.column] IS 'text'

You can effectively drop a comment from the database
by setting it to the empty string ''.
-----------------------------------------------------

Example:

COMMENT ON TABLE workorders IS
   'Maintains base records for workorder information';

COMMENT ON COLUMN workorders.hours IS
   'Number of hours the engineer worked on the task';

to drop a comment:

COMMENT ON COLUMN workorders.hours IS '';

The current patch will simply perform the insert into
pg_description, as per the TODO. And, of course, when
the table is dropped, any comments relating to it
or any of its attributes are also dropped. I haven't
looked at the ODBC source yet, but I do know from
an ODBC client standpoint that the standard does
support the notion of table and column comments.
Hopefully the ODBC driver is already fetching these
values from pg_description, but if not, it should be
trivial.

Hope this makes the grade,

Mike Mascari
(mascarim@yahoo.com)
1999-10-15 01:49:49 +00:00
Bruce Momjian 2d12ee3f71 Update psql \? for \w. 1999-10-14 01:28:42 +00:00
Bruce Momjian c7dea3a6b7 Correctly return -1 on error to CmdTuples()
Vince.
1999-10-13 16:46:28 +00:00
Tom Lane db3c4c3a2d Split 'BufFile' routines out of fd.c into a new module, buffile.c. Extend
BufFile so that it handles multi-segment temporary files transparently.
This allows sorts and hashes to work with data exceeding 2Gig (or whatever
the local limit on file size is).  Change psort.c to use relative seeks
instead of absolute seeks for backwards scanning, so that it won't fail
when the data volume exceeds 2Gig.
1999-10-13 15:02:32 +00:00
Bruce Momjian c3ac9f07b7 Hi,
I have changed a bit the makefiles for the win32 port - the *.def files
(created when building shared libraries) are now clean from
Makefile.shlib.

I have also removed "-g" from CFLAGS in the "cygwin32" template - it can
be
enabled when running configure.

                        Dan
1999-10-13 11:38:42 +00:00
Bruce Momjian 8ce829ea6a Update jdbc for release version #> 1999-10-13 11:08:57 +00:00
Bruce Momjian 7ee7ee1398 BLOBs containing NUL characters (ASCII 0) can be written to the
database, but they get truncated at the first NUL by lo_read
when they are read back. The reason for this is that lo_read in
Pg.xs is using the default:
    OUTPUT:
        RETVAL
        buf
which uses C's strlen() to work out the length of the scalar.

The code ought to read something more like:
    OUTPUT:
        RETVAL
        buf sv_setpvn((SV*)ST(2), buf, RETVAL);

I am not sure if this needs to be done on both lo_read methods
in this file, but I changed both and have not since had any
problems with truncated BLOBs.

Douglas Thomson <dougt@mugc.cc.monash.edu.au>
1999-10-13 02:26:37 +00:00
Bruce Momjian c6411605e1 I have created a small patch that makes possible to compile pgsql on newer
Cygwin snapshots (tested on 990115 which is recommended to use - it fixes
some errors in B20.1)

And I have another patch for including <sys/ipc.h> before <sys/sem.h> in
backend/storage/lmgr/proc.c - it is required due the design of cygipc
headers

                        Dan
1999-10-12 14:54:28 +00:00
Bruce Momjian c7e694c4f5 Remove pgeasy Makefile on distclean. 1999-10-12 14:46:26 +00:00
Bruce Momjian cd273043b9 autoconf 1999-10-12 14:42:04 +00:00
Bruce Momjian 3bd3dc541d autoconf 1999-10-12 14:31:22 +00:00
Bruce Momjian 3c44a132ea Update pgeasy for missing files. 1999-10-12 14:06:49 +00:00
Tatsuo Ishii 7adb1b0072 Add blcksz to struct ControlFileData to check BLCKSZ is same
as BLCKSZ which the backend was compiled in.
1999-10-12 10:21:56 +00:00
Bruce Momjian 433c213533 Update pgeasy. 1999-10-11 18:51:10 +00:00
Bruce Momjian bf919ed20a cleanup of pgeasy. 1999-10-11 18:16:06 +00:00
Bruce Momjian 05309c3cd2 Update again. 1999-10-11 18:05:39 +00:00
Bruce Momjian ad869fcb88 pgeasy update. 1999-10-11 18:03:04 +00:00
Bruce Momjian 0e839dbbdd Update pgeasy. 1999-10-11 17:51:27 +00:00
Bruce Momjian d3ba981b3c autoconf 1999-10-11 17:48:23 +00:00
Bruce Momjian 676404d5dc Add pginterface into main tree, called pgeasy. 1999-10-11 17:47:02 +00:00
Hiroshi Inoue 05d13cad28 The 1st step to implement new type of scan,TidScan.
Now WHERE restriction on ctid is allowed though it is
sequentially scanned.
1999-10-11 06:28:29 +00:00
Bruce Momjian 65a2c8f5b8 Improve pg_dump template1 error reports. 1999-10-10 17:00:26 +00:00
Bruce Momjian 5883563208 Re-add mention of FAQ's for shared memory/ipc errors. 1999-10-10 16:53:51 +00:00
Bruce Momjian 944dec1ff0 Improve pg_dump template1 error message. 1999-10-10 14:42:44 +00:00
Bruce Momjian b8c3226da2 Allow \r as whitespace. 1999-10-09 01:32:38 +00:00
Bruce Momjian ff77befb73 Move __alpha to port/alpha.h. 1999-10-09 01:30:23 +00:00
Bruce Momjian 440c913d42 Define __alpha__ for __alpha. 1999-10-08 17:14:46 +00:00
Jan Wieck 34eb4f0a32 First real FOREIGN KEY constraint trigger functionality.
Implemented now:

    FOREIGN KEY ... REFERENCES ... MATCH FULL
	FOREIGN KEY ... MATCH FULL ... ON DELETE CASCADE

Jan
1999-10-08 12:00:08 +00:00
Michael Meskes a4f59da146 *** empty log message *** 1999-10-08 11:05:05 +00:00
Bruce Momjian 7395d9ab4e Update display of debug levels. 1999-10-08 05:36:58 +00:00
Bruce Momjian 5d72657732 clean up debug flags. 1999-10-08 05:27:14 +00:00
Bruce Momjian b3c7ad5750 Comment cleanup. 1999-10-08 05:20:48 +00:00
Bruce Momjian fbe9d1a430 Fix for "--" comment and no trailing newline, as seen in Perl. 1999-10-08 05:03:14 +00:00
Bruce Momjian ae61ef34bd Cleanup -is flag to -l for SSL. Another PERL variable name fix. Clean
up debugging options for postmaster and postgres programs.  postmaster
-d is no longer optional.  Documentation updates.
1999-10-08 04:28:57 +00:00
Tom Lane 5ce158c534 Remove a no-longer-needed kluge for degenerate aggregate cases,
and update some comments.
1999-10-08 03:49:55 +00:00
Vadim B. Mikheev c528c42ec2 More startup/shutdown log messages. 1999-10-08 02:16:22 +00:00
Bruce Momjian b1ec184d38 Use $(PERL) variable for perl compile. Now in Makefile.global. 1999-10-08 00:15:49 +00:00
Tom Lane 79cb5f76e9 Somehow missed this call to addRangeTableEntry() ... 1999-10-07 05:48:03 +00:00
Tom Lane 3eb1c82277 Fix planner and rewriter to follow SQL semantics for tables that are
mentioned in FROM but not elsewhere in the query: such tables should be
joined over anyway.  Aside from being more standards-compliant, this allows
removal of some very ugly hacks for COUNT(*) processing.  Also, allow
HAVING clause without aggregate functions, since SQL does.  Clean up
CREATE RULE statement-list syntax the same way Bruce just fixed the
main stmtmulti production.
CAUTION: addition of a field to RangeTblEntry nodes breaks stored rules;
you will have to initdb if you have any rules.
1999-10-07 04:23:24 +00:00
Vadim B. Mikheev 4040fcfa78 Small cleanup. 1999-10-06 22:44:25 +00:00
Vadim B. Mikheev 4793740367 XLOG (also known as WAL -:)) Bootstrap/Startup/Shutdown.
First step in cleaning up backend initialization code.
Fix for FATAL: now FATAL is ERROR + exit.
1999-10-06 21:58:18 +00:00
Bruce Momjian 9dcd8c528f More more liszt language code, so remove it from pg_language. 1999-10-06 18:20:31 +00:00
Hiroshi Inoue 9df8ced9d1 Improve the treatment of partial(incomplete) blocks of relation files.
This may solve a TODO item
* Recover or force failure when disk space is exhausted
1999-10-06 06:38:04 +00:00
Vadim B. Mikheev 66fbea5041 Don't set BootstrapProcessingMode in AddNewRelationTuple() before
heap_insert() any more. No reasons to do it, and old comments
said about this.
1999-10-06 03:08:46 +00:00
Bruce Momjian 56ba75cb53 CmdTuples() returns an int showing the number of affected tuples after an
insert, update or delete.  It will return -1 on error, although I've yet
to an error situation to prove that out!


Vince
1999-10-06 03:00:16 +00:00
Bruce Momjian 00c85b44b8 Allow comment-only lines, and ;;; lines too. 1999-10-05 18:14:31 +00:00
Bruce Momjian d0741fb42f As we now use lipq++.H which wasn't around when I first posted the
2 line GetIsNull diffs, we now need this too:

Patrick Welche
1999-10-04 15:17:06 +00:00
Tom Lane 0655b1500f Less noisy rule display... 1999-10-04 04:38:46 +00:00
Tom Lane 3e21ecbbe6 Make the rule deparser a little less quote-happy, so that
display of default expressions isn't quite so ugly.
1999-10-04 04:37:23 +00:00
Tom Lane 7cd67c800a Oops, DEFAULT processing wasn't doing type compatibility checking
quite the same way that transformInsertStatement does, so that an expression
could be accepted by CREATE TABLE and then fail when used.  Also, put back
check that CONSTRAINT expressions must yield boolean...
1999-10-04 02:12:26 +00:00
Tom Lane eabc714a91 Reimplement parsing and storage of default expressions and constraint
expressions in CREATE TABLE.  There is no longer an emasculated expression
syntax for these things; it's full a_expr for constraints, and b_expr
for defaults (unfortunately the fact that NOT NULL is a part of the
column constraint syntax causes a shift/reduce conflict if you try a_expr.
Oh well --- at least parenthesized boolean expressions work now).  Also,
stored expression for a column default is not pre-coerced to the column
type; we rely on transformInsertStatement to do that when the default is
actually used.  This means "f1 datetime default 'now'" behaves the way
people usually expect it to.
BTW, all the support code is now there to implement ALTER TABLE ADD
CONSTRAINT and ALTER TABLE ADD COLUMN with a default value.  I didn't
actually teach ALTER TABLE to call it, but it wouldn't be much work.
1999-10-03 23:55:40 +00:00
Bruce Momjian f29ccc8270 autoconf 1999-10-03 18:24:03 +00:00
Bruce Momjian c70c4e367d I hope this is what you had in mind:
--enable-debug adds -g (unconditionally)
--disable-debug removes -g (if it was already in there somehow)
(giving neither does nothing)

Since none of the templates default CFLAGS with a -g you're not likely
to
end up with two -g flags. Not that they'd hurt though.

It doesn't do anything about C++.

Peter Eisentraut
1999-10-03 18:05:04 +00:00
Tom Lane b40ac42efb Teach parse_coerce about non-cachable functions (actually,
make it call eval_const_expressions() so that it doesn't have to know).
1999-10-02 23:29:19 +00:00
Tom Lane 6eb8d255d2 Allow CREATE FUNCTION's WITH clause to be used for all language types,
not just C, so that ISCACHABLE attribute can be specified for user-defined
functions.  Get rid of ParamString node type, which wasn't actually being
generated by gram.y anymore, even though define.c thought that was what
it was getting.  Clean up minor bug in dfmgr.c (premature heap_close).
1999-10-02 21:33:33 +00:00
Tom Lane 1f122a7c4c Replace float.c's #ifdef finite check with a proper autoconf check, so it
works if finite() is a function.  Patch from Christof Petig.
1999-10-02 17:45:31 +00:00
Tom Lane 54204e6c78 Stick finger into a couple more holes in the leaky dike of
modifyAggrefQual.  This routine really, really needs to be retired, but
until we have subselects in FROM there's no chance of doing the job right.
In the meantime try to respond to unhandlable cases with elog rather than
coredump.
1999-10-02 04:42:04 +00:00
Tom Lane fc43696d1a Fix make_clause and make_opclause to record valid type info
in the Expr nodes they produce.  This fixes a few cases of errors like
'typeidTypeRelid: Invalid type - oid = 0' caused by calling parser-related
routines on expression trees that have already been processed by planner-
related routines.
1999-10-02 04:37:52 +00:00
Tom Lane cd243d27ce Revise rule-printing routines to use expandable StringInfo buffers, so that
they have no hardwired limit on the length of a rule's text.  Fix a couple
of minor bugs in passing --- deparsed UPDATE queries didn't have quotes
around relation name, and quotes and backslashes in constant values weren't
backslash-quoted.
1999-10-02 01:08:05 +00:00
Tom Lane 389af07cf0 Clean up rewriter routines to use expression_tree_walker and
expression_tree_mutator rather than ad-hoc tree walking code.  This shortens
the code materially and fixes a fair number of sins of omission.  Also,
change modifyAggrefQual to *not* recurse into subselects, since its mission
is satisfied if it removes aggregate functions from the top level of a
WHERE clause.  This cures problems with queries of the form SELECT ...
WHERE x IN (SELECT ... HAVING something-using-an-aggregate), which would
formerly get mucked up by modifyAggrefQual.  The routine is still
fundamentally broken, of course, but I don't think there's any way to get
rid of it before we implement subselects in FROM ...
1999-10-01 04:08:24 +00:00
Jan Wieck ce1f5ed547 Fixed opr_sanity regression test to ignore the new
RI_FKey_... constrint triggers when looking for illegal
pg_proc entries.

Jan
1999-09-30 15:28:34 +00:00
Jan Wieck ccecf1fa46 Added utils/adt/ri_triggers with empty shells for the
FOREIGN KEY triggers.

Added pg_proc entries for all the new functions.

Jan
1999-09-30 14:54:24 +00:00
Jan Wieck daaeafd9e1 Removed (useless) pg_proc_prosrc_index
Jan
1999-09-30 10:31:47 +00:00
Tom Lane 2993f0c100 Reverse out getopt patch --- turns out it doesn't help on my
platform, and there are at least some people it's not broken for.  So undo
change until we can discuss a more portable solution.
1999-09-30 02:45:17 +00:00
Tom Lane 1764d9579e Un-break optarg() call --- some peoples' optarg libraries
don't like extraneous colons in the option list...
1999-09-30 02:17:23 +00:00
Tom Lane 5fc889fbea Hmm, guess I forgot to commit this file the other day ...
just some cosmetic changes now, Vadim already fixed the heap_xxx calls.
1999-09-30 01:12:36 +00:00
Jan Wieck b5c4b77283 Added nbtree operator class for NUMERIC
Jan
1999-09-29 21:13:31 +00:00
Bruce Momjian a6528e08a5 Disable new FROM-clause warning. 1999-09-29 18:16:04 +00:00
Jan Wieck 1547ee017c This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support.
Implements the CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands.

TODO:
    Generic builtin trigger procedures
    Automatic execution of appropriate CREATE CONSTRAINT... at CREATE TABLE
    Support of new trigger type in pg_dump
    Swapping of huge # of events to disk

Jan
1999-09-29 16:06:40 +00:00
Bruce Momjian 008f354af4 Add mention of pg_upgrade for release checklist. 1999-09-28 18:08:29 +00:00
Bruce Momjian 692b83730b Fix pg_upgrade so it vacuums all databases. 1999-09-28 18:04:18 +00:00
Bruce Momjian 008ef1de22 Add subquery mention in auto-create table entry. 1999-09-28 17:50:23 +00:00
Bruce Momjian 57d0ae5590 Fix for AIX dynaloader from Zeugswetter Andrea 1999-09-28 17:35:12 +00:00
Bruce Momjian 1e821d05f2 pg_upgrade reminder. 1999-09-28 16:02:28 +00:00
Bruce Momjian 8ccebab8bd More cleanup for | and ^. 1999-09-28 14:49:36 +00:00
Bruce Momjian 77bef41c7f More cleanup for | and ^. 1999-09-28 14:38:02 +00:00
Bruce Momjian f44c7bad6c Fix for creation of operator |. 1999-09-28 14:31:19 +00:00
Bruce Momjian f282b4ff4c libpq++ cleanup from Vince Vielhaber 1999-09-28 12:59:29 +00:00
Vadim B. Mikheev 3fea625e9d Make tree compilable (+WAL). 1999-09-28 11:41:09 +00:00
Vadim B. Mikheev 539b6304b3 heap_close(rel, AccessShareLock);
^^^^^^^^^^^^^^^^^ need in
1999-09-28 11:27:13 +00:00
Bruce Momjian 5bb6bb8dd6 Addition of CmdTuples(). Wraps PQcmdTuples.
Vince Vielhaber
1999-09-28 04:49:22 +00:00
Bruce Momjian 9394d62c73 I have been working with user defined types and user defined c
functions.  One problem that I have encountered with the function
manager is that it does not allow the user to define type conversion
functions that convert between user types. For instance if mytype1,
mytype2, and mytype3 are three Postgresql user types, and if I wish to
define Postgresql conversion functions like

I run into problems, because the Postgresql dynamic loader would look
for a single link symbol, mytype3, for both pieces of object code.  If
I just change the name of one of the Postgresql functions (to make the
symbols distinct), the automatic type conversion that Postgresql uses,
for example, when matching operators to arguments no longer finds the
type conversion function.

The solution that I propose, and have implemented in the attatched
patch extends the CREATE FUNCTION syntax as follows. In the first case
above I use the link symbol mytype2_to_mytype3 for the link object
that implements the first conversion function, and define the
Postgresql operator with the following syntax

The patch includes changes to the parser to include the altered
syntax, changes to the ProcedureStmt node in nodes/parsenodes.h,
changes to commands/define.c to handle the extra information in the AS
clause, and changes to utils/fmgr/dfmgr.c that alter the way that the
dynamic loader figures out what link symbol to use.  I store the
string for the link symbol in the prosrc text attribute of the pg_proc
table which is currently unused in rows that reference dynamically
loaded
functions.


Bernie Frankpitt
1999-09-28 04:34:56 +00:00
Bruce Momjian 63a85082e3 Reverse out last scan.l patch for minus handling.\ 1999-09-28 03:41:40 +00:00
Tom Lane a55888ec9c Fix nodeAgg coredump in case where lower-level plan has
an empty targetlist *and* fails to return any tuples, as will happen
for example with 'SELECT COUNT(1) FROM table WHERE ...' if the where-
clause selects no tuples.  It's so nice to make a fix by diking out code,
instead of adding more...
1999-09-28 02:03:19 +00:00
Bruce Momjian 341e360d67 Sorry, guys. Here is the ultimate patch which keeps the entire
behavior as it was, apart from forbidding minus-terminated
operators. Seems that I have to break the habit of doing before
thinking properly :-/  The point is that my second patch breaks
constructs like a & b  or   a ! b. This patch is to be applied
instead of any of two other today's patches.

Leon
1999-09-27 21:02:54 +00:00
Bruce Momjian 283da86feb Irix fix from Mark Dalphin 1999-09-27 20:54:56 +00:00
Bruce Momjian d62a7ac6d3 Massimo's SET FSYNC and SHOW PG_OPTIONS changes, without SET QUERY_LIMIT. 1999-09-27 20:27:32 +00:00
Bruce Momjian 12a932251c Cancel query support from Massimo 1999-09-27 20:00:44 +00:00
Bruce Momjian 7d7fb02148 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
1999-09-27 19:40:40 +00:00
Bruce Momjian 3f5a164387 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
1999-09-27 19:16:29 +00:00
Bruce Momjian 7b2a8e4e56 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
1999-09-27 18:20:21 +00:00
Bruce Momjian 62045e67eb Emit warning on SELECT pg_language.* 1999-09-27 17:46:14 +00:00
Bruce Momjian 74a263ed34 Fix to give super user and createdb user proper update catalog rights. 1999-09-27 16:44:56 +00:00
Vadim B. Mikheev 30659d43eb Transaction log manager core code.
It doesn't work currently but also don't break anything -:)
1999-09-27 15:48:12 +00:00
Michael Meskes 66270c94e1 *** empty log message *** 1999-09-27 10:41:02 +00:00
Bruce Momjian 065a40f90c Add README.SSL 1999-09-27 03:16:09 +00:00
Bruce Momjian e0e7daef6d 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
1999-09-27 03:13:16 +00:00
Bruce Momjian 3114f92122 Add bsdi sparc port. 1999-09-27 00:48:42 +00:00
Tom Lane be09bc9ff2 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...
1999-09-26 21:21:15 +00:00
Tom Lane 40f6524161 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.
1999-09-26 02:28:44 +00:00
Hiroshi Inoue 95d3d468ce This is a patch for cygipc library provided by Yutaka Tanida.
This is necessary to prevent freezing in cygwin port.
1999-09-24 05:58:48 +00:00
Tom Lane e812458b27 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.
1999-09-24 00:25:33 +00:00
Bruce Momjian f66393514f 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>
1999-09-23 19:11:09 +00:00
Bruce Momjian dabc3f31b5 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
1999-09-23 17:42:23 +00:00
Bruce Momjian 337ab803a2 TRUNCATE command from Mike Mascari<mascarim@yahoo.com> 1999-09-23 17:11:16 +00:00
Bruce Momjian e7cad7b0cb Add TRUNCATE command, with psql help and sgml additions. 1999-09-23 17:03:39 +00:00
Bruce Momjian 4b06f6f9c8 I found the following useful - just a way of using PQgetisnull from
libpq++.

Patrick Welche
1999-09-21 21:19:31 +00:00
Bruce Momjian 392f304cae gram.y cleanup 1999-09-21 21:10:37 +00:00
Bruce Momjian ad604ac372 values.h patch from Alex Howansky 1999-09-21 20:58:25 +00:00
Marc G. Fournier 196cbe4e1d last batch, I think... 1999-09-20 22:33:47 +00:00
Marc G. Fournier 3848b4648a fixing it more.. 1999-09-20 22:32:50 +00:00
Marc G. Fournier a00a1a5641 bring it all into -current again 1999-09-20 22:30:47 +00:00
Marc G. Fournier 25acbc510b try and fix things... 1999-09-20 22:29:12 +00:00
Marc G. Fournier 7737dfd35a bring in missing files ... this isn't very clean, but :( 1999-09-20 22:28:11 +00:00
Bruce Momjian 80751a72ee Make proper plpgsql non-externs. 1999-09-20 22:28:05 +00:00
Bruce Momjian 7559677551 Define plpgsql_yylineno as non-extern somewhere for bsdi. 1999-09-20 02:12:31 +00:00
Tom Lane fe2ab18ed9 Remove incorrect 'Assert(targetList != NULL)'. An
INSERT ... DEFAULT VALUES statement does indeed have a null targetlist,
at least during parse and rewrite stages.
1999-09-19 17:20:58 +00:00
Tom Lane e1a8b0f2ce 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.
1999-09-18 23:26:37 +00:00
Tom Lane f9f5dfbf10 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.
1999-09-18 19:10:19 +00:00
Tom Lane bd272cace6 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.
1999-09-18 19:08:25 +00:00
Michael Meskes 231c5935a4 *** empty log message *** 1999-09-17 18:28:15 +00:00
Michael Meskes 68ee58ed43 *** empty log message *** 1999-09-17 09:48:25 +00:00
Tatsuo Ishii 2d0eee32c4 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
1999-09-16 09:08:56 +00:00
Peter Mount f2fa38ded5 jdbc2real rule was in there twice. One of them should have been jdbc1real 1999-09-15 21:56:16 +00:00
Peter Mount 8363e137aa Jens Glaser found that getPrimaryKeys() had a table called test hardwired
into it.
1999-09-15 21:12:34 +00:00
Peter Mount cd68ecfef6 Some late patches from Jens Glaser (jens@jens.de). These upgrade the protocol
to version 2, and fixes ResultSetMetaData.getColumnDisplaySize().
1999-09-15 20:40:02 +00:00
Michael Meskes 864e1e9d0e *** empty log message *** 1999-09-15 08:29:25 +00:00
Peter Mount 3f68139373 An abstract declaration for the close() method was missed out of the previous
commit to CVS.
1999-09-14 22:43:38 +00:00
Thomas G. Lockhart 2ee735ca21 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.
1999-09-14 06:06:31 +00:00
Peter Mount 24c82830cf Patches for 6.5.2 1999-09-14 05:50:44 +00:00