aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop
Commit message (Collapse)AuthorAge
* Plug several holes in backend's ability to cope withTom Lane1999-07-22
| | | | unexpected loss of connection to frontend.
* Re-add getopt.h check, remove NT-specific tests for it.Bruce Momjian1999-07-19
|
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-17
|
* Final cleanupBruce Momjian1999-07-16
|
* Final cleanup.Bruce Momjian1999-07-16
|
* Update #include cleanupsBruce Momjian1999-07-16
|
* 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 for removal of temp tables if last transaction was aborted.Bruce Momjian1999-07-02
|
* 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
|
* Improve error message from failed LOAD command (includeTom Lane1999-05-22
| | | | kernel's error description when file is not accessible).
* Modify backend switch parsing to prevent 'insecure' switchesTom Lane1999-05-22
| | | | | from being accepted when they are passed from client connection request. Get rid of a couple that no longer do anything (like -P).
* Make postgres prompt backend>, and remove PARSEDEBUG.Bruce Momjian1999-05-22
|
* Rip out QueryTreeList structure, root and branch. QuerytreeTom Lane1999-05-13
| | | | | | | | | | 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.
* Changed debug options:Jan Wieck1999-05-11
| | | | | | | | | -d4 now prints compressed trees from nodeToString() -d5 prints pretty trees via nodeDisplay() new pg_options: pretty_plan, pretty_parse, pretty_rewritten Jan
* 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.
* 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
* -T was omitted from getopt() call.Tom Lane1999-05-01
|
* Fix stupid typo that broke empty-query response... odd thatTom Lane1999-04-28
| | | | this is not revealed by any of our regression tests...
* Still had a few MULTIBYTE problems when client encoding wasTom Lane1999-04-25
| | | | different from database's ...
* 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.
* Change elog(ERROR) to get back to main loop via a plain sigsetjmp,Tom Lane1999-04-20
| | | | | | 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.
* cleanupsBruce Momjian1999-03-23
|
* Hi,Bruce Momjian1999-03-22
| | | | | | | | | | 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
* Add new postgres -O option to allow system table structure changes.Bruce Momjian1999-03-17
|
* Here is a patch.Bruce Momjian1999-03-16
| | | | | | | | I have changed to call pg_exec_query_dest() instead of pg_exec_query(). Thanks. Hiroshi Inoue
* Remove reference to recipe.h.Bruce Momjian1999-02-25
|
* Fix problem with selectivity error in added columns with ALTER TABLE.Bruce Momjian1999-02-24
| | | | Move files to deadcode.
* From: Tatsuo Ishii <t-ishii@sra.co.jp>Marc G. Fournier1999-02-21
| | | | | | 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-18
|
* Enable bushy plans by default.Bruce Momjian1999-02-18
|
* Re-enable bushy plans. Vadim want them.Bruce Momjian1999-02-16
|
* Remove duplicate geqo functions, and more optimizer cleanupBruce Momjian1999-02-15
|
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-13
|
* Added LIMIT/OFFSET functionality including new regression test for it.Jan Wieck1999-02-08
| | | | | | | Removed CURRENT keyword for rule queries and changed rules regression accordingly. CURRENT has beed announced to disappear in v6.5. Jan
* Add TEMP tables/indexes. Add COPY pfree(). Other cleanups.Bruce Momjian1999-02-02
|
* Another SELECT speedup: extract OIDs of column print functionsTom Lane1999-01-27
| | | | | only once per SELECT, not once per tuple. 10% here, 10% there, pretty soon you're talking about real speedups ...
* primary key support cleanups from D'Arcy...Marc G. Fournier1999-01-26
|
* The following patch finishes primary key support. Previously, whenBruce Momjian1999-01-21
| | | | | | | | | | | | | | | | | | | | 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
* Hi!Bruce Momjian1999-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INTERSECT and EXCEPT is available for postgresql-v6.4! The patch against v6.4 is included at the end of the current text (in uuencoded form!) I also included the text of my Master's Thesis. (a postscript version). I hope that you find something of it useful and would be happy if parts of it find their way into the PostgreSQL documentation project (If so, tell me, then I send the sources of the document!) The contents of the document are: -) The first chapter might be of less interest as it gives only an overview on SQL. -) The second chapter gives a description on much of PostgreSQL's features (like user defined types etc. and how to use these features) -) The third chapter starts with an overview of PostgreSQL's internal structure with focus on the stages a query has to pass (i.e. parser, planner/optimizer, executor). Then a detailed description of the implementation of the Having clause and the Intersect/Except logic is given. Originally I worked on v6.3.2 but never found time enough to prepare and post a patch. Now I applied the changes to v6.4 to get Intersect and Except working with the new version. Chapter 3 of my documentation deals with the changes against v6.3.2, so keep that in mind when comparing the parts of the code printed there with the patched sources of v6.4. Here are some remarks on the patch. There are some things that have still to be done but at the moment I don't have time to do them myself. (I'm doing my military service at the moment) Sorry for that :-( -) I used a rewrite technique for the implementation of the Except/Intersect logic which rewrites the query to a semantically equivalent query before it is handed to the rewrite system (for views, rules etc.), planner, executor etc. -) In v6.3.2 the types of the attributes of two select statements connected by the UNION keyword had to match 100%. In v6.4 the types only need to be familiar (i.e. int and float can be mixed). Since this feature did not exist when I worked on Intersect/Except it does not work correctly for Except/Intersect queries WHEN USED IN COMBINATION WITH UNIONS! (i.e. sometimes the wrong type is used for the resulting table. This is because until now the types of the attributes of the first select statement have been used for the resulting table. When Intersects and/or Excepts are used in combination with Unions it might happen, that the first select statement of the original query appears at another position in the query which will be executed. The reason for this is the technique used for the implementation of Except/Intersect which does a query rewrite!) NOTE: It is NOT broken for pure UNION queries and pure INTERSECT/EXCEPT queries!!! -) I had to add the field intersect_clause to some data structures but did not find time to implement printfuncs for the new field. This does NOT break the debug modes but when an Except/Intersect is used the query debug output will be the already rewritten query. -) Massive changes to the grammar rules for SELECT and INSERT statements have been necessary (see comments in gram.y and documentation for deatails) in order to be able to use mixed queries like (SELECT ... UNION (SELECT ... EXCEPT SELECT)) INTERSECT SELECT...; -) When using UNION/EXCEPT/INTERSECT you will get: NOTICE: equal: "Don't know if nodes of type xxx are equal". I did not have time to add comparsion support for all the needed nodes, but the default behaviour of the function equal met my requirements. I did not dare to supress this message! That's the reason why the regression test for union will fail: These messages are also included in the union.out file! -) Somebody of you changed the union_planner() function for v6.4 (I copied the targetlist to new_tlist and that was removed and replaced by a cleanup of the original targetlist). These chnages violated some having queries executed against views so I changed it back again. I did not have time to examine the differences between the two versions but now it works :-) If you want to find out, try the file queries/view_having.sql on both versions and compare the results . Two queries won't produce a correct result with your version. regards Stefan
* Apply Win32 patch from Horak Daniel.Bruce Momjian1999-01-17
|
* SET TRANSACTION ISOLATION LEVEL ...Vadim B. Mikheev1998-12-18
| | | | | LOCK TABLE IN ... MODE ...implemented
* Serialized mode works!Vadim B. Mikheev1998-12-16
|
* The problem is that read_pg_options needs DataDir to read its file butBruce Momjian1998-10-16
| | | | | | | | | | DataDir is set after read_pg_options if postgres is called interactively. If postgres is forked by postgres DataDir is read from the PGDATA enviromnent variable set by the postmaster and this explains while the bug disappears. I have written this patch but I don't like it. Any better idea? Massimo Dal Zotto
* This is plain wrong, but check to see if DataDir was set *before* runningMarc G. Fournier1998-10-13
| | | | | read_pg_options ... read_pg_options should probably be moved to after the getopt() instead?