Commit Graph

4998 Commits

Author SHA1 Message Date
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
Tom Lane
26db818710 It looks like the multibyte regress tests only work if both
the database encoding and the client encoding match the encoding expected
by the test.  So, force both of them to be set from the MULTIBYTE
environment var.  This allows regress tests to be run successfully in
multibyte environments other than the compiled-in default.
1999-04-25 23:30:31 +00:00
Tom Lane
d69344c520 More multibyte tests with obsolete spelling of error message... 1999-04-25 23:16:23 +00:00
Tom Lane
22fe451c9d psql's recognition of comments didn't work right in MULTIBYTE
environments; it was being careless about character lengths.
1999-04-25 23:10:36 +00:00
Tom Lane
109cbc7217 Explicitly set PGCLIENTENCODING during regression tests,
since multibyte tests fail if it's different from database...
1999-04-25 21:56:19 +00:00
Tom Lane
122923c97f Still had a few MULTIBYTE problems when client encoding was
different from database's ...
1999-04-25 21:50:58 +00:00
Tom Lane
0d99c95388 Correct potential infinite loop in pg_utf2wchar_with_len;
it failed to cover the case where high bits of char are 100 or 101.
Not sure if fix is right, but it agrees with pg_utf_mblen ... and it
doesn't lock up ...
1999-04-25 20:35:51 +00:00
Tom Lane
2acfc4f6b4 Multibyte tests were all 'failing' because of change of
wording of 'relation does not exist' error message.  Update expected files
accordingly.
1999-04-25 19:34:44 +00:00
Tom Lane
40cad8b66f My first cut at libpq revision didn't handle MULTIBYTE correctly,
but I think it's OK now...
1999-04-25 19:27:47 +00:00
Tom Lane
fad6f2925c Clean up gcc warning in MULTIBYTE code. 1999-04-25 18:16:47 +00:00
Tom Lane
6f668ee108 ifdef out some unused routines to suppress gcc warnings. 1999-04-25 18:09:54 +00:00
Tom Lane
187c58f275 Ooops, missed committing this one... 1999-04-25 03:27:15 +00:00
Tom Lane
95cc41b81d Revise backend libpq interfaces so that messages to the frontend
can be generated in a buffer and then sent to the frontend in a single
libpq call.  This solves problems with NOTICE and ERROR messages generated
in the middle of a data message or COPY OUT operation.
1999-04-25 03:19:27 +00:00
Bruce Momjian
fc08814e00 Rename explain's "size" to "rows". 1999-04-23 21:23:49 +00:00
Bruce Momjian
35b168656b Add disk space message to "can not extend" message. 1999-04-23 19:37:42 +00:00
Thomas G. Lockhart
c3a32d7595 Remove "Non-functional update" notices since that message has been
disabled (commented-out) in the code.
1999-04-23 15:55:32 +00:00
Tom Lane
c42926f10b Repair missing heap_endscan() in OperatorUpd(). 1999-04-23 00:50:57 +00:00
Vadim B. Mikheev
3888b53a58 Fix duplicating ROOT page in concurrent updates. 1999-04-22 08:19:59 +00:00
Tom Lane
00fbb64bed Un-break CREATE TYPE. Fix some other inconsistencies in the
pg_proc entries for array I/O routines besides the one detected by the
original patcher.  Tighten type_sanity regress test accordingly.
1999-04-20 03:51:19 +00:00
Tom Lane
09c5e84072 Change elog(ERROR) to get back to main loop via a plain sigsetjmp,
instead of doing a kill(self, SIGQUIT) and expecting the signal handler
to do it.  Also, clean up inconsistent definitions of the sigjmp buffer
in the several files that already referenced it.
1999-04-20 02:19:59 +00:00
Tom Lane
d30e2ac306 Portability patches for HPUX 11 and Unixware in configure
and related files.  Also remove float.c's gratuitous redeclaration of
isinf() ... looks like there are more decls in there that ought to be
in config.h, but I'll leave well enough alone for now ...
1999-04-20 00:26:32 +00:00
Bruce Momjian
6eccfbc727 Add temporary for temp. 1999-04-19 16:00:18 +00:00
Tatsuo Ishii
f3a7addb03 Fix typo in multi-byte encodings (EHC_CN --> EUC_CN) 1999-04-19 08:46:34 +00:00
Tom Lane
a58843b49a Fix problems seen when result of a subselect was used in an
expression context (ie, not at the top level of a WHERE clause).  Examples
like this one work now:
SELECT name, value FROM t1 as touter WHERE
(value/(SELECT AVG(value) FROM t1 WHERE name = touter.name)) > 0.75;
1999-04-19 04:17:11 +00:00
Tom Lane
4438b70b94 Repair some problems in planner's handling of HAVING clauses.
This fixes a few of the problems Hiroshi Inoue complained of, but
I have not touched the rewrite-related issues.
1999-04-19 01:43:12 +00:00
Tom Lane
2deef968f4 After transforming a CASE expr with a default argument,
delete the default argument from the node.  This prevents the executor
from spitting up on the untransformed argument expression.  Typical
failure was:
select (case f1 when 'val' then 'subst' else f1 end) from t1;
ERROR:  copyObject: don't know how to copy 704
1999-04-18 17:35:51 +00:00
Tom Lane
38405e1894 Update CREATE FUNCTION's on-line help in psql. 1999-04-18 03:01:49 +00:00
Tom Lane
4b82c6d940 Allow CREATE FUNCTION xyz AS '' LANGUAGE 'internal' to
work the way it used to (ie, assume xyz is the name of the builtin
function to call).  Complain if an unknown builtin function name is
referenced.
1999-04-18 02:57:22 +00:00
Bruce Momjian
00a4196139 Add res checking to libpq examples, from Dan Merillat. 1999-04-17 17:18:41 +00:00
Tom Lane
1b9f24c878 Add missing function prototypes to stifle gcc warnings. 1999-04-16 21:27:23 +00:00
Michael Meskes
ad5a54d170 *** empty log message *** 1999-04-16 12:26:49 +00:00
Tatsuo Ishii
075dc252c7 Fix kill() call in elog() so that it gets its own pid by calling getpid().
MyProcPid global variable is set to 0 when postgres starts as a command
(not as a backend daemon). This leads issuing SIGQUIT to the process group,
not the process itself. As a result, parent sh gets core dumped in the
Wisconsin benchmark test.
1999-04-16 06:38:17 +00:00
Tatsuo Ishii
e062a176a8 Overhaul Wisconsin Benchmark test suit
- change temp -> temp_bench ("temp" is now a reserved word)
	- fix bugs in queries
	- add -B 256 option to run the postgres command
	  (without this, postgres seems to fail with hashjoin)
