Commit Graph

5034 Commits

Author SHA1 Message Date
Bruce Momjian 540c114225 Redefine cpu's as __cpu__. Only for 6.6 branch. 1999-07-13 20:00:37 +00:00
Bruce Momjian 30e27a9099 readd include for safety. 1999-07-12 13:32:38 +00:00
Tatsuo Ishii 8f02f2252d Fix some compiler warnings (Tomoaki Nishiyama), add WIN1250 support (Pavel Behal) 1999-07-11 22:47:21 +00:00
Tom Lane eeaeb1bda8 RewritePreprocessQuery tried to match resjunk targets against
result relation ... wrong ...
1999-07-11 17:54:30 +00:00
Tom Lane eeb3abe017 Ignore resjunk targetlist entries when matching arguments to
a SubLink with the subplan's targetlist.  This fixes a problem seen with,
for example, a subselect that uses GROUP BY.
1999-07-11 02:04:19 +00:00
Tom Lane 9cbd349bcd ExecReScanGroup() forgot to clear grpstate->grp_firstTuple,
thereby guaranteeing wrong results from a rescanned Group node.
1999-07-11 01:57:32 +00:00
Tom Lane ebc3cc7efa heapam.h uses type time_t, but didn't include <time.h>. 1999-07-10 22:06:26 +00:00
Tom Lane cc62dc2032 Fix tuplecmp() to ensure repeatable sort ordering of tuples
that contain null fields.  Old code would produce erratic sort results
because comparisons of tuples containing nulls could produce inconsistent
answers.
1999-07-10 18:21:59 +00:00
Bruce Momjian d62c25d452 cleanup of long long int atoi test. 1999-07-10 17:03:34 +00:00
Bruce Momjian 5a3fa95c39 Update stuff for 6.5.1 release. 1999-07-10 16:28:02 +00:00
Tatsuo Ishii 4fceee0e71 -mieee and # does not work for certain version of egcs 1999-07-10 12:33:10 +00:00
Tom Lane 73efd3867d Fix gcc complaint about long being passed to sprintf %d. 1999-07-09 22:53:40 +00:00
Bruce Momjian 863db45e86 Make ^ precidence greater than *. 1999-07-09 21:59:59 +00:00
Bruce Momjian cda192317a createlang now returns 2 for language already exists. 1999-07-09 17:57:46 +00:00
Bruce Momjian 103cf75651 Re-apply range check patch after fixing LIMIT_H test and defines. 1999-07-09 17:40:31 +00:00
Bruce Momjian cd5dfb65a9 Add mention block size <= 32k. 1999-07-09 16:56:44 +00:00
Tom Lane b9c0096d97 Another place that HAVE_LIMITS_H was misspelled. 1999-07-09 15:09:54 +00:00
Bruce Momjian 8aa780bdd3 cleanup 1999-07-09 04:51:27 +00:00
Bruce Momjian 296efd8065 Fix for ACL length problem on different platforms. 1999-07-09 03:28:53 +00:00
Bruce Momjian 46db8ac712 Backup pg_atoi patch for long checking. Caused initdb problems. 1999-07-09 03:27:20 +00:00
Bruce Momjian ffe0097519 Add linux_m68k template file. 1999-07-09 02:35:37 +00:00
Bruce Momjian 27ef825743 Rename tuturials for char2/char16 removal. 1999-07-08 15:28:51 +00:00
Bruce Momjian 1a7273bd5c Rename example temp to mytemp. 1999-07-08 15:27:01 +00:00
Bruce Momjian 3acb7d1634 Test Case:
----------
exec sql begin declare section;
   short s ;
   unsigned short us;
exec sql end   declare section;
exec sql create table test(s smallint, us smallint);
exec sql commit;
s = 1; us =32000;
exec sql insert into test values( :s, :us ) ;  <== error

Error Message: "i4toi2: '-600309759' causes int2 underflow"

Masaaki Sakaida
1999-07-08 03:32:57 +00:00
Bruce Momjian 0343024a5c Add CXXFLAGS += 1999-07-08 03:30:16 +00:00
Bruce Momjian 2cf2a4fe2b > In both datetime_trunc() and timespan_trunc() in dt.c,
> the DTK_MICROSEC case is just like the DTK_MILLISEC case.
> I think this is wrong and it ought to look like
>         fsec = rint(fsec * 1000000) / 1000000;
> no?

Tom Lane.
1999-07-08 03:22:46 +00:00
Bruce Momjian 70ce98b77a Rename pg_temp to pg_sorttemp so it does not conflict with temp table names. 1999-07-08 02:46:39 +00:00
Bruce Momjian 5035d7b985 pg_atoi() does range check on int4 data only if
"HAS_LONG_LONG" is defined based on the assumption that
strtol() would return ERANGE if a platform does not support
64-bit integers. In current PostgreSQL 6.5 (and 6.4.2)
distribution, "HAS_LONG_LONG" is defined only if platform
is "alpha". (See include/port/alpha.h) I think the int4
range check should apply to linux_alpha as well. (I have
not tested yet but I guess this might be applicable to
newer Linux/i386 distributions which includes new GCC which
implements long int as 64-bit int.)
1999-07-08 00:27:01 +00:00
Bruce Momjian a6c688d9cd Irix update from Mark Dalphin 1999-07-08 00:15:03 +00:00
Bruce Momjian 104d6c816e Add ^ precidence. 1999-07-08 00:00:43 +00:00
Bruce Momjian 38ff52c379 Allow port numbers 32k - 64k. 1999-07-07 17:17:50 +00:00
Bruce Momjian db15dc05ad Fix for \do and ceil()/float. 1999-07-07 16:09:33 +00:00
Bruce Momjian e9c977da7d Fix spelling of variable name. 1999-07-07 09:36:45 +00:00
Bruce Momjian 9f7ac20e57 Cleanup of min tuple size. 1999-07-07 09:27:28 +00:00
Bruce Momjian 1391098851 Fix misspelling. 1999-07-07 09:11:15 +00:00
Bruce Momjian 5babe7db45 Remove old readme file. 1999-07-05 21:48:21 +00:00
Bruce Momjian 137eacbe6a Align cleanup. 1999-07-04 05:47:06 +00:00
Bruce Momjian a0b4af3c85 More alignment 1999-07-04 05:44:56 +00:00
Bruce Momjian ede5a41829 Clean up maximum rewrite tuple length. 1999-07-04 05:16:05 +00:00
Bruce Momjian eba41848aa Clarify maximum tuple and max attribute lengths. 1999-07-04 04:56:02 +00:00
Tom Lane b31aa64f4a Make exec_simple_check_plan() check for a null plan, so
that it doesn't crash when processing a utility statement.
1999-07-04 01:03:01 +00:00
Bruce Momjian efb621278e Add abortcurrent trans to temp table fix. 1999-07-03 15:43:57 +00:00
Bruce Momjian ff8756dd1c More cleanup 1999-07-03 01:57:53 +00:00
Bruce Momjian b1444b0934 Update tuple size check. 1999-07-03 01:56:16 +00:00
Bruce Momjian 8dd3407bf5 Fix for insertion of tuple too large. 1999-07-03 01:47:02 +00:00
Bruce Momjian 97dfff832c Fix to prevent too large tuple from being created. 1999-07-03 00:33:04 +00:00
Bruce Momjian 954e466c27 Fix for removal of temp tables if last transaction was aborted. 1999-07-02 18:09:28 +00:00
Bruce Momjian d20abcd8c5 typo fix. 1999-07-02 03:21:37 +00:00
Bruce Momjian c9a0a232e2 #ifdef around true and false. 1999-07-01 19:47:25 +00:00
Tom Lane 0aa544eb41 make distclean missed a few symlinks created by configure. 1999-07-01 00:06:28 +00:00
Tom Lane fa179dde82 Make sure symlinks for sharedlib get removed by 'make clean'. 1999-06-30 23:57:31 +00:00
Tom Lane 7bf29f6b78 Generate a full set of version-numbered symlinks when building
a shared library, not just when installing it.
1999-06-30 23:54:18 +00:00
Michael Meskes 9b0e20574b *** empty log message *** 1999-06-29 09:25:25 +00:00
Vadim B. Mikheev 49f68a8584 Avoid disk writes for read-only transactions. 1999-06-29 04:54:49 +00:00
Bruce Momjian cffd0f9c89 Add time warning about bigtests. 1999-06-28 18:40:34 +00:00
Peter Mount e70b4831d7 Some minor bug fixes 1999-06-27 11:05:38 +00:00
Bruce Momjian fe90c54800 Add var defines for no testandset 1999-06-26 15:58:28 +00:00
Bruce Momjian ef15ed17a0 Remove -m486 on Openbsd. 1999-06-26 15:54:36 +00:00
Michael Meskes 19630e0cbc *** empty log message *** 1999-06-25 10:42:06 +00:00
Tom Lane b692c956ba Makefile.global failed to define $(LIBS), which is
unfortunate considering that several subdirectory makefiles were counting
on it to do so...
1999-06-25 00:13:45 +00:00
Michael Meskes d12561040c *** empty log message *** 1999-06-24 13:15:31 +00:00
Peter Mount dc88d74af3 Some fixes supplied by Jon Nielsen jonfn@image.dk 1999-06-23 05:56:20 +00:00
Tom Lane 1f2c6f4f48 Replace rewriter's checkQueryHasAggs and checkQueryHasSubLink
with expression_tree_walker-based code.  The former failed to cope with
expressions containing SubLinks, and the latter returned TRUE for both
SubLinks and Aggrefs (cut-and-paste bug?).  There is a lot more scope for
using expression_tree_walker in this module, but I'll restrain myself
until the 6.6 split occurs from touching not-demonstrably-broken code.
1999-06-21 01:26:56 +00:00
Tom Lane fd8e580bb7 Clean up problems with sublinks + grouping in planner. Not
sure if they are all fixed, because rewriter is now the stumbling block,
but at least some cases work that did not work before.
1999-06-21 01:20:57 +00:00
Tom Lane 974bdd94f9 On second thought, expression_tree_walker should handle bare
SubLink nodes after all ...
1999-06-21 01:18:02 +00:00
Bruce Momjian db4a6a2618 I have a small patch for 6.5.
aclchk.c: heap_close() is not called after calling heap_openr().

