aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands
Commit message (Collapse)AuthorAge
* Further planner/optimizer cleanups. Move all set_tlist_referencesTom Lane1999-08-22
| | | | | | | | | | and fix_opids processing to a single recursive pass over the plan tree executed at the very tail end of planning, rather than haphazardly here and there at different places. Now that tlist Vars do not get modified until the very end, it's possible to get rid of the klugy var_equal and match_varid partial-matching routines, and just use plain equal() throughout the optimizer. This is a step towards allowing merge and hash joins to be done on expressions instead of only Vars ...
* EXPLAIN didn't know about 'Materialize' plan nodes.Tom Lane1999-08-16
|
* > > Prevent sorting if result is already sortedBruce Momjian1999-08-09
| | | | | | | | | | | | | | > > > > was implemented by Jan Wieck. > > His work is for ascending order cases. > > > > Here is a patch to prevent sorting also in descending > > order cases. > > Because I had already changed _bt_first() to position > > backward correctly before v6.5,this patch would work. > > Hiroshi Inoue Inoue@tpf.co.jp
* Store -1 in attdisbursion to signal 'no duplicates in column'.Tom Lane1999-08-09
| | | | Centralize att_disbursion readout logic.
* For a unique-key attribute (no duplicate values), vacuum analyzeTom Lane1999-08-08
| | | | was recording a disbursion of 0, not the correct value 1/numberOfRows.
* First step in fixing selectivity-estimation code. eqsel andTom Lane1999-08-01
| | | | | | | | | | neqsel now behave as per my suggestions in pghackers a few days ago. selectivity for < > <= >= should work OK for integral types as well, but still need work for nonintegral types. Since these routines have never actually executed before :-(, this may result in some significant changes in the optimizer's choices of execution plans. Let me know if you see any serious misbehavior. CAUTION: THESE CHANGES REQUIRE INITDB. pg_statistic table has changed.
* Make usecatupd disabled for normal users, and allow normal users toBruce Momjian1999-07-30
| | | | update temp tables with this setting.
* Plug several holes in backend's ability to cope withTom Lane1999-07-22
| | | | unexpected loss of connection to frontend.
* Install new alignment code to use MAXALIGN rather than DOUBLEALIGN whereBruce Momjian1999-07-19
| | | | approproate.
* configure cleanupBruce Momjian1999-07-18
|
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-17
|
* Fix incorrect declaration of rtentry as 'ResTarget' where itTom Lane1999-07-17
| | | | should be 'RangeTblEntry' ; explain.c had copied the erroneous code.
* More cleanupBruce Momjian1999-07-16
|
* Final cleanup.Bruce Momjian1999-07-16
|
* Update #include cleanupsBruce Momjian1999-07-16
|
* Change #include's to use <> and "" as appropriate.Bruce Momjian1999-07-15
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-15
|
* Clean up #include in /include directory. Add scripts for checking includes.Bruce Momjian1999-07-15
|
* Fix spelling of variable name.Bruce Momjian1999-07-07
|
* Fix misspelling.Bruce Momjian1999-07-07
|
* Fix to prevent too large tuple from being created.Bruce Momjian1999-07-03
|
* Change form() to varargform() to prevent portability problems.Bruce Momjian1999-06-19
|
* Explain didn't handle inheritance correctly (it didn'tTom Lane1999-06-17
| | | | manipulate rtable the same way executor does).
* Remove QUERY_LIMIT and documenation on same. Change _ALIGN to TYPEALIGNBruce Momjian1999-06-17
| | | | for Irix.
* Fix critical error noticed by Massimo: copy.c used to have aTom Lane1999-06-12
| | | | | | | | | 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.
* Change Assert(Ptp.t_data->t_xmax == tp.t_data->t_xmin) to :Vadim B. Mikheev1999-06-11
| | | | | | | | | | | | | | | | | /* * 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) ...
* 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.
* 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).
* Unuseful tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED inVadim B. Mikheev1999-06-03
| | | | vc_scanheap().
* 1. Run all pg_dump queries in single serializable transaction.Vadim B. Mikheev1999-05-29
| | | | | | 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-26
|
* Another pgindent run. Sorry folks.Bruce Momjian1999-05-25
|
* pgindent run over code.Bruce Momjian1999-05-25
|
* Fix tuple chain moving bug found by "Hiroshi Inoue" <Inoue@tpf.co.jp>.Vadim B. Mikheev1999-05-23
|
* Generate distinct error messages for trigger function not foundTom Lane1999-05-20
| | | | and trigger function found but returns wrong type.
* All works on linux now by my tests and regression(with patch below).Bruce Momjian1999-05-17
| | | | | ALTER TABLE RENAME with extents. Ole Gjerde
* Change error messages to oids come out as %u and not %d. Change has noBruce Momjian1999-05-10
| | | | real affect now.
* Rearrange top-level rewrite operations so that EXPLAIN worksTom Lane1999-05-09
| | | | on queries involving UNION, EXCEPT, INTERSECT.
* Mistyping by me.Vadim B. Mikheev1999-05-09
| | | | Fixed by Hiroshi.
* here are some patches for 6.5.0 which I already submitted but have neverBruce Momjian1999-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-01
| | | | | | 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-25
| | | | but I think it's OK now...
* Revise backend libpq interfaces so that messages to the frontendTom Lane1999-04-25
| | | | | | 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-23
|
* Fix adding columns to a temp table.Bruce Momjian1999-04-13
|
* Some comments...Vadim B. Mikheev1999-04-12
|
* Fix CREATE OPERATOR ... LANGUAGE 'internal', which I broke whileTom Lane1999-04-09
| | | | making prosrc instead of proname be the link to the actual internal function.
* Repair problems with omitted password and VALID UNTILTom Lane1999-04-02
| | | | parameters in CREATE USER.
* Clean up compile errors and warnings, cf Billy Allie'sTom Lane1999-04-02
| | | | complaints (and some of my own).
* Small cleanups.Bruce Momjian1999-03-30
|