1999-04-16 06:31:13 +00:00
Tom Lane
26139bb4a0 Improve error messages when a connection is rejected. 1999-04-16 04:59:03 +00:00
Thomas G. Lockhart
1d1cf38c0d Fix max(int8) result by making sure int8larger() copies its result
rather than reusing the input storage.
Also made the same fix to int8smaller(), though there wasn't a symptom,
 and went through and verified that other pass-by-reference data types
 do the same thing. Not an issue for the by-value types.
1999-04-15 13:34:45 +00:00
Tom Lane
0c0151a3ec Initialize reltuples = 1000, relpages = 10 in a newly created
relation, rather than zeroes.  This prevents the optimizer from making
foolish choices (ie, using nested-loop plans) on never-yet-vacuumed tables.
This is a hack, of course.  Keeping accurate track of these statistics
would be a cleaner solution, but it's far from clear that it'd be worth
the cost of doing so.  In any case we're not going to do that for 6.5.
In the meantime, this quick hack provides a useful performance improvement
in the regression tests and in many real-world scenarios.
1999-04-15 04:08:07 +00:00
Tom Lane
dbce02f133 Add ORDER BY clauses to some select-from-view operations
in rules regression test, in order to eliminate bogus test 'failures'
that occur due to platform-dependent and join-implementation-dependent
ordering of tuples.  I'm not sure that I got all of the SELECTs that need
ordering clauses --- we may need some more.  But this takes care of the
diffs between my platform and Jan's.
1999-04-15 03:40:50 +00:00
Tom Lane
1ae6739ee1 psql did the wrong thing with COPY FROM STDIN inside a file
sourced with \i (tried to read data from the terminal, rather than from
the source file; this breaks pg_dump scripts read with \i).  Also, \o file
followed by COPY TO STDOUT wrote to terminal not designated file.
All better now.
1999-04-15 02:24:41 +00:00
Thomas G. Lockhart
99e57ee86f Move some useful date/time test macros to here to allow
sharing across files.
1999-04-15 02:24:23 +00:00
Thomas G. Lockhart
879d1be2fe Declare hashint8(). 1999-04-15 02:23:37 +00:00
Thomas G. Lockhart
b2b3d5d184 Fix code to check legal dates *before* calling localtime() to get the
time zone.
Previously, localtime() rotated a date with a day of month field which
 exceeded the actual range into the next months, masking the fact that
 a bad date had been specified.