Atsushi Ogawa
1999-06-19 05:05:52 +00:00
Bruce Momjian 8d37132ec9 Rename to vararg_format(). 1999-06-19 05:00:30 +00:00
Bruce Momjian 326d8658ad Change form() to varargform() to prevent portability problems. 1999-06-19 04:54:23 +00:00
Tom Lane e786508600 My first chosen victim for expression_tree_walker conversion
is parse_aggs.c.  This fixes its failure to cope with (at least) CaseExpr
and ArrayRef nodes, which is the reason why both of these fail in 6.5:
select coalesce(f1,0) from int4_tbl group by f1;
ERROR:  Illegal use of aggregates or non-group column in target list
select sentence.words[0] from sentence group by sentence.words[0];
ERROR:  Illegal use of aggregates or non-group column in target list
The array case still fails, but at least it's not parse_agg's fault
anymore ... considering that we now support CASE officially, I think
it's important to fix the first example ...
1999-06-19 03:48:31 +00:00
Tom Lane 86f36719db Create a generic expression-tree-walker subroutine, which
will gradually replace all of the boilerplate tree-walk-recursion code that
currently exists in O(N) slightly different forms in N subroutines.
I've had it with adding missing cases to these subroutines...
1999-06-19 03:41:45 +00:00
Tom Lane d30c4b0562 Temporarily disable error checks for missing selectivity
functions, in order to work around oversight in 6.5 release: rtree
index functions haven't got any.  Mea culpa ...
1999-06-19 00:44:44 +00:00
Bruce Momjian 0591bbd558 Patch to allow vacuum on multi-segment tables, from Hiroshi Inoue 1999-06-18 16:47:23 +00:00
Thomas G. Lockhart 8c3a796328 Incorporate fixes from Date and Darwen, 1997.
Did not check the function declarations as carefully as the other parts,
 though all of the function names *do* match up with D&D.
1999-06-18 05:03:48 +00:00
Bruce Momjian 371a9d7ad8 linux_ppc now use -O0 to fix problem in optimization of fmgr calls. 1999-06-18 00:46:11 +00:00
Tom Lane 285610e9ea Explain didn't handle inheritance correctly (it didn't
manipulate rtable the same way executor does).
1999-06-17 23:45:32 +00:00
Tom Lane 5f74d499bf Defend against function calls with more than 8 arguments (code
used to overrun its fixed-size arrays before detecting error; not cool).
Also, replace uses of magic constant '8' with 'MAXFARGS'.
1999-06-17 22:21:41 +00:00
Bruce Momjian 4c65382596 Remove QUERY_LIMIT and documenation on same. Change _ALIGN to TYPEALIGN
for Irix.
1999-06-17 15:16:09 +00:00
Thomas G. Lockhart 0c1ec67447 Add CLI required header and examples from SQL3/SQL98
August 1994 draft standard.
Use the ecpg support libraries to write the CLI interface?
Date and Darwen claim that CLI is a more modern and flexible approach...
1999-06-17 14:19:17 +00:00
Bruce Momjian 4b9ccbe3cf Make linux_ppc use only -O, not -O2. 1999-06-17 13:44:43 +00:00
Michael Meskes c6a6597862 *** empty log message *** 1999-06-16 18:35:51 +00:00
Michael Meskes c70db13265 *** empty log message *** 1999-06-16 18:25:50 +00:00
Bruce Momjian ad34847d4e Cleanup 1999-06-16 11:01:17 +00:00
Tom Lane 275a1d054e Undo Jan's typo that broke regress.sh's detection of system
type name.
1999-06-14 17:49:06 +00:00
Tatsuo Ishii de7c728d41 change #if defined(__mc68000__) to:
#if defined(__mc68000__) && defined(__linux__)
so that other m68k systems(such as NetBSD) will not be affected.
1999-06-13 00:07:43 +00:00
Tom Lane 642d21a59b Move default NBuffers setting into config.h, and rename it
to DEF_NBUFFERS for readability.  Make sure the default value is OK
according to postmaster.c's new sanity check for -B values.
1999-06-12 22:17:24 +00:00
Tom Lane d9e223d53c Fix critical error noticed by Massimo: copy.c used to have a
special hack to ensure it would close its output file even after failure
due to elog(ERROR) partway through the copy.  This is now unnecessary
because fd.c takes care of cleaning up open files at transaction abort;
worse, after fd.c closed the file copy.c would try to do so *again* at
the start of the next COPY command.  This would result in havoc in most
implementations of stdio library.
1999-06-12 20:41:25 +00:00
Tom Lane aaf2442472 Remove query_planner's overhasty rejection of cases where
tlist and qual are NULL.  It ought to handle these the same as the cases
where tlist contains only constant expressions, ie, be willing to generate
a Result-node plan.  This did not use to matter, but it does now because
union_planner will flatten the tlist when aggregates are present.  Thus,
'select count(1) from table' now causes query_planner to be given a null
tlist, and to duplicate 6.4's behavior we need it to give back a Result
plan rather than refusing the query.  6.4 was arguably doing the Wrong
Thing for this query, but I'm not going to open a semantics issue right
before 6.5 release ... can revisit that problem later.
1999-06-12 19:38:30 +00:00
Tom Lane acf242da97 Plug hole in dike: planner would coredump if query_planner
returned NULL, which it will do in some cases where an elog(ERROR) would
probably be more appropriate.  For the moment, generate a not-very-
informative error message rather than proceeding to certain coredump.
Probably ought to think about making query_planner elog instead of
returning NULL, but this is at least a safe change for now.
1999-06-12 19:27:41 +00:00
Tom Lane 1918a1d191 When targetlist is NULL, ExecTargetList was passing back a
pointer to palloc'd but uninitialized memory.  This is not cool; anyone looking
at the returned 'tuple' would at best coredump and at worst behave in a
bizarre and irreproducible way.  Fix it to return a predictable value,
namely a correctly-set-up palloc'd tuple containing zero attributes.
I believe this fix is both safe and critical.
1999-06-12 19:22:40 +00:00
Bruce Momjian 0c3281ce7c Reversed out Massimo patch. 1999-06-12 14:07:33 +00:00
Bruce Momjian 603e153bb8 I don't like last minute patches before the final freeze, but I believe that
this one could be useful for people experiencing out-of-memory crashes while
executing queries which retrieve or use a very large number of tuples.

The problem happens when storage is allocated for functions results used in
a large query, for example:

  select upper(name) from big_table;
  select big_table.array[1] from big_table;
  select count(upper(name)) from big_table;

This patch is a dirty hack that fixes the out-of-memory problem for the most
common cases, like the above ones. It is not the final solution for the
problem but it can work for some people, so I'm posting it.

