summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Minor updates for release.Thomas G. Lockhart1999-06-145-819/+851
|
* Cut down to 80 columns per Bruce. Mostly hacked at the porting table.Thomas G. Lockhart1999-06-141-146/+182
|
* HTML versions of docs for v6.5 release.Thomas G. Lockhart1999-06-145-0/+0
|
* Fix URL for Norm Walsh's Style Sheets.Thomas G. Lockhart1999-06-141-0/+0
|
* Fix typos and wording in v6.5 release summary per Fred Horsh.Thomas G. Lockhart1999-06-141-0/+0
|
* User's Guide for v6.5.Thomas G. Lockhart1999-06-141-0/+0
|
* change #if defined(__mc68000__) to:Tatsuo Ishii1999-06-131-3/+3
| | | | | #if defined(__mc68000__) && defined(__linux__) so that other m68k systems(such as NetBSD) will not be affected.
* Move default NBuffers setting into config.h, and rename itTom Lane1999-06-123-9/+12
| | | | | to DEF_NBUFFERS for readability. Make sure the default value is OK according to postmaster.c's new sanity check for -B values.
* Fix critical error noticed by Massimo: copy.c used to have aTom Lane1999-06-121-17/+2
| | | | | | | | | 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.
* Remove query_planner's overhasty rejection of cases whereTom Lane1999-06-121-25/+11
| | | | | | | | | | | | 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.
* Plug hole in dike: planner would coredump if query_plannerTom Lane1999-06-121-1/+5
| | | | | | | | 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.
* When targetlist is NULL, ExecTargetList was passing back aTom Lane1999-06-121-32/+10
| | | | | | | | 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.
* Reversed out Massimo patch.Bruce Momjian1999-06-126-111/+14
|
* I don't like last minute patches before the final freeze, but I believe thatBruce Momjian1999-06-126-14/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Hi,Bruce Momjian1999-06-112-0/+4
| | | | | | | please apply the included patch. It corrects the headers in src/win32 - there are some missing #endif. Dan
* add m86 similar entries.Bruce Momjian1999-06-111-0/+2
|
* Change Assert(Ptp.t_data->t_xmax == tp.t_data->t_xmin) to :Vadim B. Mikheev1999-06-111-3/+30
| | | | | | | | | | | | | | | | | /* * 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) ...
* Removed bad Assert(!buf->ri_lock) when unlocking exclusivelyVadim B. Mikheev1999-06-111-6/+19
| | | | locked buffer.
* More about chained mode and isolation.Vadim B. Mikheev1999-06-111-9/+33
|
* More about chained mode and isolation levels.Vadim B. Mikheev1999-06-111-16/+35
|
* Change mdtruncate to truncate and not unlink.Bruce Momjian1999-06-111-19/+6
| | | | Hiroshi Inoue
* This patch should enable 6.5 to build on Motorola 68000 architecture.Bruce Momjian1999-06-102-2/+35
| | | | It comes from Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>.
* *** empty log message ***Michael Meskes1999-06-103-3/+47
|
* Added 2 regression tests for NUMERIC data type.Jan Wieck1999-06-107-5/+2575
| | | | | | | | | | | | | 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
* 1. Fix for elog(ERROR, "EvalPlanQual: t_xmin is uncommitted ?!")Vadim B. Mikheev1999-06-107-31/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix errors in SELECT ... GROUP BY ... UNION SELECT ...Tom Lane1999-06-101-1/+8
| | | | | ye proverbial one-line patch (not counting five lines of comment so's maybe it won't happen again)
* Add mention of hot backups to the release notes.Thomas G. Lockhart1999-06-095-14/+24
| | | | | Add id tags to chapter and section headings to ensure good labels on output html files.
* Make minor changes in wording.Thomas G. Lockhart1999-06-092-88/+101
| | | | Adjust tags to get a clean build.
* Remove -O2 for linux/alpha, make -O.Bruce Momjian1999-06-091-1/+1
|
* Reset evaluation plan tuple table next free slot counter to 0Vadim B. Mikheev1999-06-091-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | 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) ?
* MVCC updates.Vadim B. Mikheev1999-06-092-43/+147
|
* MVCC updation.Vadim B. Mikheev1999-06-082-66/+186
|
* Linux-alpha gets -OBruce Momjian1999-06-081-1/+1
|
* Remove optimization on linux/alpha.Bruce Momjian1999-06-081-1/+1
|
* Fix for duplicate LC_COLLATEBruce Momjian1999-06-081-2/+1
|
* Add mention of new pg_dump feature.Bruce Momjian1999-06-082-6/+13
|
* Install proper Irix FAQ.Bruce Momjian1999-06-081-40/+397
|
* CleanupBruce Momjian1999-06-081-0/+1
|
* Disable pg_upgrade for 6.5.Bruce Momjian1999-06-081-0/+3
|
* I attach a patch for pg_upgrade. This does two things:Bruce Momjian1999-06-071-3/+5
| | | | | | | | | | | 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
* On AIX 4.3.2 the third line in template/aix_42:Bruce Momjian1999-06-071-1/+1
| | | | | | | | | | | | | | 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
* Concurrency... Highest one...Vadim B. Mikheev1999-06-071-5/+8
| | | | | | DO NOT EVEN TRY TO DO PageGetMaxOffsetNumber BEFORE LockBuffer! -:)
* > Here is a small patch that should only affect win32 buildingBruce Momjian1999-06-074-10/+10
| | | | | | | | | | | | | | | | | | | | | | > (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
* Repair recently-introduced error in makeIndexable for LIKE:Tom Lane1999-06-072-14/+29
| | | | | | 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.
* Have to release meta page before reading root one!Vadim B. Mikheev1999-06-071-4/+4
| | | | < 6.5 versions were just not affected by this bug due to locking.
* Update TODO.Bruce Momjian1999-06-072-90/+115
|
* 1. xact.c: update comments about changing MyProc->xid and MyProc->xmin.Vadim B. Mikheev1999-06-065-26/+44
| | | | | | | | | | | 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).
* equal() needs a case for Aggref nodes, as shown by:Tom Lane1999-06-061-1/+25
| | | | | 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
* Add a regression test case to catch breakage of GROUP BYTom Lane1999-06-062-0/+24
| | | | and aggregate functions in queries that use inheritance.
* Fix problems with grouping/aggregation in queries that useTom Lane1999-06-065-131/+87
| | | | inheritance ... basically it was completely busted :-(