Regression tests pass.
1999-04-15 02:22:39 +00:00
Thomas G. Lockhart
64e74e30b5 Fix boolean assignment of return values to use "FALSE" rather than the
mis-copied "NULL", which happens to have the same binary value.
Previously, gcc gave non-fatal warnings.
1999-04-15 02:20:50 +00:00
Thomas G. Lockhart
e1a4ddeda8 Code modified to reject out of range day of month.
Previously, dates falling within Unix system time range were run through
 a call to localtime() to get the time zone, if it was not specified.
This had the effect that dates with DOMs which were larger than would be
 valid for that month were "rotated" into the following months.
1999-04-15 02:19:02 +00:00
Thomas G. Lockhart
9f9823950a Fix error message to match that returned by new regression test reference
machine (linux-2.0.36 RH5.2 with RH5.2 patches).
1999-04-15 02:15:36 +00:00
Tom Lane
630ed05063 Correct documentation of CREATE OPERATOR. 1999-04-15 00:09:00 +00:00
Tom Lane
eaffc61675 Correct psql's online help for CREATE OPERATOR, which did
not match what the backend actually accepts.
1999-04-14 23:48:07 +00:00
Tom Lane
faba9fa747 pg_dump was trying to use an incorrect (or, perhaps, only obsolete?)
syntax for CREATE OPERATOR with SORT parameters.  Fixed.
It is now actually possible to dump and reload a database containing
fully specified user-definable operators ...
1999-04-14 23:47:19 +00:00
Michael Meskes
29e2916827 *** empty log message *** 1999-04-14 18:51:37 +00:00
Marc G. Fournier
9a4344e73e use new config.guess output for system specific expected files .. 1999-04-14 14:04:41 +00:00
Marc G. Fournier
a6311431b5 use config.guess instead of uname -s to figure out system, so that we can
include platform spcific changes ...

thanks to Mark Hollomon <mhh@nortelnetworks.com> for the awk script used
1999-04-14 14:02:00 +00:00
Bruce Momjian
c672559c9c Fix adding columns to a temp table. 1999-04-13 19:04:33 +00:00
Bruce Momjian
c0cd32d7b4 Add ARM32 support by Andrew McMurry 1999-04-13 17:42:26 +00:00
Bruce Momjian
a01dfe71b8 array_in is defined in the system catalog as taking two arguments while it
actually takes three. Please apply the following patch.

Massimo
1999-04-13 17:28:35 +00:00
Bruce Momjian
174b552e71 There are some bugs about backward scanning using
indexes.

1. Index Scan using plural indexids never scan backward
   as to the order of indexids.
2. The cursor using Index scan is not usable after moving
   past the end.

This patch solves above bugs.
Moreover the change of _bt_first() would be useful to extend
ORDER BY patch by Jan Wieck for all descending order cases.

Hiroshi Inoue
1999-04-13 17:18:29 +00:00
Michael Meskes
df6e504437 *** empty log message *** 1999-04-13 12:36:38 +00:00
Vadim B. Mikheev
c3b09c2237 Fix HEAP_MOVED_IN handling in HeapTupleSatisfiesDirty(). 1999-04-12 16:57:27 +00:00
Vadim B. Mikheev
12a5aa4f1a Some comments... 1999-04-12 16:56:36 +00:00
Vadim B. Mikheev
401293fcff Unique btree-s:
/*
 * Have to check is inserted heap tuple deleted one
 * (i.e. just moved to another place by vacuum)!
 */
