summaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo so it actually compiles...Tom Lane1999-11-141-3/+3
|
* Add recreate index notice to vacuum error.Bruce Momjian1999-11-141-3/+3
|
* Tweak make rules for parse.h and fmgr.h to avoid bug in oldTom Lane1999-11-141-4/+8
| | | | versions of gmake.
* Add index recreation suggestion to end of world error message.Bruce Momjian1999-11-142-5/+5
|
* Fix ExecSubPlan to handle nulls per the SQL spec --- it didn't combineTom Lane1999-11-122-105/+145
| | | | | | | nulls with non-nulls using proper three-valued boolean logic. Also clean up ExecQual to make it clearer that ExecQual *does* follow the SQL spec for boolean nulls. See '[BUGS] (null) != (null)' thread around 10/26/99 for more detail.
* New NameStr macro to convert Name to Str. No need for var.data anymore.Bruce Momjian1999-11-0758-253/+257
| | | | | | Fewer calls to nameout. Better use of RelationGetRelationName.
* exit recursion fix from MassimoBruce Momjian1999-11-061-4/+5
|
* Fix for recusive exit call from Massimo.Bruce Momjian1999-11-061-6/+5
|
* Make it possible to execute crashed CREATE/DROP commands again.Hiroshi Inoue1999-11-049-46/+142
| | | | | | | | | | Now indexes of pg_class and pg_type are unique indexes and guarantee the uniqueness of correponding attributes. heap_create() was changed to take another boolean parameter which allows to postpone the creation of disk file. The name of rd_nonameunlinked was changed to rd_unlinked. It is used generally(not only for noname relations) now. Requires initdb.
* Eliminate RewritePreprocessQuery, which was taking anTom Lane1999-11-011-72/+22
| | | | | | unreasonable amount of time to clean up after a vanished parser problem. Don't call fireRIRonSubselect when we know there are no subselects, either.
* Eliminate some unbelievably cheesy code in _copyConst().Tom Lane1999-11-011-114/+56
| | | | | | | | Apparently, back in the dim reaches of prehistory, the parser couldn't be trusted to label Const nodes with the correct constbyval value ... and someone preferred to patch around this in copyObject rather than fix the problem at the source. The problem is long gone, but the hack lingered on. Until now.
* Inline check for full buffer in appendStringInfoChar.Tom Lane1999-11-011-4/+3
|
* Don't call ExecOpenIndices if pg_class relhasindex shows there are noTom Lane1999-11-012-38/+28
| | | | indexes to open. Avoid unnecessary work in ExecCheckPerm, too.
* Eliminate local inefficiencies in updateTargetListEntry, make_var, andTom Lane1999-11-013-73/+101
| | | | make_const --- don't repeat cache searches that aren't needed.
* formatting cleanupBruce Momjian1999-11-011-9/+5
|
* Allow indexes on system catalogs for use in cache code.Bruce Momjian1999-11-014-38/+203
| | | | Thanks to Hiroshi
* Rule dumper failed to affix '*' to inheritable RTEs.Tom Lane1999-10-311-20/+24
|
* Avoid duplicate ExecTypeFromTL() call in ExecInitJunkFilter() by passingTom Lane1999-10-303-47/+38
| | | | | | | in the TupleDesc that the caller already has (for call from ExecMain) or can make just as easily as ExecInitJunkFilter() can (for call from ExecAppend). Also, don't bother to build a junk filter for an INSERT operation that doesn't actually need one, which is the normal case.
* Rearrange heap_beginscan to eliminate extra call onTom Lane1999-10-301-10/+16
| | | | | mdnblocks. Bad enough it does an lseek, but to do it twice for no reason...
* Skip invoking set_uppernode_references() for a RESULT nodeTom Lane1999-10-301-3/+8
| | | | | that has no subplan --- saves a material amount of time for a simple INSERT ... VALUES query.
* Rewrite preprocess_targetlist() to reduce overhead for simple INSERTs.Tom Lane1999-10-301-238/+160
| | | | | | In particular, don't bother to look up type information for attributes where we're not actually going to use it, and avoid copying entire tlist structure when it's not necessary.
* Further performance improvements in sorting: reduce number of comparisonsTom Lane1999-10-301-185/+417
| | | | | | | | during initial run formation by keeping both current run and next-run tuples in the same heap (yup, Knuth is smarter than I am). And, during merge passes, make use of available sort memory to load multiple tuples from any one input 'tape' at a time, thereby improving locality of access to the temp file.
* Ooops ... 6.5 coding wasn't quite right anymore. Should learnTom Lane1999-10-301-6/+10
| | | | never to commit without running regress tests...
* Put back code in nodeAgg to generate a dummy all-nulls input tupleTom Lane1999-10-301-16/+35
| | | | | | | before calling execProject, when the outerPlan has returned zero tuples. I took this out under the mistaken impression that the input tuple couldn't be referenced by execProject if we weren't in GROUP BY mode. But it can, if we're in an UPDATE or DELETE...
* Make USING in COPY optional.Bruce Momjian1999-10-291-4/+8
|
* Fix wording.Bruce Momjian1999-10-291-5/+5
|
* Fix compile after COMMENT problem.Bruce Momjian1999-10-262-10/+17
|
* Hello.Bruce Momjian1999-10-2611-221/+993
| | | | | | | | | | | | | | | | | | | The following patch extends the COMMENT ON functionality to the rest of the database objects beyond just tables, columns, and views. The grammer of the COMMENT ON statement now looks like: COMMENT ON [ [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ] <objname> | COLUMN <relation>.<attribute> | AGGREGATE <aggname> <aggtype> | FUNCTION <funcname> (arg1, arg2, ...) | OPERATOR <op> (leftoperand_typ rightoperand_typ) | TRIGGER <triggername> ON relname> Mike Mascari (mascarim@yahoo.com)
* Standardize on MAXPGPATH as the size of a file pathname buffer,Tom Lane1999-10-2511-104/+113
| | | | | | | eliminating some wildly inconsistent coding in various parts of the system. I set MAXPGPATH = 1024 in config.h.in. If anyone is really convinced that there ought to be a configure-time test to set the value, go right ahead ... but I think it's a waste of time.
* 'extern char *pg_pathname' in these files fails to agree withTom Lane1999-10-253-5/+5
| | | | | postgres.c's declaration of 'char pg_pathname[...]'. I dunno when these ports were last used, but they are sure broken now...
* Add a notion of a 'catalog version number' that can indicateTom Lane1999-10-242-11/+34
| | | | | | | | | when an initdb-forcing change has been applied within a development cycle. PG_VERSION serves this purpose for official releases, but we can't bump the PG_VERSION number every time we make a change to the catalogs during development. Instead, increase the catalog version number to warn other developers that you've made an incompatible change. See my mail to pghackers for more info.
* Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.Tom Lane1999-10-2311-71/+79
| | | | pg_dump and interfaces/odbc still need some work.)
* I have a patch for postgresql-snapshot(1999-10-22).Bruce Momjian1999-10-221-5/+11
| | | | | | | | | | | | This patch fix a TODO list item. * require SELECT DISTINCT target list to have all ORDER BY columns example ogawa=> select distinct x from t1 order by y; ERROR: ORDER BY columns must appear in SELECT DISTINCT target list --- Atsushi Ogawa
* Bugfix for CREATE RULE invoked via SPI --- from Hiroshi,Tom Lane1999-10-211-2/+3
| | | | 23 Jul 99. Not sure why this didn't get applied before...
* Remove fixed-size buffers in rule storage routine.Tom Lane1999-10-211-35/+40
|
* BufFileSeek's behavior at segment boundaries wasn't whatTom Lane1999-10-191-13/+26
| | | | logfile.c wanted ... seems easier to fix BufFileSeek.
* Drive a stake through the heart of the last use of MAX_PARSE_BUFFERTom Lane1999-10-181-21/+25
| | | | | in the backend. Still a few stragglers, but we're getting closer to being rid of query length limits...
* Remove fixed-size literal buffer from scan.l, and repairTom Lane1999-10-182-62/+73
| | | | | | | | boundary-condition bug in myinput() which caused flex scanner to fail on tokens larger than a bufferload. Turns out flex doesn't want null- terminated input ... and if it gives you a 1-character buffer, you'd better supply a character, not a null, lest you be thought to be reporting end of input.
* Except_Intersect_Rewrite() forgot to move LIMIT info to newTom Lane1999-10-171-1/+8
| | | | topmost SELECT node after rearranging query tree.
* Change fd.c so that temp files are closed and deleted atTom Lane1999-10-171-5/+9
| | | | | | | proc_exit time. I discovered that if the frontend closes the connection when you're inside a transaction block, there is nothing ensuring that temp files go away ... I wonder whether proc_exit ought to try to do an explicit transaction abort?
* Remove now-dead sort modules.Tom Lane1999-10-172-1380/+0
|
* Final stage of psort reconstruction work: replace psort.c withTom Lane1999-10-176-996/+1664
| | | | | | | a generalized module 'tuplesort.c' that can sort either HeapTuples or IndexTuples, and is not tied to execution of a Sort node. Clean up memory leakages in sorting, and replace nbtsort.c's private implementation of mergesorting with calls to tuplesort.c.
* Actually, nodeMergejoin shouldn't include psort.h at all...Tom Lane1999-10-171-2/+1
|
* nodeMergejoin was depending on an inclusion from psort.h...Tom Lane1999-10-161-1/+2
|
* Second phase of psort reconstruction project: add bookkeeping logic toTom Lane1999-10-164-366/+1245
| | | | | | recycle storage within sort temp file on a block-by-block basis. This reduces peak disk usage to essentially just the volume of data being sorted, whereas it had been about 4x the data volume before.
* Check RELSEG_SIZE when postmaster starting up.Tatsuo Ishii1999-10-161-0/+10
| | | | | this is neccesary to make sure that the backend and the database uses same RELSEG_SIZE.
* This patch implements ORACLE's COMMENT SQL command.Bruce Momjian1999-10-156-16/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >From the ORACLE 7 SQL Language Reference Manual: ----------------------------------------------------- COMMENT Purpose: To add a comment about a table, view, snapshot, or column into the data dictionary. Prerequisites: The table, view, or snapshot must be in your own schema or you must have COMMENT ANY TABLE system privilege. Syntax: COMMENT ON [ TABLE table ] | [ COLUMN table.column] IS 'text' You can effectively drop a comment from the database by setting it to the empty string ''. ----------------------------------------------------- Example: COMMENT ON TABLE workorders IS 'Maintains base records for workorder information'; COMMENT ON COLUMN workorders.hours IS 'Number of hours the engineer worked on the task'; to drop a comment: COMMENT ON COLUMN workorders.hours IS ''; The current patch will simply perform the insert into pg_description, as per the TODO. And, of course, when the table is dropped, any comments relating to it or any of its attributes are also dropped. I haven't looked at the ODBC source yet, but I do know from an ODBC client standpoint that the standard does support the notion of table and column comments. Hopefully the ODBC driver is already fetching these values from pg_description, but if not, it should be trivial. Hope this makes the grade, Mike Mascari (mascarim@yahoo.com)
* Split 'BufFile' routines out of fd.c into a new module, buffile.c. ExtendTom Lane1999-10-137-277/+648
| | | | | | | | BufFile so that it handles multi-segment temporary files transparently. This allows sorts and hashes to work with data exceeding 2Gig (or whatever the local limit on file size is). Change psort.c to use relative seeks instead of absolute seeks for backwards scanning, so that it won't fail when the data volume exceeds 2Gig.
* I have created a small patch that makes possible to compile pgsql on newerBruce Momjian1999-10-121-3/+3
| | | | | | | | | | | Cygwin snapshots (tested on 990115 which is recommended to use - it fixes some errors in B20.1) And I have another patch for including <sys/ipc.h> before <sys/sem.h> in backend/storage/lmgr/proc.c - it is required due the design of cygipc headers Dan
* Add blcksz to struct ControlFileData to check BLCKSZ is sameTatsuo Ishii1999-10-121-0/+5
| | | | as BLCKSZ which the backend was compiled in.