aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Change mdtruncate to truncate and not unlink.Bruce Momjian1999-06-11
| | | | Hiroshi Inoue
* This patch should enable 6.5 to build on Motorola 68000 architecture.Bruce Momjian1999-06-10
| | | | It comes from Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>.
* *** empty log message ***Michael Meskes1999-06-10
|
* Added 2 regression tests for NUMERIC data type.Jan Wieck1999-06-10
| | | | | | | | | | | | | 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-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10
| | | | | ye proverbial one-line patch (not counting five lines of comment so's maybe it won't happen again)
* Remove -O2 for linux/alpha, make -O.Bruce Momjian1999-06-09
|
* Reset evaluation plan tuple table next free slot counter to 0Vadim B. Mikheev1999-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | 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-09
|
* Linux-alpha gets -OBruce Momjian1999-06-08
|
* Remove optimization on linux/alpha.Bruce Momjian1999-06-08
|
* CleanupBruce Momjian1999-06-08
|
* Disable pg_upgrade for 6.5.Bruce Momjian1999-06-08
|
* I attach a patch for pg_upgrade. This does two things:Bruce Momjian1999-06-07
| | | | | | | | | | | 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-07
| | | | | | | | | | | | | | 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-07
| | | | | | DO NOT EVEN TRY TO DO PageGetMaxOffsetNumber BEFORE LockBuffer! -:)
* > Here is a small patch that should only affect win32 buildingBruce Momjian1999-06-07
| | | | | | | | | | | | | | | | | | | | | | > (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-07
| | | | | | 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-07
| | | | < 6.5 versions were just not affected by this bug due to locking.
* 1. xact.c: update comments about changing MyProc->xid and MyProc->xmin.Vadim B. Mikheev1999-06-06
| | | | | | | | | | | 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-06
| | | | | 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-06
| | | | and aggregate functions in queries that use inheritance.
* Fix problems with grouping/aggregation in queries that useTom Lane1999-06-06
| | | | inheritance ... basically it was completely busted :-(
* I used bad style of comments and ... commented out some code inVadim B. Mikheev1999-06-06
| | | | | EvalPlanQualNext() when implemented it... -:) Uncommented...
* Instead of failing when the constructed name for a sequence,Tom Lane1999-06-05
| | | | index, etc is too long, truncate until it fits.
* Remove redeclarations of default parameter values fromTom Lane1999-06-05
| | | | | | 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.
* a fix for Win32 support provided by yutaka@marin.or.jp.Tatsuo Ishii1999-06-05
| | | | | The patch will avoid to add .exe suffix to the pg_encoding binary.
* trace.patch (compilation error)Marc G. Fournier1999-06-05
| | | | | | | | 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>
* man.patch (make inconsistency)Marc G. Fournier1999-06-05
| | | | | | | | 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>
* ecpg.patch (wrong makefile expansion in some cases)Marc G. Fournier1999-06-05
| | | | | | | | | 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>
* Suppress indexes on large objects from psql's \d listing;Tom Lane1999-06-04
| | | | | | | | 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.
* Add startup-time check that -B is not unreasonably small forTom Lane1999-06-04
| | | | given number of backends (-N), per recent discussion in pghackers list.
* Add configurable option controlling security checks in LO functions.Tom Lane1999-06-04
|
* Turns out OIDNAMELEN wasn't really being used at all!Tom Lane1999-06-04
| | | | Get rid of it to make customization of NAMEDATALEN easier.
* Add mention of SHARE ROW EXCLUSIVE mode.Bruce Momjian1999-06-04
|
* man page cleanup for vadim.Bruce Momjian1999-06-04
|
* Add description for SET TRANSACTION.Bruce Momjian1999-06-04
|
* Fix for failure to clean SysCache entry when a relation is deletedTom Lane1999-06-04
| | | | in the same transaction that created it.
* SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;Bruce Momjian1999-06-03
| | | | | | | | | | | | | | | | | | | | | | 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
* Thanks for this, but SET TRANSACTION ISOLATION LEVELBruce Momjian1999-06-03
| | | | | | | should be described like SET TIME ZONE: TO is not allowed, as well as DEFAULT option. There are only two forms: for Vadim.
* Add mention of FOR UPDATE and LIMIT/OFFSET>Bruce Momjian1999-06-03
|
* Update lock sgml/man/psql help pages.Bruce Momjian1999-06-03
|
* Add SET TRANSACTION ISOLATION LEVEL and SET NAMES mention.Bruce Momjian1999-06-03
|
* Update psql help so it looks better.Bruce Momjian1999-06-03
|
* Update SET commands for psql \h, man pages, and sgml.Bruce Momjian1999-06-03
|
* 1. Additional fix against ERROR: Child itemid marked as unusedVadim B. Mikheev1999-06-03
| | | | | in CommitTransaction(). 2. Changes in GetSnapshotData().
* Unuseful tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED inVadim B. Mikheev1999-06-03
| | | | vc_scanheap().
* 1. MyProc->xid assignment is moved to GetNewTransactionId so newerVadim B. Mikheev1999-06-03
| | | | | | | | | | | | | | 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).
* pg_dump failed on any database containing large objects,Tom Lane1999-06-03
| | | | | because it ignored the LOs themselves but failed to ignore the indexes on the LOs. How long has this been broken??
* Ensure consistent results when FormSortKeys fails to findTom Lane1999-06-03
| | | | all the expected keys (it was returning uninitialized memory).