1999-04-12 16:56:08 +00:00
Tatsuo Ishii
a2c96a16e4 add mipsel-unknown-linux-gnu support. config.guess seems slightly changed
since April 1?
1999-04-12 04:04:54 +00:00
Peter Mount
ded46bd522 Implement UpdateCount 1999-04-11 18:03:00 +00:00
Tom Lane
50eb8b7d7f Repair problems seen when CREATE OPERATOR mentions a
not-yet-defined operator in commutator, negator, etc links.  This is
necessary in order to ensure that a pg_dump dump of user-defined operators
can be reloaded.  There may still be a bug lurking here, because it's
provoking a 'Buffer Leak' notice message in one case.  See my mail to
pgsql-hackers.
1999-04-11 02:30:59 +00:00
Tom Lane
194326d6ff Fix another batch of bogosities in pg_operator table.
These were bogus selectivity-estimator links, like a '>' operator
pointing to intltsel when it should use intgtsel.
1999-04-10 23:53:00 +00:00
Tom Lane
2d49637ca7 Tweak create_operator regress test so it doesn't illustrate
incorrect usage of commutator link.
1999-04-10 23:51:16 +00:00
Tom Lane
098e043849 Fix CREATE OPERATOR ... LANGUAGE 'internal', which I broke while
making prosrc instead of proname be the link to the actual internal function.
1999-04-09 22:35:43 +00:00
Tom Lane
af87148065 Fix some more hashjoin-related bugs in pg_operator. Fix
hashjoin's hashFunc() so that it does the right thing with pass-by-value
data types (the old code would always return 0 for int2 or char values,
which would work but would slow things down a lot).  Extend opr_sanity
regress test to catch more kinds of errors.
1999-04-07 23:33:33 +00:00
Tom Lane
4e21023fd4 Unmark 'hashable' operators that can't really be used for
hashjoins.  Extend opr_sanity regress test to help detect similar mistakes.
1999-04-07 04:21:11 +00:00
Thomas G. Lockhart
d1c1301039 Version string was truncating the last character.
Use memcpy() rather than StrNCpy() which had forced a string termination
 character at the end.