The patch should be safe because all changes are under #ifdef. Furthermore
the feature can be enabled or disabled at runtime by the `free_tuple_memory'
options in the pg_options file. The option is disabled by default and must
be explicitly enabled at runtime to have any effect.

To enable the patch add the follwing line to Makefile.custom:

CUSTOM_COPT += -DFREE_TUPLE_MEMORY

To enable the option at runtime add the following line to pg_option:

free_tuple_memory=1

Massimo
1999-06-12 14:05:41 +00:00
Bruce Momjian bd470ba47e Hi,
please apply the included patch. It corrects the headers in src/win32 -
there are some missing #endif.

                        Dan
1999-06-11 15:01:29 +00:00
Bruce Momjian f4de72cc6b add m86 similar entries. 1999-06-11 14:34:02 +00:00
Vadim B. Mikheev ba740a0917 Change Assert(Ptp.t_data->t_xmax == tp.t_data->t_xmin) to :
/*
 * Read above about cases when !ItemIdIsUsed(Citemid)
 * (child item is removed)... Due to the fact that
 * at the moment we don't remove unuseful part of
 * update-chain, it's possible to get too old
 * parent row here. Like as in the case which
 * caused this problem, we stop shrinking here.
 * I could try to find real parent row but want
 * not to do it because of real solution will
 * be implemented anyway, latter, and we are too
 * close to 6.5 release.        - vadim 06/11/99
 */
if (Ptp.t_data->t_xmax != tp.t_data->t_xmin)
...
1999-06-11 09:35:08 +00:00
Vadim B. Mikheev 3b79cc0c55 Removed bad Assert(!buf->ri_lock) when unlocking exclusively
locked buffer.
1999-06-11 09:00:02 +00:00
Vadim B. Mikheev 4ca7b4d2e5 More about chained mode and isolation. 1999-06-11 05:40:18 +00:00
Bruce Momjian 3b9ef4d073 Change mdtruncate to truncate and not unlink.
Hiroshi Inoue
1999-06-11 02:39:43 +00:00
Bruce Momjian d852d31ea3 This patch should enable 6.5 to build on Motorola 68000 architecture.
It comes from Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>.
1999-06-10 22:59:22 +00:00
Michael Meskes 70dfc8c11e *** empty log message *** 1999-06-10 19:11:33 +00:00
Jan Wieck cc08d051d0 Added 2 regression tests for NUMERIC data type.
1. Using 100 digits after decimal point on the default
   make runtest.

2. Using 1000 digits after decimal point in a new target
   make bigtest.

At the end of 'make runtest', a hint about the new bigtest is
printed.

Jan
1999-06-10 17:49:32 +00:00
Vadim B. Mikheev 78f7ccc982 1. Fix for elog(ERROR, "EvalPlanQual: t_xmin is uncommitted ?!")
and possibly for other cases too:

   DO NOT cache status of transaction in unknown state
   (i.e. non-committed and non-aborted ones)

   Example:
   T1 reads row updated/inserted by running T2 and cache T2 status.
   T2 commits.
   Now T1 reads a row updated by T2 and with HEAP_XMAX_COMMITTED
   in t_infomask (so cached T2 status is not changed).
   Now T1 EvalPlanQual gets updated row version without HEAP_XMIN_COMMITTED
   -> TransactionIdDidCommit(t_xmin) and TransactionIdDidAbort(t_xmin)
   return FALSE and T2 decides that t_xmin is not committed and gets
   ERROR above.

   It's too late to find more smart way to handle such cases and so
   I just changed xact status caching and got rid TransactionIdFlushCache()
   from code.

   Changed: transam.c, xact.c, lmgr.c and transam.h - last three
   just because of TransactionIdFlushCache() is removed.

2. heapam.c:

   T1 marked a row for update. T2 waits for T1 commit/abort.
   T1 commits. T3 updates the row before T2 locks row page.
   Now T2 sees that new row t_xmax is different from xact id (T1)
   T2 was waiting for. Old code did Assert here. New one goes to
   HeapTupleSatisfiesUpdate. Obvious changes too.

3. Added Assert to vacuum.c
4. bufmgr.c: break
   Assert(buf->r_locks == 0 && !buf->ri_lock)
   into two Asserts.
1999-06-10 14:17:12 +00:00
Tom Lane c37ecaf8d5 Fix errors in SELECT ... GROUP BY ... UNION SELECT ...
ye proverbial one-line patch (not counting five lines of comment so's
maybe it won't happen again)
1999-06-10 06:55:40 +00:00
Bruce Momjian 0ac955540b Remove -O2 for linux/alpha, make -O. 1999-06-09 12:39:46 +00:00
Vadim B. Mikheev 51298bcfda Reset evaluation plan tuple table next free slot counter to 0
after ExecEndNode. It must be done! Or we'll be out of free
tuple slots very soon, though slots are freed by ExecEndNode
and ready for reusing.

We didn't see this problem before because of

int         nSlots = ExecCountSlotsNode(plan);
TupleTable  tupleTable = ExecCreateTupleTable(nSlots + 10);
    /* why add ten? - jolly */

code in InitPlan - i.e. extra 10 slots. Simple select uses
3 slots and so it was possible to re-use evaluation plan
3 additional times and didn't get

elog(NOTICE, "Plan requires more slots than are available");
elog(ERROR, "send mail to your local executor guru to fix this");

Changes are obvious and shouldn't be problems with them.
Though, I added Assert(epqstate->es_tupleTable->next == 0)
before EvalPlanQual():ExecInitNode and we'll notice if
something is still wrong. Is it better to change Assert
to elog(ERROR) ?
1999-06-09 12:23:42 +00:00
Vadim B. Mikheev 0e41fd57df MVCC updates. 1999-06-09 03:51:40 +00:00
Bruce Momjian ccdad51a73 Linux-alpha gets -O 1999-06-08 19:19:51 +00:00
Bruce Momjian 2544f2d0bb Remove optimization on linux/alpha. 1999-06-08 17:34:43 +00:00
Bruce Momjian 61882d4c37 Cleanup 1999-06-08 01:37:55 +00:00
Bruce Momjian f56483490b Disable pg_upgrade for 6.5. 1999-06-08 01:32:05 +00:00
Bruce Momjian 505b2ecdf4 I attach a patch for pg_upgrade. This does two things:
1. check whether the program is being executed in $PGDATA/..  This is
   necessary if the data tree is not in the standard place, as is the
   case with the Debian distribution (because of Debian policy).

2. give a clearer error message if the dumped data structure fails to
   be loaded.

Oliver Elphick
1999-06-07 22:58:31 +00:00
Bruce Momjian 094616ec83 On AIX 4.3.2 the third line in template/aix_42:
SHARED_LIB:

needs to be changed to:
SHARED_LIB:-lc

I think this was also needed on AIX 4.2. Comments Please !!

If nobody objects, I suggest to make this change, since it cannot
break AIX 4.2 and is necessary on AIX 4.3

Andreas
1999-06-07 17:20:24 +00:00
Vadim B. Mikheev 4c45832c39 Concurrency... Highest one...
DO NOT EVEN TRY TO DO PageGetMaxOffsetNumber BEFORE
LockBuffer!
-:)
1999-06-07 15:14:54 +00:00
Bruce Momjian 8864ee0b6b > Here is a small patch that should only affect win32 building
> (native win32, not cygnus).
> It does the following:
> Patches two win32.mak files to DEFINE HAVE_VSNPRINTF and
> HAVE_STRDUP. This is required to build at all.
> Bumps the version number on libpq.dll from 6.4 to 6.5.
> Required for install programs to work.
> Adds defintions for BLCKSZ and MAXIMUM_ALIGN to "win32.h" in
> the client-side libpiq directory.
>
> All these files are only used when building on native win32,
> so it should be safe I think.
>
> Again, really sorry to throw this in so late, but I would
> hate to do the same thing as with 6.4 (which required 6.4.1
> to at all compile on Win32).
>
> Thanks,
>
>   //Magnus
1999-06-07 14:29:20 +00:00
Tom Lane bad3b3068d Repair recently-introduced error in makeIndexable for LIKE:
a non-leading % would be put into the >=/<= patterns.  Also, repair
longstanding confusion about whether %% means a literal %%.  The SQL92
doesn't say any such thing, and textlike() knows that, but gram.y didn't.
1999-06-07 14:28:26 +00:00
Vadim B. Mikheev 43c135e351 Have to release meta page before reading root one!
< 6.5 versions were just not affected by this bug due to locking.
1999-06-07 14:28:22 +00:00
Vadim B. Mikheev 1b812d9358 1. xact.c: update comments about changing MyProc->xid and MyProc->xmin.
2. varsup.c:ReadNewTransactionId(): don't read nextXid from disk -
   this func doesn't allocate next xid, so ShmemVariableCache->nextXid
   may be used (but GetNewTransactionId() must be called first).
3. vacuum.c: change elog(ERROR, "Child item....") to elog(NOTICE) -
   this is not ERROR, proper handling is just not implemented, yet.
4. s_lock.c: increase S_MAX_BUSY by 2 times.
5. shmem.c:GetSnapshotData(): have to call ReadNewTransactionId()
   _after_ SpinAcquire(ShmemIndexLock).
1999-06-06 20:19:35 +00:00
Tom Lane 48c1887964 equal() needs a case for Aggref nodes, as shown by:
regression=> select sum(q1) from int8_tbl group by q2 order by sum(q1);
NOTICE:  equal: don't know whether nodes of type 107 are equal
1999-06-06 17:46:40 +00:00
Tom Lane dfaf9fbcb4 Add a regression test case to catch breakage of GROUP BY
and aggregate functions in queries that use inheritance.
1999-06-06 17:41:01 +00:00
Tom Lane b4210ae0f0 Fix problems with grouping/aggregation in queries that use
inheritance ... basically it was completely busted :-(
1999-06-06 17:38:11 +00:00
Vadim B. Mikheev 08abe0acb6 I used bad style of comments and ... commented out some code in
EvalPlanQualNext() when implemented it... -:)
Uncommented...
1999-06-06 15:14:40 +00:00
Tom Lane ca234c3f38 Instead of failing when the constructed name for a sequence,
index, etc is too long, truncate until it fits.
1999-06-05 20:22:30 +00:00
Tom Lane e7253d893c Remove redeclarations of default parameter values from
PgDatabase::DisplayTuples and PgDatabase::PrintTuples.  This is incorrect
according to strict interpretation of the C++ spec, and some compilers
will reject it.  Also silence g++ warning about unused parameter.
1999-06-05 18:05:17 +00:00
Tatsuo Ishii 7e6a9a60ff a fix for Win32 support provided by yutaka@marin.or.jp.
The patch will avoid to add .exe suffix to the pg_encoding
	binary.
1999-06-05 10:27:31 +00:00
Marc G. Fournier 93b57eb533 trace.patch (compilation error)
the gettimeofday doesn't compile under Linux with glibc2 because
        the DST_NONE constant is no more defined. It seems that this code
        (written by me) has always be wrong but for some reason working.

From: Massimo Dal Zotto <dz@cs.unitn.it>
1999-06-05 04:18:09 +00:00
Marc G. Fournier dbaab4a4d4 man.patch (make inconsistency)
the default target is 'install' instead of 'all'. So if you do a
        make without target you actually do a make install, which is not
        what one normally expects from a standard makefile.

From: Massimo Dal Zotto <dz@cs.unitn.it>
1999-06-05 04:15:09 +00:00
Marc G. Fournier 840306af04 ecpg.patch (wrong makefile expansion in some cases)
the ecpg Makefiles use a variable DESTDIR which is never defined
        except by debian/rules makefile, in which case the ecpg makefiles
        expand wrong pathnames. If we want to support a DESTDIR root it
        must be done consistently in all the makefiles, not just in ecpg.

From: Massimo Dal Zotto <dz@cs.unitn.it>
1999-06-05 04:13:21 +00:00
Tom Lane 857c079304 Suppress indexes on large objects from psql's \d listing;
they were confusing because the large object tables themselves are not
shown.  (Besides, if you've got hundreds or thousands of large objects,
you really don't want to see 'em at all.)
Also, suppress all indexes from the \z ACL listing, since indexes have
no meaningful protection information.
1999-06-04 21:21:13 +00:00
Tom Lane 8f19603d6c Add startup-time check that -B is not unreasonably small for
given number of backends (-N), per recent discussion in pghackers list.
1999-06-04 21:14:46 +00:00
Tom Lane 4cd4a54c80 Add configurable option controlling security checks in LO functions. 1999-06-04 21:13:38 +00:00
Tom Lane 1c3c080534 Turns out OIDNAMELEN wasn't really being used at all!
Get rid of it to make customization of NAMEDATALEN easier.
1999-06-04 21:12:07 +00:00
Bruce Momjian f0f416a2d3 Add mention of SHARE ROW EXCLUSIVE mode. 1999-06-04 04:28:54 +00:00
Bruce Momjian 8760d33abb man page cleanup for vadim. 1999-06-04 04:16:11 +00:00
Bruce Momjian 5a7547d3fc Add description for SET TRANSACTION. 1999-06-04 03:44:42 +00:00
Tom Lane 74e7b58b61 Fix for failure to clean SysCache entry when a relation is deleted
in the same transaction that created it.
1999-06-04 02:19:47 +00:00
Bruce Momjian a6ed4794a3 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
                                ^^^^ required

Also note that SET TRANSACTION ISOLATION LEVEL change
isolevel for _current_ transaction, in accordance with
standard, not for session (ALTER SESSION is used in Oracle,
but it's not implemented currently).

And I would don't mention SET XACTISOLEVEL TO ...
form at all.

Please update set.sgml - I failed to understand all these

SET TIME ZONE { '<REPLACEABLE CLASS="PARAMETER">

now.


for Vadim
1999-06-03 20:44:28 +00:00
Bruce Momjian 155b5808ca Thanks for this, but SET TRANSACTION ISOLATION LEVEL
should be described like SET TIME ZONE: TO is not allowed, as well
as DEFAULT option. There are only two forms:

for Vadim.
1999-06-03 20:42:18 +00:00
Bruce Momjian a4a5f56202 Add mention of FOR UPDATE and LIMIT/OFFSET> 1999-06-03 19:52:09 +00:00
Bruce Momjian e1ea7cc2e5 Update lock sgml/man/psql help pages. 1999-06-03 19:18:00 +00:00
Bruce Momjian 4a077caa60 Add SET TRANSACTION ISOLATION LEVEL and SET NAMES mention. 1999-06-03 18:38:00 +00:00
Bruce Momjian 7857241229 Update psql help so it looks better. 1999-06-03 18:25:27 +00:00
Bruce Momjian fa0ed6f047 Update SET commands for psql \h, man pages, and sgml. 1999-06-03 18:18:43 +00:00
Vadim B. Mikheev 5541abee0d 1. Additional fix against ERROR: Child itemid marked as unused
in CommitTransaction().
2. Changes in GetSnapshotData().
1999-06-03 13:33:13 +00:00
Vadim B. Mikheev f103501286 Unuseful tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED in
vc_scanheap().
1999-06-03 13:25:54 +00:00
Vadim B. Mikheev 9680a71205 1. MyProc->xid assignment is moved to GetNewTransactionId so newer
transactions will not assume that MyProc transaction was committed
   before snapshot calculations. With old MyProc->xid assignment
   (in xact.c:StartTransaction()) there was ability to see the same
   row twice (I used gdb for this)!...
2. Assignments of InvalidTransactionId to MyProc->xid and MyProc->xmin
   are moved from xact.c:CommitTransaction() to
   xact.c:RecordTransactionCommit() - this invalidation must be done
   before releasing transaction locks or bad (too high) XmaxRecent value
   might be used by vacuum ("ERROR:  Child itemid marked as unused"
   reported by "Hiroshi Inoue" <Inoue@tpf.co.jp>; once again, gdb
   allowed me reproduce this error).
1999-06-03 04:41:41 +00:00
Tom Lane 58d8584eea pg_dump failed on any database containing large objects,
because it ignored the LOs themselves but failed to ignore the indexes
on the LOs.  How long has this been broken??
1999-06-03 04:01:16 +00:00
Tom Lane f463c44fc0 Ensure consistent results when FormSortKeys fails to find
all the expected keys (it was returning uninitialized memory).
1999-06-03 03:17:37 +00:00
Tom Lane 9b3e2dda16 Ooops ... dllist.c can't use Assert() when it is compiled into
libpq ...
1999-06-03 01:28:24 +00:00
Jan Wieck 98981a9f1c Changed "current." into "old." in rule string backparsing
Jan
1999-06-02 11:52:29 +00:00
Bruce Momjian e47b93d333 The INET and CIDR types mistakenly compared 198.68.123.0/24 and
198.68.123.0/27 the same when indexing them.

D'Arcy
1999-06-02 03:37:15 +00:00
Vadim B. Mikheev bbf37e9477 typedef struct LTAG
{
    Oid             relId;
    Oid             dbId;
    union
    {
        BlockNumber     blkno;
        TransactionId   xid;
    }               objId;
>
> Added:
>    /*
>     * offnum should be part of objId.tupleId above, but would increase
>     * sizeof(LOCKTAG) and so moved here; currently used by userlocks only.
>     */
>    OffsetNumber    offnum;
    uint16          lockmethod;     /* needed by userlocks */
} LOCKTAG;

gmake clean required...
User locks are ready for 6.5 release...
1999-06-01 09:35:39 +00:00
Bruce Momjian 42a02c441a forgot to attach the patch. :(
Vince.
1999-06-01 02:43:37 +00:00
Bruce Momjian d2ab04ca73 commented out PgConnection& references for now. May be using them
later.

Vince.
1999-06-01 02:37:33 +00:00
Tom Lane 185b427284 Fix some latent bugs in dllist.c (carelessness about setting
all fields that should be set).  Add a MoveToFront primitive to speed up
one of the hotspots in SearchSysCache.
1999-05-31 23:48:04 +00:00
Tom Lane 2a44383a2d Clean up memory leaks in LO operations by freeing LO's private
memory context at transaction commit or abort.
1999-05-31 22:53:59 +00:00
Tom Lane 81ced1e037 Generate a more specific error message when an operator used
in an index doesn't have a restriction selectivity estimator.
1999-05-31 19:32:47 +00:00
Tom Lane cc384fa240 Round up shmem size estimate to 1Kb boundary. 1999-05-31 18:28:52 +00:00
Tom Lane 86482e17bd Correct serious bug in hashtable expansion routine: under the
right circumstances it would leave old and new bucket headers pointing to
the same list of records.
1999-05-31 17:01:52 +00:00
Bruce Momjian 7f79496aa5 NT similar file update. 1999-05-31 16:18:53 +00:00
Vadim B. Mikheev 219bb76d61 Release XactLockTable share lock immediately after this lock is acquired
(no sense to hold it) or we'll be out of lock entries.
Great thanks to Hiroshi Inoue.
1999-05-31 01:48:13 +00:00
Tom Lane ca08ce28e8 Clean up uninitialized-variable warning from egcs.
(Curious that gcc doesn't complain about this code...).
1999-05-30 15:32:45 +00:00
Tom Lane 3257b0e592 egcs thinks omitting the return type in a function declaration
is poor coding style.  I agree.
1999-05-30 15:22:34 +00:00
Tom Lane d4d297af3c Replace static rcsid[] strings by IDENTIFICATION comments in
file headers, to conform to established Postgres coding style and avoid
warnings from gcc.
1999-05-30 15:17:58 +00:00
Tom Lane 6687bcb558 configure.in forgot to do AC_LANG_C to reselect C-based tests
after checking for presence of C++ compiler.  Odd we hadn't seen any
reports of problems before...
1999-05-30 00:06:44 +00:00
Tom Lane 6f979c1541 Turns out that configure's test for HPUXMATHLIB didn't work
when used with egcs --- now it does.
1999-05-29 16:26:42 +00:00
Vadim B. Mikheev df9e539ea2 1. Run all pg_dump queries in single serializable transaction.
2. Get rid of locking when updating statistics in vacuum.
3. Use QuerySnapshot in COPY TO and call SetQuerySnashot
   in main tcop loop before FETCH and COPY TO.
1999-05-29 10:25:33 +00:00
Vadim B. Mikheev bbbc211ed1 Fix xid table sizing. 1999-05-29 06:14:43 +00:00
Tom Lane dfefad7db0 Missing semicolons in non-HAS_TEST_AND_SET code paths :-( 1999-05-29 03:58:43 +00:00
Tom Lane 1bdd7c68c0 Avoid redundant SysCache searches in coerce_type, for another
few percent speedup in INSERT...
1999-05-29 03:17:20 +00:00
Tom Lane b325dab67a new_relation_targetlist used to cause about 8 separate (and
redundant) SearchSysCache searches per table column in an INSERT, which
accounted for a good percentage of the CPU time for INSERT ... VALUES().
Now it only does two searches in the typical case.
1999-05-29 01:48:06 +00:00
Tom Lane ce2586dbc9 Clean up inefficient and just plain bad code in some hot-spot
cache access routines.
1999-05-29 01:45:21 +00:00
Tom Lane dc6d404959 Repair performance problem in SI segment manipulations: iterating
through MAXBACKENDS array entries used to be fine when MAXBACKENDS = 64.
It's not so cool with MAXBACKENDS = 1024 (or more!), especially not in a
frequently-used routine like SIDelExpiredDataEntries.  Repair by making
procState array size be the soft MaxBackends limit rather than the hard
limit, and by converting SIGetProcStateLimit() to a macro.
1999-05-28 17:03:31 +00:00
Bruce Momjian b344b513c7 Update pygresql version stamp. 1999-05-28 04:54:34 +00:00
Tom Lane f0ae1e8d10 When closure of the backend connection is detected during pqFlush,
do the right thing: look for a NOTICE message from the backend before we
close our side of the socket.  6.4 libpq did not reliably print the backend's
hara-kiri message, 'The Postmaster has informed me ...', because it only
did the right thing if connection closure was detected during a read
attempt instead of a write attempt.
1999-05-28 01:54:53 +00:00
Bruce Momjian 615e77ede2 Make pg_dump dump ACL's by default, print warning on use of -z, and add
new -x option to skip acl dump.
1999-05-27 16:29:05 +00:00
Bruce Momjian 781a1eb99a I am not sure if libpq++ will compile with non g++ compilers,
but the Makefile does break non g++.

 <<mak.patch>>
Andreas
1999-05-27 14:28:40 +00:00
Bruce Momjian 0d5f7ce11c Fix for crypt memory leak, from James Thompson 1999-05-27 04:09:45 +00:00
Tom Lane 7c8beefd5e Patch from Andreas: when CREATE TABLE is followed by CREATE INDEX
before any tuples are loaded, preserve the default '1000 tuples' table
size estimate.
1999-05-26 22:57:39 +00:00
Tom Lane 8eb18d874e Fix pg_dump to use the same maximum-query-size constant as
the backend does.  Remove unnecessary limitation on field size in
dumpClasses_dumpData (ie, -d or -D case).
1999-05-26 21:51:13 +00:00
Bruce Momjian 26fb87d37e Fix compile of plpgsql by adding 'extern int yylineno.' 1999-05-26 20:55:06 +00:00
Bruce Momjian bf09f8aa43 Display numeric precision on \d. 1999-05-26 20:08:06 +00:00
Bruce Momjian e7528612d8 Allow GROUPs to be dumped properly. 1999-05-26 19:45:53 +00:00
Bruce Momjian fe2bcf854c Fix for NT from Horak Daniel 1999-05-26 16:19:48 +00:00
Bruce Momjian 9b35ec2615 Disable use of -o and -d pg_dump options together. Can't set oids in
inserts.  Change some variables to bool to be clearer.
1999-05-26 16:06:45 +00:00
Bruce Momjian 9c56b408c4 Add fix for 0x7fU constants to pgindent 1999-05-26 15:20:04 +00:00
Bruce Momjian eeadc5e87f Allow pg_dump -v display proper table/sequence count display. 1999-05-26 14:50:38 +00:00
Bruce Momjian 278bbf4572 Make functions static or NOT_USED as appropriate. 1999-05-26 12:57:23 +00:00
Marc G. Fournier 180186272a Give BEOS a chance ... 1999-05-26 01:22:24 +00:00
Bruce Momjian fcff1cdf4e Another pgindent run. Sorry folks. 1999-05-25 22:43:53 +00:00
Bruce Momjian 4eadfe8754 Make 0x007f -> (unsigned)0x7f to make pgindent happy. 1999-05-25 22:04:56 +00:00
Vadim B. Mikheev 519cd36d06 Get rid of page-level locking in btree-s.
BT_READ/BT_WRITE are BUFFER_LOCK_SHARE/BUFFER_LOCK_EXCLUSIVE now.
Also get rid of #define BT_VERSION_1 - we use version 1 as default
for near two years now.
1999-05-25 18:31:28 +00:00
Vadim B. Mikheev 7d443a85af Get rid of page-level locking in btree-s.
LockBuffer is used to acquire read/write access
to index pages. Pages are released before leaving
index internals.
1999-05-25 18:20:31 +00:00
Bruce Momjian 07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
Michael Meskes 4b04b01aaa *** empty log message *** 1999-05-25 13:36:15 +00:00
Jan Wieck b122e16a1c Bugfix - Range table entries that are unused after rewriting should
not be marked inFromCl any longer. Otherwise the planner gets confused
and joins over them where in fact it does not have to.

Adjust hasSubLinks now with a recursive lookup - could be wrong in
multi action rules because parse state isn't reset correctly and all
actions in the rule are marked hasSubLinks if one of them has.

Jan
1999-05-25 13:16:10 +00:00
Jan Wieck f4fadbe4db Fixed bug in rules event qualification output.
Jan
1999-05-25 08:49:33 +00:00
Bruce Momjian 6bf0db7e07 FIx for 0.0.0.0/0 output as 00/0. 1999-05-25 05:29:38 +00:00
Tom Lane 9432b6dd64 Do not assign output columns to junk attributes created from
GROUP BY or ORDER BY expressions in INSERT ... SELECT.
1999-05-23 21:42:09 +00:00
Tom Lane 505b5185fc Detect case of invalid use of GROUP BY when there are no
aggregate functions, as in
	select a, b from foo group by a;
The ungrouped reference to b is not kosher, but formerly we neglected to
check this unless there was an aggregate function somewhere in the query.
1999-05-23 21:41:14 +00:00
Bruce Momjian 57455fc565 Remove more -B parameters not needed. 1999-05-23 19:01:18 +00:00
Bruce Momjian bd5cf46e0c Remove -B from wisconsin test. 1999-05-23 18:53:30 +00:00
Vadim B. Mikheev 7e14593d2e Fix tuple chain moving bug found by "Hiroshi Inoue" <Inoue@tpf.co.jp>. 1999-05-23 09:10:24 +00:00
Bruce Momjian b14c99d8d6 Here it is. Remove or rename the current interfaces/libpq++ and untar
this file in interfaces/

It will all need to be checked in.  I used the char *rcsid[] method for
cvs ids so it can be strings | grep'd to find version numbers.  The new
version for the library is 3.0.

Run configure from src/ to create the Makefile and it should be good to
go.

I did minimal documentation references in the README, I'll see if I can
get something to Tom Lockhart rather quickly.

Vince.
1999-05-23 01:04:07 +00:00
Tom Lane 795f6ca66a Update commentary in sample GEQO config file. 1999-05-22 23:59:59 +00:00
Tom Lane b2f14e11ec Reduce default GEQO 'effort' setting to MEDIUM always.
This agrees with the documentation and seems like a more useful default
anyhow ...
1999-05-22 23:27:19 +00:00
Tom Lane d52a91a5d8 Modify aset.c logic so that blocks requested from malloc get
bigger the more space is used in an allocset.  This reduces the malloc
overhead very substantially on queries that need lots of memory.
1999-05-22 23:19:37 +00:00
Tom Lane f9f90b21b2 Improve error message from failed LOAD command (include
kernel's error description when file is not accessible).
1999-05-22 19:49:42 +00:00
Tom Lane b21005fa7c Allow GEQO effort to be specified numerically, as well as
symbolic LOW/MEDIUM/HIGH values --- needed for experiments with other
effort levels ...
1999-05-22 19:29:01 +00:00
Tom Lane cf1478982c Modify backend switch parsing to prevent 'insecure' switches
from being accepted when they are passed from client connection request.
Get rid of a couple that no longer do anything (like -P).
1999-05-22 17:47:54 +00:00
Bruce Momjian e9edb3ef92 Fix for select 1;select 2 without trailing semi. 1999-05-22 05:06:43 +00:00
Bruce Momjian a8d2820e6d Fix for DEFAULT ''. 1999-05-22 04:12:29 +00:00
Bruce Momjian 9710995fc9 Make postgres prompt backend>, and remove PARSEDEBUG. 1999-05-22 02:55:58 +00:00
Bruce Momjian 85170aa9b6 Change perl Makefile test. 1999-05-21 19:03:48 +00:00
Bruce Momjian 167529f221 Disable fix. Didn't work. 1999-05-21 18:33:12 +00:00
Bruce Momjian c0d979614e Fix typo and attempt default fix. 1999-05-21 18:31:06 +00:00
Michael Meskes a7b06f20c5 *** empty log message *** 1999-05-21 16:36:27 +00:00
Bruce Momjian 96492290b5 Treat {} as special regex too. 1999-05-21 15:47:13 +00:00
Tatsuo Ishii 08bcc77a5c add retest, a regex testing program 1999-05-21 06:27:54 +00:00
Bruce Momjian 56b9a549c7 Fix problem with | in ~ comparison using index. 1999-05-21 04:40:04 +00:00
Tom Lane b3ad49850e Report strerror() rather than errno in low-level backend libpq
failure messages.
1999-05-21 01:25:06 +00:00
Tom Lane 5690b1a18f Minor updates to libpq documentation. 1999-05-21 00:36:46 +00:00
Jan Wieck 3de11d6526 Removed the automatic installation of built procedural languages
from initdb again.

Added two new commands, createlang and destroylang to bin. These
hopefully end this damned mklang.sql discussion.

Jan
1999-05-20 16:50:08 +00:00
Tom Lane 33773af95b Generate distinct error messages for trigger function not found
and trigger function found but returns wrong type.
1999-05-20 14:39:49 +00:00
Jan Wieck 443c08a110 Fixed shift/reduce conflict
SelectStmt and CursorStmt tried to parse FOR UPDATE ... / FOR READ ONLY.
Cursor now checks that it is read only by looking at forUpdate of Query.
SelectStmt handles FOR READ ONLY too.

Jan
1999-05-20 12:12:55 +00:00
Tatsuo Ishii 1f82f1de33 overwriting a large object now works 1999-05-20 09:30:36 +00:00
Tom Lane c3a4d8ed54 Very minor improvements in CREATE OPERATOR docs. 1999-05-20 03:22:01 +00:00
Tom Lane f9e497db7f Doco updates for change to handling of INTERNAL function
entries (prosrc is now name of C-level function).
1999-05-20 02:44:53 +00:00
Tom Lane 77d3355900 Minor improvements to postmaster/backend man pages. 1999-05-19 23:30:43 +00:00
Bruce Momjian 41543b0618 Dec ALpha patches 1999-05-19 18:06:43 +00:00
Bruce Momjian 8223f70e52 Dec alpha patches. 1999-05-19 18:04:51 +00:00
Bruce Momjian 6d08b6a7b8 Remove 4096 string limited key on block size 1999-05-19 17:53:12 +00:00
Bruce Momjian 0a8fb5a8f9 Upgrade to PyGreSQL (2.4) 1999-05-19 16:46:12 +00:00
Marc G. Fournier 9487ad8409 Bring python up to date ...
From: D'Arcy J.M. Cain <darcy@druid.net>
1999-05-19 14:46:54 +00:00
Tom Lane 77ebed09f5 Add Aggref and ArrayRef to the set of node types that transformExpr
will pass through rather than spitting up.  This is necessary to handle
cases where coerce_type causes a subexpression to be retransformed, as in
	SELECT count(*) + 1.0 FROM table
1999-05-18 23:40:05 +00:00
Peter Mount 2d7ec4785f Forgot the CHANGELOG 1999-05-18 23:22:08 +00:00
Peter Mount 4c63b257fd Internationalisation of error messages 1999-05-18 23:17:46 +00:00
Tom Lane c2f0d565f3 Now that hashjoin is reliable for large joins (knock on wood),
remove optimizer's arbitrary limit on how large a join it will use hashing
for.  (The limit was too large to prevent the problems we'd been seeing,
anyway...)
1999-05-18 21:36:10 +00:00
Tom Lane 353d36f979 Remove no-longer-used fields in Hash and HashJoin nodes. 1999-05-18 21:34:29 +00:00
Tom Lane 26069a58e8 Rewrite hash join to use simple linked lists instead of a
fixed-size hashtable.  This should prevent 'hashtable out of memory' errors,
unless you really do run out of memory.  Note: target size for hashtable
is now taken from -S postmaster switch, not -B, since it is local memory
in the backend rather than shared memory.
1999-05-18 21:33:06 +00:00
Peter Mount d261a5ec86 Transactions in ImageViewer 1999-05-18 06:07:25 +00:00
Michael Meskes 21e03211cf *** empty log message *** 1999-05-18 05:20:17 +00:00
Peter Mount 20f0cfc322 Fixed Internationalization of error messages. 1999-05-17 22:58:19 +00:00
Peter Mount 3f59cc0831 Minor bug fixes. Replaced DateStyle support with ISO. 1999-05-17 22:43:30 +00:00
Bruce Momjian c2b75c83f3 All works on linux now by my tests and regression(with patch below).
ALTER TABLE RENAME with extents.
Ole Gjerde
1999-05-17 18:24:48 +00:00
Bruce Momjian 19c4e862d4 Skip junk nodes when comparing UNION target list lengths. 1999-05-17 18:22:19 +00:00
Bruce Momjian 585c967720 Change resjunk to a boolean. 1999-05-17 17:03:51 +00:00
Jan Wieck fd1647706d Fixed latest regression diff's by omitting viewowner in SELECT from pg_views.
Jan
1999-05-17 09:03:26 +00:00
Bruce Momjian 184dd28d5c This is actually more of a fundamental problem with mdtruncate. It
looks
like someone just didn't add support for multiple segments for
truncation.

The following patch seems to do the right thing, for me at least.
It passed my tests, my data looks right(no data that shouldn't be in
there) and regression is ok.

Ole Gjerde
1999-05-17 06:38:41 +00:00
Bruce Momjian 1125c5e4c5 Add python 1999-05-17 06:27:07 +00:00
Bruce Momjian e55213a5a8 Re-add python. 1999-05-17 06:15:31 +00:00
Bruce Momjian 716b8e2dba Updates for 6.5. 1999-05-17 06:06:35 +00:00
Tom Lane fe0b8612d9 Prior patch added 2 more characters to string allocated
for SERIAL column's constraint, but forgot to increase space palloc'd...
1999-05-17 04:50:07 +00:00
Bruce Momjian b8b1ba53ea SELECT * error message fix. 1999-05-17 04:19:33 +00:00
Marc G. Fournier a0b7daa129 Apply freebsd specific patches dealign with ELF system from FreeBSD's
ports collection ...
1999-05-17 04:13:29 +00:00
Bruce Momjian 61f618e73e Move IN to proper place. 1999-05-17 01:01:06 +00:00
Bruce Momjian a341db91c5 Cleanup 1999-05-17 00:31:49 +00:00
Bruce Momjian e83265b32a Fix typo in change. 1999-05-17 00:27:45 +00:00
Tom Lane 0b8b1fe3aa Tighten coding in new_join_pathkey, which seems to be a hotspot
for GEQO ...
1999-05-17 00:26:33 +00:00
Tom Lane 1332c1e144 Change GEQO optimizer to release memory after each gene
is evaluated.  This bounds memory usage to something reasonable even
when many tables are being joined.
1999-05-17 00:25:34 +00:00
Bruce Momjian c686be8d56 Require IN in LOCK syntax. 1999-05-17 00:22:07 +00:00
Bruce Momjian 054cae8173 Change md* call to smgr*. 1999-05-17 00:19:12 +00:00
Tom Lane fecb2b0024 Minor code cleanup in optimizer. 1999-05-16 19:45:37 +00:00
Tom Lane f2ed835baf Fix some typos in geqo optimizer --- it now generates
reasonable plans again.  Still eats memory like there's no tomorrow,
however :-(.
1999-05-16 19:45:00 +00:00
Tom Lane bbf3748347 Change iostream to iostream.h, strstream to strstream.h
for compatibility with older C++ libraries.
1999-05-16 14:34:59 +00:00
Bruce Momjian 2132e062e1 I made it so it rolled over files at 1MB. My table ended up with 120
segments, and my indexes had 3(Yes, it DOES work!).
DROP TABLE removed ALL segments from the table, but only the main index
segment.

So it looks like removing the table itself is using mdunlink in md.c,
while removing indexes uses FileNameUnlink() which only unlinks 1 file.
As far as I can tell, calling FileNameUnlink() and mdunlink() is basically
the same, except mdunlink() deletes any extra segments.

I've done some testing and it seems to work.  It also passes regression
tests(except float8, geometry and rules, but that's normal).

If this patch is right, this fixes all known multi-segment problems on
Linux.

Ole Gjerde
1999-05-15 22:31:07 +00:00
Bruce Momjian de81fbd047 I've got 2 pretty small patches.
configtype.patch simply fixes a typo in config.h.in
pg_dump.c.patch Updates a bunch of error messages to include a reason
from
                the backend, and also removes a couple of unnecessary
if's

Ole Gjerde
1999-05-15 22:18:51 +00:00
Michael Meskes c8bd630af6 *** empty log message *** 1999-05-14 06:56:18 +00:00
Bruce Momjian 564842a617 Hi, Bruce!
These are my last changes to lmgr fixing deadlock handling.
Please apply them to cvs...

Vadim
1999-05-13 15:55:45 +00:00
Thomas G. Lockhart 9bbc1657a1 Add double quotes around the sequence name generated to support the
SERIAL data type DEFAULT clause.
This fixes a problem finding the sequence name when mixed case table names
 are involved.
1999-05-13 15:01:32 +00:00
Thomas G. Lockhart 81c83db3bb Surround a variable declaration with ENABLE_OUTER_JOINS to suppress
compiler warnings about an unused variable.
1999-05-13 14:59:05 +00:00
Tatsuo Ishii 0c1e2e493d set client_encoding to <nothing> crashes backend. 1999-05-13 10:28:26 +00:00
Tom Lane 507a0a2ab0 Rip out QueryTreeList structure, root and branch. Querytree
lists are now plain old garden-variety Lists, allocated with palloc,
rather than specialized expansible-array data allocated with malloc.
This substantially simplifies their handling and eliminates several
sources of memory leakage.
Several basic types of erroneous queries (syntax error, attempt to
insert a duplicate key into a unique index) now demonstrably leak
zero bytes per query.
1999-05-13 07:29:22 +00:00
Byron Nikolaidis f80642137c Update driver to 6-40-0006 1999-05-13 03:33:00 +00:00
Bruce Momjian 519ad246ae Here's a small patch to cause pg_dump to emit the
scale and precision for NUMERIC type column defs.

Keith Parks
1999-05-13 02:35:44 +00:00
Tom Lane 0b885e2397 Release allocated memory during AtAbort_Memory. 1999-05-13 00:34:57 +00:00
Tom Lane eb4d9f45ef Do not refer to stdin in static variable initializer ...
apparently some systems choke on that :-(.
1999-05-12 23:26:03 +00:00
Jan Wieck c8cc45b2f3 Fixed small bug in ruleutils and added output of pg_views and
pg_rules to rules regression test.

Jan
1999-05-12 17:59:32 +00:00
Jan Wieck b7a86e4046 Fixed wrong hasAggs when aggregate columns of view aren't
selected.

Disabled ability of defining DISTINCT or ORDER BY on views.

Jan
1999-05-12 17:04:47 +00:00
Jan Wieck 79c2576f77 Replaced targetlist entry in GroupClause by reference number
in Resdom and GroupClause so changing of resno's doesn't confuse
the grouping any more.

Jan
1999-05-12 15:02:39 +00:00
Bruce Momjian 1a87c14c9c I am sorry, I misinterpreted the still failing trigger regression test.
The
offending code
has been removed, the action is now always dependent :-)

I suggest the following patch, to finally make trigger regression happy
again:

 <<refint1.patch>>
After that you can remove the following from TODO:
Remove ERROR:  check_primary_key: even number of arguments should be
specified
Trigger regression test fails

Andreas
1999-05-12 12:47:24 +00:00
Jan Wieck ca00c902fb Added installation of created procedural languages to initdb
Jan
1999-05-12 10:35:44 +00:00
Thomas G. Lockhart 5dd715b592 Adjust elog NOTICE messages to surround table and column names with single
quotes.
1999-05-12 07:24:01 +00:00
Thomas G. Lockhart bcb5aac81d Add keywords to implement Vadim's transaction isolation
and lock syntax as fully parsed tokens.
Two keywords for isolation are non-reserved SQL92
 (COMMITTED, SERIALIZABLE).
All other new keywords are non-reserved Postgres (not SQL92)
 (ACCESS, EXCLUSIVE, MODE, SHARE).
Add syntax to allow CREATE [GLOBAL|LOCAL] TEMPORARY TABLE, throwing an
 error if GLOBAL is specified.
1999-05-12 07:22:52 +00:00
Thomas G. Lockhart 3ce054b57d Fix problem with multiple indices defined if using column- and table-
constraints. Reported by Tom Lane.
Now, check for duplicate indices and retain the one which is a primary-key.
Adjust elog NOTICE messages to surround table and column names with single
 quotes.
1999-05-12 07:17:18 +00:00
Thomas G. Lockhart 575c40a61f Handle conversion of floating point constants to internal strings. 1999-05-12 07:14:24 +00:00
Thomas G. Lockhart 8d21a6ef51 Keep long non-quoted numeric strings *as* untyped strings if they fail
the obvious conversion.
Define a new pattern "decimal" which is non-exponential floating point
 for use with numeric() and decimal() types.
1999-05-12 07:12:51 +00:00
Tom Lane a36a7a16eb Fix bogus assumption that MAXALIGN is at least sizeof(pointer). 1999-05-12 04:38:24 +00:00
Tom Lane 5085132c6d Fix configure to generate correct expansion of library directory
in pl/plpgsql/src/mklang.sql.
1999-05-11 22:57:50 +00:00
Bruce Momjian a9bd936066 Just a couple more files to untar in src/test/regress
(int2,int4,geometry).

Cheers,

Patrick Welche
1999-05-11 16:29:45 +00:00
Jan Wieck 5057010944 Changed debug options:
-d4 now prints compressed trees from nodeToString()
-d5 prints pretty trees via nodeDisplay()

new pg_options: pretty_plan, pretty_parse, pretty_rewritten

Jan
1999-05-11 09:06:35 +00:00
Bruce Momjian 1ba362f567 put back mklang.sql.in file. 1999-05-11 03:30:41 +00:00
Bruce Momjian 12f9de3fd4 clean up comments 1999-05-11 03:28:43 +00:00
Jan Wieck bb885dd1a1 Check for NUMERIC overflow a second time after rounding
Jan
1999-05-10 18:17:44 +00:00
Bruce Momjian 0d5c832363 Allow perl install as non-root, from Geoff Keating 1999-05-10 17:01:25 +00:00
Bruce Momjian 94bd4e3da7 Update to PyGreSQL 2.3. 1999-05-10 16:10:51 +00:00
Bruce Momjian 86dacdb74c libpq++ uses fe_setauthsvc which is deprecated and results in an error
on connection. This patch changes it to use PQconnectdb rather than
{fe_setauthsvc,PQsetdb}. This still isn't the complete solution, as
there
is no provision for user,password in class PgEnv, but it does get rid of
the error message. Tested with gcc version egcs-2.91.60 19981201
(egcs-1.1.1 release) under NetBSD-1.3K/i386.

Cheers,

Patrick Welche
1999-05-10 15:27:19 +00:00
Bruce Momjian d6e33c8b07 Rename MAP_FILE to USERMAP_FILE for Digital Unix. 1999-05-10 15:17:17 +00:00
Bruce Momjian f4213e6b23 Fix initdb problem introduced by recent patch. 1999-05-10 04:02:07 +00:00
Bruce Momjian 4853495e03 Change error messages to oids come out as %u and not %d. Change has no
real affect now.
1999-05-10 00:46:32 +00:00
Tom Lane b7332c9243 Correct type_sanity test so it doesn't spit up on new
definition of numeric_in.
1999-05-09 23:43:25 +00:00
Tom Lane 0b69d8a27c Rearrange top-level rewrite operations so that EXPLAIN works
on queries involving UNION, EXCEPT, INTERSECT.
1999-05-09 23:31:47 +00:00
Tatsuo Ishii 6458daa180 Running lo_read/lo_write under different memory context
cause troubles. See
Message-Id: <199905090312.MAA00466@ext16.sra.co.jp>
for more details.
1999-05-09 15:00:18 +00:00
Vadim B. Mikheev 202e523d10 Mistyping by me.
Fixed by Hiroshi.
1999-05-09 14:00:29 +00:00
Tom Lane 3c6491ff96 Repair incorrect pg_proc entry for numeric_in. 1999-05-09 02:22:16 +00:00
Tom Lane b5bcef683b Fix some miscellaneous places that were using raw open() or
fopen(), instead of going through fd.c ... naughty naughty.
1999-05-09 00:54:30 +00:00
Tom Lane 71d5d95376 Update hash and join routines to use fd.c's new temp-file
code, instead of not-very-bulletproof stuff they had before.
1999-05-09 00:53:22 +00:00
Tom Lane c1167a08ca Add 'temporary file' facility to fd.c, and arrange for temp
files to be closed automatically at transaction abort or commit, should
they still be open.  Also close any still-open stdio files allocated with
AllocateFile at abort/commit.  This should eliminate problems with leakage
of file descriptors after an error.  Also, put in some primitive buffered-IO
support so that psort.c can use virtual files without severe performance
penalties.
1999-05-09 00:52:08 +00:00
Bruce Momjian b0f1880a8e Add new netbsd file. 1999-05-08 19:28:20 +00:00
Michael Meskes e18c912acf *** empty log message *** 1999-05-07 18:03:37 +00:00
Bruce Momjian ef26ad2ebd Remove unused Netbsd files. 1999-05-07 02:46:24 +00:00
Bruce Momjian c22d35be4e Please apply the following patch for regress.sh to do something useful with
"SYSTEM", and unpack the files in the uuencoded .tar.gz file at the end in
src/test/regress so that the int2, int4 and geometry tests pass on NetBSD/i386.
They just fail on different wording of error messages and eg printing "0"
rather than "-0". At a guess the same will be true for the other NetBSD ports,
but I can't test them.

Cheers,

Patrick
1999-05-07 02:37:08 +00:00
Bruce Momjian 5a0b77aa44 Please apply the following patch for regress.sh to do something useful
with
"SYSTEM", Patrick Welche
1999-05-07 02:31:43 +00:00
Vadim B. Mikheev 122abf3af3 Fix LMGR for MVCC.
Get rid of Extend lock mode.
1999-05-07 01:23:11 +00:00
Tom Lane 86bc1da262 Update regress test for CASE to enable tests involving joins. 1999-05-06 23:09:30 +00:00
Tom Lane ec1f5f78b9 Fix oversights in flatten_tlistentry and replace_clause_joinvar_refs
that led to CASE expressions not working very well in joined queries.
1999-05-06 23:07:33 +00:00
Tom Lane 5729c3503d fix_indxqual_references didn't cope with ArrayRef nodes,
meaning that this failed:
select proname,typname,prosrc from pg_proc,pg_type
where proname = 'float8' and pg_proc.proargtypes[0] = pg_type.oid;
1999-05-06 01:30:58 +00:00
Tom Lane 9f82f9e459 Fix some nasty coredump bugs in hashjoin. This code was just
about certain to fail anytime it decided the relation to be hashed was
too big to fit in memory --- the code for 'batching' a series of hashjoins
had multiple errors.  I've fixed the easier problems.  A remaining big
problem is that you can get 'hashtable out of memory' if the code's
guesstimate about how much overflow space it will need turns out wrong.
That will require much more extensive revisions to fix, so I'm committing
these fixes now before I start on that problem.
1999-05-06 00:30:47 +00:00
Bruce Momjian 5d5cf912bc I have two patches for 6.5.0:
arrayfuncs.patch        fixes a small bug in my previous patches for
arrays

array-regress.patch     adds _bpchar and _varchar to regression tests

--
Massimo Dal Zotto
1999-05-05 21:38:40 +00:00
Bruce Momjian 81ff51615d small error message improvement from Dmitry Samersoff 1999-05-05 13:51:38 +00:00
Tom Lane 1afe0b3146 Repair incorrectly-figured snprintf length restriction. 1999-05-04 23:39:20 +00:00
Thomas G. Lockhart 84e832a802 Use sprintf() to convert float8 to a string during conversion to numeric.
Original code used float8out(), but the resulting exponential notation
 was not handled (e.g. '3E9' was decoded as '3').
1999-05-04 15:50:24 +00:00
Thomas G. Lockhart 54067db642 Allow -t tablename to preserve case if specified as "tablename". 1999-05-04 15:47:35 +00:00
Tom Lane 5da466c597 Make sure targetlist generated for subplan does not share
nodes with HAVING qualifier of upper plan.  Have not seen any failures,
just being a little bit paranoid...
1999-05-04 00:00:20 +00:00
Tom Lane b6c732e63c Correct declaration of array_map() so that it doesn't make
gcc quite so unhappy.
1999-05-03 23:48:26 +00:00
Bruce Momjian 210055ad61 here are some patches for 6.5.0 which I already submitted but have never
been applied. The patches are in the .tar.gz attachment at the end:

varchar-array.patch     this patch adds support for arrays of bpchar() and
                        varchar(), which where always missing from postgres.

                        These datatypes can be used to replace the _char4,
                        _char8, etc., which were dropped some time ago.

block-size.patch        this patch fixes many errors in the parser and other
                        program which happen with very large query statements
                        (> 8K) when using a page size larger than 8192.

                        This patch is needed if you want to submit queries
                        larger than 8K. Postgres supports tuples up to 32K
                        but you can't insert them because you can't submit
                        queries larger than 8K. My patch fixes this problem.

                        The patch also replaces all the occurrences of `8192'
                        and `1<<13' in the sources with the proper constants
                        defined in include files. You should now never find
                        8192 hardwired in C code, just to make code clearer.


--
Massimo Dal Zotto
1999-05-03 19:10:48 +00:00
Tom Lane da5f1dd722 Revise union_planner and associated routines to clean up breakage
from EXCEPT/HAVING patch.  Cases involving nontrivial GROUP BY expressions
now work again.  Also, the code is at least somewhat better documented...
1999-05-03 00:38:44 +00:00
Tom Lane 605d84941d Clean up cost_sort some more: most callers were double-counting
the cost of reading the source data.
1999-05-01 19:47:42 +00:00
Tom Lane 87d95ca04d Arrange for VACUUM to delete the init file that relcache.c uses
to save a little bit of backend startup time.  This way, the first
backend started after a VACUUM will rebuild the init file with up-to-date
statistics for the critical system indexes.
1999-05-01 19:09:46 +00:00
Tom Lane f7d25d2ab6 -T was omitted from getopt() call. 1999-05-01 17:16:25 +00:00
Tom Lane c422e1a93d Fix compile failures in dt.c --- line broken in middle of
an identifier :-(.  Sloppy transmission of a patch, likely.
1999-05-01 17:14:56 +00:00
Vadim B. Mikheev b4c7a5655d Patch from "Hiroshi Inoue" <Inoue@tpf.co.jp> for
FATAL 1:btree: BTP_CHAIN flag was expected
1999-05-01 16:09:45 +00:00
Vadim B. Mikheev 34a84addc7 Use page-level ExtendLock lock instead of table-level -
should be faster.
1999-05-01 15:04:46 +00:00
Bruce Momjian 099164039d cleanup 1999-04-30 17:03:04 +00:00
Bruce Momjian f4dcafc825 Clean up typo causing compile failure. 1999-04-30 16:22:46 +00:00
Tom Lane 17dbeebb5f Fill in reasonable-looking cost estimates in inserted nodes.
This makes no difference to the optimizer, which has already decided what
it's gonna do, but it makes the output of EXPLAIN much more plausible.
1999-04-30 04:04:27 +00:00
Tom Lane 7a7ba33536 Clean up some bogosities in path cost estimation, like
sometimes estimating an index scan of a table to be cheaper than a
sequential scan of the same tuples...
1999-04-30 04:01:44 +00:00
Tom Lane 11a0027e28 Fix nasty little typo that prevented get_cheapest_path_for_joinkeys
from ever returning a path.  This put a bit of a crimp in the system's
ability to generate intelligent merge-join plans...
1999-04-30 03:59:06 +00:00
Bruce Momjian 52f1b2f3b6 Prevent priority inversion in locking by checking for existing locks
before going into queue behind person with higher piority.
1999-04-30 02:04:51 +00:00
Jan Wieck 7d62e9c719 Bugfix (bug by me in 1.4) in backparsing INSERT ... SELECT
Jan
1999-04-29 15:52:01 +00:00
Tom Lane 99f61dac7e Defend against 'update oid'. Someday we might want to support
that, but it'd be a New Feature, wouldn't it ... in the meantime,
avoiding a backend crash seems worthwhile.
1999-04-29 03:01:50 +00:00
Tom Lane fd31563777 Aggregate functions didn't work on subscripted array references.
Things are better now.
1999-04-29 01:13:13 +00:00
Tom Lane 970583ab4f Several routines in setrefs.c would crash on array refs
due to lack of check for recursing into a null subexpression.
1999-04-29 00:20:27 +00:00
Tom Lane 89cf9303fd Fix stupid typo that broke empty-query response... odd that
this is not revealed by any of our regression tests...
1999-04-28 22:17:58 +00:00
Jan Wieck 26909a0797 Fixed DECIMAL data type to handle specified precision in atttypmod
Jan
1999-04-27 13:33:43 +00:00
Tatsuo Ishii 6e702210c2 Fix for _copyUnique() suggested by Hiroshi Inoue 1999-04-27 09:49:36 +00:00
Marc G. Fournier 1c1cafe72f These are no longer used ... 1999-04-26 13:37:14 +00:00
Marc G. Fournier a4041bce99 provides string to be used for expected/* files for system specific output... 1999-04-26 13:33:19 +00:00
Michael Meskes dd6b1aaa25 *** empty log message *** 1999-04-26 05:28:48 +00:00
Tatsuo Ishii 89c7369d0e Fix from Yutaka Tanida <yutaka@marin.or.jp> for Cygwin32 support. 1999-04-26 04:42:49 +00:00
Tatsuo Ishii c84ea433d7 Fix from Yutaka Tanida <yutaka@marin.or.jp> 1999-04-26 04:40:17 +00:00
Tom Lane eb00bdf237 Insert a test for missing targetlist entry in replace_agg_clause. 1999-04-26 00:37:46 +00:00