summaryrefslogtreecommitdiff
path: root/src/backend/commands
Commit message (Collapse)AuthorAgeFilesLines
...
* 1. Fix for elog(ERROR, "EvalPlanQual: t_xmin is uncommitted ?!")Vadim B. Mikheev1999-06-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 1. xact.c: update comments about changing MyProc->xid and MyProc->xmin.Vadim B. Mikheev1999-06-061-3/+22
| | | | | | | | | | | 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).
* Unuseful tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED inVadim B. Mikheev1999-06-031-3/+2
| | | | vc_scanheap().
* 1. Run all pg_dump queries in single serializable transaction.Vadim B. Mikheev1999-05-292-22/+8
| | | | | | 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.
* Make functions static or NOT_USED as appropriate.Bruce Momjian1999-05-261-17/+17
|
* Another pgindent run. Sorry folks.Bruce Momjian1999-05-252-15/+15
|
* pgindent run over code.Bruce Momjian1999-05-2519-629/+691
|
* Fix tuple chain moving bug found by "Hiroshi Inoue" <Inoue@tpf.co.jp>.Vadim B. Mikheev1999-05-231-17/+105
|
* Generate distinct error messages for trigger function not foundTom Lane1999-05-201-3/+5
| | | | and trigger function found but returns wrong type.
* All works on linux now by my tests and regression(with patch below).Bruce Momjian1999-05-171-2/+13
| | | | | ALTER TABLE RENAME with extents. Ole Gjerde
* Change error messages to oids come out as %u and not %d. Change has noBruce Momjian1999-05-106-16/+15
| | | | real affect now.
* Rearrange top-level rewrite operations so that EXPLAIN worksTom Lane1999-05-091-8/+11
| | | | on queries involving UNION, EXCEPT, INTERSECT.
* Mistyping by me.Vadim B. Mikheev1999-05-091-3/+3
| | | | Fixed by Hiroshi.
* here are some patches for 6.5.0 which I already submitted but have neverBruce Momjian1999-05-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Arrange for VACUUM to delete the init file that relcache.c usesTom Lane1999-05-011-2/+16
| | | | | | 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.
* My first cut at libpq revision didn't handle MULTIBYTE correctly,Tom Lane1999-04-251-2/+2
| | | | but I think it's OK now...
* Revise backend libpq interfaces so that messages to the frontendTom Lane1999-04-253-25/+40
| | | | | | 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.
* Rename explain's "size" to "rows".Bruce Momjian1999-04-231-2/+2
|
* Fix adding columns to a temp table.Bruce Momjian1999-04-131-1/+10
|
* Some comments...Vadim B. Mikheev1999-04-121-2/+7
|
* Fix CREATE OPERATOR ... LANGUAGE 'internal', which I broke whileTom Lane1999-04-091-3/+4
| | | | making prosrc instead of proname be the link to the actual internal function.
* Repair problems with omitted password and VALID UNTILTom Lane1999-04-021-21/+38
| | | | parameters in CREATE USER.
* Clean up compile errors and warnings, cf Billy Allie'sTom Lane1999-04-021-7/+6
| | | | complaints (and some of my own).
* Small cleanups.Bruce Momjian1999-03-301-4/+3
|
* 1. Vacuum is updated for MVCC.Vadim B. Mikheev1999-03-281-60/+487
| | | | | | | 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.
* Remove Tee code, move to _deadcode.Bruce Momjian1999-03-231-4/+1
|
* cleanupsBruce Momjian1999-03-231-3/+2
|
* Add new postgres -O option to allow system table structure changes.Bruce Momjian1999-03-173-7/+7
|
* Fix snprintf with strings, and nextval('"Aa"');Bruce Momjian1999-03-163-11/+14
|
* Here is a patch.Bruce Momjian1999-03-162-19/+19
| | | | | | | | I have changed to call pg_exec_query_dest() instead of pg_exec_query(). Thanks. Hiroshi Inoue
* Drop buffers before destroying database files.Bruce Momjian1999-03-151-5/+4
|
* Hello,Bruce Momjian1999-03-141-1/+4
| | | | | | | | | I've been working on the following TODO list item: * psql \d on index with char()/varchar() fields shows improper length I've attached a simple patch to fix this. -Ryan
* Changes to fix/improve the dynamic loading on NTMarc G. Fournier1999-03-091-1/+1
| | | | From: Horak Daniel <horak@mmp.plzen-city.cz>
* Remove recipe.o from Makefile ... dead code not quite dead enough,Tom Lane1999-02-271-2/+2
| | | | it seems.
* Fix problem with selectivity error in added columns with ALTER TABLE.Bruce Momjian1999-02-245-6/+25
| | | | Move files to deadcode.
* From: Tatsuo Ishii <t-ishii@sra.co.jp>Marc G. Fournier1999-02-211-2/+2
| | | | | | Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef NOT_USED" for current. I have tested these patches in that the postgres binaries are identical.
* Enable bushy and right-hand queries by default.Bruce Momjian1999-02-181-55/+1
|
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-1319-60/+60
|
* Rename Temp to Noname for noname tables.Bruce Momjian1999-02-091-3/+3
|
* Added LIMIT/OFFSET functionality including new regression test for it.Jan Wieck1999-02-081-2/+20
| | | | | | | Removed CURRENT keyword for rule queries and changed rules regression accordingly. CURRENT has beed announced to disappear in v6.5. Jan
* Changed ExecConstraints() and ExecRelCheck() to cache the constraintsJan Wieck1999-02-071-2/+3
| | | | | | | | | qualification expression trees in the execution state. Prevents from memory exhaustion on INSERT, UPDATE or COPY to tables that have CHECK constraints. Speedup against the variant using freeObject() is more than factor 2. Jan
* Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian1999-02-038-69/+38
|
* Optimizer rename ClauseInfo -> RestrictInfo. Update optimizer README.Bruce Momjian1999-02-031-1/+2
|
* Add TEMP tables/indexes. Add COPY pfree(). Other cleanups.Bruce Momjian1999-02-027-39/+26
|
* Fixed growing of backend due to not pfree()'d data on COPY FROMJan Wieck1999-02-012-2/+3
| | | | | | | Fixed growing of backend if BEFORE DELETE trigger returns heap tuple different from trigtuple. Jan
* Hope that execMain.c good merged.Vadim B. Mikheev1999-01-291-9/+20
| | | | | Fix for BEFORE ROW UPDATE triggers: result tuple may be different (due to concurrent update) from one initially produced by top level plan.
* READ COMMITTED isolevel is implemented and is default now.Vadim B. Mikheev1999-01-291-2/+21
|
* Add explicit buffering in backend libpq, to compensate forTom Lane1999-01-231-4/+2
| | | | buffering lost by not going through stdio anymore for client I/O.
* The following patch finishes primary key support. Previously, whenBruce Momjian1999-01-212-5/+7
| | | | | | | | | | | | | | | | | | | | a field was labelled as a primary key, the system automatically created a unique index on the field. This patch extends it so that the index has the indisprimary field set. You can pull a list of primary keys with the followiing select. SELECT pg_class.relname, pg_attribute.attname FROM pg_class, pg_attribute, pg_index WHERE pg_class.oid = pg_attribute.attrelid AND pg_class.oid = pg_index.indrelid AND pg_index.indkey[0] = pg_attribute.attnum AND pg_index.indisunique = 't'; There is nothing in this patch that modifies the template database to set the indisprimary attribute for system tables. Should they be changed or should we only be concerned with user tables? D'Arcy
* Apply Win32 patch from Horak Daniel.Bruce Momjian1999-01-173-3/+19
|