1999-04-06 15:35:36 +00:00
Tom Lane
5763683ce4 On reflection, filesize limit ought to be an exact power
of 2 to save a few cycles in md.c.  So, make it 2^30 not 10^9.
1999-04-06 03:04:22 +00:00
Tom Lane
5ce851dcda Reduce default file size limit to 1Gb, and move the
configuration constant to config.h.
1999-04-05 22:25:11 +00:00
Vadim B. Mikheev
9cae93d309 Fix HEAP_MOVED_OFF handling in HeapTupleSatisfiesDirty
(may be used while vacuuming unique btree-s).
1999-04-05 10:55:49 +00:00
Tom Lane
e91f43a122 Fix potential overflow problems when relation size exceeds
2gig.  Fix failure to reliably put the smaller relation on the inside of
a hashjoin.
1999-04-05 02:07:07 +00:00
Tom Lane
2e7ef7477c We use CFLAGS = -O2 on every other gcc platform, so why not
hpux_gcc too?
1999-04-04 20:16:50 +00:00
Tom Lane
2de404e173 Use MAXALIGN value found by configure instead of a
hardwired assumption.
1999-04-04 20:10:12 +00:00
Tom Lane
a253dcdb23 Give a better error message if an SQL-language function is
called through fmgr.  Someday we should try to actually execute the function,
but that looks like it might be a major feature addition.
Not something to try during beta phase.
1999-04-03 22:57:29 +00:00
Tom Lane
4ed9269676 Fix bogus pg_amop entries for int8 hash, cidr btree,
polygon rtree, circle rtree indexes.
1999-04-03 18:07:47 +00:00
Tom Lane
ff38837fe9 Fix nasty bug in optimization of multiway joins: optimizer
would sometimes generate a plan that omitted a sort step before merge.
1999-04-03 00:18:28 +00:00
Tom Lane
97c52abcc5 Repair problems with omitted password and VALID UNTIL
parameters in CREATE USER.
1999-04-02 06:16:36 +00:00
Tom Lane
f620241d73 Remove overly presumptuous use of __STDC__ in c.h, replacing
it with configure-script tests to see whether const, inline, volatile, etc
work or not.  (Curiously, configure was already doing the work to see if
const and inline were OK, but the results were not getting plugged into
config.h :-(.)
1999-04-02 05:10:16 +00:00
Tom Lane
0b874f01dd Clean up compile errors and warnings, cf Billy Allie's
complaints (and some of my own).
1999-04-02 04:51:05 +00:00
Tom Lane
b5b5852c26 Update config.guess and config.sub to versions from
autoconf 2.13.
1999-04-02 03:37:17 +00:00
Tatsuo Ishii
e57c34c012 Add -E option 1999-03-30 05:14:03 +00:00
Tatsuo Ishii
3f8f0ac1a7 Bug fixes and enhances to psql submitted by Masaaki Sakaida
1. Fix problems of PAGER and \? command
2. Add -E option that shows actual queries sent by \dt and friends
3. Add version number in startup banners for psql
1999-03-30 05:00:42 +00:00
Bruce Momjian
0000a0c004 Small cleanups. 1999-03-30 01:37:28 +00:00
Tatsuo Ishii
4373c4d4fa Addition to test/locale submitted by Oleg Broytmann. Comments from him:
There are two subdirectories (ISO8859-7 and koi8-to-win1251) containing
tests for Greek locale and server<=>client recoding feature (recently
submitted by Tatsuo Ishii <t-ishii@sra.co.jp>; we've debugged his patches
together in the field of Cyrillic support).
1999-03-29 09:00:19 +00:00
Tatsuo Ishii
c2d59497df change comparison char* and NULL to char* and '\0'. This should be
more portable way.
1999-03-29 08:19:36 +00:00
Tom Lane
c537d4295a Modify fmgr so that internal name (compiler name) of a built-in
function is found in prosrc field of pg_proc, not proname.  This allows
multiple aliases of a built-in to all be implemented as direct builtins,
without needing a level of indirection through an SQL function.  Replace
existing SQL alias functions with builtin entries accordingly.
Save a few K by not storing string names of builtin functions in fmgr's
internal table (if you really want 'em, get 'em from pg_proc...).
Update opr_sanity with a few more cross-checks.
1999-03-29 01:30:45 +00:00
Vadim B. Mikheev
fdf6be80f9 1. Vacuum is updated for MVCC.
2. Much faster btree tuples deletion in the case when first on page
   index tuple is deleted (no movement to the left page(s)).
3. Remember blkno of new root page in BTPageOpaque of
   left/right siblings when root page is splitted.
1999-03-28 20:32:42 +00:00
Tom Lane
d4ed17842a Expanded opr_sanity test to look at pg_proc and other
related tables.
1999-03-28 02:07:58 +00:00
Tom Lane
b0a66dd1be New regression test to cross-check pg_type, pg_class,
and related tables.
1999-03-28 02:06:23 +00:00
Tom Lane
8a3ef74b7c Clean up various minor irregularities detected by type_sanity
and newly expanded opr_sanity tests.
1999-03-28 02:01:39 +00:00
Tom Lane
79e1d1d58a Remove pg_attribute_check.sql: these checks merged into new
regress test 'type_sanity'.
1999-03-28 01:57:32 +00:00
Tom Lane
23ef47f89d Fix bogus function signature for areajoinsel.
It still doesn't do anything, but at least now it does nothing correctly.
1999-03-28 01:56:12 +00:00
Tom Lane
763a7ab6b0 Delete unused system table pg_parg. 1999-03-27 17:26:26 +00:00
Tom Lane
7cb2fd6577 No longer need this file here; superseded by oidjoins regress test. 1999-03-26 08:04:53 +00:00
Tom Lane
e5685df258 Add results of findoidjoins as a standard regression test. 1999-03-26 08:02:52 +00:00
Tom Lane
f95538269f Remove a bunch of dead entries exposed by findoidjoins crosschecks.
Apparently, whatever these things used to link to got recycled into
something else ... but the dependent entries didn't.
1999-03-26 07:32:42 +00:00
Tom Lane
1e117923aa Revise memutils.h to use alignment information gathered by
configure, instead of having a bunch of crufty platform-specific guesses.
1999-03-25 19:05:19 +00:00
Tatsuo Ishii
235a569aaa Fix multi-byte+locale problem 1999-03-25 04:46:53 +00:00
Tom Lane
6febecc569 Clean up att_align calculations so that XXXALIGN macros
need not be bogus.
1999-03-25 03:49:34 +00:00
Michael Meskes
d471f8073a *** empty log message *** 1999-03-24 20:05:15 +00:00
Tatsuo Ishii
5ae9d85f77 Add KOI8/WIN/ALT support 1999-03-24 07:02:17 +00:00
Tatsuo Ishii
eb42c1c762 These small utilities are for generating internal tables from
rcode encoding tables.
1999-03-24 07:01:37 +00:00
Tatsuo Ishii
e1a22d5e84 Add KOI8/WIN/ALT to set client_encoding command help 1999-03-24 06:57:20 +00:00
Tatsuo Ishii
494b82b718 Fix typo. #ifdef MUTIBYTE --> #ifdef MULTIBYTE 1999-03-24 06:55:14 +00:00
Tatsuo Ishii
2c775870bc Add KOI8/WIN/ALT to the multi-byte encoding selections 1999-03-24 06:53:28 +00:00
Tatsuo Ishii
61ce9cd366 Add KOI8/WIN/ALT to the multi-byte encoding selections 1999-03-24 06:20:38 +00:00
Tatsuo Ishii
5e5ed8fdd0 Add KOI8/WIN/ALT to the multi-byte encoding selections 1999-03-24 04:22:13 +00:00
Bruce Momjian
344dfc0b0f Remove Tee code, move to _deadcode. 1999-03-23 16:51:04 +00:00
Bruce Momjian
92781fc18a cleanups 1999-03-23 05:41:00 +00:00
Bruce Momjian
48ea8b76db Hi,
I have solved some problems with dynamic loading on NT. It is possible
to
run succesfully both trigger and plpgsql regression tests. The patch is
in
the included file "diff".

                        Dan
1999-03-22 16:45:30 +00:00
Bruce Momjian
9aa535a2b9 Add % to b_expr. 1999-03-22 05:07:32 +00:00
Bruce Momjian
53d52a685a Cleanup of NULL in inet types. 1999-03-22 05:00:57 +00:00
Tom Lane
419b91c058 Correct some comments, fix a small memory wastage when datatype
is pass-by-value.
1999-03-21 19:59:13 +00:00
Bruce Momjian
beb1851dd9 This patch fixes the bug that made it impossible to grant permissions to
a user such as "www-data".

Oliver
1999-03-21 06:31:59 +00:00
Tom Lane
b01a272755 Add .cvsignore file so cvs doesn't complain if you have lex/yacc
output files laying about.
1999-03-21 02:43:58 +00:00
Bruce Momjian
f8263c52b0 cleanup 1999-03-21 02:30:22 +00:00
Tom Lane
8425c2496f Ah, *now* I understand: plpgsql lexer must be generated with flex -l ... 1999-03-21 02:27:47 +00:00
Bruce Momjian
7ed3b89d48 Fix for %4 and 4%. 1999-03-21 02:26:56 +00:00
Tom Lane
1b8d9466fb Hmm, it seems some versions of flex declare yytext as extern char[]
but others declare it as extern char *.  gcc complains (quite rightly too).
Worked around it by rearranging the order of inclusions so that we don't
have to explicitly declare yytext; this should work with either variant.
1999-03-21 01:07:07 +00:00
Michael Meskes
e4274d60a5 *** empty log message *** 1999-03-20 19:46:54 +00:00
Tom Lane
a4ce6f00f8 Remove yacc/lex output files from CVS repository. 1999-03-20 18:45:27 +00:00
Tom Lane
19e4d33bf0 Remove yacc/lex output files from CVS repository. 1999-03-20 18:03:37 +00:00
Tom Lane
bb7c0da104 Clean up build procedure: do not keep raw lex/yacc files around,
only the edited ones.
1999-03-20 18:00:38 +00:00
Tom Lane
e8f9b6baed make clean should remove lex.yy.c 1999-03-20 17:58:21 +00:00
Tom Lane
c96add9a08 Script for preparing derived files during tarball construction. 1999-03-20 17:53:54 +00:00
Bruce Momjian
0aa2aed5f8 Reverse out pfree agg part of patch from Erik Riedel. 1999-03-20 13:18:20 +00:00
Bruce Momjian
3ea6c806eb cleanup 1999-03-20 02:31:45 +00:00
Bruce Momjian
afac6363a6 cleanup 1999-03-20 02:07:31 +00:00
Bruce Momjian
7d0ab659ac Fix for aggregate memory leaks from Erik Riedel. 1999-03-20 01:13:22 +00:00
Bruce Momjian
5bfac23006 Fix shift/reduce for NULL = Var. 1999-03-19 23:48:50 +00:00
Bruce Momjian
0dfc358427 Fix for memory leak in executor with fjIsNull. 1999-03-19 22:31:39 +00:00
Bruce Momjian
bd6f98af31 I suggest the following portability patch, which does not
change functionality, but makes the code more ANSI C'ish.
My AIX xlc compiler barfs on all of these. Can someone please
review and apply to current.

 <<port.patch>>
Thanks
Andreas
1999-03-19 18:56:43 +00:00
Bruce Momjian
0d01fd4e19 Add EXCEPT/INTERSECT doc changes. 1999-03-19 02:41:41 +00:00
Bruce Momjian
58cc2b6ead cleanup parser 1999-03-18 22:11:47 +00:00
Bruce Momjian
5dd9b58a86 grammar cleanup' 1999-03-18 22:03:59 +00:00
Bruce Momjian
ddd50c440a cleanup of grammer. 1999-03-18 22:01:56 +00:00
Bruce Momjian
30ad427388 Fix optimizer indexing not working for negative numbers. 1999-03-18 21:39:56 +00:00